RANDOLPH E. BANK, DONALD J. ROSE, AND WOLFGANG FICHTNER, MEMBER, IEEE. Abstract -This paper describes the numerical techniques used to ...
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
W
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)
+
+
+
f
+
-+
~
- A* + (
+
v(pn* e N - " v u ) v ( p P* e w - u v w )
*
- eu-v -
*
v ( p n e u v (- e - ' * ) )
0
- 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
__________-_ ___--____
!
J
(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-difference“box” at boundary.
-c2Au=0
(39b)
in the insulator regions. Along the interface we impose the continuity relation [‘lUy ]silicon = [‘2’y
]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)
+
I
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)
t
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 PDE‘s) 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.