Type mshelectric (mshelectric%Eg)

出自DDCC TCAD TOOL Manual
於 2017年12月3日 (日) 14:28 由 Yrwu留言 | 貢獻 所做的修訂 (已建立頁面,內容為 "Type mesh electric is the variables for recording the volume's material parameters assigned in input file. So the parameters goes with the volume. For example, If a...")
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)
跳至導覽 跳至搜尋

Type mesh electric is the variables for recording the volume's material parameters assigned in input file. So the parameters goes with the volume. For example, If a gmsh file has 5 volumes, then the variable matrix size of mshelectric is 5. Other's are very similar to materia%xxxx variables.

   TYPE(meshformat)  :: mshformat
   TYPE(node)  :: mshnd
   TYPE(elements)  :: mshel
   TYPE(surface)  :: mshsurface
   TYPE(volume)  :: mshvolume
   TYPE(Boundary)  :: mshboun
   TYPE(ELBoundary)  :: mshelboun
   TYPE(sprs2_DP) :: sprsA,sprstem
   TYPE(Thermalcoe) :: mshthermal
   TYPE(Electriccoe) :: mshelectric
   TYPE(NODEMATERIAL) :: material

 do i=1,mshnd%n
     nodetype = mshnd%element(i) ! Get the node number
     x=mshnd%x(i)
     y=mshnd%y(i)
     z=mshnd%z(i)
     material%dope(i)=mshelectric%dope(nodetype)
     material%Eg(i)=mshelectric%Eg(nodetype)
     material%Ea(i)=mshelectric%Ea(nodetype)
     material%impurity(i)=mshelectric%impurity(nodetype)
     material%charges(i)=mshelectric%charges(nodetype)
     material%ep(i)=mshelectric%ep(nodetype)
   !  print*, material%dope(i), material%impurity(i), material%ea(i), material%charges(i), material%ep(i), material%eg(i)
     material%polx(i)=mshelectric%polx(nodetype)
     material%poly(i)=mshelectric%poly(nodetype)
     material%polz(i)=mshelectric%polz(nodetype)
     material%efmass(1:4,i)=mshelectric%efmass(1:4,nodetype) ! OK
     material%trapNT(i)=mshelectric%trapNT(nodetype)  ! OK
     material%trapEt(i)=mshelectric%trapEt(nodetype)   !OK
     material%trapdegenercy(i)=mshelectric%trapdegenercy(nodetype) !OK
     material%traptaun(i)=mshelectric%traptaun(nodetype)  !OK
     material%traptaup(i)=mshelectric%traptaup(nodetype)  !OK
     material%taun(i)=mshelectric%taun(nodetype)   !OK
     material%taup(i)=mshelectric%taup(nodetype)    !OK
     if( ifusegenfunc) then
        generations(i) = mshelectric%taun(nodetype)
     end if
   end do
   do j=mshel%tetraelenumstart,mshel%n
     material%EgEl(j) = mshelectric%Eg(mshel%realvolnum(j)) ! Setup the tetrahydron volnum
     material%polxEl(j)=mshelectric%polx(mshel%realvolnum(j))
     material%polyEl(j)=mshelectric%poly(mshel%realvolnum(j))
     material%polzEl(j)=mshelectric%polz(mshel%realvolnum(j))
!    print*,material%EgEl(j),mshel%realvolnum(j)
   end do