0% found this document useful (0 votes)
119 views

The Piecewise Parabolic Method (PPM) For Gas-Dynamical Simulations

Virginia Hydrodynamics - PPM

Uploaded by

Saitej Tst
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
119 views

The Piecewise Parabolic Method (PPM) For Gas-Dynamical Simulations

Virginia Hydrodynamics - PPM

Uploaded by

Saitej Tst
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 28

JOURNAL OF COMPUTATIONAL PHYSICS 54, 174-201 (1984)

The Piecewise Parabolic Method (PPM)


for Gas-Dynamical Simulations
PHILUP COLELLA
Lawrence Berkeley Laboratory, University oj California,
Berkeley, California, 94720
AND
PAUL R. WOODWARD
Lawrence Livermore National Laboratory, University oj California,
Livermore, Californhl 94550
Received August 3, 1982; revised August 25, 1983
We present the piecewise parabolic method, a higher-order extension of Godunov's
method. There are several new features of this method which distinguish it from other
higher-order Godunov-type methods. We use a higher-order spatial interpolation than
previously used, which allows for a steeper representation of discontinuities, particularly
contact discontinuities. We introduce a simpler and more robust algorithm for calculating
the nonlinear wave interactions used to compute fluxes. Finally, we recognize the need for
additional dissipation in any higher-order Godunov method of this type. and introduce it
in such a way so as not to degrade the quality of the results.
INTRODUCTION
In [1] and [2], we presented an extensive comparison of various numerical
methods for shock hydrodynamics. The most accurate of the methods tested was the
piecewise parabolic method (PPM), developed by the authors. In this paper, we
present a detailed description of the PPM scheme for gas dynamics in Lagrangian
and Eulerian coordinates.
The PPM scheme is a higher-order extension of Godunov's method [3, 4] of a type
first introduced by van Leer in his MUSCL algorithm [5, 6J. A more recent version
of the MUSCL algorithm which is better suited for calculating strong shocks was
presented in [7]. The PPM scheme represents a substantial advance over both these
versions of MUSCL in several respects. First, the introduction of parabolae as the
I Work performed under the auspices of the Director, Office of Energy Research, Office of Basic
Energy Sciences, Engineering, Mathematical, and Geosciences Division of the U.S. Department of
Energy at the Lawrence Berkeley Laboratory under Contract DE-AC03-76SFOOO98, and at the
Lawrence Livermore National Laboratory under Contract W-7405-ENG-48.
174
0021-9991/84 $3.00
Copyright 1984 by Academic Press, Inc.
All rights of reproduction in any form reserved.
THE PIECEWISE PARABOLIC METHOD 175
basic interpolation functions in a zone allows for a more accurate representation of
smooth spatial gradients, as well as a steeper representation of captured discon-
tinuities, particularly contact discontinuities. Second, the representation of the
nonlinear wave interactions used to compute fluxes is substantially simpler than that
used in [7], giving rise to a less complicated and more robust algorithm. Finally, we
have determined that additional dissipation beyond that given by monotonicity
algorithms of the type discussed in [5] is required to obtain acceptably accurate
results from any higher-order Godunov method of this type. We have made a careful
study of the kind and amount of dissipation which is needed, and have found ways of
introducing it which do not significantly degrade the quality of the computed
solution.
This paper is divided into five sections. The first section describes the PPM scheme
for a scalar advection equation, and establishes the interpolation formulae and
techniques required for solving the gas dynamics equations. The second and third
sections describe, respectively, the basic PPM scheme for gas dynamics in
Lagrangian coordinates, and a single-step formulation of the scheme for gas
dynamics in Eulerian coordinates. The Eulerian schemes described here are all for
one space variable; the extension to more than one dimension is done using operator
splitting. The fourth section discusses, in general terms, the kinds of dissipation
required in these schemes; the final section is for discussion and conclusions. There is
also an Appendix, which gives a detailed description of the dissipation algorithms
used in the PPM calculations presented in [2 j.
1. THE PPM ADVECTION SCHEME
In this section, we describe the PPM scheme for solving a linear advection
equation
oa oa
ot + u ~ = 0
(1.1 )
a ( ~ , 0) = a o ( ~ ) .
Particular care has been taken to provide details of the algorithm for the case of a
general unequally spaced mesh. One widely used formulation of Eulerian
hydrodynamics algorithms is that of performing a hydrodynamics calculation for one
time step using a Lagrangian method, and mapping the results onto the fixed Eulerian
grid. In such an algorithm, the mapping step is essentially one step of a conservative
advection algorithm. Since the mesh moves by varying amounts in the Lagrangian
step, the mesh for which the mapping is performed is unequally spaced, even if the
underlying Eulerian mesh is equally spaced. Thus, the algorithm described below, in
the case of unequally spaced zones, has been extensively tested in the calculations in
[2] performed using the version of the PPM hydrodynamics algorithm formulated as
a Lagrangian step, followed by a remap.
176 COLELLA AND WOODWARD
Let e
H
1/2 be the boundary between the jth and the j + 1 st zones on the
computational grid, and assume that we know aj, the average value of the solution a
between e
H
1/2 and ej -1/2 at time t
n
:
1 flJ+1/2
aj = A ~ . a(e, t") de
'oj 'j-l/2 (1.2)
Aej = ej + 1/2 - ej - I/l'
We want to calculate aj+ I, the average value of the solution at time t"+ I = t" + At,
where At satisfies the stability condition uAt minjAej' The advection scheme we
will describe here is constructed following the approach to advection taken by van
Leer in [8]. First, we construct a piecewise polynomial interpolation function a(e)
satisfying the condition
1 f
'
i+ ' 12
aj = Ae
j
lj-l12 a(e) de
and constrained in such a way so that no new extrema appear in the interpolation
function which do not already appear in the aj's (Fig. 1). We can calculate explicitly
the exact solution to Eq. (1.1) with inital values a (t!), i.e., a(e, t
n
+ At) = a(e - uAt)
(Fig. 2). We integrate this solution over each zone to obtain ar I:
n+l 1 flJ+'12
aj = A ~ ace - uAt) de.
'oj lj-1/2
(1.3)
The scheme is uniquely determined by our choice of interpolation polynomial. The
PPM scheme uses an interpolation which is piecewise continuous, with a given by a
parabolic profile in each zone:
a(e) = a
L
j + x(Aaj + a
6
,il -x
(1.4)
FIG. 1. The interpolation step of the PPM advection scheme. The initial data are given as values of
the variable a averaged over the four zones shown. These averaged values are represented by dashed
lines. From this data values of the variable a are interpolated at zone edges, using cubic curves which
have the prescribed average values in the four zones nearest the edge. The interpolation parabolae within
the zones, which are shown as solid lines, connect these edge values and give back the initial data when
averaged over the zones.
THE PIECEWISE PARABOLIC METHOD
1" ...
I
I
I
I
1
1.. __
I
1
I
1
I
I
1
1
I
...
....
...
....
,
I'
I
...
1
,
....
I
1',
1
1
,
1 1
177
FIG. 2. The integration step of the PPM advection scheme. New averages of the variable a within
the zones are obtained by integrating over the interpolated initial distribution shifted to the right by uAt.
This shifted distribution is shown by the dashed lines, and the new zone averages are shown by the solid
lines. The scheme is third-order accurate in general; in the limit of very small time steps, for equally
spaced zones, it is fourth-order accurate.
It is a straightforward bit of algebra to verify that the coefficients of this polynomial
can be derived from a
J
'!, and the values lim'l' ace) = a[ I' lim'Tr. a@=a
RJ
:
b l.J-I/2 ~ . . ~ ~ J + I ! 2
(1.5)
We calculate a
L

j
and a
R

j
by first using an interpolation scheme to calculate
aj+ 1/2' an approximation to the value of a at e
i
+ 1/2' subject to the constraint that
aj+ 1/2 does not fall out of the range of values given by aj and aj+ I' In smooth parts
of the solution, away from extrema, aL,j+ 1= a
R

j
= aj+ 1/2' so that the interpolation
function ace) is continuous at ej+ 1/2' The values a
LJ
and a
RJ
are further modified so
that ace) is a monotone function on each interval (e)-I/2' ej+ 1/2)' It is this step that
introduces the discontinuities at zone edges,
Given the averages a'j of a in nearby zones, we want to interpolate a value aj+ 1/2'
Equivalently, we know the values of the indefinite integral of a, A (e) = P ace', tn) de',
at zone edges:
Acej+ 1/2) = A j+ 1/2 = L aZAek
kO
To calculate a
j
+ 1/2' we interpolate the quartic polynomial through the points
(Aj+k+ 1/2' j+k+ 1/2)' k = 0, 1, 2, and differentiate it to obtain aj+ 1/2 = dAjdelcj+l/2'
The formula for a
j
+ 1!2 so obtained, in terms of the j+ I/2'S and the ai's, is given by
(1.6)
178 COLELLA AND WOODWARD
Here &a} is the average slope in thejth zone of the parabola with zone averages aj_1
and aj, 07+ I' and is given by
( \.7)
In the calculations performed here and in [2], we have replaced &a} in the above
expression by &ma}, defined to be
if (aj+ 1 - aj)(aj - aj-I) > 0
= 0 otherwise.
(1.8)
This modification leads to a somewhat steeper representation of discontinuities in the
It also guarantees that aj+ 1/2 lies in the range of values defined by aj and
aj+I'
This calculation yields a value for aj+ 1/2 which is third-order accurate for variable
mesh spacing, even where the mesh spacing changes discontinuously. If the zones are
equally spaced, and if iJo} = iJma}, then the values obtained are given by the following
simple formula:
(1.9)
In regions where the solution is smooth, and in the limit of vanishing time step, the
PPM advection scheme for equally spaced zones is fourth-order accurate.
The value aj+ 1/2 will be assigned to a
L
,} and a
RJ
-
1
for most values of j. There are
some cases, however, where this would lead to an interpolation function which takes
on values not between aLJ and a
R
,}' In such cases, we reset one or both of these
values. There are two cases. First, if aj is a local maximum or minimum, then the
interpolation function is set to be a constant. The second case is where aj is between
a
R
,} and a
L
,}, but sufficiently close to one of the values so that the interpolated
parabola takes on a value which is not between aR,} and a
LJ
, The condition on the
coefficients of the interpolating parabola such that it does not overshoot is that
IAa}1 la
6J
I. When this condition fails to hold, either a
LJ
or a
RJ
is reset, so that the
interpolation parabola is monotone, and so that its derivative at the opposite edge of
the zone from the one where the value is being reset is zero. The expressions for aL,J
and aR,} are as follows:
THE PIECEWISE PARABOLIC METHOD 179
( 1.10)
This completes our description of the calculation of a
LJ
and aR.j' Once we have
these values, it is easy to write down an explicit expression for ar I. We define
averages of the interpolation functions
where Y is assumed to be positive. Then it is easy to check that
Y
for x =
fJ+ 112.L(Y) = aR,j - (Jaj - (1 - x) a6,j) ,
f J+I/2,R(y)=aLJ+I + (Jaj+1 + (1- x) a6J+l) ,
Y
for x=--.

Then we can express the calculation of a'J + I in explicit conservation form:
where
5)+ 1/2 = f'J+ 1/2,L(UJt),
= f'J+ 1/2,R( -uJt),
if u 0
if u O.
(1.11)
(1.12)
(1.13)
We can modify the interpolation procedure slightly so that, in the neighborhood of
a discontinuity, it produces a narrower profile than the scheme described above. If the
jth zone is determined to be inside a discontinuity, then, instead of setting aR,j equal
to aJ+ 1/2 using Eq. (1.6), we use the piecewise linear distribution given by 1 in
Eq. (1.8). Similarly, to compute aL,i' we use
(1.14)
581/54/1-13
180 COLELLA AND WOODWARD
This substitution should be performed just prior to applying the monotonicity
algorithm (1.10).
In Fig. 3, we show an example of the effect of such a substitution, which we shall
refer to as discontinuity detection. The dotted line represents the interpolation
function in the jth zone without detection, obtained by using the difference formula
(1.6) in calculating aL,j and aR,j' The solid line is the interpolated distribution
obtained by using for aL,j and aR,j values obtained from the piecewise linear
distributions in neighboring zones determined by Eqs. (1.7) and (1.8). These linear
distributions are shown here as dashed lines. Because of the monotonicity constraint
(1.8) which is imposed on these distributions, the dashed lines are nearly horizontal,
so that aL,j and aR,j are nearly equal to the left and right limiting values for the full
discontinuity. Consequently, the interpolated profile is steeper, and the advected
discontinuity remains sharper. Another feature of this detection algorithm is that if it
detects a discontinuity in a region where in fact the solution is continuous, the
scheme remains second-order accurate.
For the purpose of switching between (1.6) and (1.14), we consider a zone to be
inside a discontinuity if a finite difference approximation to the third derivative of the
solution is sufficiently large, and if a finite difference approximation to the second
derivative changes sign across the zone. In addition. we require that finite difference
approximations to the first and third derivatives of the solution near the discontinuity
have opposite signs. This last condition causes small plateaus within a general
increase or decrease in the solution not to be taken for discontinuities. Finally, we do
not apply detection to discontinuities with very small jumps.
The rule by which we switch is given by
aLJ -+ aLiI - '7j) + ~ , j ' 7 j '
Here '71 is defined by
a
R
-+a
R
.(I-1J.)+a
R
d
''7''
,J ,J J ,JJ
(1.15)
(1.16)
FIG. 3. PPM discontinuity detection. The central zone in this figure is judged to be within a discon-
tinuity. according to the detection criterion given in Eqs. (1.15}-( 1.17) of the text. The usual interpolated
zone structure shown by the dotted line is therefore replaced by the steeper structure shown by the solid
line. The two edge values joined by this line are obtained from the linear distributions in the neighboring
zones, which are indicated by the dashed lines. A monotonicity constraint on these linear distributions
has kept their slopes small and caused the distribution derived for the central zone to be quite steep.
THE PIECEWISE PARABOLIC METHOD 181
where
= 0 otherwise,
and where
(1.17)
The parameters '1(1), '1(2) are constants which determine a continuous switch between
the schemes (1.6) and (1.14). The parameter e determines how large a relative change
in the solution across a zone one wishes to call a discontinuity. In the calculations
shown in [2], we have taken '1(1) = 20, '1(2) = 0.05, e = 0.01. In gas dYQamics
calculations, the detection algorithm is applied only to the density interpolation, and
only to discontinuities which are contact discontinuities (see Eq. (3.2)).
2. LAGRANGIAN HYDRODYNAMICS
The approach we will take to extending the advection algorithm in the previous
section to the equations of gas dynamics in Lagrangian coordinates consists of the
following three steps: (1) the interpolation of distributions of the dependent variables.
(2) the calculation at the zone edges of the solution as a function of time to the initial
value problem implied by the interpolated distributions, using characteristic equations
and Riemann solvers, and (3) the use of these solutions to calculate effective fluxes,
which are differenced conservatively. It is possible to perform this calculation in such
a way that the third-order accuracy in space and time of the advection algorithm is
preserved; however, this requires numerous solutions of the Riemann problem, and is
therefore rather expensive. In the following, we present a simpler approach, following
a suggestion of van Leer [9]. In this approach we sacrifice third-order accuracy in
time to the extent that the nonlinear interaction between the two hydrodynamic waves
is calculated only to second order. However, we retain the spatial accuracy and the
steep representation of the discontinuities of the advection scheme. Test calculations
involving strong shocks have shown that there is very little accuracy lost in using the
approach described here rather than the third-order-accurate formulation.
We write the equations of gas dynamics in Lagrangian coordinates in conservation
form:
182 COLELLA AND WOODWARD
ar _ a(r"u) = 0
at am
au a ap
at + r am =g
(2.1 )
aE a(r"up)
Tt+ am =ug.
Here r is the specific volume, u is the velocity, E the total energy per unit volume, g a
body force depending on rand t, and m a mass coordinate. The internal energy e, the
density p, and the pressure p are derived from the conserved quantities via
p = Ilr, p = (y- I)pe.
Here y, the ratio of specific heats, is assumed to be a constant greater than 1. The
spatial coordinate r is related to the mass coordinate m via
m(r) = r p(r) r"dr,
'0
(2.2)
where a = 0, 1,2 depending on whether there is planar, cylindrical, or spherical
symmetry, respectively. The function r(m, I) satisfies the ordinary differential
equation drldl = u(m, t).
Let Amj be the amount of mass in thejth zone. We assume that we know
the mass-weighted averages of the conserved quantities at time tn:
mj+I/2 = I Amk
kt(,j
(2.3)
It is also convenient to define rj+ 1/2 = r(mj+ 1/2' In) as a separate dependent variable,
given by
a+l
(2.4 )
Then we wish to calculate Uj+ 1 the average values for the conserved quantities at
time I
n
+ 1 = t
n
+ At. The method we are about to describe is a direct extension of
Godunov's first-order method which takes into account the correct domain of depen-
THE PIECEWISE PARABOLIC METHOD 183
dence of zone edges in calculating the conservative fluxes. This is done in the
following three steps. We interpolate profiles for the approximate dependent variables
r, u, p as functions of the mass coordinate m, using the interpolation algorithm
described in the preceding section. We then solve appropriate Riemann problems
(shock tube problems) to calculate the time-averaged pressures and velocities at the
edges of zones. Finally, we update the conserved quantities by applying the forces
implied by the time-averaged pressures and velocities at the zone edges.
The interpolation step is a straightforward application of the algorithm described in
Section 1, with the mass coordinate taking the role of the independent variable ~ . We
know Am
j
, the mass increments, and rj and uj, the mass-weighted averages of rand
u across each zone; so the interpolation coefficients are as in (1.6). The third quantity
we interpolate is the pressure p, rather than the total energy, E. The reason for inter-
polating pressure is that by applying the monotonicity constraints built into the inter-
polation algorithm to the pressure profile directly, we obtain a better-behaved
solution near shocks. We take our average value of the pressure in the zone to be the
pressure evaluated from the averages of the conserved quantities: p7 = p(E;, u;, rJ).
This is a second-order-accurate value for the average of the pressure across the zone.
Given pj, then the interpolation scheme for the pressure is the same as for the other
two variables. We do not apply the discontinuity detection algorithm (1.l6}-(1.l8) to
the interpolation of any of the variables, since contact discontinuities automatically
remain sharp in Lagrangian calculations.
In the second step, we wish to obtain ii
j
+ 1/2 and PH 1/2' time-averaged values for
the velocity and pressure at the edges of zones. These values will be used to compute
fluxes which are differenced in an approximation to the conservation laws (2.1). In
smooth regions, ii
j
+ 1/2 and PH 1/2 approximate time averages to the solution of the
equations in -characteristic form:
(l/r") d(r"u) dp/C = gdt along dm = r"C dt, (2.5)
where C= (ypp)I!2. The derivation of these equations is standard (e.g., see [10]).
We obtain the values iiH 1/2 and PH 1/2 by first calculating averages of the
dependent variables over the spatial domains which can influence the zone edge
during the time step (Figs. 4a, b). The interaction of these averaged states is
calculated by solving a Riemann problem for iiH 1/2 and PH 1/2 (Fig. 4c). The
construction of these averaged states is done so that ii
j
+ 1/2 and PH 1/2 satisfy an
averaged form of the characteristic equations (2.5) in smooth flow, and are well-
behaved at shocks.
We now describe the algorithm for calculating ii
j
+ 1/2 and Pj + 1/2 in detail. We
consider first the case of planar symmetry, and no body forces (a = g = 0). We define
-r/+1/2' u/+ 1/2 ,P/+1/2' the average values of the dependent variables over the region
between m 1+ 1/2' and the point where the characteristic through (m 1+ 1/2' tn+ 1)
intersects the line {t = tft} :
af+ 1/2 = JJ+ 1/2,L(AtCj A j)
(2.6)
184

p
@
p

COLELLA AND WOODWARD
t
6t cj
~ P j + Y ,
'---r=---.
m
m
m
FIG. 4. The computation of Lagrangian fluxes with PPM. (a) The two domains of dependence for a
zone interface during the time step are determined by tracing the paths of sound waves arriving at the
interface at the end of the time step. (b) The detailed interpolated distribution of each variable within
each domain of dependence is replaced by its mass-weighted average. This replacement facilitates the
computation of the nonlinear interaction of the two domains of dependence. (c) The interaction of the
two averaged states adjacent to the interface is described by a solution to Riemann's shock tube
problem. Such a solution is indicated here. The nonlinear waves moving away from the interface reach
the edges of the averaged domains at the end of the time step. The Lagrangian fluxes needed to update
the zone volume, momentum, and energy are obtained from the parameters of the constant state at the
zone interface.
THE PIECEWISE PARABOLIC METHOD 185
where a = p, T, U, and
(
n )01 + I (n )Q + I
= rJ+I/2 - r j _ I / 2
J (a + 1 ) (rj+ 1/2 - rj_I/2)
(2.7)
We obtain PJ+ 1/2 and ii
j
+ 1/2 by solving a Riemann problem with left and right states
aJ+I/2,L=a/+
I
/2 and aJ+I/2,R=aj-+
1
/
2
, where a=T, u,p. Thus we perform the same
procedure here as for Godunov's method to obtain numerical fluxes, except that we
construct our left and right states to be the averages over only the parts of each of the
zones to the left and right of mJ+ 1/2 which are in the domain of dependence of mJ+ 1/2
for the time interval (tn, ("+1). This yields values for Pj+I/2 and ii1+I/2' which satisfy
the following nonlinear equations:
_P",,--j-,-+ ""I /.;:..2 +....;I""/2"".L=- C ) 0
+ ii1+I/2-
U
j+I/2,L =
W
L
wi = (YP[+1/2) (1 (.1J+I/2 - 1))
TJ+ 1/2 2y \PJ+ 1/2,L
PHI/2-PJ+I/2.R_C- - )-0
W Uj + 1/2 UJ+ 1/2.R -
R
(2.8)
In order to solve these equations, we use the Newton's method algorithm discussed in
[5] with a fixed number of iterations. It is immediately clear that, in smooth parts of
the solution, Eqs. (2.8) are a finite difference approximation to the characteristic
equations (2.5) which yield time-centered values for PH 1/2 and iiJ+ 1/2' In the
neighborhood of strong discontinuities, we retain the advantages of using the
Riemann problem to calculate fluxes.
In order to calculate iiJ+ 1/2 and Pj + 1/2 in the case where a body force or nonplanar
symmetry is present, we look for a modified definition of PJ+ 1/2.L' Uj+ 1/2,L' PJ+ 1/2.R'
UJ+ 1/2,R such that Eqs. (2.8) are still a finite difference approximation to the charac-
teristic equations. If we define
then Eqs. (2.8) are again finite difference approximations to (2.5) which yield time-
centered values for PH 1/2 and iiJ+ 1/2' Here A l+ 1/2 are defined in the same way as the
other dependent variables, with the interpolation coefficients for A(r) = r
Ol
given by
186 COLELLA AND WOODWARD
(1.5), AR,j = AL,j+ I =Aj+ 1/2 = (rj'+ 1/2)", and A'i given by Eq. (2.7). The interpolation
of A is performed in the mass coordinate. In the case where a = g = 0, this procedure
for calculating the fluxes reduces to the one previously discussed. This modification
technique has the property that, in the case where the initial data is a smooth steady
solution to the equations of motion, then the effective left and right states differ from
one another by terms of second order. Thus we do not introduce a false jump into the
Riemann problem which might give rise to spurious transients.
The final difference approximation to the fundamental conservation laws in
Eqs. (2.1) is as follows:
(
n + I )"" + I (n )" + I
A _ rj+ 1/2 - rj+ 1/2
j+ 1/2 - (a + 1) u LJt
j+ 1/2
(2.10)
LJt
+ - (u'! g'! + u'!+ I g'!+ I)
2 J J J J
The appearance of uj + I in the equation for the energy does not make the calculation
implicit, since ur I does not depend on Er I
This completes our discussion of the PPM Lagrangian scheme. Given a one-
dimensional Lagrangian method, and an advection scheme of the type discussed in
the previous section, it is straightforward to combine them into a one-dimensional
Eulerian algorithm by performing a Lagrangian step, and remapping the results back
onto the fixed Eulerian grid. This two-step technique, first proposed by Noh, has been
in widespread use for some time; therefore, we will not discuss it in detail here (for an
example of how such a scheme is implemented for methods of this type, see [51).
There are, however, a number of minor modifications which must be made to the
algorithms discussed in this section and the previous one so that the resulting
Eulerian method is well-behaved. First, all the interpolations for both the Lagrangian
step and the remap must be performed in the volume coordinate r
Q
+ I/(a + 1), rather
than in the mass coordinate. In particular, the density, rather than the specific
volume, is interpolated for the Lagrangian step. Second, the total energy interpolation
for the remap must be performed by interpolating values at the edges of zones for p,
p, u; then, the total energy per unit mass at a zone edge is given by
Ej+l/2 =Pj+l/2/y-l)pj+l/2) + These values are then used, along with the
values of the conserved total energy, to construct interpolated distributions of total
energy using (1.6) and (1.10), which are then remapped in the usual fashion. Both of
THE PIECEWISE PARABOLIC METHOD 187
these modifications are necessary in order to maintain consistency between the
Lagrangian step and the remap. Finally, the discontinuity detection algorithm
(1.15}-(1.17) is applied to the density interpolation for the remap, subject to the
additional constraint that it be applied only at density jumps corresponding to
contact discontinuities. A criterion for detecting such jumps is given in the next
section (Eq. (3.2.
3. EULERIAN HYDRODYNAMICS
We will be calculating solutions to the equations of compressible hydrodynamics
in one space variable, written in conservation form:
(
pu )
2
F(U)= pu ,
puv
puE +up
G =( (3.1)
pug
Here V(r) = rO: + 1/ (a + 1) is a volume coordinate, A (r) = r"'. The notation here is that
of the previous section, except that u is the component of velocity in the direction of
the one-dimensional sweep, v the velocity orthogonal to u (hereafter, u and v will be
referred to, respectively, as the velocity and transverse velocity), and that we define e,
the internal energy per unit mass, to be E - !Cu
z
+ VZ).
Let r)+ I/Z be the boundary between zones j and j + 1; we define
LJrj = r
J
+ I/Z - rj -1/2 and LJ Vj = V(rj + 1/2) - Veri _ 1/2)' We assume that, at time tn, we
know Uj = (l/LJ VJ) U(r, t
n
) dV, the volume-weighted average values of the
conserved quantities in
J
the interval (r
j
_
l
/
z
, r)+l/z); then we wish to calculate U'J+I,
the averages of the conserved quantities at time t
n
+ 1 = t
n
+ LJt. The construction of
the single-step Eulerian scheme for performing such a calculation has the same basic
structure as the Lagrangian scheme: we interpolate piecewise parabolic distributions
of the dependent variables, construct effective left and right states for Riemann
problems, and difference fluxes determined by the solution to those Riemann
problems. The construction of the effective left and right states for the Riemann
problems is more complicated than in the Lagrangian case, since there can be as
many as three characteristics, or as few as none, reaching the edge of a zone from a
given side. One approach to this difficulty is to use a construction similar to that used
in [7] for solving the characteristic equations in the single-step Eulerian MUSCL. In
the following, we shall describe a different approach, in which we construct a first
guess to the left and right states using the largest and smallest values of the charac-
188 COLELLA AND WOODWARD
teristic speeds; this first guess is then corrected using the linearized characteristic
equations.
First, we derive interpolation functions a(V), using the interpolation scheme
described in Section 1, given aj = a(Uj), a = p, p, u, v, and interpolating with respect
to the volume coordinate V. As was the case for the pressure interpolation for the
Lagrangian scheme, the approximation that uj, vj, pj are the averages with respect
to V of the velocities and the pressure across the zone is second-order accurate. We
use the interpolation scheme without discontinuity detection for the quantities p, u, v;
for p, we use the interpolation scheme with discontinuity detection, with the
modification that that we do not treat the jth zone as being inside a discontinuity
unless the following condition is also satisfied:
(3.2)
This is to ensure that the special interpolation at a detected discontinuity is only
applied at jumps which are predominantly contact discontinuities. Here Ko is a
constant, which is problem dependent; in the calculations in [2], Ko = 0.1.
Using these interpolation functions, we can now define Qj+I/2.L and Qj+I/2.R' our
first guess at the effective left and right states of the Riemann problem. We define
them to be
Qj+ 1/2.L = f'J+ 1/2,L(Vj+ 1/2 - V(rj+ 1/2,L' rj + 1/2,L = rj + 1/2 - max(O, Llt(uj + cj
Qj+ 1/2,R = f'J+ 1/2,R(V(P)+ 1/2,R)- Vj+ 1/2)' P)+ 1/2,R = rj+ 1/2 + max(O, -Llt(uj+ 1 -cj+ I
a =p,p, u, v. (3.3)
Thus Qj+ 1/2,L (Qj+ 1/2,R) is the average over that part of the domain of dependence of
rj+ 1/2 for the time interval W, t
n
+ I) which lies to the left (right) of rj+ 1/2' If there are
no characteristics impinging on rj+ 1/2 from the left (right), then Q is taken to be the
left (right) limit of the interpolation function at rj+ 1/2 (Fig. 5).
As they stand, the states constructed above are not suitable as left and right states
for the Riemann problem, For example, if a = g = 0, and if the only variation in the
solution were a density gradient carried by a positive constant velocity field, then the
use of the above states for the Riemann problem would imply that the amount of
mass which crosses rj+ 1/2 during the time step would be
U'! Sri+1/2
n J n per) dr.
u j + cj r)+1/2- t1t (uj+cj)
This differs from per) dr, the answer obtained in Section 1 for this
problem, by terms which are O(c'j LltLlr}, making the scheme first-order accurate for
the special case of advection. Therefore, we must make some correction to take into
account the fact that there can be more than one wave moving in each direction, The
corrected left and right states are to be constructed in such a way that the amount of
THE PIECEWISE PARABOLIC METHOD 189
L,
@
0--
~ ' ~
V -:-+v, L V-
./ -, j+V"L == V L,)+I
---
V j+'/',L V)+'/"R = V )+';',R
- , +
V)+'/"L = V )+';',L
VJ+'/',L
V+,! L - V +
J " - ./+'/'.L
SUBSONIC CASE SUPERSONIC CASE
FIG. 5. The locations of the characteristic domains of dependence referred to in the construction of
effective left- and right-hand states for the Riemann problem in the single-step Eulerian formulation of
PPM. The characteristics labelled with + and - are the paths traversed by sound waves travelling to the
right and left with respect to the fluid. The dashed characteristics are fluid streamlines. The other
symbols in the figure are dermed in the text.
wave associated with each family of characteristics transported across a zone edge is
correct up to terms of second order. Furthermore, we require that in the absence of
pressure and velocity gradients the fluxes be exactly those given by the advection
algorithm discussed in Section 1.
We correct our initial guess for the left and right states by solving the equations of
gas dynamics in characteristic form. We consider the equations of gas dynamics in
one space variable, written in nonconservation form.
(
" P 0)
A(V)= 0 U t ,
o pe
2
u
G(V, r, t) =
apu
r
-g
r
(3.4)
190 COLELLA AND WOODWARD
Then A has left and right eigenvectors (I_(V), r_(V)), (lo(V), ro(V, (I+(V), r + (V)),
with associated eigenvalues .L = u - C, ,1,0 = u, and ,1,+ = u + c. The normalization of
the eigenvectors can be chosen such that 1#. r #' = 6#.#" #, #' = +, -, O. In this
notation, we are given Vj+I/2,L and Vj+li2,R from (3.3); and we wish to calculate
V]+ 1!2,L and Vj+ 1/2,R' effective left and right states for the Riemann problem.
First, we define
(3.5)
a =P,P, u.
If AiUj) > 0 (AiUj) < 0), then V1+ 1/2,L (V1+ 1/2,R) is the average of V over the part
of the domain of dependence for the #-characteristic of r]+ 1/2 for the time interval
W, tnt I) which lies to the left (right) of rj+ 1/2' We then obtain, for example, Vj + 1!2,L
- - #
by subtracting from V]+ 1/2,L the quantity 1# . (Vj+ 1/2,L - Vj+ 1/2,L + AtG) r #' for each
family of waves for which AiUj) is positive. In the case G = 0, we are subtracting
f!om Vj+ 1/2,L the amount of wave of the # family contained in the difference
Vj + 1/2 ... L - V1+ 1/2,L' This is the appropriate nonlinear generalization of subtracting
from Vj+ 1/2,L the amount of wave in the # family contained in V]+ 1/2,L which will
not reach rj+ 1/2 by the time t" + At. When source terms are present, we are modifying
V]+ 1/2,L to properly account for all the characteristic information impinging on r]+ 1/2
from the left. In particular, if uj > cj, Vj+ 1/2,L is a solution to the characteristic form
of Eqs. (3.4) at (r]+ 1/2' t
n
+ !At) which is correct to terms of O(Ar}At) if the variation
in the solution across the zone is O(Arj)' A similar construction can be performed for
V]+ 1/2,R' The result of this construction for both sides, modified slightly for the
present application, is the following:
- C
2
(a+ /3-
P]+ 1/2,S = Pj+ 1/2,S + j+ 1/2,S\}']+ 1/2,S + it 1/2,S)
(3.6)
Pj+ 1/2,S = (p. - I /31+ 112,S ) -I
J+I/2,S #=0,+,-
Here, C;+1/2,S=YPj+I/2,SP]+I12,S' and S=L,R. We also have
Vj + 1/2.L = Vj + 1/2.1.' /3f+ 1/2,1. = 0
/3f+ 1/2,R = 0
THE PIECEWISE PARABOLIC METHOD 191
Otherwise
1
PJ+ I/Z.S = =f 2(;
it 1/2.S
(
- )
X UJ+ 1/2,S - U J+ 1/2,S
Cj + 1/2,S
(3.7)
(
aut c ))
At J+ 1/2.S i+ 112,S =f ,
r gJ+ 1;2,S
it liZ,S
P
o _ ( (PJ+ 1/2.S - pJ + 1/2,S) + I _ 1 )
}+I/Z,S - '"'2 - 0
CJ+ 1/2,S PJ+ 1/2,S Pj + 1/2,S
o
Vit 1/2.S = Vi + liZ,S'
We have taken advantage of the fact that P is the natural variable to interpolate,
while r = lip is the natural variable for the characteristic equations. We have also
exploited the decoupling of the equation for the transverse velocity from the rest of
the equations when they are written in nonconservation form.
To obtain U
jtl/2
, an approximation to (I/At)f::+
1
U(rj+l/z,t)dt, the time-
averaged value of the solution at rJ+ 1/2' we solve the Riemann problem at rJ+ 1/2 with
left and right states
(Pit 1/2,V Pi + 1/2,L' Uj + 1/2.L' Vj t 1/2,lJ
(PJ+IIZ,R,Pi+IIZ,R' UJ+ 1/2,R' VJ+1/2,R)'
We use the Riemann problem solver for the Cartesian equations here; the effect of the
source terms on UJ+ 1/2 is accounted for to second order in the construction of
Vit1/2,L' Vitl/2,R' The Riemann solver we used for the calculations shown in [2]
uses the same iteration scheme as that described above for the Lagrangian PPM; the
evaluation of the solution at r
jt
1/2 is performed in the usual fashion, except that the
evaluation of the solution inside of a rarefaction fan is done by linear interpolation
between the states on either side of the fan,
The final conservative difference step is given by
- I
G,=-
J 2
+ H(Ui - IIZ ) - H(UJ+ 1/ 2))
Arj
(3.8)
The above definition of G
j
does not make the method implicit, inasmuch as the values
of pn+ I do not depend upon u
H
I; nor do those of pn+ IU
n
+
1
depend upon E
n
+ I.
192 COLELLA AND WOODWARD
4. DISSIPATION MECHANISMS
In [2] and [7], low-amplitude post-shock oscillations were observed in calculations
performed with the single-step Eulerian MUSCL scheme for shocks whose speed was
small relative to the post-shock characteristic speed. Unless extra dissipation is
added, the same type of noise occurs when the PPM scheme is formulated either as a
Lagrangian step followed by a remap or as a single Eulerian step. In this section, we
will describe in detail the circumstances under which noise is present, and discuss the
types of dissipation employed in the calculations in [2] using the PPM scheme to
reduce or eliminate the noise. We shall discuss these issues in general terms in this
section; in an Appendix, we will give detailed algorithms for the dissipation schemes
used in the PPM calculations in [2].
In Fig. 6, we show a typical example of the type of errors which are observed. This
figure shows the results of a calculation of a very strong planar shock using the
Lagrangian PPM scheme described in Section 2. The calculation is quite stable;
however, there are substantial oscillations in both the entropy and u - 2c/(y - 1), the
Riemann invariant transported along the - characteristic, which crosses the shock.
The quantity u + 2c/(y - 1), the Riemann invariant transported along the + charac-
teristic, is quite well-behaved; any errors generated in that variable are immediately
driven back into the shock transition layer. This reflects the fact that this difficulty
arises only for systems of equations; indeed, these methods produce shocks which are
perfectly well-behaved when applied to a scalar equation.
A technique which is successful in eliminating this error in a large number of cases
is that of flattening the interpolation profiles in the neighborhood of shocks which are
sufficiently strong and steep. In effect, flattening is a means of reducing locally the
order of the method; in the limit that the interpolation function is totally flattened, we
obtain locally Godunov's first-order method.
We define fj, 0 1, so that our interpolation function in the jth zone is
a(e)(l - fj) + jjaj, e
j
< e < ej+ 1/2' where aCe) is the interpolation function defined in
Section 1. This is most easily accomplished by defining
(4.1 )
= al!J:. + aR(l - J:.)
J J J .1 .I
d b
. flat d flat.. d' (1 5)
an su stltutIng a
L
.} an a
R
,} lor a
L
,} an a
R
,} In . .
The coefficient fj should be equal to 0 away from strong shocks. Excessive
broadening of the shocks is undesirable; consequently, we set fj to 0 if the shock
profile is sufficiently broad. We measure the width of the profile for a shock tran-
sition centered on the jth zone by calculating the ratio (qj+ I - q}_1 )/(q) + 2 - qj-2)'
where q is some variable which jumps across the shock, such as the pressure or
energy. If this ratio is sufficiently close to 1, then the profile is considered sufficiently
steep for fi to be nonzero (Fig. 7). For Lagrangian calculations, we have found that
we obtain all of the required dissipation when the shock width is barely
THE PIECEWISE PARABOLIC METHOD 193
.10
1
I
.5 .05
.0
.0oL
ru .T lD Q) 0 o ru r lD OJ
PRESSUl P I RHO .... OAMMA
2
\.
-] . a
-1.5 I
I
o
-'.0 _ ~ ~
- 1
ru .T lD CO 0 o :lJ s lD co a
U - 2C J (GAMMA 11
FIG. 6. The results of the Lagrangian PPM scheme for the propagation of an extremely strong
isolated shock in a polytropic gas with y = 5/3. The pressure jump in the shock exceeds six orders of
magnitude. Thirty zones are displayed for two separate calculations. The dots show results of the PPM
scheme described in Section 2. Small oscillations of about 1.3% amplitude can be seen in the post-shock
flow for this calculation. These oscillations occur mainly in the two Riemann invariants whose
associated characteristics cross the shock. The solid lines display results of the PPM scheme augmented
by the algorithm for selectively flattening internal zone structures which is described in Section 4. The
amplitude of post-shock oscillations has been dramatically reduced by this flattening procedure.
more than one mesh length. We see in Fig. 6 that the flattening nearly eliminates the
oscillation behind the shock, while broadening the shock only slightly.
For Eulerian calculations, there are circumstances in which flattening is ineffectual.
We present in Fig. 8 a calculation of an extremely strong, nearly stationary shock
performed using the single-step Eulerian Godunov method [4]. Even though this is a
first-order method, we still see a 3% error in the density immediately behind the
shock. The error has disappeared farther downstream from the shock, due to the
strongly dissipative character of Godunov's method. No amount of local flattening
can eliminate such an error from a higher-order method, since it is still present in
calculations performed with a scheme with all the interpolation functions totally flat-
tened. A second kind of error which cannot be effectively eliminated by flattening
was observed in the single-step Eulerian MUSCL and Godunov results for the Mach
3 wind tunnel calculation presented in [2]. In the finely zoned runs of that problem,
194 COLELLA AND WOODWARD
FIG. 7. A shock discontinuity which requires flattening of the internal zone structures within the
shock. The solid lines show the internal zone structures interpolated by the PPM algorithm. The dashed
lines show these structures after they have been flattened. This flattening procedure eliminates the mild
post-shock oscillations displayed in Fig. 6.
we saw oscillations behind the incident shock near the point where the shock
intersects the bottom of the channel, and behind the Mach stem.
Both of these errors occur when a characteristic speed associated with a strong
shock, measured relative to the grid, vanishes. The dissipation introduced by
Godunov's method at a shock, as measured, for example, by the number of mesh
points over which the shock is spread, vanishes as the speed of the shock goes to
zero. What we are observing in the first example mentioned above is that the residual
dissipation present in a slowly moving strong shock calculated using Godunov's
method is not sufficient to guarantee the correct entropy production across the shock.
In the second example, the component of the velocity tangent to the shock, which is
also the velocity in one of the coordinate directions, is nearly zero. In the column of
zones where the shock transition occurs, a small disturbance develops in the
tangential velocity, due to numerical error. These small velocities transport large
amounts of the conserved quantities, creating, in effect, large sources and sinks in the
shock transition zone for the essentially one-dimensional calculations of the motion
of the shock in each row of zones. Finally, although we have discussed these errors in
terms of the single-step Eulerian schemes, they occur as well when the PPM Eulerian
scheme is formulated as a Lagrangian step followed by a remap. Thus we must find a
means for eliminating these errors for either type of Eulerian calculation.
In order to reduce these errors, we introduce a small amount of additional
THE PIECEWISE PARABOLIC METHOD 195
4
\ .0
3
.5
2
.0
0 ru
""
I.D ill a 0 n.J .T I.D (l) a
I'ASSUAE DENSITY
-.2
----,
-.4
'----1
-.6
. \ 0
-.8
.05
-\ .0
-1 .2
L
.00
L
-1 .-
a cu
""
lD 00 0 0 ru ~ I.D CO 0
VElOC I TY P I RHO- "GAMMA
FIG. 8. Results of the propagation of an extremely strong, isolated shock obtained using the single-
step Eulerian method of Godunov. The pressure jumps by more than 6 orders of magnitude in the shock,
while the velocity jump is unity. The shock is nearly steady; it has taken nearly 8000 time steps to cross
160 zones. Only 30 zones near the shock are displayed. with dots showing the averages of the variables
within the zones. Because this shock is strong and nearly stationary, the shock structure is very thin.
This causes 3% errors in the entropy of the post-shock gas. Note that this calculation performed 6
iterations in solving each Riemann problem. If only 2 iterations are performed, very large errors are
generated in the single zone just behind the shock.
dissipation beyond that which can be obtained by flattening. One way of doing this is
to add an explicit diffusive flux to the numerical fluxes.
(4.2)
Another way of introducing dissipation is to perform the calculation on a constantly
moving grid. If the mesh edges have values '7+ 1/2 at time tn, then
n+ 1 - + At
'J+ 1/2 - 'J+ 1/2 VJ+ t/2LJ
n+2 _ n+1 At- II
'J+l/2 - '1+1/2 - Vj + I / 2LJ - 'j+I/2'
(4.3)
This is equivalent to superimposing an advection velocity to the fluid motion which
alternates direction every other time step. The dissipation obtained in this fashion is
581/54/1-14
196 COLELLA AND WOODWARD
that of the PPM advection scheme. This form of dissipation can also be used in
operator split multidimensional calculations, as long as two one-dimensional sweeps
in succession are performed in each coordinate direction. This is the case, for
example, for second-order operator splitting in two dimensions. Then the mesh is
aligned properly at the beginning and end of each pair of one-dimensional sweeps.
In both types of dissipation Vj+ 1/2 is a velocity which should be large only in the
neighborhood of shocks. In one dimension, one might take
Vj+ 1/2 = K max(u
j
- U
j
+ 1,0). (4.4 )
In the first example, this yields an artificial viscosity similar to the one used by
Lapidus [11]. In more than one dimension, the velocity should be of the form
(4.5)
where (D. ii")j+ 1/2.k is a discrete undivided difference approximation to the
multidimensional divergence of ii. It is necessary to use a velocity such as this one,
which can detect the presence of a shock jump in the direction perpendicular to that
of the one-dimensional sweep, in order to eliminate the multidimensional oscillation
discussed above.
The amount of dissipation required is quite small, relative to what is typically used
in conventional finite difference schemes. For example, in the results presented in [2],
the value of the coefficient K used with (4.2) and (4.5) for the single-step Eulerian
PPM was K = 0.1, while MacCormack's method needed an artificial viscosity of the
form (4.2) and (4.4) with K = I in order to produce acceptable results. In the case
where the dissipation is added by introducing a local grid velocity, the amount of
additional dissipation in smooth parts of the flow is even less, even for moderate
(K 1) values for the grid velocity. This is because the dissipation is essentially that
of the PPM advection scheme, which is very small, in smooth parts of the solution.
Furthermore, the grid motion itself vanishes with u
j
- u
j
+ 1
5. DISCUSSION AND CONCLUSIONS
We have presented here the PPM scheme for gas dynamics. Although the scheme
is quite complicated, relative to conventional difference methods, we feel that the
numerical results in [2] prove that the additional expense and programming effort are
worthwhile. Our own investigations indicate that the algorithms presented here are
the minimal ones, in the following sense: any further simplifications which we have
attempted to introduce into them led to some degradation of the results.
The addition of more complicated physics to this algorithm appears to be quite
straightforward. Multifluid capability can be easily added, particularly to the two-step
THE PIECEWISE PARABOLIC METHOD 197
Eulerian version of the method; the extension of the method to more general
equations of state can be done using the techniques described in [12]. These and
other extensions of the basic PPM scheme are currently being implemented.
ApPENDIX
In this Appendix, we will describe in detail the dissipation algorithms introduced
into the PPM scheme for the calculations presented here and in [2]. We will describe
three dissipation schemes. The first is a combination of a simplified flattening
algorithm and a small amount of artificial viscosity, which was used in all but one of
the single-step Eulerian calculations in [2]. The second is a flattening algorithm,
suitable for Lagrangian calculation in one dimension. Finally, we will describe a
combination of flattening and local mesh motion for use in multidimensional Eulerian
calculations which was used in the two-step Eulerian calculations presented in [2] as
well as for the single-step Eulerian calculations presented in Fig. 4 of that paper.
Through()ut the following, we will use the notation and terminology developed in
Section 4. In particular, we will be defining flattening coefficients jj to be applied in
modifying the interpolation functions using (4.1). A quantity we will use throughout
this discussion is Wj' which is equal to 1 if the jth zone is inside a pressure and
velocity jump in the direction of the sweep consistent with the possibility of there
being a shock, and zero elsewhere. Specifically, we will define Wi:
(Pj+l-Pj-l) d 0
. ( c;an uj-1-UH1 >
mm PJ+ I ,Pj-l
if
(A.I)
= 0 otherwise.
In all the calculations presented here and in [2], c; = 0.33. Another quantity which we
will need is Sj' which is equal to 1 if PJ+ I - Pj _ I < 0, and is equal to -1 if
PH I - Pj-l > 0, i.e., the zone j + Sj is the zone just upstream from zone j if zone j is
in a shock. In what follows, we assume that two-dimensional calculations are
performed on a rectangular grid in one-dimensional sweeps. We denote the coordinate
in the direction of the sweep by r, and the coordinate in the direction perpendicular to
the sweep by z. We assume we are sweeping through the kth row of zones; the centers
of zones are denoted by (r
j
, Zk)'
The simplest form of dissipation of the types discussed in Section 4 is a flattening
based on the steepness of the pressure jump across a zone, plus the addition of a
dissipative flux of the form (4.2). Specifically, if we define
(A.2)
where
198 COLELLA AND WOODWARD
and
with 0(1), 0(2), v(1) constants, then we obtain sufficient dissipation to reduce the
errors in all but a few instances to a fraction of a percent in the post-shock values,
and to less than two percent in all the cases we tested. The single-step Eulerian
calculations presented in [2] used this dissipation algorithm, with the constants set at
0(1) = 0.75, 0(2) = 10, v(1) = 0.1.
The defect in this simple approach is twofold: first, it does not totally eliminate the
error in all cases; second, it introduces extra dissipation in regions where it is not
needed. For this reason, we will introduce dissipation schemes which are more
discriminating.
We consider first the case of Lagrangian hydrodynamics. In this case, we can
obtain acceptable results by using two parameters: OJ' which measures the steepness
of a shock near j, and IC
J
, which depends on the wavelength of any potential noise:
(AA)
where
(
K - IC(I))
ICj = max O,.! (2)'
K
J
+ IC
(A.5)
where
and
W. = (maX(PJ+2,PJ-2) + !(y - 1)(pJ+2 + Pj-2) 1/2
J max(!J+2' !j-2)
Here, Wj is an estimate of the Lagrangian shock speed, and C
j
"
2Sj
the post-shock
wave speed. The quantity K
j
is the number of equally spaced zones that a signal can
travel from a shock in the length of time that it takes a shock to cross one such zone;
in the limit of very small time steps it is a measure of the wavelength of the
THE PIECEWISE PARABOLIC METHOD 199
fundamental mode of any potential noise behind the shock. The flattening coefficient
is then defined to be
(A.6)
where
Thus we are using the smaller of the two amounts of flattening given by the
wavelength and steepness criteria. In the calculations shown above, K(I) = 2,
K(2) = O.Olw(1) = 0.75, W(2) = 10. The flattening provides enough dissipation so that
the Lagrangian scheme produces acceptably oscillation-free steady shock profiles.
However, it is necessary to introduce a small amount of dissipation such as in (4.2)
or (4.3) if one wishes to eliminate some types of starting errors, such as those
occurring for shock tube initial data.
For multidimensional Eulerian calculations, we use a combination of flattening and
local mesh motion (4.3) to introduce the required dissipation. For the flattening, we
have the parameters K
j
and Wj' which, as before, depend on the wavelength of the
noise and the steepness of the shock profile. We also introduce a third parameter, aj'
which depends on the strength of the wave:
(A.7)
where
(A.8)
where
(
"o-K(I)
Kj = max O,.! (2)'
Kj+K
(A.9)
where
200 COLELLA AND WOODWARD
and
with
w. = (maX(pj+2,PJ_2) + 1(y - 1)(pj.,.2 + Pj-2) 1/2
J maX(Tj+2' T
j
_
2
)
The flattening coefficient is then defined to be
Ii = + s),
(A. 10)
where
We also use the parameters defined above in constructing our grid velocity Vj:
Vj+I/2 = v(l)max(-(D . U)j+ Ij2,k' 0), (A. 1 I )
where
and
When using this dissipation with the two-step Eulerian method, the flattening is
applied at the beginning of the Lagrangian step; no flattening is applied to the inter-
polations performed for the remap, Obviously, the local grid motion only affects the
remap step, in determining the grid which one maps back to. The constants which
were used in this form of dissipation for the calculations in [2] were V
O
) = 2,
V(2) = 0.1, v(3) = 0.2333, w(l) = 0.75, W(2) = 10, K(l) = 2, K(2) = 0.01, 0'(1) = 0.5,
0'(2) = 1. For one-dimensional calculations, we set V(2) = 0 and V
O
) = 0.3333. Fairly
exhaustive test calculations of steady shock structures covering the whole parameter
space for a polytropic gas with y = 1.4 gave rise to this choice of parameters. The
amplitude of oscillations in the post-shock density was j% of the density jump in the
worst case, and is more typically !%. The oscillations in other variables were much
THE PIECEWISE PARABOLIC METHOD 201
smaller. For all but nearly stationary shocks, any such oscillations are rapidly
damped downstream from the shock. The effective shock width is never more than
two mesh lengths, and for rapidly moving shocks it is one mesh length. Experimen-
tation with different values of the parameters is not recommended, as these choices
have been made on the basis of considerable experience.
ACKNOWLEDGMENTS
This work was performed under the auspices of the Director, Office of Energy Research, Office of
Basic Energy Sciences, Engineering. Mathematical, and Geosciences Division of the U.S. Department of
Energy at the Lawrence Berkeley Laboratory under Contract DE-AC03-76SFOOO98, and at the
Lawrence Livermore National Laboratory under Contract W-7405-ENG48.
REFERENCES
J. P. R. WOODWARD AND P. COLELLA, Lecture Notes in Physics 141 (1981),434.
2. P. R. WOODWARD AND P. COLELLA. J. Comput. Phys. 54 (1984), 115-173.
3. S. K. GODUNOV, Mat. Sb. 47 (1959),271.
4. S. K. GODUNOV, A. V. ZABRODIN. AND G. P. PROKOPOV, U.S.S.R. Computational Math. and Math.
Phys. I (1961). 1187.
5. B. VAN LEER, J. Comput. Phys. 32 (1979), 101.
6. B. VAN LEER AND P. R. WOODWARD, Proceedings TICOM Conference, Austin, Texas, 1979.
7. P. COLELLA, A direct Eulerian MUSCL scheme for gas dynamics, SIAM J. Sci. Statist. Comput., in
press.
8. B. VAN LEER, J. Comput. Phys. 23 (1977),276.
9. B. VAN LEER, private communication.
10. R. COURANT AND K. O. FRIEDRICHS, "Supersonic Flow and Shock Waves," Wiley-Interscience.
New York, 1948.
I J. A. LAPIDUS, J. Comput. Phys. 2 (1967), 154.
12. P. COLELLA AND H. M. GLAZ, Efficient solution algorithms for the Riemann problem for real gases,
in preparation.

You might also like