2D DDCC
2D DDCC is named from two dimensional Drift-diffusion Charge Control solver. This is 2D finite element based Poisson and drift-diffusion solver developed by Dr. Yuh-Renn Wu. This solver initially developed with the thermal solver. Then the Poisson and drift-diffusion solver was added into this project. This solver was initially developed to solves AlGaN/GaN HEMT structure. Therefore, the 1D Schrodinger cross section solver was added into the program for obtaining the confined state information. The electric field distribution was then used in Monte Carlo program for high field transport. After Dr. Wu returned NTU, the program was then modified to solve LED based current spreading problem. The mesh algorithm was then improve gradually in order to deal with certain problem. After years development, the 2D FEM based Schrodinger eigen solver was added. It also accept additional module to read in the optical field from 2D FD-TD program so that it can consider the solar cell problem. Then the 2D ray tracing program was added into this project to solve the light extraction problem. This solver now can solve many different problems such as trap problem, Gaussian shape tail state models, field dependent mobility, thermal, light extraction. Recently, localization landscape model was also added into this program so that it can calculate the effective quantum potential very efficiently. This code is written with Fortran language.
Command Manual
目錄
parameters assigned command
$totalregion
$gmshlineboundary
$gmshsurfparameter
$triregionnumber
$triregiontype
$call2Dexciton
$2Dexcitonpar
$opertemp
$Schottky
$gatebias
$drainbias
$sourcebias
$addrefbias
$basebias
$2ndgateaddbarrier
$heatsolvebytime
$infile
$checkmesh
$outfile
$solveeigenvalue
$solveeigenbias
$eigensetting
$usefeast
$eigencalEl
$assignsumrange
$ranges
$triranges
$assignparbyfunc
$parameters
$DoEalloyfluc
$polcharge
$affinity
$usefieldmufunc
$gatewithworkfunc
$adddrainworkfunc
$addsourceworkfunc
$addbaseSB
$addvrefSB
$addbaseworkfunc
$addvrefworkfunc
$addsourceSB
$adddrainSB
$addbaseSB
$addvrefSB
$gaussiantraps
$affinity
$traps
$recombine
$UseAuger
$landscape2D
$landscapeDOS (2D)
$landshiftEcv
$generation
$usegenfunc
$usegenspecfunc
$usespecgen
$ifimpact_ion
$ifschockley
$initial
$ifdynarecombine
$useschrodn
$heatbndistance
$useschrodnself
$outputwave
$ifpulsemode
$ifuseconstvb
$ifshiftef
$ifshiftgateef
$ifshiftallef
$iftrialmod
$usepardiso
$usedvprofile
$useevprofile
$maxTlimit
$useevversusT
$usedynataunrfunc
$useemufunc
$useemunfunc
$useemupfunc
$useemuTfunc
$useconstantmu
$useresistor
$useconstIg
$fermitable
$maxiterations
$errors
$iffermiboltzman
$xend
$yend
$heatsource
$timeevolve
$usechannelaveT
$heatiterative
$thermaldiff
$other
Mesh setting input command
$xsecysecmaxob
$xnode
$ynode
$xdiv
$ydiv
$ygradualdiv
$xgradualdiv
$xd
$contact
$bottomcontactnum
$areacontact
$emptysection
$emptytriangle
$emptyperiodtriangle
$emptysineregion
$emptysinesum
$deformboundary
External function
function getmunbyET(ind,Ex,Ey,T,xp,yp) function getmupbyET(ind,Ex,Ey,T,xp,yp) function usefielddependent_n(indEl, matind ,Ex,Ey,T,xp,yp) function usefielddependent_p(indEl, matind, Ex, Ey, T, xp, yp) subroutine parameter_mod subroutine updatetaunp subroutine callgeneration(x,y,z,generation,ind) subroutine callspecgeneration(nnode,x,y,eg,generation) subroutine callspecgen(Annode,x,y,Eg,generation) subroutine exciton2Dquench( )
Execution files
2D-ddcc-win64.exe & 2D-ddcc-win32.exe
2D-ddcc.exe (Linux version)
2D-ddcc-dyna.exe (Linux version with all dynamic link modules
raytrace2D-win64.exe | raytrace2D.exe
ddcc_2d.m & ddcc_2d.fig
resultopen.m resultopen.fig
Material.mat
load_gmsh.m
createTable.m
createTable.m
libiomp5md.dll and libiomp5md.lib
output file format
*.tri
*.fet
*.e
*.jn
*.iv
*.QE
Frequently used global variables used in the program
Region based variables
par%xxxx
affinitypar(:)
Node based variables
sprsvc(:)
sprst(:)
sprsefn(:)
sprsefp(:)
gaussiantrapNt(:,:)
gaussiantrapEt(:,:)
gaussiantrapdegenercy(:,:)
gaussiantraptaun(:,:)
gaussiantraptaup(:,:)
gaussiantrapsigma(:,:)
gaussferm(:,:,:)
affinity(:)
Element based variables