Poisson's Equation: Difference between revisions
Jump to navigation
Jump to search
(added poisson's equation examples) |
mNo edit summary |
||
Line 1: | Line 1: | ||
= Quick Guide = | = Quick Guide = | ||
== Use Tcl to define the constants you will use == | |||
set ep0 8.85418e-14;#F/cm - vacuum permittivity - this is SI units w/ cm | set ep0 8.85418e-14;#F/cm - vacuum permittivity - this is SI units w/ cm | ||
set eps_Si 11.8;# relative permittivity | set eps_Si 11.8;# relative permittivity | ||
set q 1.60218e-19;#C - elementary unit of charge - this is SI units | set q 1.60218e-19;#C - elementary unit of charge - this is SI units | ||
#assume Nd and Na are defined elsewhere (or set them here and use the $) | |||
== Poisson's Equation for Silicon == | == Poisson's Equation for Silicon == | ||
Line 19: | Line 21: | ||
= A More General Approach = | = A More General Approach = | ||
# you must have already defined Er (relative permittivity) in the pdb | # you must have already defined Er (relative permittivity) in the pdb for the material you call | ||
# you must have defined ep0 and q outside this procedure | # you must have defined ep0 and q outside this procedure | ||
proc AddPoisson {Mat} { | proc AddPoisson {Mat} { | ||
Line 32: | Line 34: | ||
} | } | ||
#Example: | #Example: | ||
AddPoisson Silicon | |||
AddPoisson Oxide | |||
#you must add +Doping to the Poisson Equation in Silicon, but not in Oxide | #you must add +Doping to the Poisson Equation in Silicon, but not in Oxide |
Revision as of 17:31, 28 January 2010
Quick Guide
Use Tcl to define the constants you will use
set ep0 8.85418e-14;#F/cm - vacuum permittivity - this is SI units w/ cm set eps_Si 11.8;# relative permittivity set q 1.60218e-19;#C - elementary unit of charge - this is SI units #assume Nd and Na are defined elsewhere (or set them here and use the $)
Poisson's Equation for Silicon
#you must have Na and Nd defined in your doping step set eqnP "($ep0*$eps_Si/$q)*grad(DevPsi) - Elec + Hole - Na + Nd";#define a local string pdbSetString Silicon DevPsi Equation "$eqnP";# use $eqnP=0 to solve for DevPsi in the Silicon
Poisson's Equation in Oxide
set ep0 8.85418e-14;#F/cm - vacuum permittivity - this is SI units w/ cm set eps_ox 3.9;# relative permittivity #you can add ionized dopants to your oxide, but eqnPox equation ignores them, so they have no effect set eqnPox "$ep0*$eps_ox*grad(DevPsi) - Elec + Hole";#define a local string pdbSetString Oxide DevPsi Equation "$eqnPox";# use $eqnPox=0 to solve for DevPsi in the Oxide
A More General Approach
# you must have already defined Er (relative permittivity) in the pdb for the material you call # you must have defined ep0 and q outside this procedure proc AddPoisson {Mat} { global ep0 q #pdbSetDouble $Mat DevPsi DampValue 0.00431;# lowest Vt (T=50K) pdbSetDouble $Mat DevPsi DampValue 0.025 set Er [pdbGetDouble $Mat DevPsi Er] set eps [expr {$Er*$ep0/$q}] set eqnP "$eps*grad(DevPsi)"; #Poisson's equation, we'll add the charge terms later as we go along puts "Adding Poisson Equation in $Mat: $eqnP" pdbSetString $Mat DevPsi Equation "$eqnP" } #Example: AddPoisson Silicon AddPoisson Oxide
#you must add +Doping to the Poisson Equation in Silicon, but not in Oxide proc AddCharge {Mat Q} { if {[pdbIsAvailable $Mat DevPsi Equation]} {
set eqnP [pdbGetString $Mat DevPsi Equation] set eqnP [append eqnP "+($Q)"] pdbSetString $Mat DevPsi Equation $eqnP puts "Adding ($Q) to Poisson Eqn in $Mat: $eqnP"
} else {puts "you don't have DevPsi in the $Mat!"}
} #Example: #AddCharge Silicon Doping;#Doping is defined elsewhere as (Nd-Na) #AddCharge Oxide Voplus;#a charged trap species