A Posteriori ErrorEstimators for Second OrderElliptic...

13
Computers Math. Applic. Vol. 26, No.9, pp. 75-87, 1993 Printed in Great Britain. All rights reserved 0898-1221/93 $6.00 + 0.00 Copyright@ 1993 Pergamon Press Ltd A Posteriori Error Estimators for Second Order Elliptic Systems Part 2. An Optimal Order Process for Calculating Self-Equilibrating Fluxes* M. AINSWORTHt AND J. T. ODEN* The University of Texas at Austin Austin, Texas, 78712 U.S.A. (Received May 1992; accepted June 1992) Abstract-We present full details of an algorithm which can be II!Ied to obtain self-equilibrating fluxes for arbitrary h-p finite element approximations. All of the calculations are performed on a local scale, yielding an optimal order process-O(n), where n is the number of elements in the mesh. Owing to the local nature of the process, the algorithm is perfectly suited to parallel implementa- tion. The algorithm can be applied in both two and three dimensions for unstructured, k-irregular meshes and elements of non-uniform degree. Finally, it is shown that the implementation of the flux equilibration algorithm can take advantage of calculations already performed in obtaining the finite element approximation itself. 1. INTRODUCTION This is the second paper in a series of two papers dealing with a posteriori error estimation for h-p finite element approximation of second order elliptic systems. Part 1 [1]described the theoretical foundations of the method. In particular, it was shown that the choice of boundary conditions used in the local element residual problem which is solved to obtain the error estimators is crucial. In this paper, we describe the algorithm used to obtain the boundary conditions. Various methods of error estimation used in finite element analysis involve the calculation of fluxes on element boundaries. Approximate fluxes obtained from CO finite element approxima- tions are generally unbalanced (not equilibrated) and therefore may not be readily useable in either error estimation or in post processing schemes designed to enhance solution accuracy. The importance of constructing self-equilibrating fluxes in the case of finite element approxi- mation of Poisson's equation was shown by Kelly [21, who also proposed a method of obtaining the fluxes based on a global minimization procedure. More recently, the advantages obtained by constructing flux approximations based on a generalized self-equilibration principle were shown in [31. In the current work, we present full details of an algorithm which can be used to obtain self- equilibrating fluxes. All of the calculations are performed on a local scale, yielding an optimal order process-O(n), where n is the number of elements in the mesh. Furthermore, owing to the local nature of the process, the algorithm is perfectly suited to parallel implementation. The algorithm can be applied in both two and three dimensions for unstructured, k-irregular meshes ·The support of one of the authors (JTO) by DARPA under contract NooOI4-A9-J-I45I is gratefully acknowledged. tOn leave from Mathematics Department, Leicester University, Leicester LEI 7RU, United Kingdom. tTexas Institute for Computational Mechanics, The University of Texas at Austin, Austin, Texas, USA. 75

Transcript of A Posteriori ErrorEstimators for Second OrderElliptic...

Computers Math. Applic. Vol. 26, No.9, pp. 75-87, 1993Printed in Great Britain. All rights reserved

0898-1221/93 $6.00 + 0.00Copyright@ 1993 Pergamon Press Ltd

A Posteriori Error Estimators forSecond Order Elliptic Systems

Part 2. An Optimal Order Process forCalculating Self-Equilibrating Fluxes*

M. AINSWORTHt AND J. T. ODEN*The University of Texas at Austin

Austin, Texas, 78712 U.S.A.

(Received May 1992; accepted June 1992)

Abstract-We present full details of an algorithm which can be II!Ied to obtain self-equilibratingfluxes for arbitrary h-p finite element approximations. All of the calculations are performed on alocal scale, yielding an optimal order process-O(n), where n is the number of elements in the mesh.Owing to the local nature of the process, the algorithm is perfectly suited to parallel implementa-tion. The algorithm can be applied in both two and three dimensions for unstructured, k-irregularmeshes and elements of non-uniform degree. Finally, it is shown that the implementation of the fluxequilibration algorithm can take advantage of calculations already performed in obtaining the finiteelement approximation itself.

1. INTRODUCTION

This is the second paper in a series of two papers dealing with a posteriori error estimation for h-pfinite element approximation of second order elliptic systems. Part 1 [1]described the theoreticalfoundations of the method. In particular, it was shown that the choice of boundary conditionsused in the local element residual problem which is solved to obtain the error estimators is crucial.In this paper, we describe the algorithm used to obtain the boundary conditions.

Various methods of error estimation used in finite element analysis involve the calculation offluxes on element boundaries. Approximate fluxes obtained from CO finite element approxima-tions are generally unbalanced (not equilibrated) and therefore may not be readily useable ineither error estimation or in post processing schemes designed to enhance solution accuracy.

The importance of constructing self-equilibrating fluxes in the case of finite element approxi-mation of Poisson's equation was shown by Kelly [21, who also proposed a method of obtainingthe fluxes based on a global minimization procedure. More recently, the advantages obtained byconstructing flux approximations based on a generalized self-equilibration principle were shownin [31.

In the current work, we present full details of an algorithm which can be used to obtain self-equilibrating fluxes. All of the calculations are performed on a local scale, yielding an optimalorder process-O(n), where n is the number of elements in the mesh. Furthermore, owing to thelocal nature of the process, the algorithm is perfectly suited to parallel implementation. Thealgorithm can be applied in both two and three dimensions for unstructured, k-irregular meshes

·The support of one of the authors (JTO) by DARPA under contract NooOI4-A9-J-I45I is gratefully acknowledged.tOn leave from Mathematics Department, Leicester University, Leicester LEI 7RU, United Kingdom.tTexas Institute for Computational Mechanics, The University of Texas at Austin, Austin, Texas, USA.

75

76 M. AINSWORTH AND J. T. ODEN

and elements of non-uniform degree. Finally, it is found that many of the numerical calculationsinvolved in applying the algorithm are the same as some performed in obtaining the finite ele-ment approximation itself, so that the implementation of the algorithm is not computationallydemanding.

2. NOTATION

(2)

(1){ }

1~

\Iu\lm,n = L IIDQu(X)12 dx ,IQI~m {1

where a = (01, (2), OJ E Z+, 101= 01 + 02 and

DQu(x) = l"l ~8UXl X2

In order to simplify the presentation, we first consider the two-dimensional case. The extensionto three (or more) dimensions becomes clear after a few remarks of clarification.

Let fl C m2 be an open bounded domain with boundary r consisting of a finite number ofsmooth arcs meeting with internal angle ()E (0,211-).

The Sobolev space Hm(fl), mE Z+, is a Hilbert space defined as the completion of COO(fl) inthe norm

is the derivative in the generalized sense at the point X E fl. Hm(fl) is equipped with the innerproduct

(u,V)m,n = L 1DQu(x)DQv(x) dx. (3)IQI$m n

We use the notation H1l(fl) = ~(fl) in the case m = O.Let P denote a partitioning of fl into a collection of N = N(P) subdomains K such that

1. N(P) < OOi

3. if K i:- L, then K nL is empty;

4. K are Lipschitzian domains with piecewise smooth boundaries 8K;

5. rK L = 8K n 8L is an entire edge of at least one of K or L or half of an edge of K or L.(Denote rKO = 8K nan).

In all of the developments that follow, the partition P will be regarded as a collection of finiteelements defining a mesh flh on fl for which the usual assumption of bounded interior anglesand regularity are in force. It is convenient to formally define the exterior of fl to be the zerothelement. In this way, the complete set of element edges may be characterized by

E = E(P) = UK.L:K>L>OrKL. (4)

The set of inter-element edges may be characterized by

(5)

The unit outward pointing normal vector on K is denoted by nK. Let

{+1,

UKL = -ULK = -1,if K > L,if K < L, (6)

and define

A Po,teriori Error Estimators 17

(7)

That is, n points outward from the domain with the largest index.We now focus our attention on a model problem. Let n be a fixed natural number and

X = [Hl(O)r. Let B : X x X -lR. denote the bilinear form

n

'" 'kB(u,v) = L..J BJ (U;,Vk),;,k=1

(8)

where Ak; E m,2X2 Bk; E n2X1 Dk; E m,lx2 and Ok; bk; and ~; E R We shall assume, , 6 , 8 8 •

that the bilinear form is continuous and coercive on X xX, that is to say there exist positiveconstants M and a such that

B(u, v) :5 M lIullx IIvllx,and

B(u, v) > a IIvllx,sup Ilullx -UEX

Vu,v E X,

VvEX.

(10)

(11)

Also, we demand thatsup IB(u, v)1 ~ 0UEX

Let I:. : X ......m, denote the linear form

for v 'Io. (12)

n

I:.(v) = 2: Lk(Vk),k=1

where

(13)

Lk(Vk) = in IkVk dx + 180 I:Vk ds, (14)

where Ik and I: E lR are given functions. We shall assume that the linear form is continuouson X.

Under the above assumptions there exists a unique solution u E X of the problem: find u E Xsuch that

B(u, v) = I:.(v), VvEX. (15)

Let X c X denote a finite-dimensional subspace consisting of continuous piecewise polynomialfunctions defined on the partition P of finite elements. The polynomial degree is allowed tovary from element to element, but the functions are constrained in such a way that inter-elementcontinuity is preserved. For example, one might have in mind the h-p finite elements definedin [41, or indeed simply any conforming finite element scheme.

The standard finite element approximation of (15) is defined by: find iL E X such that

B(iL, v) = I:.(v), VVEX. (16)

Once again, under the above assumptions, it may be shown that iL exists and is unique.

78 M. AINSWORTH AND J. T. OOEN

It will be useful to consider the structure of the space X more carefully. In particular,let A be any unconstmined or proper vertex A in the partition. Associated with each suchnode is a piecewise polynomial t/JA of degree one, which vanishes at every other regular node inthe partition and (subject to suitable scaling) has the value 1 at the node A. For the k-irregularmeshes [5], the support of tPA consists of a patch of elements containing or near to the node A.In the case of regular meshes, the support is precisely the set of elements of which A is a vertex.

Let :F(P) denote the set of all unconstrained nodes in the partition. It is readily seen that theset {t/JA} AeF forms a partition of unity subordina.te to the covering {K} on the domain n. Thatis to say

L t/JA(X) == 1,AEF('P)

Let us note that (16) implies a fortiori

"Ix E n. (17)

nL Bjk(Uj, t/JA) = Lk(t/JA),j=1

(18)

(19)

for k = l, ... ,n and any A E :F(P).For each element K E P and for j = 1, ... ,n let

Q~(x) = {t (Akj 'VUj +nkj Uj)}1 ']-1 K

Le., Q~ denotes the kth component of the flux on element K. With each inter-element edgerKL E E(P) we associate n functions a~t(s), s E rKL corresponding to each component of theflux. We shall distinguish between the a~land O:~k, and usually these will be unequal, but willbe required to satisfy the condition

(k) () (k) (0:KL s +aLK s) = 1, SErKL, k=l, ... ,n. (20)

The normal component of the flux will usually be discontinuous across the inter-element edges.The jump in the flux is denoted by

(21)

The a~lare used to construct an average normal flux along the rKL from Q~ and Ql as follows

< Qk) ( (k) Qk (k) k)n· l-Q= aLK K+aKLQL ·n. (22)

(24)

3. EXISTENCE OF SELF-EQUILIBRATING FLUX SPLITTINGSThe preceding remarks indicate some of the reasons for obtaining self-equilibrating flux split-

tings. However, the question of whether such splittings exist arises. In this section, we provethat such splittings can be found even in the case of h-p finite element approximation of systemsof partial differential equations.

First of all, we formulate the appropriate equilibration condition for the model system (15).The strong form of (15) is to find (Ul,"" Un) such that for k = 1, ... ,n,

nL {-'V. (Akj V'Uj) + Bkj . V'Uj + Ckj Uj - V'. (Dkj Uj)} = fk in n, (23)j=1

and subject to the boundary conditions for k = 1, ... , n

~ {n. (Akj V'u· + nkj u·) + bkj oUj + ckju.} = fk on on~ ]] 3 AS 3] 3 .

j-l

A Posteriori Error Estimators 79

Let K E 1> and let tP be sufficiently smooth on K. Then, multiplying (23) by tP, integrating overK and applying the boundary condition (24) on oK nan, gives for k = 1, ... , n,

(25)

(27)

and now choosing tP = 1 givesn n

LB~(Uj,l)=L~(l)+ 1 nK'L(Akj\7Uj+DkjUj) ds, (26)j=1 BK\8f1 j=1

where BK and LK refer to the bilinear and linear forms integrated only over the subdomain Krather than the whole domain n.

This equation expresses the equilibration of the true solution to the model problem. Theequilibration condition for the approximation u is obtained as

n

LB~(uj, 1) = L~(1) + fa (nK . Qk)I_0 ds.j=1 8K\80

Although the above derivation is rather informal, the result can be obtained rigorously by fol-lowing the corresponding steps for the scalar case in [3].

Let ~<:)denote the lack of equilibration in the kth component on element K, that is

(28)

(29)

(32)

The remainder of this section is concerned with proving that there exist choices of a for whichthe equilibration condition can be satisfied on every element K E 1> and all k = 1, ... In.

The replacement of unity in (28) with the partition given by (17) yields

~(k) _ '" ~(k)K - ~ K.A'

A

where

~<:~A = L~(¢A) - t B~(Uj, ¢A) +1 ¢A(S) (nK . Qk)I_0 ds. (30)j=1 BK\BO

Therefore, a sufficient condition for equilibration is to ensure that ~<:~A vanishes for all K, Aand k.

Rather than work with o<:t directly, it will be convenient to introduce the following quantities

µ(k) _ o(k) 1 and µ(k) _ o(k) _ 1 (31)KL - KL - 2 LK - LK 2'

so that using (20), we obtain that µ is antisymmetric:(k) (k)

µKL = -µLK'

Using these new variables, one finds that

(nK . Qk)I_O = (nK .Qk)1/2 + µCf'k [n· Qk],

and that

(33)

n

~<:~A = L1«¢A) - L B~(uj, ¢A)j=1

+ ( ¢A(S) (nK . Qk)I/2 ds +L ( ¢A(S) µi~In· Qk] ds. (34)J8K\8n L>O JrKL

80 M. AINSWORTH AND J. T. OOEN

Denote

andP1~,A = - r tPA(S) [n· QkB ds, (36)JrKL

then the vanishing of A~~A is equivalent to

""" (k) (k) (k)~µLKhK.A=bK,A' (37)L>O

Suppose, for the remainder of this section, that none of P1~,A vanish. We shall discuss the casewhere one or more of these vanish in Section 4.5.

~(k) (k) (k) .Let µLK = µLK hK,A' then we obtain

""" • (k) _ b(k)~µLK - K,A'L>O

(38)

and using (32) to eliminate µ~lfor L > K gives

""" .(k) _ """ .(k) _ b(k)~ µLK ~ µKL - K.A'

L>K>O K>L>O

(39)

which may be written in the form of a sequence of linear systems of equations

M .(k) - b(k)Aµ - A , (40)

(41)L b~~A=0.KE1'

for k = 1, ... ,n. The underlying matrix MA depends only on the topology of the patch ofelements forming the support of tPA, and not on the index k. We shall return to this point latersince it has a significant impact on the cost of the algorithm for computing the splittings.

The structure of the matrix MA was studied in [3\, where it is shown that the kernel of theadjoint matrix MA· was the one-dimensional subspace spanned by vectors of the form (1, ... ,1).Thus, a necessary and sufficient condition for the existence of solutions to the system (40) is thatfor k = 1, ... ,n,

Now

L b~~A = L {L~(tPA) - t B~(Uj,tJ;A) + r tPA(S) (nK' Qk)1/2 dS}KE1' KE1' j=1 J8K\80

n

= Lk(tPA) - L Bjk(Uj,tPA) + L r tPA(S) (nK . Qk)1/2 dsj=I KE1' J8K\80

= L r tPA(S) (nK . Qk)1/2 dsKE1' J8K\80

= L L r tPA(S) (1KL (n. Qk)1/2 dsKE1'LE1' JrKL

=0, (42)

where we have made use of (6) and (18). Therefore, the systems (40) always have a solution whichis unique up to the addition of an arbitrary multiple of the vector (1, ... ,1). Consequently, wehave shown that A~~A can be made to vanish and thus that there exist choices of Q' for whichthe equilibration condition is satisfied.

A Posteriori Error Estimators

4. AN ALGORITHM FOR FLUX SPLITTING

81

The principal results of the previous section are that the self-equilibrating flux splittings canbe constructed directly using solutions of the systems (40). The matrix MA does not dependon a particular component of the system, but only on the topology of the patch formed by theelements constituting the support of the linear basis function 1/11.' Therefore, for the purposes ofthis section we dispense with the superscript k referring to the component of the system.

Without loss of generality we suppose the elements forming the patch to be numbered from 1to NA. The matrix MA also depends on the inter-element edges between the elements forming thepatch. Let us arbitrarily order these edges from 1 to NE' Then, MA has one row correspondingto each of the elements 1, ... ,NA and one column for each of the edges r 11 ... , r N E' Le., MA isan NA X NE matrix.

Examining the equations leading to the linear system (40), one sees that the structure of MAis as follows: suppose rK J is the Lth edge in the patch, then

if K < J,if J>K,

(43)

and the remaining elements of MA all vanish. That is to say, each column of MA has preciselytwo non-zero entries in the column corresponding to edge rKJ (K> J), namely, +1 in the Kthrow and -1 in the ph row.

The matrix Mit is singular, meaning that the solution µ. of

(44)

is unique only up to the addition of a multiple of (1, ... , 1). From a theoretical point of view it isirrelevant which solution of this system we pick. However, from a practical viewpoint, one maychoose the smallest solution in order to limit the effect of rounding errors. Therefore, we seek avector µ. such that µ.I µ. is minimized subject to (44). Let Y denote the Lagrangian

Y(µ',.\) = ~ ji µ- (MA µ. - bA)1 .\.

Then the conditions for a stationary point are

µ. = MAt.\

and

Together these conditions imply that

(45)

(46)

(47)

(48)

Therefore, we may obtain .\ by solving (48) and then using (46) to compute µ. At first sight thisprocess seems to offer little over attempting to solve (44) directly. However the special structureof the matrix TA defined by

Tit = MAMA1

means that there are advantages in pursuing this approach.

(49)

4.1. Structure of TA

Firstly, notice that TA is symmetric and positive semi-definite. The kernel of TA is identicalto the kernel of MA-. Making use of (43), we conclude that the elements of TA are given by

if j = i,if n; and S1j share a common edge,otherwise,

(50)

82 M. AINSWORTH AND J. T. ODEN

Figure 1. Topology matrix for interior node on regular mesh.

[

2 -1 -1-1 2 0

TA = -1 0 2o 0-1o -1 0

o 0]o -1-1 02 -1

-1 2

(51)

Figure 2. Topology matrix ror boundary node.

[

1 -1 0 ]TA = -1 2-1

o -1 0

01 O2

060

5A

0;104

. (52)

Figure 3. Topology matrix for interior node on I-irregular mesh.

3 -1 0 0 -1 -1-1 2 -1 0 0 0

TA = I 0 -1 3 -1 -1 0(53)0 0 -1 2 -1 o I

-1 0 -1 -1 4 -1-1 0 0 0 -1 2

A Posteriori Error Estimators 83

where Ci is the number of elements in the patch which share an edge with element!k It isapparent that TA can be rapidly constructed purely from the topology of the patch of elementsforming the support of 1/J A, and for this reason we often refer to T A as the topology matrix forthe node A. Some examples of topology matrices for various types of patch in two and threedimensions are shown in Figures 1-3.

4.2. Solution of TAµ = bA

The matrix TA is still singular and the same considerations mentioned earlier still apply.Moreover, due to rounding error and the familiar variational crimes [6], the right-hand sides b~)may not in fact satisfy the condition (41) precisely, meaning that the system actually seen by thecomputer is singular and has no solutions!

In order to combat this type of difficulty we apply a two-step procedure.First, in order to ensure that the matrix equation has a solution, we modify b~) according to

for K = 1, ... ,NA, where

b(k) b(k) _ dk)K,A - K,A vA' (54)

NA6(k) - ~ '" b(k) (55)A - N ~ K,A'

A K=l

This process means that the condition (41) is enforced whilst retaining most of the informationpresent in the components of b~).

Second, in order to make the matrix equation easier to solve and to obtain a reasonably smallsolution from the set of solution vectors, we modify TA to become

where

TA-TA+D ,

I I . I]D=ll 1 .. · ~ .

1 1 ... 1

(56)

(57)

This does not change the essential properties of the matrix owing to the condition (41) satisfied bythe data, but merely picks a particular solution. However, it does mean that the matrix equationis easier to solve since it is now non-singular. An alternative method for picking out a particularsolution would be to set, for example, (TAhl equal to some large value. This is similar to theexterior penalty methods often used in finite element analysis. However, this would completelydestroy the information present in the first component of b~). The method chosen balances theinformation which is lost between all the components of b~).

To see that the matrix is non-singular, let x E ]RNA denote any vector. Let V = span(I, ... , 1)and V.l be the orthogonal comple~ent with respect to the Euclidean inner product on ]RNA.

Then x may be written as y + z, where y E V is the orthogonal projection of x onto V andZ = x - Y E V.l. Using these definitions it follows that

Xl (TA + D) x = Xl (TA + D) (y + z)

= Xl (TA z + D y)= Zl TA Z + yl D y

~ 0, (58)

where we have used the fact that TA and D are symmetric and that V is the kernel of TA.

Now since zt TA % and yl D y vanish only if % and y are zero respectively, we see that the matrixCNIM 26-9-6

84 M. AINSWOIITH AND J. T. ODEN

TA +D is positive definite and hence non-singular. Moreover, the condition number of the matrixis of order unity.

The matrix TA + D is therefore simple to invert numerically and being positive definite canbe decomposed into an LU factorization without the need for a pivoting strategy. Once such anLU factorization has been obtained, all of the equations for the different components of the truesolution can be obtained by means of standard forward and backward substitution, making theoverall cost of solving the systems minimal. In fact, since the sizes of the topology matrices arebounded independently of the number of elements (owing to the standard small angle conditionand the irregularity of the meshes being bounded), the actual cost of solving the equationsdetermining the flux splittings increases in direct proportion to the number of elements.

Indeed, yet further savings could be made by calculating the LU factorizations for various typesof standard patches and storing the matrices within the code. In practice, this procedure wouldbe particularly suitable for meshes with a very regular topology.

Having computed the solution A of the system

(59)

(60)

the flux splittings are given by1 µ'KL

CkKL=2+-'PKL,A

where µ. are obtained from A using (46). Owing to the special structure of MA' this formula canbe simplified further to give

AK - ALCkKL= 4 + PKL,A (61)

4.3. Pseudo-Code for Flux Splitting Algorithm

The details in pseudo-code of the steps used to calculate the flux splittings are shown inFigure 4, where the notation used is

and

(63)

The presence of the division by P~LA means that some extra care must be taken. Fortunately,the occurance of small P~LA means that the jump discontinuity in the normal flux is negligibleand consequently that the value of CkK L is less important. That is to say, both quantities appearingin the weighted average involving OK L are coinciding and so the weighting becomes irrelevant.In the algorithm, we set O~LA to be 0.5, and then proceed as described in Section 4.5.

Having performed the steps of the above algorithm, the actual splitting factor is given by

(64)

Of course, most of the terms in this summation vanish due to 1/JA having non-zero values ona small number of edges. For example, in the case of regular meshes, only two terms in thesummation are non-zero, namely those corresponding to the two nodes forming the endpoints ofthe edge rK L. In the case of irregular meshes, the situation is more complicated with at mostthree non-zero terms appearing in the sum.

A P06teriori Error Estimators

for each regular node A dobegin

calculate TA + D;calculate an LU factorization L U = TA + D;for each component k = 1, ... ,n do

beginf or every element K: K n supp( tPA) # 0 do

begincalculate b(k) .K,A'

(k)calculate PKL,A j

end;solve L U ..x~) = b~);for every inter-element edge rKL in the patch do

begin(k) 1 (k) (k») (k)

QKL,A = "2 + AK,A - AL,A /PKL,Aend

endend;

Figure 4. Pseudo-code of flux splitting algorithm.

85

4.4. Computational Cost

Let Nnode denote the number of regular nodes in the partition. Assuming that the usual typeof small angle condition is satisfied, the number of elements forming the support of any linearshape function tPA is bounded above by Npalch independently of the mesh size. This means thatthe cost of obtaining a single LV factorization does not increase as the mesh is refined and is oforder ~N~lch' The cost of solving the system for ..x using forward and back substitution is oforder !nN;atch. The cost of calculating b~!A and P~LA is the single largest expense, especiallywhen a high order approximation scheme is used. The major expense is in calculating the areaintegrals appearing in b~!A' However, this step becomes unnecessary if one observes that theseintegrals were evaluated when the element stiffness matrices were assembled whilst obtaining theapproximation u itself! Let Nline denote the number of operations needed to compute the lineintegrals in P and b. Then the total cost of a single step of the algorithm is approximately

(65)

and the number of loops required is NnodeB' The number of nodes is equivalent to the numberof elements and so the overall expense is proportional to the number of elements in the mesh,which is the optimal order.

4.5. The Case of PKL,A = 0

In the case when PKL,A = 0 for one or more edges rKL, we must constrain µKL to be zero. Ifthe jump is zero along only one edge, then owing to the fact that the kernel of MAO is spannedby vectors of the form (1, ... ,1), it is still always possible to construct a solution µ such that

andµKL,A = o.

(66)

(67)

86 M. AINSWORI'H AND J. T. ODEN

That is to say, we can still achieve equilibration if one of PK L,A vanishes. If more than one ofthese quantities vanishes, then it is still possible to equilibrate if and only if the data bA satisfiesappropriate compatibility conditions.

£I=Ojfor each edge rKJ do

if PKJ,A = 0 then vKJ = µj(J else gKJ = 0;g=MiMA£ljfor each edge rKJ do

if PKJ,A:/: 0 then dKJ = -gKJ;

aD = gtgjwhile ao > 0 do;

beginW=MAdjh=Miw;for each edge rKJ do

if PKJ,A = 0 then hKJ = 0;0= WtWjr = aD/Oj£1= £I+rdjg = g+rh;a1 = gt gjf3 = adaojaD = alid = -g+fJd

end

Figure 5. PseudCH:ode of conjugate gradient algorithm.

w=Ofor each edge rKJ do

beginWK = WK +dKJ;

wJ=WJ-dKJ

end;

h=Ofor each edge rKJ do

beginhKJ = hKJ +WK -wJ

end;

Figure 6. Computation of w = MA d and h = MAt w.

Suppose that we have applied the algorithm as described above, resulting in a solution µ: ofthe system

but which does not necessarily satisfy the extra conditions

µj<L,A = 0 for all edges rKL: PKL,A = O.

(68)

(69)

A Postman Error Estimators 87

In this case, we then apply a second step in the algorithm to obtain the final choice of thevector µ. Let v E nNE be a vector to be determined. Then we use v to correct µ. as follows

We determine v according to the conditions

µKL = 0 for all edges rKL: PKL,A = 0,

IIbA - MA µII is minimized.

Now it is easily seen thatbA - MA µ = MA v,

and so the above conditions are equivalent to

VKL = µj(L for all edges rKL: PKL,A = 0,

liMA vII is minimized.

(70)

(71)

(72)

(73)

(74)

(75)

This problem can be solved efficiently using the conjugate gradient method. The steps requiredare shown in Figure 5.

The major cost in this iteration is the formation of the matrix vector products MA d andMA t w. Owing to the special form of the matrix MA, these steps can be accomplished verycheaply using the code shown in Figure 6.

The whole conjugate gradient routine will converge in a finite number of iterations (subjectto rounding error), making the cost of dealing with the advent of PKL,A vanishing essentiallyneglible.

5. SUMMARY AND CONCLUSIONSA technique for computing self-equilibrating fluxes for general h-p finite element approximations

of systems of linear partial differential equations in two dimensions has been presented. Theextension to three dimensions is simply achieved by replacing the area and line integrals in thetwo-dimensional case considered here by volume and surface integrals in the three-dimensionalcase, respectively. The topology matrix TA is again readily constructed from the topology ofthe patches of elements forming the support of the linear shape functions, with neighbours nowsharing a common face rather than a common edge as in the two-dimensional case. In particular,the topology matrix in three dimensions is given by a formula analogous to (50) with the wordedge replaced by face.

The algorithm presented is of optimal order. However, the algorithm is ideally suited to aparallel implementation, owing to the fact that the original global problem is decoupled usingthe linear basis functions. The computations for each linear basis function are independent ofone another and therefore can be performed in parallel.

REFERENCES1. M. Ainsworth and J.T. Oden, A postman error estimators for second order elliptic systems. Part I: Theo-

retical foundations and a posteriori error analysis, Computers Math. Applic. 25 (2), 101-113 (1993).2. D.W. Kelly, The self equilibration of residuals and complementary error estimates in the finite element

method, Int. J. Num. Meth. Eng. 20, 1491-1506 (1984).3. M. Ainsworth and J.T. Oden, A unified approach to a postman error estimation based on element residual

methods, Numerische Mathematik (1991) (to appear).4. L. Demkowicz, J.T. Oden, W. Rachowicz and O. Hardy, Toward a universal h-p adaptive finite element

strategy: Part 1. Constrained approximation and data structure, Compo Meth. Appl. Mech. Eng. 77, 113-180(1989).

5. I. Babuska and A.D. MiUer, A feedback finite element method with a postman error estimation; Part 1,Compo Meth. Appl. Mech. Eng. 61, 1-40 (1987).

6. G. Strang and G.J. Fix, An AnalllN of the Finite Element Method, Prentice Hall, (1972).