"2D DDCC" 修訂間的差異

出自 DDCC TCAD TOOL Manual
前往: 導覽搜尋
(output file format)
(Command Manual)
 
(未顯示由 5 位使用者於中間所作的 90 次修訂)
行 1: 行 1:
 
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.
 
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'''
 
  +
== [[NTU-ITRI 2D-DDCC operation manual]] ==
== parameters assigned command ==
 
  +
'''● [[general LED]]'''<br>
  +
  +
'''● [[V-defect LED]]'''<br>
  +
  +
'''● [[OLED]]'''<br>
  +
  +
'''● [[HEMT]]'''<br>
  +
  +
'''● [[HBT]]'''<br>
  +
 
== Command Manual ==
 
parameters assigned command <br>
   
 
[[$totalregion]]<br>
 
[[$totalregion]]<br>
行 13: 行 24:
 
[[$assignparbyfunc]]<br>
 
[[$assignparbyfunc]]<br>
 
[[$parameters]]<br>
 
[[$parameters]]<br>
  +
[[$usecylindricalrz]]<br>
  +
   
 
[[$opertemp]]<br>
 
[[$opertemp]]<br>
行 49: 行 62:
 
[[$eigencalEl]]<br>
 
[[$eigencalEl]]<br>
 
[[$assignsumrange]]<br>
 
[[$assignsumrange]]<br>
[[$DoEalloyfluc]]<br>
+
[[$DoEalloyfluc 2D]]<br>
 
[[$polcharge]]<br>
 
[[$polcharge]]<br>
 
[[$affinity]]<br>
 
[[$affinity]]<br>
行 56: 行 69:
 
[[$traps (2D)]]<br>
 
[[$traps (2D)]]<br>
 
[[$multitraps]] <br>
 
[[$multitraps]] <br>
  +
[[$fieldenhancetraps]]<br>
  +
[[$fieldenhancemultitraps]] <br>
   
 
[[$recombine]]<br>
 
[[$recombine]]<br>
行 88: 行 103:
 
[[$useresistor]]<br>
 
[[$useresistor]]<br>
 
[[$useconstIg]]<br>
 
[[$useconstIg]]<br>
  +
[[$useconstId]]<br>
   
 
[[$iffermiboltzman]]<br>
 
[[$iffermiboltzman]]<br>
行 93: 行 109:
   
 
[[$outputwave]]<br>
 
[[$outputwave]]<br>
  +
[[$ifgainwithpol]]<br>
  +
[[$ifcalculategain]]<br>
  +
[[$ifcalcgth]]<br>
  +
[[$modelgainQWregion]]<br>
  +
   
 
[[$thermaldiff]]<br>
 
[[$thermaldiff]]<br>
行 104: 行 125:
   
 
[[$usemuTfactor]]<br>
 
[[$usemuTfactor]]<br>
  +
[[$ifapplyEgofT]]<br>
   
   
 
$[[solvetimestep2D]]<br>
 
$[[solvetimestep2D]]<br>
 
$[[savetimestep2D]]<br>
 
$[[savetimestep2D]]<br>
  +
[[$usetaunrbyfunc]]<br>
  +
[[$usemubydopeT]]<br>
  +
  +
[[$usegenfile]]<br>
  +
  +
[[$DOEreftoEc]]<br>
  +
  +
[[$callpoissonexternal]] <br>
  +
[[$call2DNEGF]] <br>
  +
[[$Trapmemorymode]]<br>
  +
[[$RandomizedR]]<br>
  +
  +
[[$usenonRAugRasheat]]<br>
  +
[[$activateStimEL]]<br>
  +
[[$minoutput]]<br>
  +
  +
[[$call2DRCWA]]<br>
  +
[[$only2DRCWA]]<br>
  +
[[$additionalefmass]]<br>
  +
  +
[[$outputrangesetting]]<br>
  +
  +
[[$solvecavitymode]]<br>
  +
[[$ifonlysolvecavity]]<br>
  +
[[$iffarfield]]<br>
  +
[[$solveRE]]<br>
  +
[[$useBTBT]]<br>
  +
[[$usenewBTBT]]<br>
  +
[[$adddiffusivedope]] <br>
  +
[[$LowTmode]] <br>
  +
[[$addefmassxyz]]<br>
  +
[[$addanisomobility]]<br>
  +
[[$landwith2ndE]]<br>
  +
[[$landwithlh]]<br>
  +
  +
== time dependent ion move ==
  +
[[$Withionmove]]
  +
  +
[[$IonMovewithPoisson]]
  +
  +
[[$IonMovewithPatDt]]
   
 
== Ray Tracing parameters assigned command ==
 
== Ray Tracing parameters assigned command ==
行 121: 行 184:
 
[[$pattern_tri_period]]<br>
 
[[$pattern_tri_period]]<br>
 
[[$Metalregion]]<br>
 
[[$Metalregion]]<br>
  +
[[$setradseparately]]<br>
  +
[[$tracephase]] <br>
  +
[[$Metaltri]]<br>
  +
[[$diffusortype]]<br>
   
 
'''gmsh setting''' <br>
 
'''gmsh setting''' <br>
行 126: 行 193:
 
[[$setradseparate]]<br>
 
[[$setradseparate]]<br>
 
[[$gmshfilename]]<br>
 
[[$gmshfilename]]<br>
[[$diffusortype]]<br>
+
[[$gmshdiffusor]]<br>
 
[[$gmshparameterregion]]<br>
 
[[$gmshparameterregion]]<br>
   
行 137: 行 204:
 
[[$TETMratio]]<br>
 
[[$TETMratio]]<br>
 
[[$setcountedexitlength]]<br>
 
[[$setcountedexitlength]]<br>
  +
[[$traceraypath]]<br>
  +
  +
== 2D RCWA commands ==
  +
  +
[[$RCWAtotallayer]]<br>
  +
[[$RCWAfourier]]<br>
  +
[[$RCWAanglelength]]<br>
  +
[[$RCWAangle2]]<br>
  +
[[$RCWAwidth]]<br>
  +
[[$RCWAoxide2]]<br>
  +
[[$RCWAperiod]]<br>
  +
[[$RCWAlamdalength]]<br>
  +
[[$RCWAsourcelength ]]<br>
  +
[[$RCWAsourceposition ]]<br>
  +
[[$RCWAsourceintensereal ]]<br>
  +
[[$RCWAsourceintenseimage ]]<br>
  +
[[$RCWAlamda2]]<br>
  +
[[$RCWAxdiv]]<br>
  +
[[$RCWAxnode]]<br>
  +
[[$RCWAzdiv]]<br>
  +
[[$RCWArefractiveindexreal]]<br>
  +
[[$RCWArefractiveindex]]<br>
  +
[[$RCWAabsorption2]]<br>
  +
[[$RCWAabsorption]]<br>
  +
[[$RCWAdielectric]]<br>
  +
[[$RCWAdielecabsorption]]<br>
  +
[[$RCWAoxidedielectric]]<br>
  +
[[$RCWAoxideabsorption]]<br>
  +
[[$RCWAthickness]]<br>
  +
[[$RCWAcavitystart]]<br>
  +
[[$RCWAcavityend]]<br>
  +
[[$RCWArcaa]]<br>
  +
[[$ifRCWAsparse]]<br>
  +
[[$ifRCWAzgbsv]]<br>
   
 
== phasing out commands ==
 
== phasing out commands ==
行 170: 行 271:
   
 
[[$deformboundary]]<br>
 
[[$deformboundary]]<br>
  +
[[$deformperiod]]<br>
  +
[[$deformafter]]<br>
  +
[[$deformbeforemod]]<br>
   
 
[[$emptytriangle]]<br>
 
[[$emptytriangle]]<br>
行 205: 行 309:
 
[[*.tri]]<br>
 
[[*.tri]]<br>
 
[[*.fet]]<br>
 
[[*.fet]]<br>
  +
[[*.stimP]] <br>
 
[[*.e]]<br>
 
[[*.e]]<br>
 
[[*.jn]]<br>
 
[[*.jn]]<br>
 
[[*.iv (2D)]]<br>
 
[[*.iv (2D)]]<br>
 
[[*.QE]]<br>
 
[[*.QE]]<br>
  +
[[*.stimsum]]<br>
 
[[*.overlap]]<br>
 
[[*.overlap]]<br>
[[*.wv & *.wvp]]
+
[[*.wv & *.wvp]]<br>
[[*.timeiv]]
+
[[*.timeiv]]<br>
  +
[[*.IQEALL]]<br>
  +
[[*.Nsum]]<br>
  +
[[*.time_ion]] <br>
  +
[[*.cavTE]]<br>
  +
[[*.fftri]]<br>
  +
[[*.cavffTE]]<br>
  +
[[*.lightextract]]<br>
  +
[[*.1dgainQW]]<br>
  +
[[*.modelgain]]<br>
  +
[[*.modelgainpeak]]<br>
  +
[[*.trans]]<br>
  +
[[*.NtSpt]]<br>
  +
[[*.ratecalEL]]<br>
  +
[[*.ratecalLIV]]<br>
  +
[[*_generation.dat]]<br>
  +
[[*_gensummary.txt]]<br>
  +
[[*TE_rcwaEy.dat]]<br>
  +
[[*TE_rcwaHx.dat]]<br>
  +
[[*TM_rcwaHy.dat]]<br>
  +
[[*TM_rcwaEx.dat]]<br>
  +
[[*TM_rcwaEz.dat]]<br>
   
 
== output file format (Ray Tracing)==
 
== output file format (Ray Tracing)==
行 221: 行 327:
 
[[*.absorption.out]]<br>
 
[[*.absorption.out]]<br>
 
[[*.info.out]]<br>
 
[[*.info.out]]<br>
  +
[[*raypathsave.way]]<br>
  +
[[*.phasesaved]]<br>
  +
[[*.angle.4surf.out]]<br>
  +
[[*.E-field-phasesum.out]]<br>
  +
  +
== output file format (RCWA)==
  +
  +
[[*.rcwa2d.dat]]<br>
  +
[[*.rcwatopreflectivity.dat]]<br>
  +
[[*.rcwatoptransmission.dat]]<br>
  +
[[*.rcwabottomreflectivity.dat]]<br>
  +
[[*.rcwabottomtransmission.dat]]<br>
  +
[[*.rcwatopemmision.dat]]<br>
  +
[[*.rcwabottomemmision.dat]]<br>
  +
[[*.rcwaef2d.dat]]<br>
  +
[[*.rcwaEy.dat]]<br>
  +
[[*.rcwaHy.dat]]<br>
  +
[[*.x.dat]]<br>
  +
[[*.z.dat]]<br>
  +
[[*.degree.dat]]<br>
  +
[[*.farfield.dat]]<br>
   
 
== Frequently used global variables used in the program ==
 
== Frequently used global variables used in the program ==

於 2024年11月24日 (日) 09:47 的最新修訂

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.

NTU-ITRI 2D-DDCC operation manual

general LED

V-defect LED

OLED

HEMT

HBT

Command Manual

parameters assigned command

$totalregion
$ranges
$gmshlineboundary
$gmshsurfparameter
$triregionnumber
$triregiontype
$triranges
$assignparbyfunc
$parameters
$usecylindricalrz


$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
$fieldenhancetraps
$fieldenhancemultitraps

$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
$useconstId

$iffermiboltzman


$outputwave
$ifgainwithpol
$ifcalculategain
$ifcalcgth
$modelgainQWregion


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

$usemuTfactor
$ifapplyEgofT


$solvetimestep2D
$savetimestep2D
$usetaunrbyfunc
$usemubydopeT

$usegenfile

$DOEreftoEc

$callpoissonexternal
$call2DNEGF
$Trapmemorymode
$RandomizedR

$usenonRAugRasheat
$activateStimEL
$minoutput

$call2DRCWA
$only2DRCWA
$additionalefmass

$outputrangesetting

$solvecavitymode
$ifonlysolvecavity
$iffarfield
$solveRE
$useBTBT
$usenewBTBT
$adddiffusivedope
$LowTmode
$addefmassxyz
$addanisomobility
$landwith2ndE
$landwithlh

time dependent ion move

$Withionmove

$IonMovewithPoisson

$IonMovewithPatDt

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
$RCWAfourier
$RCWAanglelength
$RCWAangle2
$RCWAwidth
$RCWAoxide2
$RCWAperiod
$RCWAlamdalength
$RCWAsourcelength
$RCWAsourceposition
$RCWAsourceintensereal
$RCWAsourceintenseimage
$RCWAlamda2
$RCWAxdiv
$RCWAxnode
$RCWAzdiv
$RCWArefractiveindexreal
$RCWArefractiveindex
$RCWAabsorption2
$RCWAabsorption
$RCWAdielectric
$RCWAdielecabsorption
$RCWAoxidedielectric
$RCWAoxideabsorption
$RCWAthickness
$RCWAcavitystart
$RCWAcavityend
$RCWArcaa
$ifRCWAsparse
$ifRCWAzgbsv

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
$deformperiod
$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
*.stimP
*.e
*.jn
*.iv (2D)
*.QE
*.stimsum
*.overlap
*.wv & *.wvp
*.timeiv
*.IQEALL
*.Nsum
*.time_ion
*.cavTE
*.fftri
*.cavffTE
*.lightextract
*.1dgainQW
*.modelgain
*.modelgainpeak
*.trans
*.NtSpt
*.ratecalEL
*.ratecalLIV
*_generation.dat
*_gensummary.txt
*TE_rcwaEy.dat
*TE_rcwaHx.dat
*TM_rcwaHy.dat
*TM_rcwaEx.dat
*TM_rcwaEz.dat

output file format (Ray Tracing)

*.photon.out
*.window.out
*.raytrace.out
*.angle.out
*.absorption.out
*.info.out
*raypathsave.way
*.phasesaved
*.angle.4surf.out
*.E-field-phasesum.out

output file format (RCWA)

*.rcwa2d.dat
*.rcwatopreflectivity.dat
*.rcwatoptransmission.dat
*.rcwabottomreflectivity.dat
*.rcwabottomtransmission.dat
*.rcwatopemmision.dat
*.rcwabottomemmision.dat
*.rcwaef2d.dat
*.rcwaEy.dat
*.rcwaHy.dat
*.x.dat
*.z.dat
*.degree.dat
*.farfield.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(:)