- nanoHUB

advertisement
Drift-Diffusion Modeling
Prepared by
Dragica Vasileska
Professor
Arizona State University
Outline of the Lecture
 Classification of PDEs
 Why Numerical Analysis?
 Numerical Solution Sequence
 Flow-Chart of Equilibrium Poisson Equation
Solver
 Discretization of the Continuity Equation
 Numerical Solution Techniques for Sparse
Matrices
 Flow-Chart of 1D Drift-Diffusion Simulator
Classification of PDEs
Classification of PDEs
Different mathematical and physical
behaviors:
 Elliptic Type
 Parabolic Type
 Hyperbolic Type
System of coupled equations for several
variables:
 Time : first-derivative (second-derivative for wave
equation)
 Space: first- and second-derivatives
Classification of PDEs (cont.)
General form of second-order PDEs ( 2
variables)
PDE Model Problems
 Hyperbolic (Propagation)
• Advection equation (First-order linear)
• Wave equation
(Second-order linear )
PDE Model Problems (cont.)
 Parabolic (Time- or space-marching)
• Burger’s equation (Second-order nonlinear)
(Diffusion / dispersion)
• Fourier equation (Second-order linear )
PDE Model Problems (cont.)
 Elliptic (Diffusion, equilibrium problems)
• Laplace/Poisson (second-order linear)
• Helmholtz equation
Well-Posed Problem
Numerically well-posed
 Discretization equations
 Auxiliary conditions (discretized
approximated)
• the computational solution exists (existence)
• the computational solution is unique (uniqueness)
• the computational solution depends continuously on
the approximate auxiliary data
• the algorithm should be well-posed (stable) also
Boundary and Initial
Conditions
Initial conditions: starting
point for propagation problems
Boundary conditions: specified
on domain boundaries to provide
the interior solution in
computational domain
R
R
s
n
Numerical Methods
Complex geometry
Complex equations (nonlinear, coupled)
Complex initial / boundary conditions
No analytic solutions
Numerical methods needed !!
Why Numerical Analysis?
Coupling of Transport Equations to
Poisson and Band-Structure Solvers
D. Vasileska and S.M. Goodnick, Computational Electronics, published by Morgan
& Claypool , 2006.
Drift-Diffusion Approach
Constitutive Equations
Poisson
  V    p  n  N D  N A 
Continuity Equations
n
1
   Jn  Un
t
q
p
1
    J p U p
t
q
Current Density Equations
S. Selberherr: "Analysis and Simulation of
Semiconductor Devices“, Springer, 1984.
dn
J n  qn( x) n E ( x)  qDn
dx
dn
J p  qp ( x)  p E ( x)  qD p
dx
Poisson/Laplace Equation Solution
Poisson/Laplace Equation
No knowledge of solving of PDEs
With knowledge for solving of PDEs
Method of images
Theoretical Approaches
Poisson
Green’s function method
Laplace
Numerical Methods:
finite difference
finite elements
Method of separation of variables
(Fourier analysis)
Numerical Solution Sequence
Numerical Solution Details
Governing
Equations
ICS/BCS
Continuous
Solutions
Discretization
Finite-Difference
Finite-Volume
System of
Algebraic
Equations
Equation
(Matrix)
Solver
Discrete
Nodal
Values
Tridiagonal
φi (x,y,z,t)
SOR
p (x,y,z,t)
Finite-Element
Gauss-Seidel
Spectral
Krylov
Boundary Element
Multigrid
Approximate
Solution
n (x,y,z,t)
Hybrid
D. Vasileska, EEE533 Semiconductor Device and Process Simulation Lecture Notes,
Arizona State University, Tempe, AZ.
What is next?
MESH
Finite Difference Discretization
Boundary Conditions
MESH TYPE
The course of action taken in three steps is dictated by the nature of the
problem being solved, the solution region, and the boundary conditions.
The most commonly used grid patterns for two-dimensional problems are
Common grid patterns: (a) rectangular grid, (b) skew grid, (c) triangular
grid, (d) circular grid.
Mesh Size
• Regarding the grid set-up, there are several points that need to be
made:
 In critical device regions, where the charge density varies
very rapidly, the mesh spacing has to be smaller than the
extrinsic Debye length determined from the maximum doping
concentration in that location of the device
LD 
k B T
N max e 2
 Cartesian grid is preferred for particle-based simulations
 It is always necessary to minimize the number of node points
to achieve faster convergence
 A regular grid (with small mesh aspect ratios) is needed for
faster convergence
Example for Meshing
The function below is used to generate non-uniform mesh with constant
mesh aspect ratio r. Input parameters are initial mesh size (X0), total
number of mesh points (N) and the size of the domain over which we want
these mesh points distributed (XT).
This is determined by the
maximum doping in the
device in a particular region.
Finite Difference Schemes
Before finding the finite difference solutions to specific PDEs, we will look at how
one constructs finite difference approximations from a given differential
equation. This essentially involves estimating derivatives numerically. Let’s
assume f(x) shown below:
Estimates for the derivative of f (x) at P using forward, backward, and
central differences.
Finite Difference Schemes
We can approximate derivative of f(x), slope or the tangent at P by the slope of
the arc PB, giving the forward-difference formula,
f ( x0 ) 
f ( x0  x )  f ( x0 )
x
or the slope of the arc AP, yielding the backward-difference formula,
f ( x0 ) 
f ( x0 )  f ( x0  x )
x
or the slope of the arc AB, resulting in the central-difference formula,
f ( x0 ) 
f ( x0  x )  f ( x0  x )
2x
Finite Difference Schemes
We can also estimate the second derivative of f (x) at P as
f ( x0  x / 2)  f ( x0  x / 2)
x
1  f ( x0  x )  f ( x0 ) f ( x0 )  f ( x0  x ) 




x 
x
x
f ( x0 ) 
or
f ( x0 ) 
f ( x0  x )  2 f ( x0 )  f ( x0  x )
x 2
Any approximation of a derivative in terms of values at a discrete set of points is
called finite difference approximation.
Finite Difference Schemes
The approach used above in obtaining finite difference approximations is rather
intuitive. A more general approach is using Taylor’s series. According to the wellknown
expansion,
f ( x0  x )  f ( x0 )  xf ( x0 ) 
1
1
( x )2 f ( x0 )  ( x )3 f ( x0 )  
2!
3!
and
f ( x0  x )  f ( x0 )  xf ( x0 ) 
1
1
( x )2 f ( x0 )  ( x )3 f ( x0 )  
2!
3!
Upon adding these expansions,
f ( x0  x )  f ( x0  x )  2 f ( x0 )  ( x )2 f ( x0 )  ( x )4
where O(x)4 is the error introduced by truncating the series. We say that this error is
of the order (x)4 or simply O(x)4. Therefore, O(x)4 represents terms that are not
greater than ( x)4. Assuming that these terms are negligible,
f ( x0 ) 
f ( x0  x )  2 f ( x0 )  f ( x0  x )
x 2
Finite Difference Schemes
Subtracting
f ( x0  x )  f ( x0 )  xf ( x0 ) 
1
1
2


( x ) f ( x0 )  ( x )3 f ( x0 )  
2!
3!
from
f ( x0  x )  f ( x0 )  xf ( x0 ) 
1
1
( x )2 f ( x0 )  ( x )3 f ( x0 )  
2!
3!
We obtain
f ( x0  x )  f ( x0  x )  2( x ) f ( x0 )  ( x )3
and neglecting terms of the order (x)3 yields
f ( x0  x )  f ( x0  x )
f ( x0 ) 
2x
This shows that the leading errors of the order (x)2. Similarly, the forward and backward
difference formula have truncation errors of O(x).
Poisson Equation
• The Poisson equation is of the following general form:
 2 (r )  f (r )
 It accounts for Coulomb carrier-carrier interactions in the
Hartree approximation
 It is always coupled with some form of transport simulator
except when equilibrium conditions apply
 It has to be frequently solved during the simulation procedure
to properly account for the fields driving the carriers in the
transport part
 There are numerous ways to numerically solve this equation
that can be categorized into direct and iterative methods
Poisson Equation Linearization
 The 1D Poisson equation is of the form:
d 2
e
   p  n  ND  N A 
2
dx

 EF  Ei 
n  ni exp 
  ni exp( / VT )
 k BT 
 Ei  EF
p  ni exp 
 k BT

  ni exp( / VT )

Φ => Φ + d
eni  / VT
d 2
 / VT


e

e
 C / ni  

2
dx

eni

d  e  / VT  e / VT 

d 2

eni
e
 / VT
 / VT
e
dx 2

eni  / VT
 / VT
old

e

e




d   new   old

new

eni

 / VT
 / VT
e

e
 C / ni  

Renormalized Form
LD=sqrt(qni/εVT)
d 2
   p  n  C   d  p  n
2
dx
d 2
new
old
  p  n     p  n  C    p  n 
2
dx
new
old
d   
Finite Difference Representation
1 n 1  2
 n 1 1 n 1
   2  ni  pi  i  2 i 1 
2 i 1




n
 ( pi  ni  Ci )  ( pi  ni )i
Equilibrium:
ni  exp( ),
n
i
pi  exp( )
n
i
Non-Equilibrium:
n calculated using PM coupling and p still calculated
as in equilibrium case (quasi-equilibrium approximation)
Criterion for Convergence
There are several criteria for the convergence of the
iterative procedure when solving the Poisson
equation, but the simplest one is that nowhere on
the mesh the absolute value of the potential update
is larger than 1E-5 V.
This criterion has shown to be sufficient for all
device simulations that have been performed within
the Computational Electronics community.
Boundary Conditions
• There are three types of boundary conditions that
are specified during the discretization process of the
Poisson equation:
 Dirichlet (this is a boundary condition on the potential)
 Neumann (this is a boundary condition on the derivative of
the potential, i.e. the electric field)
 Mixed boundary condition (combination of Dirichlet and
Neumann boundary conditions)
• Note that when applying the boundary conditions for
a particular structure of interest, at least one point
MUST have Dirichlet boundary conditions specified
on it to get the connection to the real world.
1D Discretization
• The resultant finite difference equations can be represented in a
matrix form Au= f, where:
x0 x1 x2
Neumann
x3
x4 x5
Dirichlet
u  (  0 ,  1 ,  2 ,  3 ,  4 ,  5 ) , f  ( f 0 , f1 , f 2 , f 3 , f 4 ,  5 ) ,
 b0
a
 1
A




ai 
2 c0
b1
a2
0
c1
b2
a3
0
c2
b3
a4
2
dxiw ( dxiw  dxie )
c3
b4
0
; bi 



 where

c4 
1 
2
dxie dxiw
; ci 
2
dxie ( dxiw  dxie )
2D Discretization
• In 2D, the finite-difference discretization of the Poisson equation
leads to a five point stencil:
N=5,M=4
Va
15 16
17
18
19
10 11
12
13
14
5
6
7
8
9
0
1
2
3
4
Dirichlet: 0,4,5,9,10,14,15,19
Neuman: 1,2,3,16,17,18
xi+N
dx in
dx ie
dx iw
xi
xi-1
dx is
xi-N
xi+1
2D Discretization (cont’d)
1
b c
 1 1
b2





 a6
a7
















d1
c2 d 2
b3 c3 d 3
1
2e1
2e2
2e3
1
b6
c6
b7
a8
d6
c7
b8
e6
d7
c8
e7
d8
1
e8
1
b11
a11
a12
c11
b12
a13
d11
c12 d12
b13 c13 d13
1
2a16
2a17
2a18
e11
1
b16 c16 d16
b17 c17
b18
  0   Va 
    f 
 1   1 
  2   f 2 
  3   f 3 
  4   0 
    V 
 5   a 
  6   f 6 
  7   f 7 
  8   f 8 
    0 
 9    
 10   Va 
 11   f11 
 12   f12 
e12
e13  13   f13 
    0 
 14   
 15   Va 
 16   f16 
 17   f17 
d17
c18 d18  18   f18 
   
1  19   0 
Dirichlet: 0,4,5,9,10,14,15,19
Neuman: 1,2,3,16,17,18
Flow-Chart of Equilibrium
Poisson Equation Solver
Initialize parameters:
-Mesh size
-Discretization coefficients
-Doping density
-Potential based on charge neutrality
Solve for the updated potential
given the forcing function using LU decomposition
Update:
- Central coefficient of the linearized Poisson Equation
- Forcing function
> tolerance
Equilibrium solver
Non-Equilibrium solver
Test maximum
absolute error update
< tolerance
Discretization of the Continuity
Equation
Sharfetter-Gummel Discretization Scheme
• The discretization of the continuity equation in conservative
form requires the knowledge of the current densities
J n ( x )  en( x )  n E  eDnn
J p ( x )  ep ( x )  p E  eD p p
on the mid-points of the mesh lines connecting neighboring
grid nodes. Since solutions are available only on the grid
nodes, interpolation schemes are needed to determine the
solutions.
• There are two schemes that one can use:
(a)Linearized scheme: V, n, p,  and D vary linearly
between neighboring mesh points
(b) Scharfetter-Gummel scheme: electron and hole
densities follow exponential variation between mesh
points
(a) Linearized Scheme
• Within the linearized scheme, one has that
Vi 1  Vi
J i 1 / 2  eni 1 / 2 i 1 / 2
 eDi 1 / 2n i 1 / 2
ai
ni 1  ni
ni 1  ni
ai
2
 ei 1 / 2 Vi 1  Vi eDi 1 / 2 
J i 1 / 2  ni 1 


2
a
a


i
i
 ei 1 / 2 Vi 1  Vi eDi 1 / 2 
 ni 


2
a
a


i
i
• This scheme can lead to substantial errors in regions of
high electric fields and highly doped devices.
(b) Sharfetter-Gummel Scheme
• One solves the electron current density equation
V V
n
J i 1 / 2  eni 1 / 2 i 1 i  eDi 1 / 2
ai
x
V V
n V
 eni 1 / 2 i 1 i  eDi 1 / 2
ai
V x
for n(V), subject to the boundary conditions
n(V )  n
i
i
and n(V )  n
i 1
i 1
• The solution of this first-order differential equation leads to
e (V Vi ) / Vt  1
n(V )  ni 1  g (V )  ni 1g (V ), g (V )  (V V ) / Vt
e i 1 i
1
eD
V V
V  Vi 1  

J i 1 / 2  i 1 / 2  ni 1B i 1 i   ni B i

ai 
 Vt 
 Vt  
x
B( x)  x
is the Bernouli function
e 1
Bernouli Function Implementation
Others as Well …
Numerical Solution Techniques
for Sparse Matrices
Numerical Methods
Objective: Speed, Accuracy at minimum cost
 Numerical Accuracy (error analysis)
 Numerical Stability (stability analysis)
 Numerical Efficiency (minimize cost)
 Validation (model/prototype data, field data, analytic
solution, theory, asymptotic solution)
 Reliability and Flexibility (reduce preparation and
debugging time)
 Flow Visualization (graphics and animations)
Solution Methods
• The variety of methods for solving Poisson equation include:
Direct methods
• Gaussian elimination
• LU decomposition method
Iterative methods
• Mesh relaxation methods
-
Jacobi
Gaus-Seidel
Successive over-relaxation method (SOR)
Alternating directions implicit (ADI) method
• Matrix methods
- Thomas tridiagonal form
- Sparse matrix methods: Stone’s Strongly Implicit Procedure
(SIP), Incomplete Lower-Upper (ILU) decomposition method
- Conjugate Gradient (CG) methods: Incomplete Choleski
Conjugate Gradient (ICCG), Bi-CGSTAB
- Multi–Grid (MG) method
LU Decomposition (cont’d)
• If LU decomposition exists, then for a tri-diagonal matrix A,
resulting from the finite-difference discretization of the 1D
Poisson equation, one can write
 a1
b
 2




c1
a2
...
c2
...
bn 1
...
a n 1
bn
where 1  a1 ,
  1
 
  2

cn 1  
a n  
k 
1
 3 ...
...
...
n
 1




1 
bk
,  k  a k   k ck 1 ,
 k 1
c1
2
c2
...



...

... cn 1 
 n 
k  2,3,..., n
Then, the solution is found by forward and back substitution:
g1  f1 ,
g
xn  n ,
n
g i  f i  i g i 1 , i  2,3,..., n,
g  ci xi 1
xi  i
, i  n  1,...,2,1
i
Iterative Methods
Iterative (or relaxation) methods start with a first approximation which
is successively improved by the repeated application (i.e. the
“iteration”) of the same algorithm, until a sufficient accuracy is
obtained.
In this way, the original approximation is “relaxed” toward the exact
solution which is numerically more stable.
Iterative methods are used most often for large sparse system of
equations, and always when a good approximation of the solution is
known.
Error analysis and convergence rate are two crucial aspects of the
theory of iterative methods.
Error Equation
• The simple iterative methods for the solution of Ax = f proceed
in the following manner:
A sequence of approximations v0,v1,...,vn,..., of x is constructed that converges to x. Let vi be an approximation to x after
the i-th iteration. One may define the residual
ri = f - Avi
as a computable measure of the deviation of vi from x. Next,
the algebraic error ei of the approximation vi is defined by
ei = x - vi .
From the previous equations one can see that ei obeys the socalled residual equation:
Aei = ri
Jacobi, Gauss-Seidel Methods
The expansion of Ax=f gives the relation

xk 
n

j 1, j  k
a ki x j  f k
, k  1,2,..., n ; a kk  0
a kk
In Jacobi’s method the sequence v0,v1,...,vn,... is computed by

v ki 1 
n

j 1, j  k
a kj v ij  f k
, k  1,2,..., n ; a kk  0
a kk
Note that one does not use the improved values until after a
complete iteration. The closely related Gauss-Seidel’s method
solves this problem as follows:
k 1
v ki 1 
  a kj v ij1 
j 1
n
i
 a kj v j  f k
j  k 1
a kk
, k  1,2,..., n ; a kk  0
SOR Method
By a simple modification of Gauss-Seidel’s method it is often
possible to improve the rate of convergence. Following the
definition of residual ri = f - Avi, the Gauss-Seidel formula can
be written v ki 1  v ki  rki , where
k 1
n
j 1
j k
  a kj v ij1   a kj v ij  f k
rki 
The iterative method
a kk
, k  1,2,..., n ; a kk  0
v ki 1  v ki  rki
is the so-called successive over-relaxation (SOR) method. Here, ,
the relaxation parameter, should be chosen so that the rate of
convergence is maximized. The rate of convergence of the SOR is
often surprisingly higher than the one of Gauss-Seidel’s method. The
value of  depends on the grid spacing, the geometrical shape of the
domain, and the type of boundary conditions imposed on it.
Convergence
• Convergence of the iterative methods:
Any stationary iterative method can be written in the general
form
xk+1 = Bxk + c
A relation between the errors in successive approximation can
be derived by subtracting the equation x=Bx+c :
xk+1 - x = B(xk - x)=…=Bk+1(x0-x)
Now, let B have eigenvalues 1,2,...,n, and assume that the
corresponding eigenvectors u1,u2,...,un are linearly
independent. Then we can expand the initial error as
x0 - x = u1 + u2 +…+un
Convergence (cont’d)
and thus x k  x  1k1 u1   2 k2 u 2  ...   n kn u n .
This means that the process converges from an arbitrary
approximation if and only if |i|<1, i=1,2,...,n.
Theorem: A necessary and sufficient condition for a stationary
iterative method xk+1 = Bxk + c to converge for an arbitrary initial
approximation x0 is that
 (B )  max
| i (B ) |  1 ,
1i  n
where (B) is called the spectral radius of B. For uniform mesh
and Dirichlet boundary conditions, one has for the SOR method

2
1 1  2
Multi-Grid Method
two-grid iteration to solve Av=f on grid n
n
5.
1.
1. pre-smoothing on n
4.
2.
2. restriction of r to n-1
n-1
3. solution of Ae=r on n-1
4. prolongation of e to n
5. post-smoothing on n
3.
Coarsening Techniques
• Coarsening techniques: importance of boundaries
18 points
17 points
initial grid
bad coarsening
good coarsening
When the number of points in one dimension is 2N+2 (N being a
natural number), a geometric mismatch is generated in the
coarser grids, which show pronounced in-homogeneity. The
convergence of the method is severely slowed down in these
cases.
Coarsening Techniques (cont’d)
• Coarsening techniques: importance of boundaries
propagation of a contact (Neumann BC) through grids
initial grid
post-smoothing often
required on these
points
no post-smoothing
is required
Restriction
Restriction is used to transfer the value of the residual from a grid
n to a grid n-1; relaxation is then a fine-to-coarse process.
In a two-dimensional scheme is convenient to use two different
restriction operators, namely the full-weighting and the halfweighting. In the simple case of a homogeneous, square grid, one
has:
1
16
1

8
1
16
1
8
1
4
1
8
1
16 
1

8
1
16 
full-weighting

0
1

8
0

1
8
1
2
1
8

0
1

8
0

half-weighting
The criteria to choose the most effective scheme in a given
situation depend on the relaxation method, as will be discussed
in the section devoted to relaxation.
Prolongation
The prolongation is used to transfer the computed error from a
grid n-1 to a grid n. It is a coarse-to-fine process and, in two
dimensions, can be described as follows (see figure below):
b
a
a
(1) Values on points on the fine grid,
which correspond to points on the
coarse one (framed points) are just
copied.
(2) Values on points of type a are
linearly interpolated from the two
closer values on the coarse grid.
(3) Values on points of type b are
bilinearly interpolated from the four
closer values on the coarse grid.
The Coarsest Grid Solver
As shown by the algorithm description, the final coarsest grid has just
a few grid-points. A typical grid has 3 up to 5 points per axis.
On this grid, usually called W0, an exact solution of the basic
equation Ae = r is required.
The number of grid points is so small on W0 that any solver can be
used without changing the convergence rate in a noticeable way.
Typical choices are a direct solver (LU), a SOR, or even a few
iterations of the error smoothing algorithm.
Relaxation Scheme
The relaxation scheme forms the kernel of the multigrid method.
Its task is to reduce the short wavelength Fourier components of the
error on a given grid.
The efficiency of the relaxation scheme depends sensitively on
details such as the grid topology and boundary conditions. Therefore,
there is no single standard relaxation scheme that can be applied.
Two Gauss-Seidel schemes, namely point-wise relaxation and line
relaxation, can be considered. The correct application of one or more
relaxation methods can dramatically imp-rove the convergence. The
point numbering scheme plays also a crucial role.
Relaxation Scheme (cont’d)
(1) Relaxation scheme: point Gauss-Seidel
 The approximation is relaxed (i.e. the error is smoothed)
on each single point, using the values on the point itself
and the ones of the neighbors.
 This is equivalent to solve a single line of the system Au=f.
Relaxation Scheme (cont’d)
(2) Relaxation scheme: line Gauss-Seidel
The approximation is relaxed on a
complete row (column) of points,
using the values on the point itself
and the ones of the other points on
that row (column).
Successive rows (columns) are visited using a “zebra” numbering
scheme. Different combinations of row/column relaxation can be
used.
This technique, which processes more than a point a the same
time is called block relaxation. This is equivalent to solve an onedimensional problem with a direct method, that is to solve a
tridiagonal problem.
This method is very efficient when points are inhomogeneous in
one direction.
Comparison of Relaxation Schemes
(3) Relaxation schemes: Comparison
Point Gauß-Seidel

0.3
Line Gauß-Seidel
0.2
0.2
0.1

0.5
0. 1
t
05
.
0.2
0.9
0. 1

0.3
0.7
0.4
0.9
0.6
0.8
0. 3
 
0.6
0.1
0.2
0.4
0.2
0.3
0.1


 


s
Smoothing factor 0.5
 
 


s
Smoothing factor 0.14

Complexity of linear solvers
Time to solve
model problem
(Poisson’s
equation) on
regular mesh
n1/2
n1/3
2D
3D
Sparse Cholesky:
O(n1.5 )
O(n2 )
CG, exact
arithmetic:
O(n2 )
O(n2 )
CG, no precond:
O(n1.5 )
O(n1.33 )
CG, modified IC:
O(n1.25 )
O(n1.17 )
CG, support trees:
Multigrid:
O(n1.20 ) -> O(n1+ ) O(n1.75 ) -> O(n1.31 )
O(n)
O(n)
Validity of the Drift-Diffusion Model
(a) Approximations made in its derivation
• Temporal variations occur in a time-scale much longer
than the momentum relaxation time.
• The drift component of the kinetic energy was neglected,
thus removing all thermal effects.
• Thermoelectric effects associated with the temperature
gradients in the device are neglected, i.e.
J n ( x )  en ( x ) n E  eDn n
J p ( x )  ep ( x ) p E  eD p p
• The spatial variation of the external forces is neglected,
which implies slowly varying fields.
• Parabolic energy band model was assumed, i.e.
degenerate materials can not be treated properly.
Validity of the Drift-Diffusion Model
(cont’d)
(b) Extension of the capabilities of the DD model
•
•
Introduce field-dependent mobility (E) and diffusion
coefficient D(E) to empirically extend the range of validity
of the DD Model.
An extension to the model, to take into account the
overshoot effect, has been accomplished in 1D by adding
an extra term that depends on the spatial derivative of the
electric field
E 
n

J n ( x )  en ( x )  n ( E )   n ( E ) L( E )
 eDn ( E )


x 
x
1. K.K. Thornber, IEEE Electron Device Lett., Vol. 3 p. 69, 1982.
2. E.C. Kan, U. Ravaioli, and T. Kerkhoven, Solid-State Electron., Vol.
34, 995 (1991).
Time-Dependent Simulations
The time-dependent form of the drift-diffusion
equations can be used both for
steady-state, and
transient calculations.
Steady-state analysis is accomplished by starting
from an initial guess, and letting the numerical system
evolve until a stationary solution is reached, within set
tolerance limits.
Time-Dependent Simulations (cont’d)
 This approach is seldom used in practice, since now
robust steady-state simulators are widely available.
It is nonetheless an appealing technique for
beginners since a relatively small effort is necessary
for simple applications and elementary discretization
approaches.
If an explicit scheme is selected, no matrix solutions
are necessary, but it is normally the case that stability
is possible only for extremely small time-steps.
Time-Dependent Simulations (cont’d)
 The simulation of transients requires the knowledge of a
physically meaningful initial condition.
 The same time-dependent numerical approaches used
for steady-state simulation are suitable, but there must
be more care for the boundary conditions, because of
the presence of displacement current during transients.
Displacement Current
 In a true transient regime, the presence of displacement
currents manifests itself as a potential variation at the
contacts, superimposed to the bias, which depends on
the external circuit in communication with the contacts.
Displacement Current (cont’d)
Neglect of the displacement current in a transient is
equivalent to the application of bias voltages using
ideal voltage generators, with zero internal
impedance.
In this arrangement, one observes the shortest
possible switching time attainable with the structure
considered.
Hence, a simulation neglecting displacement current
effects may be useful to assess the ultimate speed
limits of a device structure.
Displacement Current (cont’d)
 When a realistic situation is considered, it is necessary to include a
displacement term in the current equations. It is particularly simple to deal
with a 1-D situation. Consider a 1-D device with length W and a crosssectional area A. The total current flowing in the device is
I D (t )  I n ( x, t )  cA
E ( x, t )
t
(1)
 The displacement term makes the total current constant at each position
x. This property can be exploited to perform an integration along the
device
1
I D (t ) 
W
cA V *
0 I n ( x, t )dx  W t
W
(2)
 The 1-D device, therefore, can be studied as the parallel of a current
generator and of the cold capacitance which is in parallel with the (linear)
load circuit.
 At every time step, Eq. (1) has to be updated, since it depends on the
charge stored by the capacitors.
Example: Gunn Diode
• Consider a simple Gunn diode in parallel with an RLC resonant load
containing the bias source.
V * (t )
I (t )  Co
 I o (t )
t
(3)
where I0(t) is the particle current given by the first term on the right
hand side of Eq. (1), calculated at the given time step with driftdiffusion. It is also
V * (t )  Vb
V * (t )
I (t )  

dt
R
L
(4)
• Upon time differencing this last equation, with the use of finite
differences, we obtain
t
Co
V * (t  t )  V * (t )
t
I (t  t )  I (t ) 
 V * (t )  Vb ) 
R
L
V * (t  t )  V * (t )   I (t )  I o (t ) 
(5)
Some General Comments
A robust approach for transient simulation should be
based on the same numerical apparatus established
for purely steady-state models.
It is usually preferred to use fully implicit schemes,
which require a matrix solution at each iteration,
because the choice of the time-step is more likely to be
limited by the physical time constants of the problem
rather than by stability of the numerical scheme.
Typical calculated values for the time step are not too
far from typical values of the dielectric relaxation time
in practical semiconductor structures.
Solution of the Coupled DD
Equations
There are two schemes that are used in solving
the coupled set of equations which comprises
the Drift-Diffusion model:
 Gummel’s method
 Newton’s method
Gummel’s Method
Gummel’s relaxation method, which solves the equations
with the decoupled procedure, is used in the case of weak
coupling:
• Low current densities (leakage currents, subthreshold
regime), where the concentration dependent diffusion term
in the current continuity equation is dominant
• The electric field strength is lower than the avalanche
threshold, so that the generation term is independent of
V
• The mobility is nearly independent of E
The computational cost of the Gummel’s iteration is one
matrix solution for each carrier type plus one iterative
solution for the linearization of the Poisson Equation
Gummel’s Method (cont’d)
The solution strategy when using Gummel’s relaxation
scheme is the following one:
• Find the equilibrium solution of the linearized Poisson
equation
d 2 dV
n
 i exp V   exp  V dV 
N
dx 2

d 2V
n 
N  ND 
 i exp V   exp  V   A

ni
dx 2 N 

• After the solution in equilibrium is obtained, the applied
voltage is increased in steps V VT
• Now the scaled Poisson equation becomes:
d 2V
n 
N  ND 
 i exp(  n ) exp V   exp( p ) exp V   A

ni
dx 2 N 

Gummel’s Method (cont’d)
The 1D discretized electron current continuity equation (as
long as Einstein’s relations are valid) is:
Di 1/ 2
ni 1BVi 1  Vi   ni BVi  Vi 1
ai
D
1
 i 1/ 2 ni 1BVi 1  Vi   ni BVi  Vi 1  ai 1  ai G  R i  0
ai  1
2
For holes, one can obtain analogous equations by
substituting: V  V , n  p
The decoupled iteration scheme goes as follows:
(1) Solve the Poisson equation with a guess for the quasiFermi levels (use the applied voltage as initial guess)
(2) The potential is used to update the Bernouli functions
(3) The above equations are solved to provide an update for
the quasi-Fermi levels, that enter into the Poisson
equation
Gummel’s Method (cont’d)
The criterion for convergence is:
maxV
k 1
 nk 
 pk 
 , maxVT ln

 V , maxVT ln
 nk 1 
 pk 1 




k
In the case of strong coupling, one can use the extended
Gummel’s scheme
V k 1  V k  dV
n
k 1
p
k 1
dV 
 dn  
 n exp 1  dV  VT ln  
 nk  
VT 
k
 dp  
dV 
 p exp  1  dV  VT ln  
k 
VT 
p 
k
Gummel’s Method (cont’d)
Original Gummel’s scheme
initial guess
of the solution
solve
Poisson’s eq.
n
converged?
Modified Gummel’s scheme
initial guess
of the solution
Solve Poisson’s eq.
Electron eq.
Hole eq.
n
y
y
Solve electron eq.
Solve hole eq.
Update
generation rate
y
n
converged?
y
converged?
n
converged?
Newton’s Method
• The three equations that constitute the DD model, written
in residual form are:
Fv (v , n, p)  0
Fn (v , n, p)  0
Fp (v , n, p)  0
• Starting from an initial guess, the corrections are
calculated by solving:
 Fv

 v
 Fn
 v
 F
 p
 v
Fv
n
Fn
n
Fp
n
Fv 

V k 1  V k  V k
p  v  F 
v
Fn     
 n  Fn   n k 1  n k  n k
p   
 
Fp   p  Fp 
p k 1  pk  p k

p 
Newton’s Method (cont’d)
• The method can be simplified by the following iterative
scheme:
 Fv
 V
 F
 n
 V
 Fp
 V

0
Fn
n
Fp
n

0 Fv
0 

n



V
F
  

v
0    n     Fn   0 0
F  
  p 
 p  0 0
Fp   

p 
k+1
Fv
F
F
V k 1  Fv  v n k  v p k
V
n
p
Fv
F
Fn k
n k 1  Fn  n V k 1 
p
V
V
p
Fp
Fp
k 1
k 1 Fp
p
 Fp 
V

n k 1
p
V
n
Fv 
p 
V
Fn   
   n 
n    p 
0   

k
Flow-Chart of 1D DriftDiffusion Simulator
Initialize parameters:
-Mesh size
-Discretization coefficients
-Doping density
-Potential based on charge neutrality
Solve for the updated potential
given the forcing function using LU decomposition
Update:
- Central coefficient of the linearized Poisson Equation
- Forcing function
> tolerance
Equilibrium solver
Test maximum
absolute error update
< tolerance
Non-Equilibrium solver
VA = VA+V
V is a fraction of the
thermal voltage VT
Calculate coefficients for:
- Electron continuity equation
- Hole continuity equation
- Update generation recombination rate
Solve electron continuity equation using LU decomposition
Solve hole continuity equation using LU decomposition
Update:
- Central coefficient of the linearized Poisson Equation
- Forcing function
Solve for the updated potential
given the forcing function using LU decomposition
> tolerance
Test maximum
absolute error update
< tolerance
Calculate current
no
STOP
Maximum voltage exceeded?
yes
Download