2D DDCC

出自 DDCC TCAD TOOL Manual
於 2019年6月11日 (二) 21:40 由 Yrwu (對話 | 貢獻) 所做的修訂 (output file format (Ray Tracing))

前往: 導覽搜尋

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 2D
$polcharge
$affinity
$usefieldmufunc
$gaussiantraps
$traps (2D)
$multitraps

$recombine
$UseAuger

$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

$iffermiboltzman


$outputwave

$thermaldiff
$heatiterative
$heatbndistance
$maxTlimit
$heatsolvebytime
$heatsource
$timeevolve
$usechannelaveT

$usemuTfactor


$solvetimestep2D
$savetimestep2D
$usetaunrbyfunc
$usemubydopeT

$usegenfile

$DOEreftoEc

$callpoissonexternal
$call2DNEGF

Ray Tracing parameters assigned command

$element_total/$photon_element_pass
$trifilename
$fetfilename

$totalparameterregion
$ranges (RayTracing)
$parameters (RayTracing)
$pattern_tri_region
$pattern_tri_period
$Metalregion
$setradseparately
$tracephase
$Metaltri
$diffusortype

gmsh setting

$setradseparate
$gmshfilename
$gmshdiffusor
$gmshparameterregion

Output setting

$Light_intensity_region_TBLR
$photon_total
$initialanglerange
$consider3dipoles
$TETMratio
$setcountedexitlength
$traceraypath

2D RCWA commands

$RCWAtotallayer
$RCWAanglelength
$RCWAangle2
$RCWAwidth
$RCWAperiod
$RCWAlamdalength
$RCWAsourcelength
$RCWAsourceposition
$RCWAsourceintensereal
$RCWAsourceintenseimage
$RCWAlamda2
$RCWArefractiveindexreal
$RCWAabsorption2
$RCWAdielectric
$RCWAdielecabsorption
$RCWAthickness
$RCWAcavitystart
$RCWAcavityend
$$RCWArcaa


phasing out commands

$other
$useschrodn

$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

$deformboundary
$deformafter
$deformbeforemod

$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
*.IQEALL
*.Nsum

output file format (Ray Tracing)

*.photon.out
*.window.out
*.raytrace.out
*.angle.out
*.absorption.out
*.info.out
*raypathsave.way
*.phasesaved

output file format (RCWA)

*.rcwa2d.dat
*.rcwatopreflectivity.dat
*.rcwatoptransmission.dat
*.rcwabottomreflectivity.dat
*.rcwabottomtransmission.dat
*.rcwatopemmision.dat
*.rcwabottomemmision.dat
*.rcwaef2d.dat
*.xinfo.dat
*.zinfo.dat
*.degreeinfo.dat

Frequently used global variables used in the program

Region based variables

par%xxxx
affinitypar(:)

Node based variables

me%xxxxx

sprsvc(:)
sprst(:)
sprsefn(:)
sprsefp(:)
gaussiantrapNt(:,:)
gaussiantrapEt(:,:)
gaussiantrapdegenercy(:,:)
gaussiantraptaun(:,:)
gaussiantraptaup(:,:)
gaussiantrapsigma(:,:)

affinity(:)

Element based variables

affinityEl(:)