「Subroutine mod3dpar」:修訂間差異

出自DDCC TCAD TOOL Manual
跳至導覽 跳至搜尋
Yrwu留言 | 貢獻
已建立頁面,內容為 "Subroutine mod3dpar is the subroutine called "after" all parameters are arranged to the memory. This subroutine allows user to modify the parameters locally. This fu..."
 
Yrwu留言 | 貢獻
無編輯摘要
 
第1行: 第1行:
Subroutine mod3dpar is the subroutine called "after" all parameters are arranged to the memory. This subroutine allows user to modify the parameters locally. This function is activated by the command $assignparbyfunc. Some examples are listed below
Subroutine mod3dpar is the subroutine called "after" all parameters are arranged to the memory. This subroutine allows user to modify the parameters locally. This function is activated by the command $assignparbyfunc. Some examples are listed below <br>
 
  subroutine mod3dpar
  subroutine mod3dpar
use meshelement
use meshelement
use global3d
use global3d
implicit none
implicit none
real(dp) :: x,y,z
real(dp) :: x,y,z
integer(i8b) :: nodetype ,i ,j <br>
integer(i8b) :: nodetype ,i ,j <br>
   do i=1,mshnd%n
   do i=1,mshnd%n
       nodetype = mshnd%element(i) ! Get the node number
       nodetype = mshnd%element(i) ! Get the node number

於 2017年12月5日 (二) 02:11 的最新修訂

Subroutine mod3dpar is the subroutine called "after" all parameters are arranged to the memory. This subroutine allows user to modify the parameters locally. This function is activated by the command $assignparbyfunc. Some examples are listed below

subroutine mod3dpar
use meshelement
use global3d
implicit none
real(dp) :: x,y,z
integer(i8b) :: nodetype ,i ,j 
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) 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) material%trapNT(i)=mshelectric%trapNT(nodetype) material%trapEt(i)=mshelectric%trapEt(nodetype) material%trapdegenercy(i)=mshelectric%trapdegenercy(nodetype) material%traptaun(i)=mshelectric%traptaun(nodetype) material%traptaup(i)=mshelectric%traptaup(nodetype) material%taun(i)=mshelectric%taun(nodetype) material%taup(i)=mshelectric%taup(nodetype) 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)) end do print*, "You have activated the program to assign material parameters by an external function!" print*, "You have to run the program with 3D-ddcc-dyna.exe. In adition, please remember to modify " print*, "lib3dmodpar.f90 and recompile it! Program stop" stop end subroutine