Drift Diffusion

From Flooxs
Revision as of 14:39, 5 March 2010 by Danieljc (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

FLOODS uses the the sgrad() operator (the Scharfetter-Gummel discretization scheme for the grad() operator) to model Drift-Diffusion. Do this for each material and species you want drift-diffusion in (i.e. for each species that is charged and mobile). The example below is the drift-diffusion model of electrons (Elec) and holes (Hole) in silicon (Silicon).

Set error tolerances, define constants

pdbSetDouble Silicon Elec Abs. Error 1.0e-5
pdbSetDouble Silicon Elec Rel. Error 1.0e-2
pdbSetDouble Silicon Hole Abs. Error 1.0e-5
pdbSetDouble Silicon Hole Rel. Error 1.0e-2

set Emob 350.0;   # Electron mobility
set Hmob 150.0;   # Hole Mobility
set Vt 0.025;     # kT/q

if you are using Boltzmann statistics (equivalent to Gamma_n,p=1)

set eqnE "ddt(Elec)-$Emob*$Vt*sgrad((Elec), +DevPsi/$Vt)";#if your species is negatively charged:
set eqnH "ddt(Hole)-$Hmob*$Vt*sgrad((Hole), -DevPsi/$Vt)";#if your species is positively charged:

if you are using Fermi-Dirac statistics

set eqnE "ddt(Elec)-$Emob*$Vt*sgrad((Elec), +DevPsi/Vt-log(Gamma_n))";#if your species is negatively charged:
set eqnH "ddt(Hole)-$Hmob*$Vt*sgrad((Hole), -DevPsi/Vt+log(Gamma_p))";#if your species is positively charged:

Store the transport equations in the pdb

pdbSetString Silicon Elec Equation $eqnE;#store the transport equation in the pdb
pdbSetString Silicon Hole Equation $eqnH;#store the transport equation in the pdb