Momentum
Momentum
Each component of momentum satisfies its own scalar-transport equation. For one cell:
d ∂𝜙
(mass × 𝜙) + ∑( 𝐶𝜙 −Γ 𝐴 ) = 𝑆
d𝑡 ∂𝑛 (1)
faces
rate of change advection diffusion source
where 𝐶 is the mass flux through a cell face. For the momentum-equation components:
concentration, 𝜙 ← velocity component (𝜙 = 𝑢, 𝑣, 𝑤)
diffusivity, Γ ← viscosity, 𝜇
source ← non-viscous forces
However, the equations for the momentum components differ from those for passive scalars
(those not affecting the flow) because they are:
• non-linear;
• coupled;
• required also to be mass-consistent.
For non-linearity, note that the x-momentum flux through an 𝑥-directed face is
𝐶𝑢 = (𝜌𝑢𝐴)𝑢 v mass flux
u
The mass flux 𝐶 is not constant but changes with 𝑢. The momentum uA
equation is therefore non-linear and must be solved iteratively.
For coupling, note that the 𝑦-momentum flux through an 𝑥-directed face is
𝐶𝑣 = (𝜌𝑢𝐴)𝑣
Again, via the mass flux, the 𝑣 equation depends on the solution of the 𝑢 equation, and vice
versa. Hence, the momentum equations are coupled and must be solved together.
Pressure also appears in the momentum equations. The need to determine it, together with the
fact that velocity components 𝑢, 𝑣, 𝑤 must satisfy mass conservation as well as momentum,
further couples the equations. This distinguishes compressible and incompressible CFD.
• In compressible flow, continuity provides a transport equation for density 𝜌. Pressure
is obtained by solving an energy equation to find temperature T and then using an
equation of state (e.g. 𝑝 = 𝜌𝑅𝑇).
• In incompressible flow, density variations are not determined by pressure. A pressure
equation arises from the requirement that the solutions of the momentum equations are
also mass-consistent; i.e. mass conservation leads to a pressure equation.
DO WHILE (not_converged)
CALL SCALAR_TRANSPORT( 𝑢 )
CALL SCALAR_TRANSPORT( 𝑣 )
CALL SCALAR_TRANSPORT( 𝑤 )
CALL MASS_CONSERVATION
END DO
By contrast, in many compressible-flow codes the main fluid variables are assembled and
solved as a vector (𝜌, 𝜌𝑢, 𝜌𝑣, 𝜌𝑤, 𝜌𝑒). This is called a coupled approach.
Question 3. Should velocity and pressure be co-located (stored at the same locations)?
area A
𝑎𝑃 𝑢𝑃 − ∑ 𝑎𝐹 𝑢𝐹 = 𝐴(𝑝
⏟ 𝑤 − 𝑝𝑒 ) + other forces
⏟ 𝐹 pressure force
(2)
net momentum flux
Hence,
𝐴
𝑢𝑃 = 𝑑𝑃 (𝑝𝑤 − 𝑝𝑒 ) + ⋯ where 𝑑𝑃 = (3)
𝑎𝑃
Answer 1
(a) The force terms in the momentum equation provide a link between velocity and pressure.
(b) Velocity depends on the pressure gradient or, when discretised, on the difference between
pressure values ½ cell either side. Symbolically:
𝑢 = −𝑑Δ𝑝 + ⋯
where Δ indicates a centred difference (“right minus left”).
W P E
= (𝜌𝐴𝑑)𝑒 (𝑝𝑃 − 𝑝𝐸 ) − (𝜌𝐴𝑑)𝑤 (𝑝𝑊 − 𝑝𝑃 ) + ⋯ w e
= −𝑎𝑊 𝑝𝑊 + 𝑎𝑝 𝑝𝑝 − 𝑎𝐸 𝑝𝐸 + ⋯ s
S
This has the same algebraic form as the scalar-transport equation.
Answer 2
The momentum equation provides a link between velocity and pressure which, when
substituted into the continuity equation, gives an equation for pressure.
Hence, a pressure equation arises from the requirement that solutions of the momentum
equation be mass-consistent.
Suppose pressure and velocity are co-located (stored at the same positions) and that advective
velocities (cell-face velocities in the mass fluxes) are calculated by linear interpolation.
So, both mass and momentum equations only link pressures at alternate nodes.
p
Thus, the combination of:
• co-located 𝑢, 𝑝;
• linear interpolation for advective velocities;
leads to decoupling of odd nodal values 𝑝1 , 𝑝3 , 𝑝5 , … from even
nodal values 𝑝2 , 𝑝4 , 𝑝6 , … . This odd-even decoupling or
checkerboard effect leads to oscillations in pressure. x
1 2 3 4 5 6 7 8 9 10
On a cartesian mesh …
pi-1
• In the momentum equation, pressure is stored at precisely ui pi
the points required to compute the pressure force.
𝑢𝑖 = 𝑑𝑖 (𝑝𝑖−1 − 𝑝𝑖 ) + ⋯
pi-1 ui pi ui+1 pi+1
• In the continuity equation velocity is stored at precisely the
points required to compute mass fluxes. For net mass flux:
𝑢𝑖+1 − 𝑢𝑖 + ⋯ = 𝑑𝑖+1 (𝑝𝑖 − 𝑝𝑖+1 ) − 𝑑𝑖 (𝑝𝑖−1 − 𝑝𝑖 ) + ⋯
= −𝑑𝑖 𝑝𝑖−1 + (𝑑𝑖 + 𝑑𝑖+1 )𝑝𝑖 − 𝑑𝑖+1 𝑝𝑖+1
No interpolation is required for cell-face values and there is a strong linkage between
successive pressure nodes, avoiding odd-even decoupling.
In shallow-water codes, depth ℎ replaces pressure 𝑝 and can also be staggered from velocity.
Advantages
• No interpolation required; on cartesian meshes, variables are stored exactly where
needed.
• No odd-even pressure decoupling.
Disadvantages
• Added geometrical complexity from multiple sets of nodes
and control volumes.
• If the mesh is not cartesian then the velocity nodes may
cease to lie between the pressure nodes that drive them (see
right).
• Very difficult to implement on unstructured meshes.
This amounts to adding and subtracting centred pressure differences worked out at different
places. For example, on the east face, with an overbar denoting linear interpolation to a face:
𝑢𝑒 = (𝑢 + 𝑑Δ𝑝)𝑒 − 𝑑𝑒 (𝑝𝐸 − 𝑝𝑃 ) (6)
Notes.
• The central pressure value does not cancel; there is no odd-even decoupling.
• This is a pressure equation. Moreover, it has the same algebraic form as a scalar-
transport equation:
𝑎𝑃 𝑝𝑃 − ∑ 𝑎𝐹 𝑝𝐹 = 𝑏𝑃 , where 𝑎𝐹 ≥ 0 , 𝑎𝑃 = ∑ 𝑎𝐹
• In practice it is common to solve iteratively for pressure corrections rather than pressure
itself (Section 5.3). Equation (7) then becomes
0 = (𝜌𝐴𝑢∗ )𝑒 − (𝜌𝐴𝑢∗ )𝑤 − 𝑎𝑊 𝑝′𝑊 + 𝑎𝑃 𝑝′𝑃 − 𝑎𝐸 𝑝′𝐸 + ⋯
where ∗ here denotes “current value of”. This can be rearranged as:
−𝑎𝑊 𝑝′𝑊 + 𝑎𝑃 𝑝′𝑃 − 𝑎𝐸 𝑝′𝐸 + ⋯ = − current mass outflow (8)
For the uniform cartesian mesh shown below the momentum equation gives a velocity/pressure
relationship
𝑢 = −4Δ𝑝 + ⋯
for each cell, where Δ denotes a centred difference.
u= 1 2 3 3
p= pA 0.8 0.7 0.6
For the 𝑢 and 𝑝 values given, calculate the advective velocity on the cell face marked f:
(a) by linear interpolation;
(b) by Rhie-Chow interpolation, if 𝑝𝐴 = 0.6 (local pressure maximum to the left of face);
(c) by Rhie-Chow interpolation, if 𝑝𝐴 = 0.9 (constant pressure gradient).
Answer
│ • │ • │ • │ • │
𝑢 1 2 3 3
𝑝 0.6 0.8 0.7 0.6
Answer: 𝑢𝑓 = 2.8
This is higher than that obtained from linear interpolation, a result of the velocity field trying
to alleviate the local pressure peak just to the left of the face.
(c) If 𝑝𝐴 = 0.9 then Rhie-Chow interpolation produces 𝑢𝑓 = 2.5, as for linear interpolation.
Parts (a) and (c) of the example above show that Rhie-Chow interpolation gives the same result
as linear interpolation if there is a constant pressure gradient, whereas if (as in part(b)) there is
a local pressure peak to one side of the face then the advective velocity increases to try to
reduce it.
For general values of 𝑢𝑖 and 𝑝𝑖 (and a uniform mesh and a constant coefficient 𝑑), Rhie-Chow
interpolation gives (exercise):
1 𝑑
𝑢face = (𝑢2 + 𝑢3 ) + (−𝑝1 + 3𝑝2 − 3𝑝3 + 𝑝4 )
2 4
Thus, Rhie-Chow interpolation adds a “pressure-smoothing” term to the part obtained simply
by interpolation.
A generalised form of the Rhie-Chow algorithm (based on local pressure gradients) is used for
unstructured meshes.
Increase cell pressure to drive mass out. Decrease cell pressure to suck mass in.
A 1 B 2 C 3
In the steady, one-dimensional, constant-density situation shown, the pressure p is stored at
locations 1, 2 and 3, whilst velocity 𝑢 is stored at the staggered locations A, B and C. The
velocity-correction formula is
′
𝑢 = 𝑢∗ + 𝑢′ , where 𝑢′ = 𝑑(𝑝𝑖−1 − 𝑝𝑖′ )
where pressure nodes 𝑖 − 1 and 𝑖 lie on either side of the location for 𝑢. The value of 𝑑 is 2
everywhere. The inflow boundary condition is 𝑢𝐴 = 10. If, at a given stage in the iteration
process, the momentum equations give 𝑢𝐵∗ = 8 and 𝑢𝐶∗ = 11, calculate the values of 𝑝1′, 𝑝2′ , 𝑝3′
and the resulting corrected velocities.
Classroom Example 2
In the 2-d staggered-grid arrangement shown below, 𝑢 and 𝑣 (the 𝑥 and 𝑦 components of
velocity), are stored at nodes indicated by arrows, whilst pressure 𝑝 is stored at the intermediate
nodes A – D. The grid spacing is uniform and the same in both directions. The velocity is fixed
on the boundaries as shown. The velocity components at the interior nodes (𝑢𝐵 , 𝑢𝐷 , 𝑣𝐶 and 𝑣𝐷 )
are to be found.
(a) Show that applying mass conservation to control volumes centred on pressure nodes
leads to simultaneous equations for the pressure corrections. Solve for the pressure
corrections and use them to generate a mass-consistent flow field.
5 10
10 C uD D 20
vC vD
5 A uB B 5
y
15 10
x
(b) Explain why, in practice, it is necessary to solve for the pressure correction and not just
the velocity corrections in order to satisfy mass conservation.
yes
(iii) Apply mass conservation to control volumes centred on the
pressure nodes. The net mass flux results from current (u*) plus END
correction (u) velocity fields:
Hence,
(𝜌𝑢′𝐴)𝑒 − (𝜌𝑢′𝐴)𝑤 + ⋯ = −𝑚̇∗ (minus the current net mass flux)
or, writing in terms of the pressure correction (staggered or non-staggered mesh):
(𝜌𝐴𝑑)𝑒 (𝑝𝑃′ − 𝑝𝐸′ ) − (𝜌𝐴𝑑)𝑤 (𝑝𝑊
′
− 𝑝𝑃′ ) + ⋯ = −𝑚̇∗
This results in a pressure-correction equation of the form:
𝑎𝑃 𝑝𝑃′ − ∑𝐹 𝑎𝐹 𝑝𝐹′ = −𝑚̇∗ (10)
Iterate.
Repeat stages 1 to 4 until mass and momentum equations are simultaneously satisfied.
• As they involve the velocities being computed, matrix elements change at each
iteration. There is little to be gained by solving matrix equations exactly at each stage,
but only doing enough iterations of the matrix solver to reduce the residuals by a
sufficient amount. Alternative strategies at each SIMPLE iteration are:
(1) 𝑚 iterations of each 𝑢, 𝑣, 𝑤 equation, followed by 𝑛 iterations of the 𝑝′ equation
(typically 𝑚 = 1, 𝑛 = 4); or
(2) do enough iterations of each equation to reduce the residual error to a small
fraction of the original (say 10%).
The SIMPLE scheme can be inefficient and requires considerable pressure under-relaxation.
This is because the corrected fields are good for updating velocity (since a mass-consistent
flow field is produced) but not pressure (because of the inaccuracy of the approximation
connecting velocity and pressure corrections). To remedy this, a number of variants of SIMPLE
have been produced.
The SIMPLE approximation is to neglect the term (*). However, this is actually of comparable
size to the LHS. In the SIMPLEC scheme, (12) is rewritten by subtracting (1/𝑎𝑃 ) ∑ 𝑎𝐹 𝑢𝑃′ from
both sides:
1 1
(1 − ∑ 𝑎𝐹 )𝑢𝑃′ = ∑ 𝑎𝐹 (𝑢𝐹′ − 𝑢𝑃′ ) + 𝑑𝑃 (𝑝𝑤
′
− 𝑝𝑒′ )
𝑎𝑃 𝑎
⏟𝑃
(∗∗)
Assuming that |𝑢𝐹′ − 𝑢𝑃′ | ≪ |𝑢𝑃′ |, it is more accurate to neglect the term (**), thus producing
SIMPLEX
This scheme assumes that velocity and pressure corrections are linked by some general
relationship
𝑢𝑃′ ≈ 𝛿𝑃 (𝑝𝑤
′
− 𝑝𝑒′ ) (15)
This includes both SIMPLE and SIMPLEC as special cases (see equation (14)). However, the
SIMPLEX scheme attempts to improve on this by actually solving equations for the 𝑃 . These
equations are derived from (12) but we shall not go into the details here.
This author’s experience is that SIMPLER and SIMPLEX offer substantial performance
improvements over SIMPLE on staggered grids, but that the “advanced” schemes are difficult
(impossible?) to formulate on co-located grids and offer little advantage there.
5.3.3 PISO
Apart from time-dependence, steps (i) and (ii) are essentially the same as SIMPLE. However,
step (iii) is designed to eliminate the need for outer iteration at each time step as would be the
case with SIMPLE. At first sight this sounds great; however, the pressure-correction equations
(ii) and (iii) must be solved to a fine tolerance on each pass, so requiring many more inner
iterations of the matrix equations.
Evidence suggests that PISO can be more efficient in some time-dependent calculations, but
SIMPLE and its variants are better in direct iteration to steady state.
• For incompressible flow, the requirement that solutions of the momentum equation be
mass-consistent generates a pressure equation.
• Pressure-gradient source terms lead to odd-even decoupling when all variables are co-
located (stored at the same nodes). This may be remedied by using either:
– a staggered velocity grid;
– a non-staggered grid, but Rhie-Chow interpolation for advective velocities.
• Widely-used pressure-correction algorithms are SIMPLE (and its variants) and PISO.
The first is an iterative scheme; the second is a non-iterative, time-dependent scheme.
References
Harlow, F.H. and Welch, J.E., 1965, Numerical calculation of time-dependent viscous
incompressible flow of fluid with a free surface, Physics of Fluids, 8, 2182-2189.
Issa, R.I., 1986, Solution of the implicitly discretised fluid flow equations by operator splitting,
J. Comput. Phys., 62, 40-65.
Patankar, S.V., 1980, Numerical Heat Transfer and Fluid Flow, McGraw-Hill.
Patankar, S.V., 1988, Elliptic systems: finite difference method I, Chapter 6 in Handbook of
Numerical Heat Transfer, Minkowycz, W.J., Sparrow, E.M., Schneider, G.E. and
Pletcher, R.H. (eds.), Wiley.
Raithby, G.D. and Schneider, G.E., 1988, Elliptic systems: finite difference method II, Chapter
7 in Handbook of Numerical Heat Transfer, Minkowycz, W.J., Sparrow, E.M.,
Schneider, G.E. and Pletcher, R.H. (eds.), Wiley.
Rhie, C.M. and Chow, W.L., 1983, A numerical study of the turbulent flow past an isolated
airfoil with trailing edge separation, AIAA Journal, 21, 1525-1532.
Van Doormaal, J.P. and Raithby, G.D., 1984, Enhancements of the SIMPLE method for
predicting incompressible fluid flows, Numerical Heat Transfer, 7, 147-163.
Q1.
For the rectangular control volume with surface pressures shown, what is:
A
(a) the net force in the 𝑥 direction? pw pe
(b) the net force in the 𝑥 direction, per unit volume?
(c) the average pressure gradient in the 𝑥 direction?
x
Q2. (1,4)
p=4
The figure right shows a quadrilateral cell in a 2-d mesh,
p=10 (5,3)
together with the coordinates of its vertices and the average
pressures on the cell faces. Calculate the 𝑥 and 𝑦 components
of the net pressure force on the cell (per unit depth). p=2
(-1,1)
p=1
(4,0)
Q3.
(3,5)
The figure shows a triangular cell in a 2-d mesh for an inviscid
CFD calculation. The vertex coordinates and the average
pressures on the cell edges are shown in the figure. The density p=2 p=5
𝜌 = 1.0 everywhere. Find the 𝑥 and 𝑦 components of:
y
(i) the net pressure force on the cell;
(ii) the fluid acceleration. x
(0,0) p=3 (4,0)
Q4.
The figure shows part of a cartesian mesh with the f
velocity u and pressure p at the centre of 4 control
volumes. If the momentum equation leads to a u= 5 4 3 2
pressure-velocity linkage of the form p = 0.6 0.7 1.1 1.6
𝑢 = −3Δ𝑝 + ⋯,
(where Δ represents a centred difference) use the Rhie-Chow procedure to find the advective
velocity on the cell face marked 𝑓.
(b) For what purpose is the Rhie-Chow algorithm used in pressure-based finite-volume
simulations of incompressible fluid flow?
Part of a uniform structured mesh is shown in the figure below, along with the cell-centred
values of the 𝑥-velocity component u and the pressure 𝑝 in consistent units. From the
discretised momentum equation, velocities and pressures are found to be linked by
1
𝑢 = − Δ𝑝 + ⋯
2
where Δ here denotes a centred difference.
w e
i-2 i-1 i i+1 i+2
p= 2 6 5 7 4
u= 1 2 3 4 5
(c) Find the velocity on the ‘w’ and ‘e’ faces of cell i (positions 𝑖 − ½ and 𝑖 + ½) using:
(i) linear interpolation;
(ii) Rhie-Chow interpolation.
Comment briefly on your results and the effect of the pressure field on advective
velocities.
(d) Assuming flow only in the 𝑥 direction, and using the face velocities found in part (c)(ii)
as the current velocity values, set up – but do not solve – the pressure-correction
equation for cell 𝑖.
Q6.
The figure defines the relative position of velocity (→) and pressure (•) nodes in a 1-d,
staggered-grid arrangement.
u1 u2 u3 u4
p1 p2 p3 p4
Velocity 𝑢1 = 4 is fixed as a boundary condition. After solving the momentum equation the
velocities at the other nodes are found to be
𝑢2 = 3, 𝑢3 = 5, 𝑢4 = 6.
The relationship between velocity and pressure is found (from the discretised momentum
equation) to be of the form
𝑢 = −4Δ𝑝 + ⋯
at each node, where Δ denotes a space-centred difference.
Apply mass conservation to cells centred on scalar nodes, calculate the pressure corrections
necessary to enforce continuity, and confirm that a mass-consistent velocity field is obtained.
(b) What particular problem can arise from storing pressure and velocity at the same nodal
points in a finite-volume CFD calculation? State two widely-used remedies for this.
In the 2-d staggered-grid arrangement shown below, 𝑢 and 𝑣 (the 𝑥 and 𝑦 components of
velocity) are stored at nodes indicated by arrows, whilst pressure 𝑝 is stored at intermediate
nodes A, B, C, D. Grid spacing is uniform and the same in both directions. Velocity is fixed at
inflow. Upper and lower boundaries are impermeable.
(c) Apply a uniform scale factor to the outflow velocities to enforce global mass
conservation, stating the scale factor and outflow velocities after its application.
(d) Show that applying mass conservation to control volumes centred on pressure nodes
leads to simultaneous equations for the pressure corrections. Solve for the pressure
corrections and use them to generate a mass-consistent flow field.
5 A uC C uE
vA vC
3 B uD D uF
inflow outflow
Part of a uniform structured mesh is shown in the figure below, along with the cell-centred
values of the 𝑥-velocity component u and the pressure 𝑝 in consistent units. From the
discretised momentum equation, velocities and pressures are found to be linked by
𝑢 = −2Δ𝑝 + ⋯
where Δ here denotes a centred difference.
w e
i-2 i-1 i i+1 i+2
p= 4 5 2 3 0
u= 10 10 10 10 10
(b) Find the velocity on the ‘w’ and ‘e’ faces of cell i (positions 𝑖 − ½ and 𝑖 + ½) using
Rhie-Chow interpolation. What anomaly in the pressure field is the Rhie-Chow
algorithm attempting to alleviate here?
(c) Assuming flow only in the 𝑥 direction, and using the cell-face velocities found in part
(b), set up the pressure-correction equation for cell 𝑖.
′ ′
(d) Assuming that 𝑝𝑖+1 = 𝑝𝑖−1 = 0, calculate 𝑝𝑖′ and use it to correct the pressure at node
𝑖 and the cell-face velocities found in part (b).