Poisson's Equation: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
mNo edit summary |
||
Line 1: | Line 1: | ||
= Quick Guide = | = Quick Guide = | ||
== Use Tcl to define the constants you will use == | === 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 | ||
Line 6: | Line 6: | ||
#assume Nd and Na are defined elsewhere (or set them here and use the $) | #assume Nd and Na are defined elsewhere (or set them here and use the $) | ||
== Poisson's Equation for Silicon == | === Poisson's Equation for Silicon === | ||
#you must have Na and Nd defined in your doping step | #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 | 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 | pdbSetString Silicon DevPsi Equation "$eqnP";# use $eqnP=0 to solve for DevPsi in the Silicon | ||
== Poisson's Equation in Oxide == | ==== Poisson's Equation in Oxide == | ||
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_ox 3.9;# relative permittivity | set eps_ox 3.9;# relative permittivity | ||
Line 21: | Line 21: | ||
= A More General Approach = | = A More General Approach = | ||
=== Call this Procedure to Add Poisson's Equation for Any Material === | |||
# you must have already defined Er (relative permittivity) in the pdb for the material you call | # 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 | ||
Line 37: | Line 38: | ||
AddPoisson Oxide | AddPoisson Oxide | ||
=== Call this Procedure to Add Any Charge to Poisson's Equation === | |||
#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 | ||
proc AddCharge {Mat Q} { | proc AddCharge {Mat Q} { | ||
Line 48: | Line 50: | ||
} | } | ||
#Example: | #Example: | ||
AddCharge Silicon Doping;#Doping is defined elsewhere as (Nd-Na) | |||
AddCharge Oxide Voplus;#a charged trap species |
Revision as of 17:34, 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
Call this Procedure to Add Poisson's Equation for Any Material
# 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
Call this Procedure to Add Any Charge to Poisson's Equation
#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