Initial Guess
Procedures
Initial guess assumes charge neutrality
For Scharfetter-Gummel (Elec Hole DevPsi) solution
proc InitialGuess {Doping} {
sel z= {(Doping>0.0)
? ( 0.025*log( (Doping+1.0e10) / 1.0e10))
: (-0.025*log(-(Doping+1.0e10) / 1.0e10))} name = DevPsi
sel z=1.0e10*exp(DevPsi/0.025) name=Elec
sel z=1.0e10*exp(-DevPsi/0.025) name=Hole
sel z=0.0 name=Qfn
sel z=0.0 name=Qfp
}
For Quasi-Fermi Solution (Qfn Qfp DevPsi) solution
proc InitialGuessQF {Doping} {
sel z= {(Doping>0.0)
? ( 0.025*log( (Doping+1.0e10) / 1.0e10))
: (-0.025*log(-(Doping+1.0e10) / 1.0e10))} name = DevPsi store
sel z=1.0e10*exp((DevPsi)/0.025) name=Elec store
sel z=1.0e10*exp((-DevPsi)/0.025) name=Hole store
sel z=0.0 name=Qfn store
sel z=0.0 name=Qfp store
}
For Slotboom (SBn SBp DevPsi) solution
proc InitialGuessSB {Doping} {
sel z= {(Doping>0.0)
? ( 0.025*log( (Doping+1.0e10) / 1.0e10))
: (-0.025*log(-(Doping+1.0e10) / 1.0e10))} name = DevPsi store
sel z=1.0e10*exp((DevPsi)/0.025) name=Elec
sel z=1.0e10*exp((-DevPsi)/0.025) name=Hole
sel z=1.0 name=SBn store
sel z=1.0 name=SBp store
}
Poisson-Only Solve as Initial Guess First
Sometimes it is very hard to get convergence on your first try. For example, when Elec and Hole concentrations are very low. In this case, you can improve your initial guess by doing a Poisson-Only solve first (a DevPsi only solve). Then you can use your improved DevPsi solution as an initial guess to your full solve:
#===================================ponly===========================================# #---------------------- # Solution Variables #---------------------- solution add name=DevPsi pde solve negative damp;#electrostatic potential (Device Psi) solution add name=Elec const solve val = "(Elec0)";# electron concentration /cm^3 solution add name=Hole const solve val = "(Hole0)";# hole concentration /cm^3 pdbSetBoolean PoissonOnly 0
#------------------
# Bulk Equations
#------------------
AddPoisson Oxide
AddPoisson Silicon
#Band Terms
BandTerms Oxide Semiconductor;# sets Ec, Ev, nQFL, pQFL, Elec0, Hole0
BandTerms Silicon Semiconductor
#Add in Ionized Impurities
SetDoping
#Continuity Equations
#Poisson only - no cont. eqns - just add charge to Poisson in Mats that have charge
AddCharge Oxide "-Elec+Hole"
AddCharge Silicon "-Elec+Hole"
#----------------------------------------------
# Boundary Conditions
#----------------------------------------------
solution name=DevPsi continuous
#-------------------------------------
# Contact Equations
#-------------------------------------
MetalContact top Aluminum
OhmicContact bot Silicon Ntype
#-------------------------------------
# Initial Conditions
#-------------------------------------
#Bias the Contacts to 0
contact name=top voltage supply=0.0
contact name=bot voltage supply=0.0
#initial guess
puts "You are Guessing"
sel z=-(4.8) name=DevPsi
#-------------------------------------
# Poisson-Only Solution (Finally we SS Solve)
#-------------------------------------
device init
#------------------------------------
# Plots
#------------------------------------
#PlotBands x.v=0 y.v=0
# PlotConc ponly
#end of Poisson only
pdbSetBoolean PoissonOnly 0
}
#========================zerobias================================#
#----------------------------------------
# Solution Variables - change all to pde
#----------------------------------------
solution name=DevPsi pde solve negative damp;#electrostatic potential (Device Psi)
solution name=Elec pde solve !negative;# electron concentration /cm^3
solution name=Hole pde solve !negative;# hole concentration /cm^3
#------------------
# Bulk Equations
#------------------
#Poisson - DevPsi Equation
AddPoisson Oxide
AddPoisson Silicon
#Band Terms
BandTerms Oxide Semiconductor;# sets Ec, Ev, nQFL, pQFL
BandTerms Silicon Semiconductor
#Add in Ionized Impurities
SetDoping
#Continuity Equations
AddSpecies Hole Oxide MOB 1.0e-5 +
AddSpecies Elec Oxide MOB 20.0 -
AddSpecies Hole Silicon MOB 150.0 +
AddSpecies Elec Silicon MOB 300.0 -
#----------------------------------------------
# Boundary Conditions
#----------------------------------------------
solution name=DevPsi continuous
#-------------------------------------
# Contact Equations
#-------------------------------------
MetalContact top Aluminum
OhmicContact bot Silicon Ntype
#Initial Guess
#use DevPsi from ponly solve above
sel z=Elec0 name=Elec;#is a fcn of DevPsi
sel z=Hole0 name=Hole;#is a fcn of DevPsi
pdbSetDouble Math iterLimit 50;#give SS a chance
device
#PlotBands x.v=0 y.v=0
#PlotConc zerobias
struct outf=init.str