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
$ranges
$gmshlineboundary
$gmshsurfparameter
$triregionnumber
$triregiontype
$triranges
$assignparbyfunc
$parameters
$opertemp
$Schottky
$gatebias
$drainbias
$sourcebias
$addrefbias
$basebias
$2ndgateaddbarrier
$affinity
$gatewithworkfunc
$adddrainworkfunc
$addsourceworkfunc
$addbaseSB
$addvrefSB
$addbaseworkfunc
$addvrefworkfunc
$addsourceSB
$adddrainSB
$addbaseSB
$addvrefSB
$infile
$checkmesh
$outfile
$maxiterations
$errors
$call2Dexciton
$2Dexcitonpar
$solveeigenvalue
$solveeigenbias
$eigensetting
$usefeast
$eigencalEl
$assignsumrange
$DoEalloyfluc
$polcharge
$affinity
$usefieldmufunc
$gaussiantraps
$traps (2D)
$multitraps
$landscape2D
$landscapeDOS (2D)
$landshiftEcv
$generation
$usegenfunc
$usegenspecfunc
$usespecgen
$ifimpact_ion
$ifschockley
$ifuseconstvb
$iftrialmod
$usepardiso
$useevprofile
$xend
$yend
$useevversusT
$usedynataunrfunc
$useemufunc
$useemunfunc
$useemupfunc
$useemuTfunc
$useconstantmu
$useresistor
$useconstIg
$thermaldiff
$heatiterative
$heatbndistance
$maxTlimit
$heatsolvebytime
$heatsource
$timeevolve
$usechannelaveT
$solvetimestep2D
$savetimestep2D
$usetaunrbyfunc
Ray Tracing parameters assigned command
$element_total/$photon_element_pass
$trifilename
$fetfilename
$totalparameterregion
$ranges (RayTracing)
$parameters (RayTracing)
$pattern_tri_region
$pattern_tri_period
$Metalregion
gmsh setting
$setradseparate
$gmshfilename
$diffusortype
$gmshparameterregion
Output setting
$Light_intensity_region_TBLR
$photon_total
$initialanglerange
$consider3dipoles
$TETMratio
$setcountedexitlength
phasing out commands
$usedvprofile
$fermitable
$ifpulsemode
$ifdynarecombine
$initial
$ifshiftef
$ifshiftgateef
$ifshiftallef
Mesh setting input command
$xsecysecmaxob
$xnode
$ynode
$xdiv
$ydiv
$ygradualdiv
$xgradualdiv
$xd
$contact
$bottomcontactnum
$areacontact
$emptysection
$emptyperiodshape
$emptyperiodtriangle
$emptytriangle
$emptysineregion
$emptysinesum
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
libiomp5md.dll and libiomp5md.lib
output file format
*.tri
*.fet
*.e
*.jn
*.iv (2D)
*.QE
*.overlap
*.wv & *.wvp
*.timeiv
*.IOEALL
output file format (Ray Tracing)
*.photon.out
*.window.out
*.raytrace.out
*.angle.out
*.absorption.out
*.info.out
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(:,:)
Element based variables