Drift Diffusion: Difference between revisions

From Flooxs
Jump to navigation Jump to search
(created page)
 
No edit summary
 
Line 7: Line 7:
  pdbSetDouble Silicon Hole Rel. Error 1.0e-2
  pdbSetDouble Silicon Hole Rel. Error 1.0e-2
   
   
  set MOB 350.0;# mobility
  set Emob 350.0;   # Electron mobility
  set Vt 0.025;# kT/q
set Hmob 150.0;  # Hole Mobility
  set Vt 0.025;     # kT/q


==== if you are using Boltzmann statistics (equivalent to Gamma_n,p=1) ====
==== if you are using Boltzmann statistics (equivalent to Gamma_n,p=1) ====
  set eqnE "ddt(Elec)-$MOB*$Vt*sgrad((Elec), +DevPsi/$Vt)";#if your species is negatively charged:
  set eqnE "ddt(Elec)-$Emob*$Vt*sgrad((Elec), +DevPsi/$Vt)";#if your species is negatively charged:
  set eqnH "ddt(Hole)-$MOB*$Vt*sgrad((Hole), -DevPsi/$Vt)";#if your species is positively charged:
  set eqnH "ddt(Hole)-$Hmob*$Vt*sgrad((Hole), -DevPsi/$Vt)";#if your species is positively charged:


==== if you are using Fermi-Dirac statistics ====
==== if you are using Fermi-Dirac statistics ====
  set eqnE "ddt(Elec)-$MOB*$Vt*sgrad((Elec), +DevPsi/Vt-log(Gamma_n))";#if your species is negatively charged:
  set eqnE "ddt(Elec)-$Emob*$Vt*sgrad((Elec), +DevPsi/Vt-log(Gamma_n))";#if your species is negatively charged:
  set eqnH "ddt(Hole)-$MOB*$Vt*sgrad((Hole), -DevPsi/Vt+log(Gamma_p))";#if your species is positively 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 ====
==== Store the transport equations in the pdb ====
  pdbSetString Silicon Elec Equation $eqnE;#store the transport equation 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
  pdbSetString Silicon Hole Equation $eqnH;#store the transport equation in the pdb

Latest revision as of 14:39, 5 March 2010

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