Poisson's Equation: Difference between revisions

From Flooxs
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 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