Type mshelectric (mshelectric%Eg)
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