Type material (material%eg ...)

出自 DDCC TCAD TOOL Manual
於 2017年12月3日 (日) 22:19 由 Yrwu (對話 | 貢獻) 所做的修訂

前往: 導覽搜尋

Type(NODEMATERIAL) :: material is for saving each node's material variables. There are many material parameters saved in the Type "material"

 material%dope(i)   ! The doping density of node i   (unit cm^-3)
 material%ea(i)     ! The activation energy of node i  (unit:eV)
 material%Eg(i)     ! The node's bandgap (unit eV)
 material%impurity(i)    ! The node's impurity or fixed charge density 
 material%charges(i)     ! The addition node's fixed charge density. It is similar to impurity
 material%ep(i)     ! The node's dielectric connstant. The unit is cgs unit. So if the dielectric constant is 12 \epsilon_{0}, you need to put  12\times 8.854\times 10^{-14} 
 material%polx(i)    ! The spontaneous and piezo-electric polarization value along x direction. 
 material%poly(i)    ! The spontaneous and piezo-electric polarization value along y direction. 
 material%polz(i)     ! The spontaneous and piezo-electric polarization value along z direction. The unit is (  cm ^{-2}  ). For example, if the polarization is  0.03 C/m^{2} , you need to put  0.03\times 6.25\times 10^{14}  
 material%efmass(1:4,i)
 material%trapNT(i)
 material%trapEt(i)
 material%trapdegenercy(i)
 material%traptaun(i)
 material%traptaup(i)
 material%taun(i)
 material%taup(i)
   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