Inc., Pasadena, CA 91107, U.S.A
Inc., Pasadena, CA 91107, U.S.A
Alexander N. BROOKS*
AeroVironment Inc., Pasadena, CA 91107, U.S.A.
A new finite element formulation for convection dominated flows is developed. The basis of the
formulation is the streamline upwind concept, which provides an accurate multidimensional general-
ization of optimal one-dimensional upwind schemes. When implemented as a consistent Petrov-
Galerkin weighted residual method, it is shown that the new formulation is not subject to the artificial
diffusion criticisms associated with many classical upwind methods.
The accuracy of the streamline upwind/Petrov-Galerkin formulation for the linear advection
diffusion equation is demonstrated on several numerical examples. The formulation is extended to the
incompressible Navier-Stokes equations. An efficient implicit pressure/explicit velocity transient al-
gorithm is developed which accomodates several treatments of the incompressibility constraint and
allows for multiple iterations within a time step. The effectiveness of the algorithm is demonstrated on
the problem of vortex shedding from a circular cylinder at a Reynolds number of 100.
1. Introduction
The finite element method is a valuable tool in the solution of many engineering problems.
In situations where the governing equations are known, but complicated geometry or boun-
dary conditions render analytical solutions difficult or impossible to obtain, the finite element
method is often employed. The finite element method makes use of a spatial discretization and
a weighted residual formulation to arrive at a system of matrix equations. Solution of the
matrix equations yields an approximate solution to the original boundary value problem.
The most common weighted residual formulation employed has been the Galerkin method,
in which weighting and interpolation functions are from the same class of functions. The
Galerkin method, when applied to most structures or heat conduction problems, leads to
symmetric stiffness matrices. In this case, it can be shown that the solution possesses the ‘best
*Fluid Dynamics Engineer, formerly Graduate Research Assistant, California Institute of Technology and
Stanford University.
**Associate Professor of Mechanical Engineering.
approximation’ property. That is, the difference between the finite element solution and the
exact solution is minimized with respect to a certain norm. The success of the Galerkin finite
element method in structures applications is largely due to the ‘best approximation’ result.
Initial finite element formulations for convective transport problems also used the Galerkin
method, but with mixed results. In fluid flows or convective heat transfer, the matrix
associated with the convective term is nonsymmetric, and as a result, the ‘best approximation’
property is lost. In practice, solutions are often corrupted by spurious node-to-node oscil-
lations or ‘wiggles’. Wiggles are most likely to appear in convection dominated cases (high
Peclet or Reynolds number) when a downstream boundary condition forces a rapid change in
the solution. An example of this phenomenon is shown in Fig. 1.1 for fluid flow past a block in
a narrow channel. The only way to eliminate the oscillations is to severely refine the mesh,
such that convection no longer dominates on an element level. Obviously, mesh refinement is
needed in regions where accurate representation of the solution is required. However, often
only the global solution features are desired, ,.ld in this case mesh refinement is required only
to prevent oscillations. This has provided motivation for development of an alternative to the
Galerkin formulation which precludes spurious oscillations, regardless of mesh refinement.
I 1
-L_----__- - - -
k
- ---
-.T---_-_ - - - - -
--
- - ---
------aA,,----_--- - -
,
c-- -_-__-*
)_____ -
------b--._---n.-
---.,,,---_-----
-
---w\--L_---b-----
l-----l
I I I “\,
-l-l.----
. ..- .,,-A----
..----_.__-
I I
Fig. 1.1. Oscillations generated upstream of a block (Re = 200).
It is well known that the Galerkin finite element method gives rise to central-difference type
approximations of differential operators. It is thus not surprising that ‘wiggles’ have also
afflicted central-difference finite difference solutions [41]. In fact, obtaining solutions at all has
been problematic due to the reliance on iterative solvers in finite differences coupled with the
lack of diagonal dominance of central-difference equations.
It was discovered, however, that wiggle-free solutions could be obtained by the use of
‘upwind’ differencing on the convective term. Upwind differencing amounts to approximating
the convective derivatives with solution values at the upstream and central nodes of a
three-node stencil. The drawback is that upwind differences are only first-order accurate
(central differences are second-order accurate). The loss of accuracy is manifested as overly
diffuse solutions. It is well known that the upwinded convective term can be constructed
simply by adding artificial diffusion to a central difference treatment. This artificial diffusion
interpretation has been the basis for extensive criticism of upwind methods (see e.g.
[7, 12 331).
Subsequently, it became apparent that a combination of central and upwind differences,
based on Peclet or Reynolds number, was better than either upwind or central differences
alone. For a simple one-dimensional model problem, it was possible to select the combination
A.N. Brooks, T.J.R. Hughes, Strehmline upwind/Petrov-Galerkin formulations 201
which resulted in exact nodal solutions. Equivalently, the proper amount of artificial diffusion
could be added to the central formulation. This procedure is usually referred to as an ‘optimal’
or ‘smart’ upwind method.
In a finite element framework, upwinded convective terms can be developed in several
different ways. The initial upwind finite element formulation, presented by Christie et al. [S]
for the one-dimensional advection-diffusion equation, employed modified weighting functions
to achieve the upwind effect. In essence, the element upstream of a node is weighted more
heavily than the element downstream of a node. The method of [S] was later generalized to
the two-dimensional case by Heinrich et al. [17]. Since the modified weighting function is
applied to all terms in the equations, these formulations were consistent Petrov-Galerkin
weighted residual methods.
In [19], Hughes presented a simple method for generating upwind elements, which made
use of a modified quadrature rule for the convective term.
In a different approach, Hughes and Atkinson [22] presented an optimal upwind method
that was derived from a variational principle, demonstrating that upwind methods may be
developed from a firm theoretical basis.
Many of the optimal upwind finite element formulations lead to the same system of matrix
equations and give exact solutions for the one-dimensional model problem. Unfortunately,
when generalized to more complicated situations, some of these formulations are far from
optimal. In multidimensional problems, solutions often exhibit excessive diffusion per-
pendicular to the flow direction. Overly diffuse results also appear in transient problems, or
when source terms are present. In addition, in many instances the Galerkin formulation gives
oscillation-free solutions which are more accurate than upwind solutions.
Obviously, such results cause upwind techniques to be viewed with some suspicion (and
even contempt). Some investigators believe that use of the Galerkin formulation, along with
mesh refinement, is the only possible way to achieve solutions that are both accurate and
wiggle free.
The outlook for upwind finite elements, despite the problems and criticisms, is not bleak at
all. Recent developments have shown that when upwind methods are constructed through the
proper Petrov-Galerkin weighted residual formulation, none of the above problems are
encountered (see, e.g., [23-251). The only ostensible shortcoming of this new formulation is
that its name may contain the word ‘upwind’, which carries with it so many negative
connotations.
In this paper, the streamline upwind/Petrov-Galerkin formulation is presented. This
method has the robust qualities of a classical upwind method, but is not subject to any of the
artificial diffusion criticisms mentioned above. The basic idea of the streamline upwind method
is to add diffusion (or viscosity) which acts only in the flow direction. Extended to a
Petrov-Galerkin formulation, the standard Galerkin weighting functions are modified by
adding a streamline upwind perturbation, which again acts only in the flow direction. The
modified weighting function is applied to all terms in the equation, resulting in a consistent
weighted residual formulation.
Further background on the development of upwind techniques is contained in Section 2. It
is shown that Galerkin (or central difference) solutions are often underdiffuse.
In Section 3, the streamline upwind/Petrov-Galerkin method is developed for the linear
advection-diffusion equation. Several alternatives are discussed for picking a free parameter
202 A.N. Brooks, T.J.R. Hughes, Streamline upwind/Petrov-Galerkin formulations
which determines the amount of upwind weighting. It is noted that the structure of the
modified weighting functions is far more important than the actual value of the parameter, and
that the additional terms should not be interpreted as artificial diffusion. Numerical examples
are used to demonstrate the superiority of the streamline upwind/Petrov-Galerkin method
over Galerkin or classical upwind methods.
Implicit/explicit transient algorithms are reviewed in Section 4. It is shown that explicit
Galerkin solutions can be quite underdifise, effectively increasing the Peclet or Reynolds
number. An explicit multiple-iteration algorithm is proposed for the streamline
upwind/Petrov-Galerkin method. The algorithm is shown to be exceptionally accurate,
exhibiting almost no negative (or positive) artificial diffusion. Time step restrictions for this
algorithm are seen to be much more favorable than those for an explicit Galerkin algorithm.
In Section 5, the streamline upwind/Petrov-Galerkin formulation is developed for the
incompressible Navier-Stokes equations. Several different options for treatment of the in-
compressibility constraint are included in the formulation. The transient algorithms from
Section 4 are generalized for use with the Navier-Stokes equations. An effective procedure is
developed in which pressure is treated implicitly and velocity is treated explicitly.
In Section 6, the new Navier-Stokes algorithm is applied to a challenging flow simulation.
The problem is the development of vortex shedding from a circular cylinder at a Reynolds
number of 100. Results obtained are quite good, and the method is shown to be very efficient
computationally.
Finally, in Section 7, the present work is summarized and suggestions for further research
are made.
(2.1.1)
where u is the given flow velocity, and k is the diffusivity. For this case, both u and k are
assumed constant and positive. The problem consists of finding cp satisfying (2.1.1) and
1 _ ePe XIL
v(x)= *_eP” ’
(2.1.4)
At very low Peclet number, the solution, which is diffusion dominated, is virtually a straight
line between the inflow boundary condition at x = 0 and the outflow boundary condition at
x = L. In advection dominated situations (high Pe), the solution is equal to the inflow
boundary condition, except in a thin boundary layer at the outflow boundary. Upwind
methods are developed to overcome problems exhibited by conventional methods in the
advection dominated case.
At this point it is useful to introduce the concept of the finite difference stencil. In finite
difference methods (and indirectly in finite element methods), differential operators are
approximated by difference operators. In the above example, consider a set of equally spaced
points between x = 0 and x = L, and a corresponding set of approximate solution values. Let
XA denote an interior point, and let x.&l and &+l denote points neighboring &. In the finite
difference method, the central approximations to (p,*(&) and (p.ur(xA) are defined by,
where h is the point spacing. The finite difference stencils corresponding to (2.1.5) and (2.1.6)
are defined by,
d
-&-1 0 l), (2.1.7)
dx X,4
d*
2 -$(l -2 1). (2.1.8)
dx *A
The Values are seen to be simply the coefficients of (PA-I, (PA,and (PA+I.Eqs. (2.1.7) and (2.1.8)
are referred to as the first and second central difference operators, respectively. It is also
useful to define the grid Peclet number CX,viz.
a = uhl(2k). (2.1.9)
EXACT
d
+-1 1 O), u>o, (2.2.1)
dx x.4
d
+o -1 l), u<o. (2.2.2)
dx x,4
Thus, the use of upwind differences shows convective information only from upstream, and
removes the difficult outflow boundary condition’s effect on the convective term.
Upwind difference solutions to (2.1.1)-(2.1.3) are shown in Fig. 2.2. The results are better
than those for central differences, in that there are no wiggles, but there is still room for
improvement.
AN. Brooks, T.J.R. Hughes, Streamline upwind/Petrov-Galerkin formulations 205
EXACT
a = 2.5
1
r42h (-1 0 1) central,
Considerable criticism, has been leveled against upwind methods because of the artificial
diffusion interpretation. It should be remembered, however, that the artificial diffusion is
relative to central differences, not to the actual physics of the problem. As will be shown
subsequently, it is actually more correct to consider central difference methods as having
negutive artificial diffusion.
206 A.N. Brooks, T.J.R. Hughes, Streamline upwind/Petrov-Galerkin formulations
Careful examination of Figs. 2.1 and 2.2 reveals that central difference solutions appear to
be underdiffuse, and that upwind solutions appear overdiffuse. It is therefore possible to
construct a new, optimized solution method as a linear combination of central and upwind
differences. Equivalently, the new method may be constructed by adding the proper amount of
artificial diffusion to the central difference method. It has been shown [23] that when the
artificial diffusion is given by
k = (uh/2)6, (2.4.1)
the solution is nodally exact. It is thus seen that the central-difference method effectively has
negative artificial diffusion, given by (2.4.1)-(2.4.3) with respect to the exact solution.
Gresho and Lee [13] have suggested that the wiggles often seen in central-difference
solutions are a valuable asset, in that they signal that the grid spacing is too coarse to resolve
the boundary layer. We believe, however, that it is relatively easy to determine whether
boundary layers are adequately resolved, without the aid of wiggles, and thus the use of the
central difference method only as a ‘wiggle signal’ represents an unnecessary loss of solution
accuracy. Also, in many cases, it is not necessary or desirable to resolve all boundary layers
present. The method defined by (2.4.1)-(2.4.3) suggests that when boundary layers are well
resolved (i.e., wiggle free central difference), optimal upwind methods may be able to give
more accurate results than central differences.
FLOW
>
fl PETROV-GALERKIN
Fig. 2.3. Galerkin weighting function and upwind Petrov-Galerkin weighting function.
All of the above methods, when applied to the example of Section 2.1, give equivalent
matrix equations and exact nodal solutions. Important differences in these methods will
become apparent in multidimensional and transient cases. Additional information on upwind
finite element techniques is contained in [l, 16,18,26].
dimensional generalizations of some finite element (and finite difference) upwind schemes
were unsuccessful due to the crosswind diffusion problem (see Fig. 3.1).
It was apparent that the upwind effect, arrived at by whatever means, was needed only in
the direction of flow. In 1231, the ‘streamline upwind method’ was introduced. This represen-
ted the logical application of the artificial diffusion concept to the multidimensional advection-
diffusion equation.
In this method, the artificial diffusion operator is constructed to act only in the flow
direction, a priori eliminating the possibility of any crosswind diffusion. The idea was
subsequently described in [31] as ‘anisotropic balancing dissipation’.
The scalar artificial diffusivity, f used in the one-dimensional case is replaced by an
artificial diffusivity tensor /Ciito achieve the desired effect. Specifically, let
Fig. 3.1. rllust~tion of the crosswind diffusion problem: a = 100 (from ref. 1331).
A.N. Brooks, T.J.R. Hughes, Streamline upwind/Petrov-Galerkin formulations 209
where
(3.1.3)
and where k’is a scalar artificial diffusivity, and ui is the flow velocity. Selection of & will be treated
in Section 3.3,
Note that (3.1.1) represents a difisivity acting only in the direction of the pow.For example, if
the x1 coordinate direction is chosen to be aligned with the flow direction, the artificial
diffusion matrix defined by (3.1.1) is
[ 1
- -1 0
k=k o o, (3.1.4)
3.2.2. Preliminaries
Let 0 be a bounded region in R”“, where nsd is the number of space dimensions, and
assume 0 has a piecewise smooth boundary l? Let x = {xi}, i = 1,2, . . . , nzsd,denote a general
point in fi and let n = {ni} be the outward normal vector to T. Let T, and r8 be subsets of r
which satisfy the following conditions:
r, ur, = r, (3.2.1)
w-6=0. (3.2.2)
210 A.N. Brooks, T.J.R. Hughes, Streamline upwind/Petrov-Galerkin formulations
The superposed bar in (3.2.1) represents set closure and 0, in (3.2.2) denotes the empty set.
Consider a discretization of 0 into element subdomains P, e = 1,2, . . . , nel, where nel is
the number of elements. Let r’ denote the boundary of 0’. Furthermore, assume
lJR’=il, (3.2.3)
nne=O. (3.2.4)
The summation convention on repeated indices is assumed in force (e.g., if &d = 3, then
gini = olnl + a2n2 + ogltj) and a comma is used to denote partial differentiation (e.g. pp,i=
acp/&). The Kronecker delta is denoted by Sij; if i = j, then Sij = 1, otherwise 6ij = 0. The
subscript n will be used to denote the component of a vector normal to a boundary, viz.
Un = Uini . (3.2.6)
where
In the above, f is a source term, ui is the flow velocity, and kij is the diffusivity. Each off, Ui,
and kij are assumed to be given functions of x and t. Furthermore, the velocity field, Ui, is
assumed to be divergence free.
An initial-boundary value problem for (3.2.7) consists of finding a function cp(x, t) which
satisfies (3.2.7) on a, and
where 9 and R are given functions of x and f, and the initial condition cpOis a given function of
x.
It was noted in [25] that the total-flux boundary condition is inappropriate in certain numerical
simulations, so only the diffusive-flux boundary condition will be considered here.
G=w+p (3.2.15)
As may be readily verified from (3.2.16) the jump is invariant with respect to reversing the
plus and minus designations.
Throughout, we shall assume that trial solutions, cp, satisfy cp = 9 on r, and weighting
functions, w, satisfy w = 0 on r,.
The streamline upwind/Petrov-Galerkin weighted residual formulation for the initial-
boundary value problem of Section 3.2.3 is
I
R
W (4 + U;i) da -
I
R
w,iop da + 2
e I
RC
p(4 + Ui,i-{) da =
I
R
w{dfl+
I
I-A
wA dl-.
(3.2.17)
Integrating (3.2.17) by parts yields
(3.2.18)
From (3.2.18) it is apparent that the Euler-Lagrange equations are (3.2.7) restricted to the
element interiors, (3.2.12), and the diffusive flux continuity condition across interelement
boundaries, viz.
212 AN. Brooks, T.J.R. Hughes, Streamline upwind/Petrov-Galerkin formulations
REMARKS. (1) In (3.2.17) it is evident that the streamline upwind modification, p, weights
only on the element interiors, and therefore does not affect continuity conditions or in the
weighting of R.
(2) Assume the following conditions hold:
(i) kij = k6ij (isotropy).
(ii) cp is interpolated with multilinear isoparametric interpolation functions (e.g., the
bilinear functions in two dimensions).
(iii) The element domains are rectangular.
The above assumptions imply that on the interior of each element
(T~i= 0 e UFi = Ui i
3 *
(3.2.20)
In this case, it is seen from (3.2.17) that the streamline upwind modification, p, does not affect
the weighting of the diffusion term.
(3) When the element domains are not rectangular, p,ii will not in general vanish identic-
ally, and thus azi may not be zero. However, it is expected that for reasonable element shapes,
the contribution of p$ will be small and can be neglected. This is not generally the case for
the higher-order elements (see [25] for further discussion).
(3.2.21)
The natural way to implement the streamline upwind method is to modify the diffusion term in
the Galerkin variational equation, viz.
I
n
w,i(kij + 5)q.j d0. (3.2.22)
Alternatively, the same result is achieved if the weighting function for the convective term is
modified, viz.
R
I Guiq,i dL! (3.2.23)
where
6 = W + ili,.W,j/llUl) . (3.2.24)
Specification of the perturbation to the weighting function completes the definition of the
streamline upwind/Petrov-Galerkin weighted residual formulation described in the previous
A.N. Brooks, T.J.R. Hughes, Streamline upwind/Petrov-Galerkin formulations 213
(3.2.25)
Clearly, if w is continuous across element boundaries (e.g., typical Galerkin finite element
weighting functions), then p, and thus $‘, will be discontinuous. Examples of w and k for
one-dimensional linear finite elements are shown in Fig. 3.2.
FLOW
Fig. 3.2. Comparison of streamline upwind/Petrov-Galerkin (SU/PG) and Galerkin weighting functions for node
A.
IEA4ARKS. (1) Note that calculation of the streamline upwind weighting functions is quite
simple, and requires only the ‘normal’ finite element shape functions, their derivatives, and the
velocity field. Higher order functions, such as those employed in [51], are not required.
(2) The streamline upwind/Petrov-Galerkin method generalizes earlier work of Dendy [6],
Wahlbin [50], and Raymond and Garder [39]. Baker [2] has also used these ideas in solving
advection equations and Burger’s equation.
(3) Some analytical error estimates for the streamline upwind method, in the two-dimen-
sional steady case, have been developed by Johnson and Navert [30].
(3.3.1)
214 A.N. Brooks, T.J.R. Hughes, Streamline UpwindfPetrov-Galerkin formulations
-l-l/a, cucl,
f=
1 0,
l-l/a!,
-llaZSl,
l<a.
(3.3.2)
Fig. 3.3. Integration rule for optimal upwind scheme, doubly asymptotic approximation, and critical approximation.
where
u, = e, - u , u, = e, * u , (3.3.6)
in which the unit vectors e, and e,,, and element characteristic lengths hS and h, are defined in
Fig. 3.4, and u and k are evaluated at the eIement center.
x2
6 = Ju(h/d/iS. (3.3.10)
In the multilinear case when k # 0 we have employed the following generalization of (3.3.10):
(3.3.11)
3.3.4. Remark
The choice of 6 for multidimensional and transient cases, as outlined above, may seem
rather ad hoc. It is expected that further research may yield a more rigorous approach to these
cases. However, experience with many numerical examples has indicated that the structure of
the streamline upwind weighting function is far more important than the precise value of 6.
method is based on the variational eq. (3.2.17) with the weighting function modification, p,
defined by (3.2.25). In steady examples, f was selected according to (3.3.69, and according to
(3.3.11) in the transient case. In the case of SUl, one point Gaussian quadrature is used on the
advection term, whereas for SU2, two-by-two quadrature is employed. All other element
integrals are calculated with the two-by-two rule
Exact (E). The results are compared with exact solutions when available. In elevation plots,
the ‘exact’ results are the nodal interpolates of the exact solution via the piecewise bilinear
finite element interpolation functions.
AI1 computations in this section were performed in double precision (64 bits per word) on
the California Institute of Technology IBM 3032 computer. Linear elements were used for
one-dimensional problems, and bilinear isoparametric quadrilaterals were used for two-
dimensional problems. The trapezoidal rule was employed in all transient cases.
In this section, examples demonstrate the effectiveness of the streamline upwind method in
precluding both ‘wiggles’ and the spurious crosswind diffusion that afflicts classical upwind
schemes.
Advection skew co the mesh. The problem statement is depicted in Fig. 3.5. The flow is
VIEWING
DIRECTION
FLOW
DIRECTION
unidirectional, constant ([]u]]= l), an d sk ew to the mesh. The diffusivity coefficient was taken
to be 10m6resulting in a Peclet number of 106. In all cases, a ten-by-ten mesh of equal sized
square elements was employed. The inflow boundary condition is discontinuous, as shown, and
two different outflow boundary conditions were considered:
Homogeneous natural boundary condition (i.e., (P”= 0). For this case, by virtue of the
magnitude of the Peclet number, the solution is essentially one of pure advection. The ‘exact’
solution is then simply an advection of the inflow boundary condition in the flow direction.
The results shown in Fig. 3.6 clearly demonstrate the presence of spurious crosswind diffusion
for the quadrature upwind scheme. The Galerkin and streamline upwind schemes are
significantly better in this respect. In general the Galerkin scheme and SU2 are somewhat
superior to SUl. The exception is the case 8 = 45” in which SUl is nodally exact.
In passing we note that when 19= 0” all cases considered are nodally exact and thus are not
shown.
Homogeneous essential boundary condition (i.e., 40= 0). In this case the solution is identical
to the previous one, except in a small neighborhood of the downwind boundary where a very
thin ‘boundary layer’ forms. It is a very difficult task for such a crude mesh to capture the
essential features of the exact solution under these circumstances. Elevations of cp are shown
in Fig. 3.7. No results are shown for the Galerkin scheme since they are wildly oscillatory and
bear no resemblance to the exact results. Again the spurious crosswind diffusion of the
quadrature upwind scheme is in evidence. Of the streamline upwind schemes, SU2 may be
seen to be superior to SUl for this case.
All schemes considered, except the Galerkin formulation, are nodally exact for the case
8 = 0” and thus are not shown.
Advection of a cosine hill in a rotating flow field. The problem statement is shown in Fig. 3.8.
The flow is rigid rotation about the center of the bi-unit square domain, with velocity
components given by
The problem is advection dominated, with diffusivity of 10e6. Along the external boundary cp is
set to zero, and on the internal ‘boundary’ OA, cp is prescribed to be a cosine hill. A 30-by-30
finite element mesh was employed. The exact solution is essentially a pure advection of the
OA boundary condition along the circular streamlines. Elevations of cp are shown in Fig. 3.9.
For this problem, Galerkin and streamline upwind schemes produce very good results. The
streamline schemes are somewhat better than the Galerkin scheme due to the small-amplitude
oscillations of the latter. The quadrature upwind scheme is very poor due to the pronounced
crosswind diffusion effect.
Fig. J.6. Advection skew to the mesh with fnomogeneous natural out&w bixmdary conditicm: Elevations of 4.
A.N. Brooks, T.J.R. Hughes, Streamline upwindlPetrov-Galerkin formulations 219
Fig. 3.7. Advection skew to the mesh with homogeneous essential outflow boundary bondition: Elevations of 4.
Fig. 3.8. Advecth in a rotating flow field: Problem statement.
The results in Fig* 3.11 show pour results for the classical unfond me&ad, The ~~~~d
resuft is actually a very accurate solution to a diffuse problem with element Peclet number, cy,
equal to one. This is not surprising, as an artificial diffusivity, &, of uk/2 was added, and recall
that (Y= uh/2k. The Petrov-Galerkin results (SU2), on the other hand, are very good, being
nearly exact. It is seen that the concept of artificial diffusion is clearly not applicable when
using consistent Petrov-G~lerkin weighting.
221
1 1 I
5 IO 15
X
Fig. 3.11. Pure advection with a source term: Comparison of results.
CLASSICAL WWIND
initialcondition
0 20 UO 60 80
X
CI.
I--
CL
4 ,,.f I
-
0 20 r10 60 80
X
Fig. 3.12. Transient pure advection: Comparison of results at steps20, 40, 60, 80, and 100.
b,=o
+(t=O)
b=o A
A
A
+=o
VIEWING
\ DIRECTION
time dependent term. That is, the streamline upwind method is implemented by adding
artificial diffusion, instead of the consistent Petrov-GaIerkin weighting of SU2.
Results for a full rotation are shown in Fig. 3.14. The Galerkin method exhibits no
dissipation error, but trailing waves of about 5% of the original cone height indicate phase
error. The inconsistent streamline method shows excessive damping of the cone in the
direction of its travel. The streamline-upwind/Petrov-Galerkin results show much smaller
phase error than Galerkin, but the cone is reduced to 88% of its original height.
This example once again clearly demonstrates that upwind finite element schemes should be
developed within a consistent Petrov-Galerkin formulation.
Cone impinging oy1 a mesh boundary. In environmental transport problems it is often
necessary for cones or ‘puffs’ to leave the mesh as they are transported downstream. In this
situation Galerkin methods often produce oscillations in the vicinity of the outflow boundaries.
INCONSISTENT
STREAMLINE
Fig. 3.14. Rotating cone: Elevations of 4 after one rotation (200 time steps).
Such oscillations can be especially deleterious when the quantity being convected is coupled
with sensitive chemical rate equations. To assess the performance of the streamline
upwind/Petrov-Galerkin method in this case, tests were run using the mesh and initia1
conditions from the previous examples with a unidirectional velocity field; u1 = - 1, u2 = 0. In
the Gderkin method oscillations of about 3% appear as the cone leaves the mesh (Fig. 3.15).
Due to the non~ssipative nature of the system, these oscillations remain lung after the tune
has left. With the Petrov-Galerkin mf;thod, the cone leaves the mesh with a minimum of
spurious oscillations. When the calculation was stopped after 100 time steps the largest values
of y, were about low4 percent of the original cone height.
Eg. 3.15. Cone impingingan a naturaf-baundary-condition b~undafy. Anqditude of residual values, as a percen-
in parentheses.
tage of initial c-one height, shcnnrxl
In this section, we consider a particular type of transient algorithm which is well suited to
convective transport equatiuns. Examples in the previous chapter were calculated with
trapezoidal rule, a well known ~~~~~~~~algorithm. Impliciit methods are generafly un-
conditionally stable, but require solution of matrix equations at every time step. If the
equations are linear, the stiffness matrix can be formed and factored in advance, leaving a
(relatively fast) forward reduction and backsubstitution at each time step. If, on the other
hand, the equations are nonlinear (e.g., Navier-Stokes eqzratians) the matrix must be
reformed and factored at least once every time step. In this situation an e@&it method is
often more cf%cient. Explicit methods are always conditionally stabie, but require no solution
of matrix equations. In explicit algorithms, the mass matrix is diagonalized, or ‘lumped’,
A.N. Brooks, T.J.R. Hughes, Streamline upwind/Petrov-Galerkin formulations 225
Unfortunately, mass lumping often seriously degrades phase accuracy in fluid mechanics (see
e.g., Gresho et al. [ll, 141).
It will be shown that the predictor-multicorrector algorithm presented herein possesses the
advantageous structure of an explicit algorithm, while maintaining the good phase accuracy
associated with a consistent mass matrix. We were led to such a procedure by the success of
the formulation of Donea et al. [9]. The streamline upwind/Petrov-Galerkin method inter-
faces naturally with the proposed algorithm and engenders time step restrictions which are
much more favorable than those of typical Galerkin formulations (see e.g. [lo]).
M++Q=F (4.2.1)
where M, C, and F represent the ‘mass’ matrix, diffusion and convection matrix, and
generalized force vector, respectively, and q and 4p represent vectors of nodal values of cp and
P,~, respectively.
Note that the streamline upwind/Petrov-Galerkin formulation leads to a nonsymmetric
consistent mass matrix.
The initial-value problem consists of finding a function cp = q(t) satisfying (4.2.1) and the
initial condition
V(O) = % (4.2.2)
where v. is given.
The algorithm used to solve (4.2.1) is a version of the predictor-multicorrector algorithms
proposed by Hughes [20,21,27]. The solution procedure is as follows:
(1) Predictors.
Set i = 0.
(2) Solution.
(3) Correctors.
(i+l)
qOn+1 = p:!, + At3/A& , (4.2.7)
*(i+l) . (0 + &,ti;, .
qn+1 = vpn+1 (4.2.8)
226 A.N. Brooks, T.J.R. Hughes, Streamline upwind/Petrov-Galerkin formulations
M*=M+yAtC. (4.2.9)
With y = l/2, this results in the trapezoidal rule, which was employed in the time-dependent
calculations of Section 3.
(2) It is possible to split the operators. For example, the streamline upwind contributions
may be treated explicitly,
where MB and Cg denote the Galerkin contributions to M and C, respectively. In this case,
M* is symmetric.
(3) To treat everything explicitly, set
M*=M= (4.2.11)
REMARKS. (1) Normally y is set equal to l/2, resulting in the trapezoidal rule for implicitly
treated terms. Note, however, that the first pass through (4.2.3)-(4.2.8) results in forward
difference approximations for explicitly treated terms, regardless of the value of y.
(2) Element contributions to the residual force are calculated directly as vectors, and
A.N. Brooks, T.J.R. Hughes, Streamline upwind/Petrov-Galerkin formulations 227
assembled to the global residual vector (4.2.6). Thus, when M* is diagonal, no matrix
calculations at all are required.
(3) For explicit Petrov-Galerkin formulations it is necessary to perform at least one
additional pass on (4.2.5)-(4.2.8) in order to include the effects of the Petrov-Galerkin mass
matrix. This arises because the predicted value of +J is zero on the first pass (see (4.2.4)).
(4) The residual force, R, is seen to be a measure of how close the solution is to the
consistent-mass implicit solution. Thus as the residual force converges to zero during suc-
cessive iterations, the solution converges to the implicit solution. Numerical experience has
shown that one additional iteration is usually sufficient to achieve the implicit character.
(5) When M* is diagonal, and one additional pass is performed on (4.2.5)-(4.2.8) the
current algorithm has essential features in common with the two-stage explicit technique
proposed by Donea et al. [9].
4.3.2. Stability
For linear finite element discretization of (4.3.1) on a uniform grid with element length h,
and no additional iterations on (4.2.5)-(4.2.8) the following stability conditions hold:
(1) Diffusive limit [lo, 411.
(a) Galerkin,
CrIa, (4.3.2)
(4.3.3)
CrIl/a, (4.3.4)
CrIl, (4.3.5)
where Cr is the Courant number (Cr = At u/h), and cy is the element Peclet number (cy =
uh/2k). These stability limits are depicted graphically in Fig. 4.1.
228 A.N. Brooks, T.J.R. Hughes, Streamline upwind/Petrov-Galerkin formulations
REMARKS. (1) The stability of the SU/PG algorithm is always governed by the diffusive
limit. As seen in Fig. 4.1, the critical Courant number approaches unity asymptotically as the
element Peclet number approaches infinity. The Galerkin stability limit, unlike the SU/PG
limit, is seen to be severely restrictive for large element Peclet numbers. It is also seen from
(4.3.4) that the Galerkin method is unconditionally unstubIe in the case of pure advection.
(2) When one additional iteration is performed on (4.2..5)-(4.2.8), numerical experience has
indicated that the above stability conditions are sufficient.
(3) In the two-dimensional case, conditions (4.3.2)-(4.3.4) hold when the Courant and
Peclet numbers are defined as follows [lot.’
Cr = At~/(llu((lhe)”
+ (ll4l/h,)” 1 (4.3.6)
Advective-diffusive limit.
In the case of two passes, the effective Peclet number concept is no longer valid, and exact
expressions are not available. The following approximate conditions were determined
I I I
0
n I 2 3
a
Fig. 4.1. Stability limits for Galerkin (G) and streamline upwind/Petrov-Galerkin (SU/PG) explicit algorithms.
‘These results hold for the standard central-difference stencils. We conjecture that finite-element equations may
yield somewhat more generous restrictions.
A.N. Brooks, T.J.R. Hughes, Streamline upwind/Petrov-Galerkin formulations 229
4.3.3. Accuracy
A detailed analysis of phase accuracy and damping for the algorithms under consideration
has been performed by Tezduyar [48]. Samples of these results are reproduced here to
demonstrate the superiority of the streamline upwind/Petrov-Galerkin method over the
Galerkin method.
In the analysis of [48], exact solutions to (4.3.1) are assumed of the form
where 5 and ,$ represent exact and approximate damping, respectively;* w and W represent
exact and approximate frequencies, respectively; and K denotes the wave number (K = ~IT/A
where A is the wavelength).
An important parameter in determining the accuracy of the algorithm is the dimensionless
wave number Kh. This number gives a measure of how many elements are used to resolve one
wavelength,
For good resolution it is felt that a minimum of ten elements per wavelength are required, or
Kh = 0.6. The maximum possible value for Kh is rr, corresponding to node-to-node oscil-
lations of cp.
The results to be discussed shortly are for a typical Courant number of 0.8, and for three
values of the upwind parameter, E, viz.:
(1) k = (uh/2){ (steady state optimization),
(2) & = (uh/d/15)f (phase optimization),
(3) 6 = 0 (Galerkin).
Additionally, it is assumed that the algorithm is explicit (M* = ML) unless otherwise noted.
Damping error- Pure a&e&ion. In the case of pure advection (k = 0), the numerical
solution should exhibit a minimum amount of damping. A measure of this damping is the
algorithmic damping ratio, 5/O, which is related to the amplitude decay over one wavelength
ZThe damping parameters 5, $ should not be confused with the optimal quadrature point 6
230 A.N. Brooks, T.J.R. Hughes, Streamline upwind/Petrov-Galerkin formulations
Fig. 4.2. Effect of Petrov-Galerkin parameter, i, on algorithmic damping ratio: Pure advection, one pass.
(Negative values result in instability.)
of advection. Note that a negative algorithmic damping ratio gives an exponentially growing
(hence unstable) solution. In Fig. 4.2 the algorithmic damping ratio is plotted against the
dimensionless wave number for the case of only one pass through the algorithm (i.e., no
additional iterations on (4.2.5)-(4.2.6)). It is seen that L = uh/2 is the only usable case, the
other two being unstable. The case of f = uh/2 is not especially good, however, due to
significant damping at all values of Kh. This damping is to be expected as the Petrov-Galerkin
contribution is felt only in the advective term on the first pass, which can be interpreted as added
artificial diffusion (cf. Section 3.4.3).
In Fig. 4.3, the algorithmic damping ratio is plotted as before, for the case of two passes
through the algorithm (i.e., one additional iteration on (4.2.5)-(4.2.6)). The Galerkin method is
again unstable, as expected, but the Petrov-Galerkin results show exceptionally low damping
in the region of accurate resolution (0 < Kh < 0.6).
Dumping error-Physical diffusion present. In the case when physical diffusion is present, the
numerical solution should exhibit the amount of damping to be expected due to the physical
diffusion. A measure of this accuracy is the ratio of numerical damping, & to the physical
damping, 5. Optimally, z$‘r should be equal to one. For the example to be considered we take
the element Peclet number, CX,to be 1.25.
This case was chosen to demonstrate how well the physical diffusion is manifested when the
algorithm is run at or near the critical time step in an advection dominated situation (i.e.,
(Y> 1). Note that since the element Peclet number is held constant here, the wave number, K,
should be considered to be the varying part of Kh.
In Fig. 4.4, c/t is plotted against Kh for one pass through the algorithm. The results show
that the Galerkin method has almost no damping in the region of accuracy. The Petrov-
231
A.N. Brooks, T.J.R. Hughes, Streamline upwindlPetrov-Galerkin formulations
.3 2 PASSES, Cr = .8
.i1 _
5
w
..1 -
I
2. 3.
Kh
ii= 0 (GALEWN)
-.1-
-.2-
Fig. 4.3. Effect of Petrov-Galerkin parameter, L, on algorithmic damping ratio: Pure advection, two passes.
(Negative values result in instability.)
1 I , I
2. 3.
Kh
Fig. 4.4. Ratio of numerical damping, c to physical damping, 5, for different values of Petrov-Galerkin parameter,
L: One pass.
232 A.N. Brboks, T.J.R. Hughes, Streamline upwind/Petrov-Galerkin formulations
2 PASSES, a = 1.25, Cr = .8
1.0 -
5
5
ic= 0 (GALEWIN)
.5 -
0
1 I I I I
0 1. 2. 3.
Kh
Fig. 4.5. Ratio of numerical damping, g to physical damping, 5, for different values of Petrov-Galerkin parameter,
L: Two passes.
Galerkin results are not extremely good, but at least some damping is present. The results for
two passes are shown in Fig. 4.5. In this case, the Galerkin results are better, but still do not
exhibit enough damping. The Petrov-Galerkin results, on the other hand, are very accurate in
the region of accuracy (0 < Kh < 0.6).
REMARK. Upwind methods have long been criticized as being too diffuse, effectively
decreasing the apparent Peclet number. It is seen that the streamline upwind/Petrov-Galerkin
method is not subject to such criticisms, and furthermore, the Galerkin method is underdiffuse,
effectively increasing the apparent Peclet number. These results raise questions about the
suitability of explicit one pass Galerkin algorithms (see e.g., Gresho et al. [lo]).
Phase error. In this case, the frequency, W, of the numerical solution should be as close as
possible to the exact frequency, o. It is well known that explicit lumped mass methods are
particularly poor in this regard. In Fig. 4.6, W/o is plotted against Kh for one pass, two passes,
and for the implicit consistent mass algorithm. The upwind parameter i is uh/ql5 and the
physical diffusion is absent (pure advection). The one pass results are quite poor, as expected,
but the two pass results are quite good, exhibiting the higher-order accuracy of the implicit
solution. Results for other values of ff are similar: the important result demonstrated here is
the beneficial effect of the second pass.
5.1. Preliminaries
5.1.1. Introduction
Numerical solution of the imcompressible Navier-Stokes equations is subject to the types of
A.N. Brooks, T.J.R. Hughes, Streamline upwind/Petrov-Galerkin formulations 233
Cr = .8, a = 1.25
5
w
.5 -
I , I
0
0 1. 2. 3.
Kh
problems noted for the linear advection-diffusion case. In situations where there are ‘hard’
downstream boundary conditions, spurious oscillations can develop (see e.g., Fig. 1.1).
The streamline upwind/Petrov-Galerkin Navier-Stokes formulation presented herein pre-
cludes spurious oscillations and does not exhibit the loss of accuracy associated with the
classical upwind schemes.
Ui,i = 0 (5.1.2)
where
In the above, Ui is the flow velocity; p is the density; pi is the body force density; tij is the
Cauchy stress; P is the pressure; ,u is the dynamic viscosity; and 4i.j) is the symmetrical part of
the velocity gradient.
The initial-boundary value problem consists of finding a function U(X, t) which satisfies
(5.1.1) and (5.1.2) on 0, and
Ui = gi on r,, (5.1.4)
where gi and Ri are given functions of x and t, and the initial velocity is a function of x and
assumed dilatation free.
(5.1.7)
where A is the penalty parameter. The modified continuity equation, (5.1.8) is then incorporated
into the constitutive equation, (5.1.3), leaving only a modified momentum equation. It was shown
in [47] that, under appropriate hypotheses, the solution to the penalty problem converges to that
of the fully incompressible problem as A + *, An advantage of the penalty formulation is that the
pressure and the continuity equation are eliminated (they are contained implicitly in the modified
momentum equation). Physically, the penalty parameter A may be interpreted as a large
dilatational viscosity.
A.N. Brooks, T.J.R. Hughes, Streamline upwind/Petrov-Galerkin formulations 235
where /3 is the bulk modulus, and P,,, and PIef are constant reference values of the pressure
and density, respectively. In addition, it is assumed that p is large, so that the density is almost
constant. This assumption allows the full continuity equation,
to be simplified to
The time derivatives of (5.1.9) is then used along with (5.1.11) to arrive at the modified
continuity equation, viz.
Finally, (51.12) is adjointed to the momentum equations, and the pressure is calculated via a
time-stepping algorithm. This approach amounts to incorporating a bulk elastic effect.
5.1.6. Remarks
(1) The penalty and slightly compressible formulations require that the A and /3 terms in
the momentum equation be integrated with a quadrature rule at least one order lower than
that used for the viscous term (see [26]). F or example, if the viscous term were integrated with
two-by-two Gaussian quadrature, then the A or /3 terms would have to be integrated with the
one point rule. This condition is the counterpart of the lower-order pressure interpolation
requirement for the fully incompressible case.
(2) When using the fully incompressible continuity condition (5.1.2) a Poisson equation
may be employed to solve for the pressure. Penalty and slightly compressible formations
require only the solution of the modified momentum equations, although they too can be cast
in a way that includes the pressure equation. The algorithm proposed herein makes use of the
pressure equation, and allows for any combination of fully-incompressible, penalty, and
slightly-compressible continuity conditions. It will be argued that this approach is considerably
more efficient computationally than solving only the momentum equations with penalty or
slightly-compressible formulations [9,15].
(3) In most problems the fully incompressible formulation is the simplest and most accurate
236 A.N. Brooks, T.J.R. Hughes, Streamline upwind/Petrov-Galerkin formulations
of the three possibilities, However, in cases where the velocity is prescribed on the entire
boundary (i.e., rR = $3) the pressure is determined only up to an arbitrary constant, resulting in
a singular mode in the numerical solution. Use of the penalty or slightly compressible
formulation in this case removes the undetermined pressure mode.
Any combination of the three conditions may be constructed simply by leaving out unwanted
terms from (5.2.1).
The streamline upwind/Petrov-Galerkin weighting functions to be considered for the
momentum equations are of the form
Gi = Wi + pi (5.2.2)
+c
e I
pi(p~i + pujui,j - tij,j -Pi) dR =
I
w&i dI’. (5.2.3)
fY l-8
Continuity,
2
e
1 q(ui,i + (1IA)P + (ll&)p) da = 0. (5.2.4)
RC
where [tijnj] represents the jump in traction across interelement boundaries (cf., (3.2.16)).
From (5.2.5) and (5.2.4), the Euler-Lagrange equations are seen to be (5.1.1) and (5.2.1)
resticted to the element interiors, (5.1.5), and the traction continuity condition across interele-
ment boundaries, viz.
REMARKS. (1) Note that the streamline upwind contribution to the weighting function, pi,
weights only on the element interiors, and therefore does not affect continuity conditions, or the
weighting of &a
(2) Assume the following conditions hold:
(i) Ui is interpolated with multilinear isoparametric interpolation functions (e.g., the
bilinear functions in two dimensions).
(ii) P is interpolated with piecewise constant functions (i.e., P is constant in each
element).
(iii) The element domains are rectangular,
(iv) U&i= 0.
The above assumptions imply that on the interior of each element
tij,j = 0 . (52.7)
It is apparent from (5.2.3) that the streamline upwind contribution does not affect the weighting of
the stress divergence term in this case.
(3) Although, in general, assumption (iv) will not hold pointwise within an element, and in
any event tiij will not vanish identically for non-rectangular elements, it is conjectured that pitiid
can usually be neglected. With higher order elements, the pitij,j term appears to be non-
negligible.
Streamline upwind/Petrov-Galerkin weighting function. Analogous to the advection-
diffusion case, the streamline upwind weighting function modification is
pi = kiZjW&j/{lUlf * (52.8)
In the above, 6 is defined as in Section 3.3., with cx defined to be the element Reynolds
number, viz.
a = puhl(2p). (5.2.9)
5.3.1. Introduction
The weighted residual formulation, (5.2.3) and (5.2.4) along with appropriate definitions of
the finite element weighting and interpolation functions, defines a system of semi-discrete
equations. To complete the definition of the numerical solution procedure, a transient
algorithm is required. The algorithm to be used here is based upon the predictor-multicor-
rector method discussed in the previous chapter. All terms except the pressure will be treated
explicitly. Due to stability considerations the pressure term must be treated implicitly.
We have so far employed four-node quadrilateral elements with bilinear velocity inter-
polation and constant pressures. In this case, the weight functions, 4, for the continuity equation
(5.2.4) are simply constant on each element. These simple elements have proven to be completely
satisfactory in all test cases. We can therefore see no compelling reasons to extend the method to
costly and complicated higher-order elements.
The semi-discrete equations emanating from (5.2.3) and (5.2.4) are of the form
Mu+Cv+N(v)-GP=F, (5.3.1)
In the above, M is the consistent mass matrix; C is the viscous matrix; N(u) is the nonlinear
convective force vector; G is the gradient operator; F is the generalized force vector; D is a
generalized force vector representing the effect of the prescribed boundary velocities on
(5.3.2); and MP is the generalized ‘mass’ matrix for the pressure terms in (5.2.4). The vectors v
and Q are nodal values of Ui and tii, respectively.
The initial value problem consists of finding functions v = v(t) and P = P(t) satisfying
(5.3.1) and (5.3.2) and the initial conditions
v(O)= 00 3
(5.3.3)
P(0) = PO (5.3.4)
a’,:1 = 0 3
(5.3.6)
P :11=0. (5.3.8)
During the first time step (n = 0), (5.35) and (5.3.7) are replaced by
P (0)
ntl = p. . (5.3.10)
where
The element vectors V@) and ueti) contain the prescribed boundary conditions as well as the
local values of the global 2) and a vectors. The vector f’ represents the consistent nodal forces
arising from the body force term, pi, and from the traction boundary condition on r,.
Note that due to the implicit treatment of the pressure, the term GAP”’ appears on the
left-hand side of (5.3.1) (cf. Section 4.2). All other terms are treated explicitly.
Eq. (5.3.1) is now modified to solve for the acceleration increment without the implicit
pressure contribution. Specifically, let
M*Aa*W = R(i) .
(5.3.14)
KApW = B(i)
(5.3.15)
*0) = VW + ~~tA**(~) .
V (5.3.21)
*(I) + ,,&M*-‘GAP”’
v@+l)
=z, (5.3.22)
We shah require that the discrete continuity eq. (5.32) be satisfied at every iterate. Making use
of the pressure corrector equations, (5.3.2) may be written for the (i + 1) iterate as,
K = G’M*-‘G + (5.3.25)
’
Table 5.1
Flow chart for streamline upwind Navier-Stokes algorithm
5.3.5. Remarks
(1) The critical time step we have used is based on the linear advection-diffusion equation
time-step limits discussed in Section 4.3. We have, however, employed a simplified definition
of the Courant number (4.3.5) in the two-dimensional case, viz.
Cr = At(ju6[lhC + lw,(lh,)
(2) At least two iterations (I = 2) are required in order to achieve the beneficial effects of
the consistent mass contribution to the residual force vector. (Recall that the predicted
acceleration is zero on the first iteration, hence there is no mass contribution to R(‘) until the
second iteration.)
(3) To avoid algorithmic damping, y. and ‘yp are usually set equal to l/2. In the fully
incompressible case (i.e. A and /-I terms are absent), the time derivative of P does not enter
into the semi-discrete equations, hence the calculated pressure is independent of the choice of
YP.
(4) The basic structure of the present algorithmic treatment has essential features in
common with the methods proposed by Chorin [4] and Temam [47]. Variants of this structure
are now gaining popularity in finite element fluid flow applications (see e.g., [lo, 91). The
contributions to this structure made herein are: (i) the incorporation of a residual formulation,
which naturally allows for multiple interations; (ii) the streamline upwind/Petrov-Galerkin
weighted residual formulation; and (iii) the option of using penalty and/or slightly com-
pressible formulations.
(5) For convenience, the initial velocity and pressure are often set to zero. When there are
prescribed non-zero velocity boundary conditions, these initial conditions violate the con-
242 A.N. Brooks, T.J.R. Hughes, Streamline upwind/Petrov-Galerkin formulations
tinuity equation in the boundary elements. In spite of this, the first time step produces a
smooth incompressible velocity field (potential-flow like) which becomes the effective initial
condition. Although several investigators [13,42] have expressed concerns about this pro-
cedure, no problems have been encountered in practice when the streamline upwind/Petrov-
Galerkin formulation is employed.
K = G’M*-‘G + (5.4.1)
The gradient operator, G, has dimensions of N& rows by N& columns, where N& and N& are
the number of velocity equations and the number of pressure equations, respectively. The
lumped mass, M*, has dimensions of N& by N:,, and the generalized pressure ‘mass’ matrix,
MP, has dimensions of N& by NIq. (Both M* and MP are diagonal, and are stored as vectors.)
Conceptually, K is formed with the global matrix products in (5.4.1) but in practice this is
not possible as the G matrix is not stored globally. Instead, each entry of K is calculated
individually, making use of the element level gradient matrix g’ and mappings which project
element equations into global equations.
Another unusual feature of K is that its band-profile structure is a function of element,
rather than nodal, ordering. For efficient operation, the elements should be numbered to
minimize the bandwidth of K.
solution for the pressure, and (ii) the formation of the residual force vector R(‘). It is in the
implicit pressure solution that the momentum equation penalty formulation is less efficient. In
this case the penalty term is treated implicitly in an equation system with NZ, unknowns. In
the fully incompressible formulation, the pressure equation system has N& unknowns.
In a large two dimensional mesh there are approximately two velocity equations for every
pressure equation. Thus the momentum equation penalty formulation requires implicit solu-
tion of twice as many equations. In addition, the mean-half bandwidth, Mb, of the implicit
matrix is twice as large as that for the Poisson equation system used for the fully in-
compressible formulation.
An estimate for the forward reduction/back substitution time, Teg, for the ‘active column’
equation solver [46] used in the code is,
where Ceq is a function of computer speed and Neq is the number of equations. Clearly, the
implicit pressure solution for the momentum equation penalty formulation is four times slower
than for the auxilliary Poisson equation formulation.
The formation of the residual force vector, R(‘), is performed element-by-element, and
2.5
2.0
N
La
TOTAL: MOMENTUM EQUATION
PENALTY FOF3ULATION
SOLUTION
TIME
0
0 10 20 30 40 50
N
Fig. 5.1. Comparison of solution times: Two dimensions. (Time is given in CPU seconds per time step per
iteration.) The difference between the total and the formation of the residual force represents the time for equation
solving.
244 A.N. Brooks, T.J.R. Hughes, Streamline upwind/Petrov-Galerkin formulations
requires about the same amount of effort for either formulation. An estimate for the
formation time, ‘;rr,of R(‘) is
T, = Crlt,, (5.4.3)
where C, is dependent on computer speed and the level of code optimization, and nel is the
number of elements. Empirical values for Ceqand C, (one point quadrature R”‘) for the CDC 7600
computer are,
Values for the IBM 3033 computer are about twice as great.
FORMATION OF
RESIDUAL FORCE
I
OL
0/ 10 20
N
Fig. 5.2. Comparison of solution times: Projected values for three dimensions. (Time is given in CPU seconds per
time step per iteration.)
A.N. Brooks, T.J.R. Hughes, Streamline upwind/Petrov-Galerkin formulations 24.5
The sum of Teq and 7’, gives an estimate of the solution time (in seconds) per time step per
iteration,
Eqs. (5.4.7) and (5.4.8) are plotted in Fig. 5.1. It is seen that for small to medium sized
problems, the solution of the Poisson equation is a small part of the total solution time. For
example, in the example problem of Section 6, the solution of the Poisson equation required
only 20% of the total solution time. However, for the momentum equation penalty for-
mulation, the implicit equation solving time rapidly becomes a large portion of the solution
time.
Projected solution times for a three dimensional N X N X N mesh are plotted in Fig. 5.2. In
this case, the Poisson equation formulation has a very pronounced advantage, even for
relatively small meshes.
6.1. Introduction
Simulation of flow past a circular cylinder is one of the most challenging problems for
numerical solution methods. Unlike many other typical example problems, all of the terms in
the governing equations are significant in this case, requiring across-the-board accuracy from
the numerical method for a successful simulation.
The problem consists of a circular cylinder immersed in a flowing viscous fluid. At Reynolds
numbers below about 40, a pair of symmetrical eddies form on the downstream side of the
cylinder. At higher Reynolds numbers, the symmetrical eddies become unstable and periodic
vortex shedding occurs. The eddies are transported downstream, resulting in the well-known
Karman vortex street.
This problem is of engineering interest, as vortex shedding can induce significant structural
vibrations. These practical engineering problems generally have high Reynolds numbers (over
106), and have fine scale turbulence in addition to the large scale vortex structures. It is usually
not possible to numerically calculate the fine scale details, so turbulence, or ‘subgrid-scale’
models are introduced. These models generally use some form of additional diffusivity to
account for the turbulence that cannot be resolved numerically. Before attempting solutions at
high Reynolds numbers with turbulence models, it is important to verify that the method is
accurate at moderate Reynolds numbers, where it is possible to resolve all flow details. In fact,
246 A.N. Brooks, T.J.R. Hughes, Streamline upwind/Petrov-Galerkin formutations
Leonard [33] has suggested that inaccurate (e.g., full upwind) numerical methods are hindering
the development of accurate turbulence modeIs.
A Reynolds number of 100 is considered to be the standard for testing numerical methods
on the cylinder problem. It is high enough for vortex shedding to occur, but low enough that
boundary layers can be easily resolved. The reader may consult [13, 14,451 for further
background on this problem.
3 = 0 t1 = 0 \
u1 = 1 P’l
“2 - 0 0 1 u=-01 t1 = 0
> t2 = 0
f
Re = 100
J/
The solution method employed is the fully incompressible version of the algorithm des-
cribed in Section 5. The Petrov-Galerkin parameter was selected to optimize phase accuracy,
(3.3.2) and (3.3.1 l), and one additional iteration was performed on (5.3.14)-(5.3.20) every time
step. To minimize computation time, one-point Gaussian quadrature was employed
throughout. The time step, governed by the small elements near the cylinder, was constant at
0.03. This results in about 33 time steps per diameter of freestream movement, and about 200
time steps per vortex shedding cycle.
This initial condition was zero velocity everywhere. This is, of course, inconsistent with the
inlet boundary condition of unit velocity. This does not, however, present any problems at all
for the algorithm. The first time step produces a smooth incompressible velocity field which
becomes the effective initial condition.
These calculations were performed in single precision (60 bits per word) on the CDC 7600
computer at the NASA Ames Research Center.
6.3. Results
The problem was run a total of 4800 time steps, corresponding to 144 time units. Note that
by virtue of the unit diameter of the cylinder and the unit freestream velocity, each time unit
represents one diameter of freestream movement.
Initially, a pair of symmetric attached eddies grew behind the cylinder, reaching a steady
state by about t = 36. Velocity vectors of this development are shown in Fig. 6.4, and
stationary streamlines are shown in Fig. 6.5. (Stationary streamlines are those seen by an
observer moving with the flow.) Pressure and vorticity contours at t = 45 are shown in Fig. 6.6.
Distributions of pressure and skin-friction coefficients around the cylinder are plotted in Fig.
6.7(a) and (b). No effort has been made to compare these values with other computed or
experimental results due to the significant effects of blockage in the relatively narrow channel
used in this study.
The results after 1800 time steps showed a very small amplitude (-lo-“) vertical oscillation
of the symmetric eddies. Although the oscillation amplitude was growing slowly with time, a
perturbation was added in an attempt to hasten vortex shedding. Small forces were added to
boundary layer nodes, as shown in Fig. 6.8, for 150 time steps starting at step 1801. The
perturbation had little noticeable effect, as the oscillations merely continued growing slowly
for an additional 1400 time steps. At about t = 96 (3200 time steps) vortex shedding began.
248 A.N. Brooks, T.J.R. Hughes, Streamline upwindlPetrov-Galerkin formulations
t =2.25
t = 24.0
Fig. 6.4. Development of symmetric solution: Velocity Fig. 6.5. Development of symmetric solution: Sta-
vectors. tionary streamlines.
Steady periodic shedding was achieved after about 6 shedding cycles at t = 132. The complete
history of this simulation is shown in Fig. 6.9.
The observed shedding period, T, was 6 time units (200 time steps), giving a dimensionless
shedding frequency, or Strouhal number (S = D/u,,T), of 0.167. This compares well with results
given in [ 14,451.
A.N. Brooks, T.J.R. Hughes, Streamline upwin&Petrov-Galerkin formulations 249
Fig. 6.6. Pressure and vorticity contours for the symmetric solution; t = 4.5.
Velocity vectors tracing the development of periodic shedding are shown in Fig. 6.10.
Streamlines and stationary streamlines are shown in Figs. 6.11 and 6.12. Streamlines, pressure
contours and vorticity contours one-half cycle apart are presented in Fig. 6.13.
6.4. Discussion
In general, the results look very good, and compare favorably with the implicit quadratic
element calculations of Gresho et al. [13]. None of the poor vortex behavior reported on by
Gresho et al. [14] for bilinear elements is seen in this case. This is attributed to the use of a
finer mesh and to the superior phase speed properties of the streamline upwind/Petrov-
Galerkin method.
It is of interest to compare the computational efficiencies of implicit methods to explicit
methods. With an implicit method, the time step is limited only by accuracy considerations,
while for explicit methods the time step is governed by the stability of the algorithm. The
critical time step is usually much smaller than the time step required for accuracy alone. Thus,
while explicit methods are faster per time step, the increase in the number of time steps
needed may offset any speed advantages. A useful comparison of the present explicit
calculation can be made with the implicit calculation of Gresho et al. [ 131. Both were run on
CDC 7600 computers. Table 6.1 lists the relevant data for comparison.
2.50 A.N. Brooks, T.J.R. Hughes, Streamline upwindlPetrov-Galerkin formulations
‘1
I
I
N
2
S
_L
0
a_
cP
x_
2.
T.
f
4
P
-:
It is seen that the explicit calculation, which has more than twice the number of total
equations, and ten times as many time steps per shedding cycle, is still faster than the implicit
calculation. For both cases, the computer codes employed were unoptimized research versions,
and it is expected that optimization would at least double the efficiency.
The present calculation could have been performed using the one pass Galerkin for-
mulation, rather than two pass Petrov-Galerkin, with the following consequences:
(1) The critical time step would be three times smaller. In this convection dominated flow,
A.N. Brooks, T.J.R. Hughes, Streamline upwind/Petrov-Galerkin formulations
t-90.
t = 101.25
t =I14
t =I23
t = 144
t =I02
t =I23
STREAMLINES
PRESSURE
CONTOURS
VORTICITY
CONTOURS
Fig. 6.13. Streamlines, pressure contours and vorticity contours l/2 cycle apart.
Table 6.1
Implicit-explicit comparison, flow past a cylinder
the Galerkin stability limit is inversely proportional to the element Reynolds number, while
the petrov-Galerkin limit is only a convection condition, which is independent of Reynolds
number.
(2) The effective Reynolds number of the downstream vortices would be greatly increased
(cf. Fig. 4.4).
(3) The phase accuracy would suffer (cf. Fig. 4.6).
7. Conclusions
This study has focused on the development of an upwind finite element formulation which
does not exhibit any of the shortcomings that have heretofore been associated with upwind
techniques. The streamline upwind/Petrov-Galerkin method presented herein possesses the
desirable features of both classical upwind methods and the Galerkin method.
It has the robustness of an upwind method, in that spurious wiggles are not generated, and
it has the accuracy often associated with wiggle-free Galerkin solutions. The method is in no
way degraded by ‘artificial diffusion’ which often afflicts other upwind schemes. It has also
been shown that, in many circumstances, the Galerkin method exhibits negative artificial
diffusion.
The success of the new method is due to two main features: (i) the streamline upwind
concept, which precludes the possibility of excessive crosswind diffusion, and (ii) the consistent
Petrov-Galerkin weighted residual formulation, which eliminates the artificial diffusion that
plagues many classical upwind schemes. Additionally, the method is quite easy to implement,
and does not require the use of higher-order, or exotic, weighting functions.
In transient analysis, it has been shown that the streamline upwind/Petrov-Galerkin
method is capable of high accuracy. The multiple-iteration algorithm proposed herein exhibits
the excellent phase accuracy characteristics of a consistent-mass implicit algorithm, within an
explicit lumped-mass framework. The critical time step for the algorithm in convection
dominated cases is based solely on a convection condition, and as a result, is independent of
Peclet (or Reynolds) number. This is a considerable improvement over explicit Galerkin
algorithms, for which the critical time step is inversely proportional to the Peclet number.
A new Navier-Stokes algorithm is presented, employing the streamline upwind/Petrov-
Galkerin method. Several different treatments of incompressibility are incorporated into the
formulation. The proposed algorithm is seen to be more efficient computationally than penalty
formulations, especially in the three-dimensional case.
The example problem of flow past a cylinder demonstrates that the method is quite
effective, and definitely not over-diffuse. Compared with an implicit calculation of the same
problem, the present explicit velocity/implicit pressure algorithm was seen to be more
economical.
The main thrust of future research should focus on improving the efficiency of the
algorithm. It is hoped that finite element methods, which handle complicated geometry with
relative ease, can eventually match the good finite difference methods in speed and storage
requirements. The computational speed of the present Navier-Stokes algorithm is significantly
faster than many previous finite element formulations, but is still somewhat slower than the
best finite difference methods.
A.N. Brooks, T.J.R. Hughes, Streamline upwind/Petrou-Galerkin formulations 2.57
It is believed that optimized coding will significantly improve, perhaps by a factor of two or
more, the speed of the present algorithm. Preliminary results of Hughes and Tezduyar [29]
indicate that it may be possible to retain high accuracy without an extra iteration if the upwind
parameter, L, is selected properly. If this approach proves successful, the computation speed is
again doubled.3
The implicit Poisson matrix, K, severely limits the viability of the present algorithm in large
two-dimensional problems, and in almost a11three-dimensional problems. In these situations, the
storage requirements for the factored K can be extremely large, and the time required for the
forward r~duction/back substitution can be very significant (cf. Figs. 5.1 and 5.2).4 To alleviate
this problem it is necessary to develop either a matrix-split algorithm or an alternating direction
method for the solution of the Poisson equation. With these improvements, large-scale
three-dimensional simulations with complicated geometry will finally be possible.
Acknowledgement
We wish to gratefully acknowledge the financial support of the National Science Foun-
dation, the Electric Power Research Institute, the California Institute of Technology and
Stanford University. We are especially grateful for the computing resources made available by
the Computational Fluid Dynamics Branch of the NASA Ames Research Center.
References
[I] J.D. Atkinson and T.J.R. Hughes, Upwind finite element schemes for convective-diffusive equations, Charies
Kolling Laboratory Tech. Note C-2, The University of Sydney, Sydney, N.S.W. (1977).
[2] A.J. Baker, Research on numerical algorithms for the three-dimensional Navier-Stokes equations, Part I.
Accuracy, convergence and efficiency, Tech. Rep. AFFDL-TR-79-3141, Wright-Patterson Air Force Base, OH
(1979).
[3] A. Brooks and T.J.R. Hughes, Streamline upwind/Petrov-Galerkin methods for advection dominated fl&ws,
Proc. Third Intemat. Conf. on Finite Element Methods in Fluid Flow, Banff, Canada, 1980.
[4] A.J. Chorin, Numerical solution of the Navier-Stokes equations, Math. Comp. 22 (1968) 745.
[5] I. Christie, D.F. Griffiths, A.R. Mitchell and O.C. Zienkiewicz, Finite element methods for second order
differential equations with significant first derivatives, Internat. J. Numer. Methods Engrg. 10 (1976) 1389-
1396.
[6] J.E. Dendy, Two methods of Galerkin type achieving optimum 5? rates of convergence for first order
hyperbolics, SIAM J. Numer. Anal 11 (1974) 637-653.
[7] G. DeVahl Davis and G. Mallinson, An evaluation of upwind and central difference approximations by a study
of recirculating flow, Computers and Fluids 4 (1976) 29-43.
[8] J. Donea, Private Communication, 1980.
[9] J. Donea, S. Guihani and H. Laval, Accurate explicit finite element schemes for convective-conductive heat
?n this case the streamline upwind/Petrov-Galerkin formulation degenerates to an approach which has
essential features in common with that proposed by J.K. Dukowicz and J.D. Ramshaw, Tensor viscosity method for
convection in numerical fluid dynamics, J. Comput. Phys. Vol. 32 (1979) 71-79. We thank P.M. Gresho for
pointing this reference out to us.
4P.M. Gresho has suggested solving the Poisson equation every few time steps to decrease computational cost
further (private communication).
258 AX Brooks, T.J.R. Hughes, Streumline upwind/Petrov-Galerkin formulations
transfer problems, in: T.J.R. Hughes, ed., Finite Element Methods for Convection Dominated Flows, AMD
Vol. 34 (ASME, New York, 1979).
flO] P.M. Gresho, S.T. Chan, R.L. Lee, CD. Upson, Solution of the time dependent, three-dimensional
incompressible Navier-Stokes equations via FEM, Lawrence Livermore Laboratory Report UCRL-85337,
1981.
[ 1I] P. Gresho, R. Lee and R. Sani. Advection-dominated flows, with emphasis on the consequences of mass
lumping, in: R.H. Gallagher et al., eds., Finite Elements in Fluids, Vol. 3 (Wiley, Chichester, England, 1978).
[12] P.M. Gresho and R.L. Lee, Don’t suppress the wiggles-They’re telling you something!, in: T.J.R. Hughes,
ed., Finite Element Methods for Convection Dominated Flows, AMD Vol. 34 (ASME, New York, 1979).
1131 P.M. Gresho, R.L. Lee, S.T. Chan and R.L. Sani, Solution of the time dependent incompressible Navier-
Stokes and Boussinesq equations using the Galerkin finite element method, Lawrance Livermore Laboratory
Rep. UCRL-82899, 1979. Also, Lecture Notes in Mathematics, No. 771, Approximation Methods for Navier-
Stokes Problems (Springer, Berlin, 1980).
]141 P.M. Gresho, R.L. Lee and C.D. Upson, FEM solution of the Navier-Stokes equations for vortex shedding
behind a cylinder: Experiments with the four-node element, in: Proc. Third Internat. Conf. on Finite Elements
in Water Resources, University of Mississippi, U.S.A.. 1980.
P.M. Gresho, R.L. Lee and R.L. Sani, On the time-dependent solution of the Navier-Stokes equations in two
and three dimensions, in: C. Taylor and K. Morgan, eds., Recent Advances in Numerical Methods in Fluids,
Vol. 1 (Pineridge. Swansea. 1980) pp. 27-81.
D.F. Grifhths and A.R. Mitchell, On generating upwind finite element methods, in: T.J.R. Hughes, ed., Finite
Element Methods for Convection Dominated Flows, AMD Vol. 34 (ASME, New York, 1979).
J.C. Heinrich, P.S. Huyakorn, O.C. Zienkiewicz and A.R. Mitchell, An ‘upwind’ finite eiement scheme for
two-dimensional convective transport equation. Intern. J. Numer. Methods Engrg. 11 (1977) 134-143.
J. Heinrich and O.C. Zienkiewicz, The finite element method and ‘upwinding’ techniques in the numerical
solution of convection dominated flow problems, in: T.J.R. Hughes, ed.. Finite Element Methods for
Convection Dominated Flows. AMD Vol. 34 (ASME, New York. 1979).
1w T.J.R. Hughes, A simple scheme for developing ‘upwind’ finite elements, Internat. J. Numer. Methods Engrg.
12 (1978) 13.59-1365.
WI T.J.R. Hughes, Implicit-explicit finite element techniques for symmetric and nonsymmetri~ systems. Proc.
First Internat. Conf. on Numerical Methods for Non-linear Problems, Swansea, U.K.. 1980.
WI T.J.R. Hughes, Recent developments in computer methods for structural analysis, Nucl. Engrg. Des. 57 (1980)
427-439.
L=lT.J.R. Hughes and J. Atkinson. A variational basis for ‘upwind’ finite elements, IUTAM Symposium on
Variational Methods in the Mechanics of Solids, Northwestern University, Evanston, IL, 1978.
1231T.J.R. Hughes and A. Brooks. A multidimensional upwind scheme with no crosswind diffusion. in: T.J.R.
Hughes, ed., Finite Element Methods for Convection Dominated Flows, AMD Vol. 34 (ASME. New York.
1979).
1241T.J.R. Hughes and A. Brooks, Galerkin/upwind finite element mesh partitions in fluid mechanics, in: J.J.H.
Miller, ed., Boundary and Interior Layers- Computational and Asymptotic Methods (Boole. Dublin,
1980) pp. 103- 112.
WI T.J.R. Hughes and A. Brooks, A. theoretical framework for Petrov-Galerkin methods with discontinuous
weighting functions: Application to the streamline upwind procedure, to appear in: R.H. Gallagher, ed.. Finite
Elements in Fluids, Vol. 4 (Wiley. London).
WI T.J.R. Hughes, W.K. I,iu and A. Brooks, Review of finite element analysis of incompressible ViSCUOUS fbWS
[31] D.W. Kelly, S. Nakazawa, O.C. Zienkiewicz and J.C. Heinrich, A note of upwinding and anisotropic balancing
dissipation in finite element approximations to convective diffusion problems, Internat. J. Numer. Methods
Engrg. 1.5 (1980) 1705-1711.
[32] R.L. Lee, P.M. Gresho and R.L. Sani, Smoothing techniques for certain primitive variable solutions of the
Navier-Stokes equations, Internat. J. Numer. Methods Engrg. 14 (1979) 1785-1804.
[33] B.P. Leonard, A survey of finite differences of opinion on numerical muddling of the incomprehensible
defective confusion equation, in: T.J.R. Hughes. ed., Finite Element Methods for Convection Dominated
Flows, AMD Voi. 34 (ASME. New York, 1979).
[34] B.P. Leonard, Note on the Von Neumann stability of the explicit FIGS convective diffusion equation, Appl.
Math. Modelling 4 (1980) 401.
[35] K.W. Morton and J.W. Barrett, Optimal finite element methods for diffusion-convection problems, in: J.J.H.
Miller, ed., Boundary and Interior Layers-Computational and Asymptotic Methods (Boole, Dublin,
1980) pp. 134-148.
[36] J.T. Oden, Penalty methods and selective reduced integration for Stokesian flows, Proc. Third Internat. Conf.
on Finite Elements in Flow Problems, Banff, Canada, 1980.
[37] G.D. Raithby, A critical evaluation of upstream differencing applied to problems involving fluid flow, Comput.
Meths. Appl. Mech. Engrg. (1976) 75-103.
[38] G.D. Raithby and K.E. Torrance, Upstream-weighted differencing schemes and their application to elliptic
problems involving fluid flow, Comput. and Fluids 2 (1974) 191-206.
[39] W.H. Raymond and A. Garder, Selective damping in a Galerkin method for solving wave problems with
variable grids, Monthly Weather Rev. 104 (1976) 1583-1590.
[40] J.N. Reddy, On the mathematical theory of penalty-finite elements for Navier-Stokes equations, Proc. Third
Internat. Conf. on Finite Elements in Flow Problems, Banff, Canada, 1980.
[41] P.J. Roache, Computational Fluid Dynamics (Hermosa, Albuquerque, NM, 1976).
[42] R.L. Sani, B.E. Eaton, P.M. Gresho, R.L. Lee and S.T. Chan, On the solution of the time-dependent
incompressible Navier-Stokes equations via a penalty Galerkin finite element method, Lawrance Livermore
Laboratory Rept. UCRL-85354, 1981.
[43] R.L. Sani, P.M. Gresho and R.L. Lee, On the spurious pressures generated by certain GFEM solutions of the
incompressible Navier-Stokes equations, Proc. Third Internat. Conf. on Finite Elements in Flow Problems,
Banff, Canada, 1980.
[44] R.L. Sani, P.M. Gresho, R.L. Lee and D.F. Griffiths, The cause and cure of the spurious pressures generated
by certain GFEM solutions of the incompressible Navier-Stokes equations, Internat. J. Numer. Meths. Fluids
(1981), to appear.
[45] S.L. Smith and C.A. Brebbia, Improved stability techniques for the solution of Navier-Stokes equations,
Appl. Math. Modelling 1 (1977) 226-234.
[46] R.L. Taylor, Computer procedures for finite element analysis, in: O.C. Zienkiewicz, ed., The Finite Element
Method (McGraw-Hill, London, 3rd ed., 1977) Ch. 24.
[47] R. Temam, On the Theory and Numerical Analysis of the Navier-Stokes Equations (North-Holland,
Amsterdam, 1977).
[48] T.E. Tezduyar, Ph.D. Thesis, California Institute of Technology, in preparation.
[49] E.L. Wachspress, Isojacobic crosswind differencing, in: Numerical Analysis, Proc. Biennial Conf., Dundee
1977, Lecture Notes in Mathematics, Vol. 630 (Springer, Berlin, 1978) pp. 190-199.
[50] L.B. Wahlbin. A dissipative Galerkin method for the numerical solution of first order hyperbolic equations. in:
C. de Boor, ed., Mathematical Aspects of Finite Elements in Partial Differential Equations (Academic Press,
New York, 1974) pp. 147-169.
[51] O.C. Zienkiewicz and J.C. Heinrich, The finite element method and convection problems in fluid mechanics,
in: R.H. Gallagher, O.C. Zienkiewicz, J.T. Oden, M. Morandi Cecchi and C. Taylor, eds.. Finite Elements in
Fluids, Vol. 3 (Wiley, Chichester, England, 1978) pp. l-22.