You are on page 1of 11

NO.

ED-30, VOL.
DEVICES,
ELECTRON
IEEE TRANSACTIONS
ON

9,

SEPTEMBER

1983

1031

Numerical Methods for Semiconductor


Device Simulation
RANDOLPH E. BANK, DONALD J. ROSE, AND WOLFGANG FICHTNER, MEMBER, IEEE

Abstract -This paper describes the numerical techniques used to solve


the coupled system of nonlinear partial differential equations which model
semiconductor devices. These methods have been encoded into our device
simulationpackagewhich has successfully simulated complex devices in
two andthreespace
dimensions. We focus our discussion on nonlinear
operator iteration, discretization and scaling procedures, and the efficient
solution of the resultingnonlinearandlinearalgebraic
equations. Our
companionpaper 1131 discusses physical aspects of themodel equations
and presents results from several actual device simulations.

I. INTRODUCTION

E FOCUS OUR discussion here on the numerical


techniques used to solve the coupled system of nonlinear partial differential equations describing the intrinsic
behavior of semiconductor devices. For convenience in
exposition we restrict ourattentionto
the steady-state
equations in two space dimensions, although the techniques and ideas presented are applicable to the timedependent equations and to the system in three space
dimensidns. A physical description of these equations and
results fromnumerical simulations several transistor devices are presented in our companion paper [13].
We begin in Section I1 by summarizing the PDE system
and describing our basic approach to solving the equations.
In Subsection 11-B we discuss nonlinear iteration at the
operator level, finding it convenient to defer until Section
I11 discretization procedures. By considering nonlinear operator iteration we are led naturally to examine properties
of the linear operators that will be solved at each iteration.
For exa.mple, in Subsection 11-Cwe examide the role of
scaling and change of variables. Subsection 11-D discusses
aspects of grid selection and refinement and is a transition
to Section I11 on discrete equation formulation.
We have used both a finite-difference and a finite-element approach to discretization. Subsection 111-A reviews
the box method for obtaining finite-difference equations.
Subsections 111-B and 111-C apply the box method to
derive the discrete equations for our particular PDE systems, andSubsection 111-D compares these discrete equations with the commonly used, physically motivated
Manuscript received June 6, 1983.
R. E. Bank is with the University of California at San Diego, La Jolla,
CA 92115, and is partially supported under ONR Contract N00014-82-K
-0197.

D. J. Rose and W. Fichtner are with Bell Laboratories, Murray Hill, NJ


07974.

discretization of Scharfetter and Gummel [16]. Our finiteelementapproach is presented inSubsection 111-E. Although we use piecewise linear elements on triangles here
as contrasted with rectangular-oriented finite differences,
nevertheless, the two approaches lead to discrete systems
with nearly identical properties when the finite-element
quadrature rule is chosen to correspond to a generalized
box-typemethod. Finally in Subsection 111-Fwe make
on methods for solving the
somecomparativeremarks
discrete equations.
11. EQUATIONS
AND BASICMETHODOLOGY
In this section we present the central ideas used in our
numerical approaches to solving the system of nonlinear
PDEs modeling semiconductor devices. The discussion
here is descriptive and methodologically oriented with
pointers to the published literature included for many
details of the algorithms and their analyses. After summarizing the equations, we focus on the iss'ues of nonlinear
iterations, choice of variables and scaling, and gridcontinuation.

A. Equations
Webeginbysummarizing
the static system of PDE's
derived in [13].We consider them in dimensionless form
withmixed
Neumannand
Dirichlet conditions as described there. Furthermore, the Laplace equation, - q A u
= 0, and the constant e, are explicitly suppressed and
considered implicitly in the Poisson equation g, = 0 following, although they will be treated in more detail during
discretization.
As in [13] we consider the coupled system of PDEs
g,(u,n,p)=-Aufn-p-k,=O

(1a)

g,(u, n , p ) = - v.j, + k ,

(Ib)

g , ( u , n , p ) = v-j,+ k ,

=0

=0

(14

The continuity equations, (lb), (IC), are further specified


by writing the current densitiesj , and j p in the (drift-diffusion) form
j,, = - p,,nVu D,vn
(24

jp = -p p p v u - D p v p

(2b)

where the mobility and diffusivity coefficients, p i and Di,

0018-9383/83/0900-1031$01.00 01983 IEEE


Copyright held jointly: 01983 IEEE; 01983 Society for Industrial and Applied Mathematics

1032

IEEE TRANSACTIONS ON ELECTRON


VOL.DEVICES, N O . E D - ~ O ,

9, SEPTEMBER 1983

i = n , p , respectively, may be field


dependent as wellas
spatially dependent. The dopingprofile k , is assumed to be
spatially dependent only, while the recombination term k ,
is usually of the form k , = k , ( u , n ,p ) . Our methods apply
to two- and three-dimensional geometries.
When the Einstein relation isvalid,it
takes the form
p i = Di, and we write
n = eU-0
(Sa)

works well when the applied voltages insure that the solution currents are relatively small and the recombination( k , = 0). In this
generation term k , canbeneglected
setting (4b) and (4c) can be regarded assmall perturbations of the electrostatic potential equation (4a), and we
suggest solving (7), rather than (6), fairly accurately. Equations (5b) and (512) canbe taken as linear equations by
selecting u k and w, from zk or by introducing the changes
of variables v = e-', w = ew in (4b), (4c),respectively;
p ew-u.
(3b)
however, in some computing environments such changes
of
Using these quasi-Fermi variables u and w, we may write variables may lead to undesirable numerical difficulties
(1) as
(underflow, overflow, loss of precision).
The major objection to G-S/J iteration is slow converg , ( u , u , w )= - Au e'-' - ew-' - k , = 0
(4a)
gence for high currents and complicated functions k, + 0.
g 2 (u , u , w ) = v p , , e " - " v u k , = 0
(ab) Although the multilevel adaptive refinement approach disthis
g , ( u ,u , w ) = - v p p e w - u v w k , = 0 .
( 4 4 cussedin Subsection 111-E attemptstocircumvent
objection, an approach which couples the equations more
B. Nonlinear Iterations
tightly is desirable. This leads to the second basic approach
There are two basic approaches to solving the system (1) which attempts to apply some form of Newton-like iteraor (4) which dominate the literature on device simulat.lon. tion.
In most of the literature dealing with the system (1) or
The first approach would be known to numerical analysts
as a nonlinear operator Gauss-Seidel/Jacobi (G-S/J) iter- (4), the (perhaps approximate) Jacobian neededfor a Newation. Theiteration associates with each g j the highest-order ton-like iteration is calculated after the discretization prodifferential dependent variable, e.g., u in (la) and (4a), as cedure. That is, (1) is discretized, perhaps by finite difthe "output" variable for that equation. Given value; of ferences, yielding a system of nonlinear equations like (1)
the dependent variables (including possibly the ou1:put whereeach gj isnow a vectorvalued function of three
variable itself), the operator equation gi = 0 is solved 'lap- vectors u , IY,w. Each "block" of the Jacobian is a matrix;
proximately) to obtain a new approximation to the output for example, the diagonal blocks are square matrices
variable. Consider the formulation (4).Symbolically we dg,/du, dg,/dn and d g , / d p , respectively.
We have foundan alternative view more convenient.
can write the iteration as follows. Let zk = ( u k , u k , w,)"~,zo
given. The iteration proceeds by looping through solutions Consider the formal Jacobian of the differential system (1)
or (4). This is a 3 x 3 matrix of linear operators all in
of
gl('k
Uk+l) =
( 5 4 differential form. It is computed by repeatedly applying
the identity
gZ('k, ' k + l
'k+1> = O
8:5b)
{d/du[d/dxf(x,u)]}=
* d/dx[df/du*].
(8)
gj('k9 ' k i - 1 7 ' k + l
wk+l)"o*
(54
are regarded as il:~put Here d / d x is a derivative, usually a gradient or a diverThe variables tothe left of
gence operator, and d f / d u is a linear operator acting on
variables; the output variable is on the right.
the "placeholder" function * . For example, (considering
The symbolic representation of the iteration (5) allows
(1))
considerable flexibility in determining the one-variable opdgl/du = - A *
(94
erator equation. For example, consider g, as in (4a). If the
entire vector zk is"selected"by
3 the linear operator
dg,/dn = - v.(dj,,/dn * ) - d k , / d n *
(9b)
equation is
a g , / a p = - v.(aj,/ap * ) - d k , / d p *
(94
- A u k + , + eUk-"k - ewkPuk- k 1 -- 0
(6)
arethe diagonal entries (* hasbeen suppressed on the
while the selection of only uk and wk explicitly leads ti3 the
left-hand side). Similarly, using (2a) we see that
nonlinear equation
d j=, ,[/ -dpn,*, v u + D , , v ] * .
(10)
- A u k + , + euk+l-"k - ewk-uk+l - k , = 0.
(7)
We consider now the operator Jacobian of the system (4)
Some suggestions on variants of the iteration ( 5 ) as well in greater detail, assuming momentarily that the functions
as methods to solve the individual nonlinear and/or linear pLnand p p are only spatially dependent. Using (8) and (4)
discretized equations are given in 1121, [5], [6]. For the types we obtain the 3 X 3 operator Jacobian (letting k , = 0 for
of problems we have encountered, the G-S/J iteration convenience)

-+

- A* + (

v(pn* e N - " v u )
v ( p P* e w - u v w )

- eu-v
-

v ( p n e u v (- e - ' * ) )

- ew-u

0
-v(ppe-Uv(eW*))

(11)

BANKeZ d .:

SEMICONDUCTOR DEVICE SIMULATION

1033

In a typical application of an approximate Newton method


such as suggested in [6], the nonlinear iteration proceeds as
gkx

= - gk

Z k . + l = zk

+ tkx

-(gixn + gk)

(13)

where L k is the lower triangular part of g;. Note that each


iteration (13) requires, in addition to the assembly of the
system, the solution of three self-adjoint PDE's. In an
abstract (conceptual) mathematical software environment,
solving (13) might involve calls to a precomputed (divergence form) discretization procedure as part of the necessary calls toappropriate
elliptic solvers. In practice,
however, the distinction between discretization and solution of (12a) or (13) often becomes blurred as the details of
implementation become important to the overall efficiency
of the computation. It then becomes useful to view (13) as
a block iterative method for the discretized block system
arising from (12a). We have found such iterative methods
for solvingsystems (12a) (after discretization) far more
effective than solving t,he discrete analogue of (12a) by a
sparse direct method. We comment in greater detail in
Subsection 111-F.
Computing theoperator Jacobian has the additional
advantage of providing motivation for the choice of an
approximationto the exact operator Jacobian g' of the
operator system g ( z ) = 0. Recall that (11)was derived
under the tacit assumption that p,, and p p were only
spatially dependent. In most models, this function depends
upon the dependent variable u in fact, usually on the field
v u . This implies that (again take k , = 0)
ag,/dw= - v.(a/aujn* )
j,,= - p , , e u - u v v .

(144
(14b)

= - ( ap,,/aueu-u
=

(12b)

for g i as in (ll), gk = ( g l , g , , g , ) T as in (4), and x =


~corresponding
) ~
to z = ( u , u , w ) ~In. the matrix
vector product of (12a)? the * in each matrix entry indicates where to put the appropriate component of x . The
parameters tk are chosen to make the iteration converge in
an orderly fashion; see [ 6 ] .
Thereare several advantages in viewing the solution
process abstractly as in'dicated by (11) and (12). First we
see clearly the differential form of the linear operator g' we
must ultimately discretize. Note that each matrix entry is a
linear operator in divergence form. This is ideal for discretizations based on the box method or the finite-element
method as discussed in Section 111. Note also that the
diagonal linear operators are inself-adjoint form if we view
them as operating on 8 u , 6v = - e-v6u, and 60 = ew8w,
respectively. 6v and 6 w correspond to the variables v = e-'
and w = ew, although this change of variables is not applied
explicitly to the entire system (4).
Another advantage of the operator view is that it immediately suggestssolving (12a) by the iterative GaussSeidel splitting (or more general SOR splitting)

- xn-l)

aj,,/au

(124

( 6 u , 6v,6

Lk(xn

Expanding, we see (suppressing * )

+pL,eu-v)v~

[l-(a~n/au)/pnl
a/auln p n ]j,.

ja

= [I -

(15)

A similar expression holds for a j p / a u . Hence (11) can be


viewedas an approximation to the exact Jacobian where
the factor a/aulnp, is neglected in the computation of
dg,/du (similarly for ag,/au). In man.y cases such approximations cause little deterioriation in the observed rate
of convergence for the iteration (12), although, theoretically, (see [6]) the convergence rate cannot be superlinear
in general. Of course, if a/dulnp, can be computed
analytically, there is little reason not to include it. However, p,, is often obtained experimentally, and in such cases
either neglecting it as in (11) or approximating d/aulnp.,
by differences is indicated. In any event, we suggest approximating the individual terms in the operator Jacobian
when necessary, ratherthan using some finite-difference
approximation to the discretized system.
C. Choice of Variables and Scaling
As we have indicated in Subsection 11-A, the assumption
of the Einstein relation allows the electron and hole densities n and p , respectively, tobe written in terms of the
potentials u, u , and w as in (3). The functions u and w are
"smoother" than n and p , although the variation of
j,

o n )= -p L , e u - u ~ u

(16a)

+ v p ) = - pP'e W - " v w

(16b)

= - p n ( n v u-

and
jp= - p p ( p v u

due to the dependent variables u , u , and w is significant.


Hence we may anticipate the linear operators a j , / a u and
ajp/ a w which appear on the diagonal of (11) to be somewhat ill-conditioned. Indeed, the coefficient functions e"
and e-' in the expressions - v(p,e"v(- e - ' * ) ) and
- V ( p p e - "v(ew *)) indicate that these operators can be
poorly scaled dueto the variation in u ( x , y ) ; in some
computing environments even the evaluation of the corresponding discrete operator may be difficult.
Part of the cause of the misscaling is the desire to force
the diagonal operators to be self-adjoint and positive definite. Hence in (11) we implicitly consider the variables
v

= e-'

(174

and
w

= ew

(17b)

in the sense that we "solve" for 6v and 8w and then obtain


6v and 6w. We suggest that such a procedure is preferable,
in a coupled approximate Newton strategy, to using the
variables u , v, and w throughout the calculation since the
range of values for v and w is much greater than for u and
w. On the hand, when the Poisson equation dominates and
a G-S/J iteration strategy is used, the variables u, v, and w
can often be used successfully. For k , =_ 0, note that the

1034

IEEE TRANSACTIONS ON ELECTRON DEVICES, VOL. ED-30, NO.

linear PDEs g,(u, v ) and g,(u, a) of (4) have the form


g 2 ( u ,Y ) = - v p n e " v v = 0

(1 8 4

and
g3( u , a) = - vp.,e-"vo

= 0.

(18b)

We suggest that the scaling problem for the linear op4:rators


L1q = - V . ( p n e U v q )

(19 4

L2q = - V . ( P p e - " v 1 7 )

(19b)

and
which appear on the diagonal of (11) and in (18) be
addressed as follows. Consider (18a). Discretization of
L1v = 0 as we shall see in Sections 111 and IV, leads to a
matrix vector product
A(Pne")rl = k
(20)
where A(p,,e") is an m X m and q and k are now rn vectors.
For the discretizations we consider, A(p.,e") will be symmetric positive definite; however, the entries a i j will vary
as e" varies on the discretization mesh.
We have tried several scalings of (20). A symmetric
scaling
A1ql = D - 1 / 2 A D - 1 / 2 ( D 1 /=2 ~D)P 1 I 2 k= k ,

(21a)

where
D

= diag [ e " ]

(2:l.b)

is a diagonal matrix with entries e" evaluated at meshpoints, preserves the symmetry and positive definitenesz, in
the matrix A , = D-1/2AD-1/2. It is easy to compute the
scaled matrix A , during assembly. Alternatively, we have
considered the scaled linear system
D
A qD)- ' (

=k

(22)

D as in (21b). The linear system


A2172 = k

(23)

is no longer symmetric. However,since A , is a diagonal


scaling of A , most iterative methods (SOR, SSOR, and
SSOR-CG withslight modification), in exact arithmetic,
have the same convergence rate when applied to (20),
(21a), (23), and (24) following.
If an approximation to the quasi-Fermi variable u asscciated with (3a) is known, which would be the case in any
setting discussed in Subsection 11-B, the scaling (22) with
D

= diag[ e']

(2!4)

is natural. This leads to the linear system


A3173 = k
which we may further scale as
D,A3173
Dl

(Z)

= A4173 = k2 = D1k

= diag [ e'-"].

(2 6)

Note that A , and A , arenot symmetric, although cur


comment regarding solution by iterative methods applieis.

9, SEPTEMBER 1983

Some insight can be gained into the choice of scaling by


examining the variables corresponding to the v i given
earlier. Suppose (20)is a discretization of (18a); then 7
represents the variable v = e-' in (17a). 17, represents the
variable 8 = e"/*-', a variable seemingly less volatile than
Y but more so than n = e"-' represented by 1
7, of (23). In
the context of (25) and (26), 17 will usually represent
- e-' * as in (11).Then q3 = - * and the matrix entries in
A , are like the variable n while those in A , will contain
exponentials of differences in u.
D. Grid Continuation: Two Approaches
Our discussion of grid continuation is motivated by
several concerns. First, as can be seen in the examples
described in [13], the solutions of (1) or (4) exhibit large
variations in the regions near the junctions but are generally quite smooth over most of the domain. In this situation, the straightforward use of uniform discretization
meshes seems inappropriate, since a mesh sufficiently fine
to achieve the desired accuracy in small regions where the
solution is rough introduces many unnecessary unknowns
in regions where the solution is smooth, greatly inflating
the storage and computational time requirements.
Second, assuming that one has an appropriate mesh for
a given problem, geometric complexity of the device and
accuracy requirements can still lead to discrete systems of
nonlinear equations whose dimension is quite large. Irrespective of the choice of nonlinear iterative method, it is
clear one should seek to minimize the work associated with
solving these nonlinear equations. One strategy for achieving this goal is to start from a good initial guess, so that
only a few nonlinear iterations, perhaps only one or two,
will be required to achieve the desired accuracy.
By grid continuation we mean the use of some strategy
involvingseveralgrids-coarse
grids withrelativelyfew
unknowns, inexpensive computational costs and low accuracy, and (locally) finer grids, on which accurate solutions
may be computed. Coarse grids are used to obtain good
starting iterates for the finer meshes, and can also be used
in the creation of the finer meshes by indicating regions
where refinement is necessary.
We have considered two different grid continuation approaches which we call local mesh refinement and domain
partitioning.
The local mesh refinement scheme consists of generating
a sequence of nested meshes on the entire domain. The
meshesgenerally become increasingly nonuniform since
most of the refinement is confined to small regions near
the contacts. The decision of where to refine can be done
manually (Le., using human intervention) or automatically
through the use of local aposteriori error estimates as in [l]
and [9]. The problems are solved sequentially starting at
the coarsest grid and using the j t h computed solution as
the initial iterate for the ( j + 1)st problem. Since all meshes
cover the entire domain, it is easy to make use of multilevel
iterative methods in solving the systems of equations arising from any particular nonlinear iterative scheme. A
mathematical analysis of such a schemeisgiven in [7].

BANKei ul. :

1035

SEMICONDUCTOR DEVICE SIMULATION

Local mesh refinement seems most appropriate for finiteelement discretization, since if can more easily cope with
the host of technical difficulties which arise.
Thedomainpartitioning
idea makes use of (possibly
nonuniform) tensor product grids. The coarsest grid(s)
cover the entire domain. The problem issolved to (say)
sec0n.d-order accuracy, and then the accuracy is improved
using Richardson extrapolation, deferred correction or
some similar technique (see for example [4]). At this point
we assume that the solution is sufficiently accurate in large
portions of the domain where the solution is smooth. We
take the improved solution and fit it with a tensor product
(say, cubic) spline interpolant, which we take as the exact
solution on the smooth region. We may then consider one
or more small subregions of the original domain where the
solution is still deemed inaccurate. On these subregions, we
solve reduced problems, using the spline interpolants to set
both the boundary conditions and provide the initial iterate.
This approach seems well suited to finite-difference calculations, which are relatively easy to implement on tensor
product grids. The tensor product structure also allows for
easy vectorization of many of the inner loop computations,
and thus leads to extremely efficient implementations on
vector computers.
111. DISCRETE
EQUATION
FORMULATION

As we suggested in Subsection 11-B, the nonlinear iteration schemes we have discussed there implicitly assume
that the operator systems (l),(2), or (4)will be solved
approximately in the sense that they will be solved in
discrete form. In this section we present some of the details
of our discretization schemes. Both the finite-difference
and finite-element methods discussed are suitable for dealing with systems such as (l), (2), or (4)which are in
divergence form. Furthermore, linearization of the system
whichgives rise to the Jacobianoperator g of (11) or
linearization of any component operator gi again yield
operators in divergence form. We will limit our detailed
discussion to discretization of the component operators gi
of (1)and (4). Discretization of any of the operators in (11)
not included in this discussion is similar and straightforward..
Our finite-difference discretization is based on the box
method as discussed, for example, in [19, sec. 6.31. Subsection 111-A reviews this method and Subsections 111-B and
111-C apply the method to derive our discretizations. Subsection 111-D discusses the relation of our discretizations to
the Scharfetter-Gummel [16] approach often used in semicondluctor simulation. In Subsection 111-Ewe present our
finite-element approach which is an adaptation of the
piecewise-linear-triangular element approach of Bank et al.
[2], [3], [7], [9]. Interestingly we show that, with the right
choice of quadrature rule, this finite-element discretization
is a box-method finite-difference discretization where now
the boxes are general polygons ratherthan
rectangles.
Finally in Subsection 111-F we discuss briefly some of the
linear equations schemes for solving the linearized discrete
equaiions.

I
L

__________-_ ___--____

(xi,Yj-r)

Fig, 1. Finite-difference box.

A . Finite Differences: Box Method

Often the domain of our PDE system is essentially a


rectangle (or unions of rectangles). For such regions a
rectangular-grid finite-difference approach is convenient
and easy to implement allowing us, in solving the equations, to take some advantage of fast vector processing
capabilities like those available on a CRAY 1. In both the
silicon and oxide rectangles we use a tensor product mesh
M = { ( x i , y j ) } , O < i < n + l , O < j < m + l . (27)
We use the same mesh for each of the three equations;
although some authors (see [17], for example) favor using
different meshes, our choice saves memory and implementation detail. The box method is well suited to equations in
divergence form, i.e., in the form
v.F=s

(28)

where v . is the divergence operator. We briefly review this


method in two dimensions, and then alpply the method to
derive various discretizations. The 3-D case is completely
analogous; we restrict our attention in this section to 2-D.
Let the vector function F be written P = ( f l , f2). Formally applying the divergence theorem, we recall

where R is a region of the x , y plane and C is its boundary


curve. The right-hand side of (29) is a line integral with
counter-clockwise orientation. Let hi = x i - x i P l and k j =
yj - yjb1. For interior mesh points, i.e., points ( x i ,y,) with
i # 0 or n 1 and j # 0, m 1, the region R is the box as
indicated in Fig. 1. Notice that the edges of the box
intersect the discretization mesh lines at, midpoints; call the
) ( x i + l y, j ) ( x i , ,y j ) or (i, j ) ,
midpoint between ( x i , y jand
etc.
Combining (28) and (29) in the box of Fig. 1 we obtain

where

1036

9,

IEEE TRANSACTIONS O N ELECTRON DEVICES, VOL.


NO. ED-~O,

SEPTEMBER

1983

and similarlyfor I i - , , , and I,, Note that (30)is e x a t ,


and we now approximate both sides of this equation. The
right-hand side of (30) is approximated by
rhs( i , j ) = ( sij)area(Box)

+ k j + , ) ( h ,+ hi,,)/4].

=Sij[(kj

(32)

Here 3 . .E s ( x , , yi). Similarly, the integrals in (31) can be


!
approximated by
i,,j=

ji,j-l,=

[ ( k j+ kj+1)/2] fl(xi,,Y,>

(3:;a)

- [(hi + hi+1)/2] f 2 ( ~ 1 Yj-1,).


,

(33b)
( X i , Yj-1)

As we shall see below, fl and f 2 usually involve derivatives and other functions known (or to be determined) at
the meshpoints M . Hence f , and f 2 are further appro.Kimated by functions, say, f , and f 2 , usually using centered
difference quotients and interpolated values of mesh functions. This leads to an approximate left-hand side of (30),
say
Ti,j- Ti,,, f i , j,. (34)
lhs( i, j ) =

,,+

B. The Poisson Equation


We have from [13, eq. (21)] the equation

- EIAU = s

(35)

for each (i, j ) meshpoint where a box was defined; these


willbeall meshpoints except those on boundaries where
Dirichlet boundary conditions are applied.
For meshpoints (i, j ) where a homogeneous Neumann
boundary condition is applied, one edge of the box is t:ne
mesh line segment which includes the (i, j ) point (see Fig.
2). In this case f , = 0 or f 2 = 0 on the mesh line segment
and hence an expression in (31), (33), and (34) will vanish.
Also in (32) the area is determined by the smaller box of
Fig. 2.
For meshpoints on the silicon/oxide interface of the
Poisson equation, we will require f 2 to be continuous along
the interface. Ifwe then apply (29) separately to each of
the two smaller rectangles in Fig. 1 above and below the
interface line, the two contributions along the interface line
will cancel. The contributions I i , , - , , and I i , j , in (30) w.ill
remain the same; however, I i . , j and I,-,,, will consist of
two parts as in

(36)

(394

in the semiconductor and

The finite-difference equations are then


rhs( i , j ) = lhs( i, j )

Fig. 2. Finite-differencebox at boundary.

-c2Au=0

(39b)

in the insulator regions. Along the interface we impose the


continuity relation
[lUy ]silicon = [2y

]oxide

(394

as suggested earlier; hence f 2 is continuous there. Application of (32)-(35)is straightforward. Consider a point
(i, j ) as in Fig. 1 in the silicon region.Then, withf, = - rlu,
and f 2 = - c l u y , wewill
approximate fl(xi., y j ) and
- f 2 ( x i , ~j-1)by
f l < x i ( Yj)
, = (1/hi+1)(ui,j-

ui+l,j)

(40a)

and
j i , j - 1 , = [ ~ l ( h , + h i + l ) / 2 k , ] ( u , , - u ~ , ~).- 1 (41b)

Similar expressions complete the sum in (34), and (32) with


(35) complete the discretization at this point.
If (i, j ) is a meshpoint on the oxide/silicon interface we
proceed as in (36)-(38), noting that (39c) insures that fi is
continuous along the interface. Approximating f , = - cu,
for E = el or E = c 2 where appropriate in (37), we obtain
;,,j=

((~lkj+l+~2kj)/2hj+1)(~iu
j -i + l , j ) *

(42)

Since [S;jIoxide = 0 at this point (38) becomes


rhs(i, j ) = ( k , ( h ; + h i + l ) / 4 ) [ ~ i j I ~ i ~ ~ ~ ~ *
Note that in both these cases
= - n ( x i , y i ) + p ( x i , y j ) + k l ( x i , y j ) (43)
for n , p , and k , as in (1). When n and p are as specified as
[Sijlsilicon

in (3), the equations are nonlinear in the uij.

BANKet (11. : SEMICONDUCTOR DEVICE

1037

SIMULATION

C. ContinuityEquations

We consider first the continuity equations of (1) written

will be relatively inaccurate. If u were indeed linear between meshpoints


would be

as
-V.j, =s

(444

v - j p =- s

(44b)

and
with the current densities in terms of quasi-Fermi levels
J ;= = - p,,eu-vvu

(454

jp= -pPew-"vw.

(4W

and
We also consider simultaneously the variables v
w = ew which allows (45) to be rewritten as

in general. The use of


a tempting approximation for (
E , is controversial; Mock [15], for example, claims that
(51) will lead to inac,curacies.
An alternative expression for
can be motivated by
considering the equation

and then integrating


= e-',

and

j,, = p , , e " v v

(464

jp= -ppe-"vw.

(46b)

The mean value theorem says that the integral on the


left-hand side is

and
To minimize notation we first discretize the equation
-v.j=s
(474
j

(47b)

=pe'vv

the other carrier continuity equation in (44) being similar.


We apply the box method as in (30)-(35) for the two cases
of meshpoints ( i , j ) as in Figs. 1 and 2, respectively.
Consider first the case of Fig. 1.
We approximate v v by centered differences exactly as
in (40). Thus

.A(x;,,Y

~ =I - ( p e ' ) i , , ( v i , , -

~ ( x= )x / ( e x -1).
Note that
E3/E,

.(peu);,,(v;,-vi+l,j).

(48b)

In (48) we have not specified the interpolated value of


( p e " ) i , j .Recall that p may be field dependent, i.e., p =
p( v u ) . While we are using the approximation ( ui+,, ~ , ~ ) / h ,for
+~
u x at (i', j),we do not have readily available
such an approximation for u y . Hence we do not attempt to
approximating (
Rather,
compute ulPjas p((
we approximate ( v u ) , , at meshpoints M , using standard
differences, and then evaluate p with this approximation.
Call these values p i j . We evaluate (pe")i.j as the product
pi,l(e")i,jusing

+ Pi+l,j)/2.

= S( A

u/~)

S ( x) = x/sinh x

- ( ( k , + kj+1)/2h;+,)

P;'j = ( P i j

(55)
where Au = u i j - u , + ~ ,and B ( x ) is the Bernoulli function

v,+l,j)/hi+l

and
f;,,j=

j ] with the midpoint, we obtain


If we identify x'c[xij,xi+,,
for

(564
(56b)

and that for Au large E , can be considerably smaller than


E,, e.g., S(10/2 = 5 ) = 0.0674. Whether the use of (55) as
opposed to (51) is more accurate a priori or rather that its
use leads toa more stablecomputation with respect to
roundoff is not well understood. The expression ( 5 5 ) will
arise again in our discussion of the Sclharfetter-Gummel
discretization.
If ( i , j ) is a meshpoint as in Fig. (2), there is no term of
the form fij.in (34), and coefficients of - f2 in f i , j - l , and
I,, j, in the modified (33) will be h,/2. For example, we
obtain

f,,,-,.= -(hi/2kj)(peu)i,j-1,(vjj-vi,j-1).
Finally, in this case, we have

(49)

rhs(i, j ) = ~ ; ~ [ ( k , + k ~ + ~ ) h , / 4 ]

(57)

The evaluation of
is more interesting and has
been the subject of considerable discussion in tKe semiconductor simulation literature. The analogue of (49),
namely
E , = (e",, + e"t+I.j)/2
(50)

replacing (32).
The derivation of the discretization for the current densities as given by (45a) is completely analogous to (47)-(56).
We obtain, in place of (48b), the expression

is reg,arded to be a poor candidate even though it leads to


fewer evaluations of e". If u varies significantly between
meshDoints and if this variation is at least linear. then (50)

(58)
can be calculated as in our discussion of

iiJj=( ( ~ j + ~ j + l ) / 2 ~ , + l ) ( p e u ~ v ) ) i ~ j ( u j + l , j - u i j ) .
Here

(heu-");,

1038

IEEE TRANSACTIONS ON ELECTRON DEVICES, VOL.

(49),(51),
could be

ED-30,NO. 9,

SEPTEMBER

1983

and (55). The analogue of (55) for ( e u - l ' ) l , j computed as before, contributing a multiplicative factor of
- ( k, + k J +1)/2 (recalling the " - " in (44a)). When a = 1
and
n = e"-" we obtain
B ( A ( u- u))e"~I-"~I
(594

or
( B ( A u ) e " z l ) ( B (- Au)e-"jj

(513b)

(59b) being derived from (55) and talung (eu-")i,,i=


( e " ) , , j ( e - " ) i , jAs
. an alternative to (58) we frequently h k e

This expression is identical to (48a) and (60)when p is


taken as p = pi,, of (49) and ( 5 5 ) is used to evaluate
Hence an alternative view of the discretization (65) is that
('50)
presented in (47), (48), and (52)-(55).
obtained by substituting vi, = e-'!) into the expression
Note that the derivation of j , in (61)-(64) appears to be
(48b). Interestingly, (58) and (60) are identical if ( e " ) i , ,is more general than our discussion in Subsection 111-C since
evaluated as in (55) and
is written as ( e " ) i . j / ( e " ) i , j (64) does not explicitly assume the Einstein relation (3).
with
and
again evaluated as in (55).
However, the assumption that p and D are constant from
The main difference in the discretization using v and w meshpoints ( i , j ) to ( i 1,j ) implies a localized Einstein
or u and w is in the form of the function lhs(i, j ) , ( i , j ) E 2M relation which leads to interesting algorithmic possibilities.
and reflects our comments in Section 11. It is easy to see
Let
that, given the u i j , the function lhs(i, j ) of (34) with the i
a i C=
j pi.,/Ditj
(66)
as in (48b)is a linear function of the vij. However, (his
function with the as in (58) or (60) produces a nonlinear be assumed constant between ( i , j ) and ( i 1, j ) . Then
function of the v i . On the other hand, we anticipate that
(61) can be rewritten as
the u and w variables will be smoother (less range in value)
than the v and w variables.

ij,,=
-((kJ

+ k j + 1 ) / 2 h i + l ) ( p e U ) I ~ , (-e e- -u"~~~+ l I )

D. PhysicallyMotivatedDiscretizationsandComparal'iue
Remarks

with

Consider the general equation (28) whch led us (via Fig.


1) to the approximations (33)-(35). The essential difference
in the approaches we wish to compare is in approximating
the quantities f l and f , at midpoints of the mesh M .
Let F of (28) b e j = (j,, j,) of (47a) withj specified as in
(2a), i.e., forj, we obtain
j , = -p(du/dx)n

+ D(dn/dx).

(61)

Assume that the current j,, the field component E =


- d u / d x , and p and D are constant from meshpoints ( i , j )
to ( i 1, j ) . Then (61) specifies a constant coefficient 0,3E
as

between ( i , j ) and ( i 1,j ) . Assuming further that j , is


constant between these meshpoints, we obtain
D,l ' j(e-at'l", - e-ar'J"r+l)
jl=
a i , j j x r T 1 e - a ~ ' ~ U 'd x
(68)
x,

If the expression, / ~ l + l e - a ~ ' i u isdevaluated


x,
by assuming u
is linear between ( i ,j ) and ( i 1,j ) , we find
j , = - D i , j e a i ' ~ " I B ( ~ ~ ~ , , A u ) (e - ~ ~ ' ""
j " r+ I ) (69)

where B ( x ) is again the Bernoulli function. Note that (69)


is a direct generalization of the appropriate expressions in
where
(65) and (55).
We see that the use of (67) in conjunction with the box
E =pE/D,j , =jl/D.
method as presented in Subsection 111-C not only generSuppressing the indexj, the solution to (62) for x E [ x i x i
alizes the SG discretization as in (69), but generalizes the
is
entire discussion there. Note that in the complete discretization involving all the mesh constants of the form ai.,and
.(x> = ( n ( x l ) e - ~ ( " - x ~ ) + e / E ) (e-'(x-xl)).
l(fi3)
D l , j , the quantities uij (and w i j ) are well defined at meshpoints while the quantities n i j (and pi,) are ambiguous
Since E was assumed constant, we have E = - ( u i + , - (ill-defined) at meshpoints. Nevertheless, these quantities
u i ) / h i + l ; substituting into (63) and rearranging gives
can be defined, when necessary, in an "average" orintegrated sense, for example, in a generalized calculation of
j1= (p/hi+l)(u,-~i+l>
j ) of (32) for the Poisson equation. The calculation
. ( e ~ ~ ~ , + " ~ + l ) - ~ ) - l ( n i + l e ~n(, ") , - "(6'4)
~ ~ l ) rhs(i,
of the currents as in (67a) is well defined.
We are presently examining the application of discretizawith a = p / D . The componentj, is obtained similarly.
The SG discretization uses the value of j , in (64) for the tions like(69) in cases of physical interest where the
value of Jl(xi8,) approximating f1(x,,,) of (33a). I,., is Einstein relation is suspect.
dn / d x

+ En +j ,

(62)

BANKet a/.: SEMICONDUCTOR DEVICE

1039

SIMULATION

E. The Finite -Element Discretization

The finite-element method offers several potentialadvantages as a discretization procedure. Perhaps most important is its ability to handle unusual geometry and
nonuniform meshes ina straightforward fashion. In our
experience, its main disadvantage has been the relatively
costly process of assembling the Jacobian (stiffness)
matrices and nonlinear residuals (right-hand sides) required by approximate Newton methods.
The finite-element procedure is based on a weak formulation of the system of partial-differential equations. (See
[18] for standard termin.ology.) As with the finite-difference
discretization, we consider the variables ( u , u, w ) and
( u , v , 0).Let H ' ( 9 ) be the usual Sobelev space equipped
with the norm

L
\
1
Fig. 3. Vertex in triangulation.

and denote by H t ( 9 ) the subspace of H ' ( 9 ) whose elements satisfy homogeneous boundary conditions on the
Dirichlet portion of the boundary. Let H L ( 9 ) be the affine
space whose elements satisfy the Dirichlet boundary conditions satisfied by u. (I.e., p , q E H,' implies p - q E H t ) .
Similar spaces can be defined for u, w,v , and w .
Let H = H,!@H@Hi, H = H,'@H,,%)H;, and H o =
Then a weak form of (4)is: find ( u , u, w ) E H , such
that, for all (@,'E, y ) E Ho

L v ~ v+@

(eU-0

- ew-u - k,)+dx = 0

" - ' v u v-\kl\kdx


~ =0

Fig. 4. Box discretization.

The finite-element discretizations of (70), (71) comefrom


replacing H , H , and Ho by S, 3, and So, respectively. If the
dimension of So is N , (70), (71) effectively become systems
Using the variables u , v , and w a weak form of is: find of 3N nonlinear equations.
( u , v , w ) E H , such that, for all (9, 'k, y ) E Ho
Our strategy for the finite-element discretization closely
parallels that for the finite-difference discxetization in terms
~vuv@+(veU-we-U-kl)@dx=O
of our choice of variables ( u , u, w), and most of the remarks made in Section I1 remain valid here. The important
new consideration is in the choice of numerical quadrature
L p , z e u v v v 9 k,'kdx = 0
rules to be used in the assembly of matrices and right-hand
sides. While we certainly need quadrature rules of suffiL p p e - ' v w V y + k2ydx = 0.
(71) cient accuracy, we also want the matrices corresponding to
the diagonal blocks of the linearized equations (11) to be
Lei. T be a shape regular but possibly nonuniform tri- either symmetric and positive definite or such that they
angulation of the domain 9. Let S C H ' ( 9 ) be the space of may be transformed to that state using diagonal matrices
Co piecewise linear polynomials corresponding to the tri- in a fashion analogous to the finite-difference case.
This second requirement is not satisfied by many of the
angulation T . Let So denote the subspace of S whose
elements satisfy homogeneous boundary conditions on the usual quadrature rules associated with triangles. The rules
Dirichlet portion of the boundary. Similarly we define the which we propose are motivated by the extension of the
affine spaces S,,,S,, S,, etc. (The Dirichlet boundary con- box method to triangular meshes. Consider vertex i in
ditions typically imposed are constant on each segment of the triangulation depicted in Fig. 3. The region shown is
the Dirichlet boundary, and hence can be exactly satisfied the support of the nodal basis function associated with
by piecewise linear polynomials provided the triangulation node i. We construct a box around each node using the
T satisfies some modest requirements.) Let S = S,@S,@S, perpendicular bisectors of each edge in the mesh to define
and define ,$ and So in an analogous fashion.
the boundaries of the box (Fig. 4). The box method can be
Lp,ew-uvwvy

+ k2ydx = 0.

(70)

1040

IEEE TRANSACTIONS ON ELECTRON DEVICES, VOL. ED-30,NO.

9, SEPTEMBER 1983

ous example. When all interior angles of all the elements in


T are bounded above by ~ / 2 ,the d , will be nonnegative
(and the perpendicular bisectors of the three edges of an
element t will meet at a point inside of i). In this case the
resulting (scaled) Jacobians will be Stieltjes matrices (as in
the finite-difference case). When angles are allowed to be
larger than ~ / 2one di will be negative and the matrices
will lose this property. Other box-method quadrature rules
will still lead to positive definite (although .not Stieltjes)
matrices.
F. Solution of the Discrete Equations

13

Fig. 5. Definition of terms for triangular finite element.

The 3 X 3 element stiffness matrix corresponding to one


possible box-method quadrature rule is

After discretization the operatoriterations of ( 5 ) and


(ll), (12) are viewed as finite dimensional systems of
equations. In (5) each system g, may be nonlinear or linear
depending on the choice of variables and the particular
choice of z k as in (6) and (7). In the finite-difference
package we solve the nonlinear equations by the approximate Newton schemes discussed in [ 5 ] and [6]. In our
finite-element package we solve the nonlinear equations by
the approximate Newton-multilevel iteration scheme discussed in [6], an extension of the linear multilevel iteration
scheme [3] which we use for the linear equations. To date
our finite-element package adapts the PLTMG software [2]
for the nonlinear iteration (5) carrying any particular
specification of (5) through a series of refined grids as
discussed in Subsection 111-E. There are several alternatives
when considering a multilevel iterative method for solving
systems of PDE either by ( 5 ) or (ll), (12); see [8] for some
discussion of continuing investigations.
Most of our simulations use the finite-difference package
which has been tuned for efficient execution on a CRAY 1.
Since both iterations ( 5 ) and (ll), (12)use approximate
Newton methods, sparse linear equations comprise an "inner loop" of the computation. We summarize our experience with various direct and iterative methods for solving
the linear equations.
When solving the coupled systemby a Newton-type
iteration as indicated in (ll), (12), we suggest that a block
iterative method be used to solve (12a) as indicated in (13).
We found an alternative which uses a sparse direct method

where It 1 is the area of t . The quadrature rule is exact for


u = constant, u = constant; i.e., it is exact for the highest
order term O+,V$J~,which is the main requirement for any
quadrature rule used in the finite-element method.
'The global stiffness matrix can be symmetrized using the
same diagonal scalings as in the finite-difference case.
Indeed, one can compute the scaled element stiffness matrix directly in order to save storage, function evaluations,
and arithmetic operations.
Quadrature rules for the remaining terms can be worked
out using the same types of manipulations as in the previ-

to be less efficient (see [12] for some comparisons). There


are several reasons for this. First, even with a good ordering the arithmetic operation count is relatively high; since
the equations are coupled, a 2D ordering analogous to
nested dissection requires about 13 times the arithmetic
operations required for a single PDE. (In 3D sparse direct
solution methods can safely be labeled a disaster.) Second,
sparse direct methods are relativelymemory inefficient,
and, again, this inefficiency increases with the number of
coupled PDE's and certainly with the spatial dimension
(2D to 3D). Finally, sparse direct methods do not vectorize

applied in a fashion analogous to the finite-difference case


to obtain a difference equation corresponding to node i .
We now consider the implications of this example in the
elementwise assembly process usually employed in tlhe
finite-element method. Let t E T be an element in the mesh
1< i < 3 denote the linear
as depicted in Fig. 5. Let
polynomials satisfying p j ) =
These polynomials may
be associated with the three nonzero basis functions in
element t . We define the dot products d l , 1d i G 3 by

+,(

+,,

aij.

d i = ljlkcos 8,

(72)

where the triple ( i , j , k ) is any cyclic permutation of (1,2,3).


Note
1'

=dj

+dk.

(73)

The d , arenot computed using (72), but rather as clot


products which arise naturally in the affine mapping of t to
the "reference element" withvertices (O,O), (l,O), and
(0,l) and the +i to the reference basis functions R, j , and
1- R - j , as is typically done in finite-element assembly
procedures.
As an example, we consider in detail the approximation
of
/ e " v ( e - u + i ) v + j d x d y , 16 i < 3 , 1 < j G 3.

(74)

BANKet a/.: SEMICONDUCTOR.DEVICESIMULATION

well (with current compilers), whereas a block iterative


approach allows the flexibility of solving some or all the
diagonal block linear equations (which correspond to single
PDEs) by highly specialized vectorized iterative methods.
Note t,hat the inefficiency of sparse direct methods in this
context is not due to the sparse matrix software itself, but
to the naive application of this software to a sparse linear
system not well suited to that methodology.
. We found the block iterative method t o convergewell
for the
problems
we have encountered. Although a
mathematical analysis of the convergence characteristics of
block iteration of (12a) has proved illusive, it seems clear
that th.e convergence rate does not depend upon the mesh
parameter as the mesh is refined. There may conceivably
be problems where block iteration converges so slowly (or
even diverges) that the sparse direct solution (in 2D) becomes attractive. However, even in cases where we applied
sparse direct methods to (12a), we usedthemmostefficiently in conjunction with a Newton-Richardson iteration
which only occasionally refactors the large linear systems;
see [12:I and [6].Notice that such an approach still requires
substantial memory.
If block iteration is used to solve the Newton equations
as in (12a), the linear systems corresponding to the diagonal of (11) must be solved repeatedly in the inner loop of
the overall computation. This is one reason for focusing
attention in Sections I1 and I11 on obtaining self-adjoint
elliptic operators on the diagonal of (11) which yield scaled
symmetric positive definite systems of linear equation upon
discretization. We solve these linear systems by vectorizable highly tuned iterative methods (such as SSOR with
conjugate-gradient acceleration) [14] or by the Yale Sparse
Matrixcodes [lo], [ll].In our CRAY 1 computing environment the iterative approach has proved to be somewhat more efficient, both in computing time and memory.

REFERENCES

[l] I. Babuska and W. C. Rheinboldt, Error estimates foradaptive


finite element computations, S I A M J . Numer. Anal., vol. 15, pp.
736-154, 1978.

1041
I21 R. E. Bank, PLTMG users guide, June 1981 version, Dep. Math.,
Univ. of California, San Diego, Tech. Rep., Aug. 1982.
optimalorder process for
131 R. E. Bank and T. F.Dupont,An
solving finite element equations, Math.Comput., vol.36, pp.
35-51, 1981.
[41 R. E. Bank and D. J. Rose, Extrapolated fast direct algorithms for
elliptic boundary value problems, in New Directions and Recent
Results in Algorithms and Complexity, J. F. Traub, Ed. New York:
Academic Press, 1916, pp. 201-247.
Parameter selection for Newton-like methods applicable to
(51 -,
nonlinearpartial differential equations, SZAM J . Numer.Anal.,
V O ~17,
. pp. 806-822, 1980.
Global approximateNewton methods, Numer.Math.,
161 -,
V O ~37,
. pp. 279-295, 1981.
Analysis of a multilevel iterative method for nonlinear
171 -,
finite element equations, Math.Comput., vol. 39, pp. 453-465,
1982.
-,
Discretization and multilevel solution techniques for nonlinear elliptic systems, in Elliptic Problem Sohers, G. Birkhoff and
A. Schoenstadt, Eds. New York: Academic I?ress, to be published.
[91 R. E. Bank and A. Weiser, Some a posteriori error estimates for
elliptic partial differential equations, Math. Comput.,submitted for
publication.
S . Eisenstat, M. Gursky, M. Schultz, and A. Sherman, Yale sparse
matrix package I: The symmetric codes, Int. J . Numer. Meth. Eng.,
vol. 18, pp. 1145-1151, 1982; also Dep. Comput. Sci., Yale Univ.,
New Haven, CT, Tech. Rep. 112, 1977.
-,
Yale sparse matrix package 11: Nonsymmetric matrices,
Dep. Comput. Sci., Yale Univ., New Haven, CT, Tech. Rep. 114,
1977.
W. Fichtner and D. J. Rose, On the numerical solution of nonlinear elliptic PDEs arising from semiconductor device modeling, in
Elliptic Problem Solvers, M. Schultz, Ed. Mew York: Academic
Press, 1981, pp. 277-284.
~ 3 1W. Fichtner, D. J. Rose, and R. E. Bank, Semiconductor device
modeling, IEEE Trans. Electron Devices, this issue, pp. 1018-1030;
also S I A M J . Sci. Stat. Comp., to be published.
1141 R. G. Grimes, D. R. Young, and D. M. Young, ITPACK 2A: A
Fortran implementation of adaptive accelerated iterative methods
for solving large sparse linear systems, Center for Numerical
Analysis, Univ. of Texas, Austin, Tech. Rep. CNA-164, 1980.
M. S . Mock, A two-dimensional mathematical model of the insulated-gate field-effect transistor, Solid-StateElectron., vol. 16,
pp. 601-609,1973,
D. Scharfetter and H. Gummel, Large-signal analysis of a silicon
Read diode oscillator, IEEE Trans. Electron Devices, vol. ED-16,
pp. 64-17, 1969.
J. W. Slotboom, Computer-aided two-dimensional analysis of bipolar transistors, IEEE Trans. Electron Devices, vol. ED-20, pp,
669-679, 1913.
I181 G. Strang and G. J. Fix, A n Analysis of the Finite Element Method.
Englewood Cliffs, NJ: Prentice-Hall, 1973.
1191 R. S . Varga, Matrix Iterative Analysis. Englewood Cliffs, NJ:
Prentice-Hall. 1962.

You might also like