Black Box Multigrid for Systems J. E. Dendy,
Jr.
Theoretical Division, MS B284 Los Alarms National Laboratory Los Alamos, New Mexico
ABSTRACT This paper extends to systems the black box multigrid method, in which one provides a (logically rectangular) matrix problem and in which the coarser problems necessary to achieve a multigrid solulion are automatically derived. The extension is straightforward if the components of the vector solution of the system are defined at the same grid locations. Otherwise, as in the case of staggered grids, the situation is less satisfactory.
I.
INTRODUCTION
This paper box multigrid nonsymmetric method is that
is an extension to systems of [7] and [8], which consider black for a single scalar positive definite equation and a single equation, respectively. The idea behind the black box multigrid one has to provide a discrete approximation
LMU”
= FM
(1.1)
to a continuous equation LU = F; coarser grid problems necessary to achieve a multigrid solution are then automatically derived. One constraint in the black box multigrid method is that (1.1) must be logically rectangular. Algebraic multigrid [6], which is an extension of black box multigrid, does not have such a constraint and thus can handle a more general class of problems; the price it pays for this generality is a loss in efficiency. In [7] we claimed that the extension to systems would be straightforward. This claim is true if the components of the vector solution of the system live at the same grid locations, and this situation is discussed in Section II. But if this situation does not hold, as in the case of staggered grids, then the
J. E. DENDY, JR.
58
approach of Section II will not work, and an alternative approach is discussed in Section III.
II. NONSTAGGERED
GRIDS
In this section we consider the system LU= F, i.e.,
iclLijUj =F',
i=l
>..., Pa
and its discrete approximation on a grid G” with mesh spacing h,,,:
i.e.,
5 L;(w)*
= (F’ y,
i=l,...,p,
(2.1)
j=l where we assume each (Uj)“‘, j = 1,. . . , p, is defined on G,“. We also assume det L = det( Li j) f 0 and det L”’ = det( L;\:) # 0. The algorithms will be the same as the scalar case with a reinterpretation of the symbols. In its simplest form one constructs a sequence of grids G’ , . . . , G” with corresponding mesh sizes h,, . . . , h, where hi 1 = 2h,. One does a fixed number, IM, of relaxation sweeps on (2.1) and then drops down to grid G”-’ and the equation
where V,“- ’ is to be the (G MP‘)P approximation to V” = 7J” - uAf, where M = U&f is the last iterate on G.“, and where Ii;-’ :(G”)p -+ (G”‘-r)P; the V notation (G k)P means Gkx
... xGk. p times
Black Box Multigrid forSystems
59
To solve (2.2) approximately, one resorts to recursion, taking M-l>k>2, sweeps on G ’ before dropping down to Gk-‘, equation Lk-mlvk-l=
fk-l=
If-‘(fk
_
ID relaxation
and
the
Lkuk)
When grid G’ is reached, the equations L’V’ = f’ can be solved directly and v2 +- v2 + 1FV’ performed. Then one does IU relaxation sweeps on GkP ’ before forming vk + vk + I;_ rvk- ‘, 3 5 k _I M. Let us first consider the case p = 1. In that case [7], Lkpl is defined by Lk-1 = Ik-‘LkIk k_l, where Z~_l:Gk-l+Gk and Ii-‘:Gk-+GkP1. For k simplicity let us first consider the case of symmetric L” in one space dimension. If IF E Gk is the same point as IC E Gk-i, then I[_ 1 is just given by replacement:
(z;_Ivk-‘),F= vk-l IC
If
1) E Gk lies between 1 the template
(IF+
IF+
IC E Gk-’
[-w
’
and (ret
c
1) E Gk-’
and Lk has at
-E],
then
=
(I;_lvk_‘)
WV:;,_’ + Evk:l
IF+1
In other words, one uses the difference that L is the operator
-v.(
c
equation
.
for interpolation.
(2.3)
In the case
Do.)
and L”U
then ukk-
(if 10
k-l
z.z
1
-D
r-1,2L+P3-1,2+D~+1,2)~rD/+1,2~+1~
U,_ 1 = Vlk,’ ),,+
1 =
.z
so
and U,,, = V,“,,‘,), (2.3) is the same as defining that the flux D,_ 1,2( .z - U,_ l) equals the flux
J. E. DENDY, JR.
60
D )+ 1,,2(U,, 1 - z ), and in this case both equal
2Dl-1/2 D1+1,2 D I~-1/e + D, +l/2 thus the “average”
- 17,_1);
G’,+,
diffusion coefficient
is given by I
___
___
+D
1+1/2
The obvious analogue of (2.3) in the one space dimensional p > 1, is as follows: let Lfj have at IF + 1 the template
[
-W,j
Cij
case, but for
-E,j];
then C( I;_l~k-l)IF+l
if C is nonsingular,
(E,j).
let
where
= Wt$
’ + EV”,C+ ’1
C, W, and E are the matrices
(2.4) (Ci i),
( W;j )T and
In the case that
A4 be the matrix (DIj 1,2) and P be the matrix (D;! 1,2), and rewrite
(2.4)-(2.5)
(where
Cl_, = I$-’
and Lr,+ 1= t$>‘,)
as
M(z-U,_,)=P(U,+,-4, which expresses
equality of flues,
or
(2.6)
61
= [ M ( 1\/I+P)
I
‘AI-(M+P)(M+P)
‘A4 CT,-,
+M(n4+P)~‘Pq+, = -P(M+P)~~‘Mq,+M(M+P)
k,
1
=zM(M+P)-‘P~(C.5,,-~7,~,), since P( M + P)- ‘M = M( M + P)
‘P. [To see this, let S = AI + P. Then
=S-P-ll/I+MF’l’
=M(M+
P)
‘P.]
Thus, analogous to the scalar case, the average diffusion coefficient matrix is [i(,Mm’+P ‘)I-‘if MP1 and P ’ exist. The description of the symmetric case is completed by taking 1: ’ = (1: I )*. In case L” is nonsymmetric, we still use (2.4), but we replace C by symm’C = l[( C, j) + (C,;)], W hy symm’ IT’, and E by symm 1;:. Analogous to IS], we define
JL 1 by
if IF + G’ lies between IC E G’ ’ and IC: + 1 E GA ‘, where C* = (C,T ), etc., and we define If-’ = (jt__,)‘, where(A,j)t=(AT,). III two space dimensions we use the reduction to oue space dimension as iu 17, 81. For example, in the symmetric case, if (IF+ 1, JF) E G” lies between
J. E. DENDY, JR.
62
(IC, JC) E Gk -r and (IC + 1, JC) E Gk-‘, - NWjj
and Z,pj has at (IF + 1, JF) the template
- Ntj
- wij
qj
4Wij
- Sj
- NE,, -Eij
,
- SEij
I
then
= (NW+W+SW)U,~~T;,+(NE+E+SE)I$;&, if C - S - N is invertible, where C - S - N is the matrix (Cii - Sji,. N,j), etc. A similar formula holds for (IF, JF + 1) E G” between (IC, JC) E G ’ and (IC, JC + 1) E Gk- ‘. Enough information is now present to use the difference template at points (IF + 1, JF + 1) E Gk which are the centers of rectangles formed by (IC,JC), (IC+~,JC), (IC,JC+~), (ret l,~c+l)~G~~r. reduction to one space dimension is also used in the extension three
space
dimensions One
I”-ILkI” k
dimensions,
but
we
will content
ourselves
with
This idea of [5] of [7] to two
space
in this paper.
simple k_ 1.
detail
of
implementation concerns the that for matrices A, B, C,
computation
of
It is the observation
thus some operations can be saved by forming, for each k and j, I.IZ3klC,j = ( Z3C)ki and then computing A,k(BC)ki for each i. Although it is still a nontrivial calculation, the coding for each piece is already present in the codes in [7, 81 and needs only trivial modification for application in this situation. One other issue is how necessary this definition of the coarse grid operators is. For p = 1, we know that of the possibilities considered in [l], it is the only robust choice. For p > 1, let I;;“_ r be denoted by the matrix Z with block entries Zij; that is,
v; = clijv;-‘. How important
is I, j, i # j? Consider
the one dimensional
(2.7)
case, where L’ii is
Black Box Multigrid
given a)P]which if the should nearly
forSystems
63
by (2.5). Suppose M = aP. Then in (2.6), (M + P)-'M = [(I+ ‘aP = (~(1 + a)-‘Zd, where Id is the identity matrix. In this case, includes the constant coefficient case, Z,j = 0 for i f j. By continuity, jumps in Dk’, k = 1,. ..,p, I= 1,. ..,p,are not severe, then Zij, i # j, be small. (Even if the jumps are large, if they are proportional or so, i.e., M G cxP,then I,,, i # j, is small.) Hence, a reasonable
alternative fine
to Z,k_l:(Gk-l)p-+(Gk)p
and Z/-l:(Gk)p+(Gk-l)J’
1,”_ , based
on
is to de-
block diag( Lyj), (2.8a)
fi
1 based on block diag ( Lyj )t
and to define
Lk-I
=
ik&lLkik k
k-m,;
(2.8b)
this construction presupposes at least that the pointwise diagonal entries of blockdiag(Lfj) are nonzero. In most cases (2.8) gives as good convergence rates as (2.7), but in Section IV we give a pathological example in which this is not the case. Note, however, that both choices avoid special definitions of interpolation near the boundary; see Figure 3 in [7]. The basic relaxation scheme we consider is collective point Gauss-Seidel, with lexicographic ordering, i.e., G k is swept in lexicographic order, with U k being updated at q E Gk so that the residual is zero at q. This requires solution of a p x p system at q. As in the case of p = 1, collective point Gauss-Seidel gives an acceptable smoothing rate unless there is a severe anisotropy (as when AX K Ay), in which case collective line Gauss-Seidel must be used. Also, as in [7, 81 and for the same reasons, the use of the right hand side in interpolation is important. This is implemented as in [7, 81; at points where Zk is not given by just simple injection, C- ‘rk is added to If_ lvk- ‘, k-1 vk-l where C = diag(symm’( Lk)).
III.
STAGGERED
GRIDS
In this section we examine the extent to which the black box approach is feasible for systems defined on staggered grids. The approach used in Section II does not appear to be feasible in this case. We explain one possible
64 approach
J. E. DENDY, JR. by example,
beginning
with the Can&y-Riemann
r:, + VY = I;, UY -v,
in
equations
G?= (0, 1) X (0,l).
= F9‘,,
(3.1)
(r:(X),V(X)),,=G(X),
XE XI,
where (II, V I,, denotes the outward normal of (I:, C’ ), and where C: is subject to the compatibility condition
/0 The grid and positioning is approximated
IT1dxdy =
I
c:ds.
of discrete
variables is shown in Figlae
1, and (:3.1)
by 1,
+
fp\7’l
=
J’l[i’l
-
a’;v’,
= F”
at interior vertices 2,
= c;”
at midpoints of bolmdary links.
!/
(py’),,
I
q
cell centers
qy”’
at
2
The relaxation scheme suggested by (41 for (3.2) is Kaczmarz tive relaxation. Kaczmarz relaxation for a system
(:3.2a) (3.21))
or dist&n-
consists
of, successively
for each i, solving for 6 in
and then replacing xi by Xi + u,,6. If (3.3) is rewritten as Ax = J; then Kaczmarz relaxation is equivalent to Gauss-Seidel relaxation on the system ;\A 7‘y = f. In [4], one does Kaczmarz relaxation first on (:32a), then on (3.21,), and then drops down to the next coarser grid, where this same relaxation pattern is repeated. The process of coarsening is clone by cells, four fine cells constituting one coarse cell. In interpolation, bilinear interpolation is performed separately in the [J’s and V ‘s. It is noted in [4] that Kaczmarz relaxation of (3.2a) does not change the residuals of (3.21)) and vice versa. As an alternative to the above let u” and 0” he the current approximatiom of CT” and V” with /I = h,,. Then we want to solve for correctioils SC”’ and SV” so that
To solve (3.4) approximately,
let us form “AA”“’ globally: _ Al’F /J = ‘I
r
1,
1
that is, foresides (35)
with zero Nemnami boundary conditions; (X5) is an equation \ve can solve approximately by one or more cycles of black 1)0x multigrid. Add the resultant approximate solution, E”, to Su” and 6~” (which can he guessed zero initially) L la Kaczmarz; i.e.,
(3.6)
66
J. E. DENDY, JR.
and then form u’ + uh + au”,
The “AA
” equations
0’ + oh + 6~;“. Now consider
here are
_ @E/I = 2
(3.7)
r;
with zero Dirichlet conditions, which can also he solved approximately by one or more cycles of black box multigrid, and the approximate solution ei is added a la Kaczmarz to Su’* and Sol’ (again guessed initially to be zero). Since the Cauchy-Riemann equations are particularly simple, it worthwhile
considering
another example,
F,
v.U= -vU+vP=F where
the steady-state
in Q = (0,l)
X (0, 1))
(3.8)
in Sz,
U = (U,, U,), and
U(x) = G(x) = (G,b),G,(+, G is subject to the compatibility positioning of discrete variables mated
is
Stokes equations:
XE
ail.
condition j,Fdx = jcjaG. da: The grid and is shown in Figure 2, and (3.8) is approxi-
by
(3.9a)
at cell centers,
_ A”u!’ 1
+ a”p” 1
= F!’ I
at centers of j-faces,
j = 1,2,
(3.9b)
where A” is the usual five point Laplacian. For a point x near the boundary A”UF(x) may involve an exterior value Up. In contrast to [4], for convenience we define this value by linear instead of quadratic interpolation; i.e., &[Up(x’)+ U,l’(r)] = G:,(x”), where xb is the boundary point halfway between r and x’. This relation is then used to eliminate U/(x’) and thus modify the definition of A”Uj’,(x) and the right hand side. The relaxation scheme for (3.9) in [4] is as follows: with p” frozen, perform Gauss-Seidel sweeps on (3.9b) with right hand sides r/’ = FF - dyp” to
Black Box Multigrid for Systems
67
b
FIG. 2.
Discretization
of twdimensiod
52
Stokes eqwtions.
update U,‘, j = 1,2. Then perform Kaczmarz relaxation on (3.9a) in each cell, also adding changes to p” so that the residuals of (3.9b) are unchanged. If xt is the characteristic function at a cell center X, this can be written as
p” t p” - 6AII xx,h where 6 = (1/4h2)r0 = (1/4h’)(F: - E~_,J~U~). At cells next to the boundary A” with zero Neumann boundary conditions is used (see [4]); in these cells it is not true that the residuals rI and r, are unchanged. To use the black box approach here, freeze p” and set up the correction equation
solve this equation approximately by one or more cycles of black box multigrid, and add the approximate solution 6:’ to U/; i.e., U: + u:’ + c!.
J. E. DENDY, JR.
6X Now consider
as in the Cauchy
Kiemann
with zero Neumann box multigrid, Kaczmarz,
case, solve approximately
boundary
conditions,
and add the resultant
with one or more cycles of black
approximate
solution
as in (3.6). But in this case we also replace
the appropriate
modifications
6:; to SUB k la
p” by p” - A%“, with
near the boundary.
To what extent can the above be automated? First, there is the issue of storage of the coefficients of the operators, which must be available for the computation of residuals. The storage scheme we use is as follows: all the coefficients
are stored in one array; for each eqlration a number is assigned to
each mlknown which indicates the type of operator (e.g. A”‘, at, etc.) and the coefficients of the operator are stored in lexicographic order in the array; also required for each unknown is the beginning location. Such a storage scheme at least does not waste storage as would setting aside nine storage locations for each unknown
in each equation.
With the above storage scheme one can also, for the nth equation, indicate which unknowns are to be included in the operator A,,; it is then straightforward to write a routine
to compute
A,< A’,‘, and store its coefficients
in the
format expected by black box multigrid. Also needed are pointers to the operators that indicate how the corrections are to be added. These can coincide with the above storage pointers but may also include additional pointers and operators, as in the Stokes case above, where in addition to the Kaczmarz-like corrections, there is also the p” +- p” - A%” correction. There is a lot to find fault with here. First, in the simple cases considered, where the coefficients are readily computable, the storage penalty is stiff, since one would not ordinarily store the coefficients at all and since one must also store A ,,A7,i for each equation, an additional five to nine locations per grid point. The second complaint is also a complaint against the state of the art of multigrid for systems on staggered grids, and that is that the relaxation schemes appear to lieed hand tailoring. Indeed, the user needs so much more sophistication than in the single equation case that perhaps the name “grey box multigrid” should be used instead. More general systems, such as those considered in 121, would appear to need a combination of the techniques of this section and of Section II. In 121,
delrsity, pressure, aud intennal energy are all stored at cell centers a!lrl must I)e relaxed collectively: this would rule out treating each- equation separately as we were able to do for the Cauchy-Fiemann equations and for the Stokes equations. Some progress, however, has been made since [3] and [2]. In particular, the ideas set forth in Section 3.7 of [S] may lead to a machine tailored approa&.
IV.
NUMERICAL
EXAMPLES
The first example
is the biharmonic
- J[T’ = F
eqllation
in Q = (0,l)
written
as a system:
X (0,l).
311 ati, [:“=,3e’(>~
Yx(l -x)y(l
-y)
(4.1)
011m,
\c-here I; is chosen so that the solution is V’ = :3~‘r, !!u(1 - s)y( 1 - y) and I . ’ = II ’ “. S is discretized by A ,, , the five point Laplacian with mesh spacing h. The results are summarized in Table I. TOL indicates the tolerance to which the system is solved; i.e., the convergence criterion is that the discrete I,” norm of the residuals equals
The Cole \~a\ 11111with the option of I)eginning on the coarsest grid and “ I)ootstrapping” up to the finest grid before cy&ng [7]. The rrnml)ers p are conlprlted I)y the formula log[err(Zh )/err(1l)]/log 2, and L>J’-“w, j = (I/‘211 )( “: , ,, , - n; , ,). Table 1 reports the results when (2.7) is nsed: the c~otlvergence factors are the same to two decimal placles when (2.8) is used. TI~v second example is the hiharmonic equation with more realistic and harder I)ormdary conditions: - A( A[!‘) = F
where
I; is chosen
in 52,
so that I’“(r, y) = sin” ~.rsin’)~~.
This can be discretized
=
10
10
”
”
TOL=
10
”
39 x 39 ( M = 5),
TOL=
lexlR(~~4=4),
TOL
9X9(W==3),
Problem size and parameters
k ” j.2
max
’ f)
” -C+(ih,jlr)/,
- z
a
8.90,
-
5;
7.61, - 4: p = 1.95
2.95, - 3; p = 1.92
-
Irk( ih, jh)
8.97, - 2; p = 1.61
2.74, - 1 1.12, - 2
I\!,)”
2.58, - 2; p = 1.80
#I(
p = 1.99
I; = 1.2
max ,,j
5.45, ~ 4; p = 1.99
2.17, - 3; p = 1.98 3.54, - 4; p = 1.99
8.54, - 3 1.41, ~ 3
I(
[J”
TABLE 1 FOR (4.1)
RESULTS
r,
,
.22, .12;
.21, .11:
.18, .09:
NCYC
NCYC
NCYC
=
=
=
10
9
9
Reduction in discrete L’ norm of the residual in first and last cycles and number of cycles
Block Box Multigrid
71
for Systems
as follows [S]: _ A’iu’ + M”U2 = F 0
,..., (N-l)h)X(h
on!J,,=(h
,...,
(N-l)h),
(4.2a) cl’ - A$12 = 0
A’; is the five point Laplacian
where h = l/N, tions, and i
(4.2b)
on Q2,,,
-2k1
if
(i,j)=(l,j),
j=2
(i,j)=(N-l,j),
,v(; =
*V- 2,
(i,j)=(i.l),
i=2
(i,j)=(i,N-l), - 4h _A
\O
,..., j=2
with zero boundary
condi-
N-2, ,..., N-2,
,...,
N-2,
i=2
,...,
N-2,
if
(i,j)=(l,1),(1,N-1),(N-l,1),(N-1,N-1), otherwise.
The results are summarized in Table 2, where D):,“U,, j = (q+ ,, j The degradation in convergence factors is disappointing. The c: ,, j)/2h. fourth order approximation to ( 6’/&r)U2 is an accident; in other examples we have tried, only second order approximation to (d/&r) U2 is achieved. The third example is an artificial example illustrating that (2.7) is better than (2.8). The problem is
where
-W(L),,W’)
-v.(D,,vU2)
= F’
-v.(D,,vU’)
-v.(D~~vU~)
= F”,
in
U,=U,=O
0n
&?= (0,48)X dQ2:
a, = [0,23] X [0,23] U 123,481 x [23,48],
q,(x.
Y)
1000
if
1
otherwise,
= 4,(X> Y) =
F(x, Y) =
i
(x,y)EQr
999
if
0
otherwise,
1
if
(r,y)EGr,
0
otherwise.
(x,y)EG,,
(0,48)
/-
” =-
If both (2.7) and (2.8) are used for this proMem, and both are i7m for ten cycles, the reduction in the discrete I,’ norm of the residual in the last cycles is 0.45 for (2.7) and 0.77 for (2.8); thus (2.7) is three times faster than (2.8) ill this case. We emphasize that (2.8) is generally nearly as good as (2.7) and that it was, in fact, difficult to concoct this example. The next example pertains to Section III. U7e will omit any example for the Cauchy-Kiemann equations for the following reason: if f;? = 0 in (:3.1) and if 11” and t.” are guessed zero initially, then the residuals of (3.21)) are zero initially; since u ” and u” are always changed in (3.2a) so that the residuals of (:3.21)) do not change, then there is no point in relaxing (3.21)) at all; hence, the Catchy-Riemann equations can be treated as a single equation. If & f 0 in (3.1), (t3.5) can be solved and the u)rrections (:3X) performed, yielding r, = 0, then (3.7) can be sclved and its corrections performed, yielding 1; = 0 and not changing r,. For (3.8) \ve take F so that the solution is I:, = i sins c’os y, Cr, = J C’OS s sin y, P = c’os x’cos y. For ear.11 equation, j = 1,2,3, to he solved by l)lack 1)0x multigrid we take IM = 1, IU = 0, In = 1, and we solve only until iir’il ih less than 0.2 times the initial 11 r ‘lj. it being pointless to solve each equation to great precision. The results are summarized in Table 3. The convergence factors ol)tained compare approximately with the ones in [4]. (Achi Bra& has commented that subsequent munerical experiments indicate that the Its:e of \2’-cycles greatly improves the results in [4]. \V-cycles are of no help in the present sitllatiotl, however.) We remark that the equation obtained from (X91)) is singular: hence, relaxation rather than direct solution was llsed to solve it on the coarsest grid. For a genera1 code oue should use some sort of generalized inverse solution on the coarsest grid, but since the staggered grid &orithnl lacks generality anyway, \ve have not invested this effort.
TAHLE 3 RESULTS
FOR (3.8)
I,’ error, kllltl pXdIllekrS 10 x
over
10
1’
2.94, - 2 2.94. ~ 2
6.30. -- 2
1.17, ~ 1
’
4.42, ~ 3: ,I = 1.48 4.42, 3; p = 1.48
7.95. - 3; p = 1.88 7.9.5, ~ 3: p = 1.88
2.72, ~ 2; p = 1.21
3.63,
1.33, ~ 3; p = 1.73 1.33, - 3; p = 1.73
2.03, - 3: p = 1.96 2.0.3, - 3; p = 1.96
1.05, ~ 2; p = 1.37
1.00, - 2; 1, = 1.8.3
10
10
antI
1.23, - 2
40 x 40 TOL=
r;,
1.23, ~ 2
20 x 20, TOL=
r.;,
’
10,
TOL=
meshpoint
’
last
cycle
ant1 nmnl,er
of cycles
,665:
NCYC
=
25
,718:
NCYC
=
“9
,757:
NCYC
=
30
- 2: p = 1.68
74 V.
J. E. DENDY, JR. CONCLUSION
In this paper we have investigated the extension to systems of the black box multigrid method. For nonstaggered grids, the extension is straightforward, but for staggered grids it is not very satisfactory. In both cases we do not yet know of any physically
meaningful
systems for which the black box
method is desperately needed, that is, problems like the second example in Section IV with highly discontinuous coefficients and strong enough coupling between vector components that they must be treated as a system and not component
by component.
Perhaps we are just ignorant of such problems,
or
perhaps
when they have arisen in the past they have had to be abandoned
because
of the formidable
numerical
difficulties
Thanks and a tip of the hat to Achi Bran&
that they present. Blair Swartz, John Ruge,
and
Burt Wendroff REFERENCES 1
2
3
4
5 6
7 8 9
R. Alcouffe, A. Bran&, J. Dendy, Jr., and J. Painter. The multi-grid method for the diffusion equation with strongly discontinuous coefficients, SIAM J. Sci. Stutist. Comput. 2: 430-454 (1981). A. Brandt, Multigrid solutions to steady-state compressible Navier-Stokes equations. I, in Proceedings of the 5th International Symposium on Computing lMethot1.s in Applied Science and Engineering, pp. I-16. A. Brandt, Multigrid Techniques: 1984 Guide with Applications to Fluid Dynamics, lecture notes for the Computational Fluid Dynamics Lecture Series, von K&m&n Institute for Fluid Dynamics, Rhode-Saint-Genkse, Belgium, 26-30 Mar. 1984. A. Brandt and N. Dinar, Multigrid solutions to elliptic flow problems, in Numerical Methods for Partial Differential Equations (S. Parter, Ed.), Academic, 1979, pp. 53- 147. A. Behie and P. Forsyth, Jr., Multigrid solution of three-dimensional problems with discontinuous coefficients, Appl. Math. Comput. 13: 229-240 (1983). A. Brandt, S. McCormick, and J. Ruge, Algebraic multigrid (AMG) for automatic multigrid solution with application to geodetic computations, SIAM J. Sci. Statist. Comput., submitted for publication. J. Dendy, Jr., Black box multigrid, J. Conput. Phys. 48: 366-386 (1982). J. Dendy, Jr., Black box multigrid for nonsymmetric problems, Appt. Math. Comput. 13: 261-283 (1983). L. W. Ehrlich, Solving the biharmonic equation as coupled finite difference equations, SIAM J. Numer. Anal. 8: 278-303 (1971).