Lecture 21:
Problem Solving
SIMPLER Algorithm
Last Time …
z Looked at
» SIMPLE algorithm
» Under-relaxation and convergence
» Boundary conditions
» Nature of pressure in incompressible flows
This Time…
z Do problems to understand how SIMPLE works
z Look at variants of SIMPLE
» SIMPLER
Example Problem 1
Problem 6.7 from Patankar
A portion of a water-supply system is shown in the figure.
The flow rate Q is given by:
Q = C ∆p
where ∆p is the pressure drop over the length of the pipe
and C is the hydraulic conductance. We have the
following data:
p1 = 275, p2 = 270, p4 = 0, p5 = 40, QF = 20
C A = 0.4, CB = CD = CF = 0.2, CC = CE = 0.1
Problem 1 (Cont’d)
B
1 6 7
3
A D F
C E
4 5
Problem 1 (Cont’d)
Find p3, p6 , QA , Q B , QC , QD and QE using the
following procedure:
z Guess p3 and p6 .
z Obtain Q* values based on the guessed pressures
z Construct the p’ equations and solve for p’3 and p’6 .
z Correct the guessed pressures and Q*
Do you need to iterate? Why?
Solution to Problem 1
1. Guess p*3 = p6* = 0. The discrete momentum equations are given by Q=C∆p.
QA* = C A ( p1 − p3* )
QB* = CB ( p3* − p2 )
QC* = CC ( p4 − p3* )
QD* = CD ( p3* − p6* )
QE* = CE ( p5 − p6* )
QF = 20
Solution to Problem 1 (cont’d)
Substituting values, we obtain:
QA* = 110; QB* = −54; QC* = 0; QD* = 0; QE* = 4
Now write continuity equation for nodes 3 and 6:
Q A + QC − QB − QD = 0
Q D + QE − QF = 0
Using Q = Q* + C ∆p′ we can derive two pressure correction equations:
C A ( 0 − p3′ ) + CC ( 0 − p3′ ) − CB ( p3′ − 0 ) − CD ( p3′ − p6′ ) = QB* + QD* − QA* − QC*
CD ( p3′ − p6′ ) + CE ( 0 − p6′ ) = QF − QD* − QE*
Solving yields p′3 = 200, p6′ = 80, so that p 3 = 200, p6 = 80 if no pressure
under-relaxation is used.
The corrected Q's are found using Q=Q* + C ∆p′ :
Q A = 30; QB = −14; QC = −20; QD = 24; QE = −4.
Do you need iteration?
Solution to Problem 1 (cont’d)
z We don’t need to iterate because
» Momentum equation is linear
» Pressure correction equation is exact
z Would you get a different answer if you started with a
different initial guess?
Example Problem 2
Problem 6.4 from Patankar
A one-dimensional flow through a porous material is
governed by:
dp
c u u+ =0
dx
where c is constant. The continuity equation is
d
( uA) = 0
dx
where A is the effective area for the flow.
Problem 2 (Cont’d)
Use the SIMPLE procedure to compute p2 , uB, and uC
from the following data:
∆x = 2, c B = 0.25, cC = 0.2
AB = 5, AC = 4, p1 = 200, p3 = 38
As an initial guess, set
u B = uC = 15 and p2 = 120
1 uB 2 uC 3
Solution to Problem 2
1. Consider momentum control volumes around u B and u c .
Discretizing:
c B uB* uB ∆x = p1 − p2*
aPB = c B uB* ∆x
b = p1 − p2*
cC uC* uC ∆x = p2* − p3
aPC = cC uC* ∆x
b = p1 − p2*
2. Create correction equations:
1
u′B = ( p1′ − p2′ ) = d B ( p1′ − p2′ )
aPB
1
uC′ = ( p2′ − p3′ ) = dC ( p2′ − p3′ )
aPC
1 1
dB = ; dC =
aPB aPC
Solution to Problem 2 (cont’d)
3. Now consider continuity on main control volume 2. Discretizing:
u B AB = uC AC
AB ( uB* + d B ( p1′ − p2′ ) ) = AC ( uC* + dC ( p2′ − p3′ ) )
AB ( uB* + d B ( 0 − p2′ ) ) = AC ( uC* + dC ( p2′ − 0 ) )
This yields pressure correction equation. Apply SIMPLE algorithm to solve.
Solution to Problem 2 (cont’d)
*** iter = 1***
Momentum coeffs: apb, apc= 9.375 7.5
Momentum solution: ub, uc= 11.5333328 13.9333334
Pprime coeffs: app, b= 1.06666672 1.93333054
Residual = 0.194097549
P2prime, ubprime, ucprime= 1.81249726 -0.193333045 0.241666317
Corrected ub,uc,p2= 11.3400002 14.1749992 121.449997
Continuity source after correction= 3.81469727E-06
Momentum residuals after correction: resb,resc= -14.2522011 -3.0777545
*** iter = 2***
Momentum coeffs: apb, apc= 7.0875001 7.08749962
Momentum solution: ub, uc= 13.350893 14.6092501
Pprime coeffs: app, b= 1.26984131 8.31746483
Residual = 0.228707522
P2prime, ubprime, ucprime= 6.55000353 -0.924162805 0.924162805
Corrected ub,uc,p2= 12.4267302 15.5334129 126.690002
Continuity source after correction= -9.53674316E-07
Momentum residuals after correction: resb,resc= 3.90181351 7.82476616
Solution to Problem 2 (Cont’d)
*** iter = 23***
Momentum coeffs: apb, apc= 7.50000954 7.50000954
Momentum solution: ub, uc= 11.9999905 14.9999886
Pprime coeffs: app, b= 1.1999985 -1.90734863E-06
Residual = 2.0851287E-06
P2prime, ubprime, ucprime= -1.5894592E-06 2.11927627E-07 -2.11927627E-07
Corrected ub,uc,p2= 11.9999905 14.9999886 128.
Continuity source after correction= -1.90734863E-06
Momentum residuals after correction: resb,resc= -0.000114440874 -0.000135987953
*** iter = 24***
Momentum coeffs: apb, apc= 7.4999938 7.49999475
Momentum solution: ub, uc= 12.0000057 15.0000057
Pprime coeffs: app, b= 1.200001 5.7220459E-06
Residual = 1.30806563E-06
P2prime, ubprime, ucprime= 4.76836749E-06 -6.3578284E-07 6.35782783E-07
Corrected ub,uc,p2= 12.0000048 15.0000067 128.
Continuity source after correction= -2.86102295E-06
Momentum residuals after correction: resb,resc= 5.72204699E-05 8.14497689E-05
SIMPLER Algorithm: Motivation
z The SIMPLE algorithm has been used widely but
suffers from a drawback
z Dropping the ∑ nb anbunb
'
, ∑ nb anb vnb
'
terms produces
too-large pressure corrections, needing under-
relaxation when correcting pressure
z Under-relaxation factors are problem-dependent
z Velocity corrections are good though
» Are configured to guarantee velocity fields are
continuity-satisfying every iteration
Motivation (Cont’d)
z Idea is to use pressure-correction to correct velocities
but not pressure
z Create a separate equation for pressure computation
Another Take…
z Let’s say we start with a good guess of velocity but a
bad guess of pressure
z First step in SIMPLE algorithm is to solve for u*,v*
using bad guess p*
z Even if velocity guess is good, bad p* destroys good
velocity guess right away
z Rest of the iterative procedure is basically trying to
recover the good velocity field
z Need to compute a good pressure field from good
velocity guess instead of having to guess it.
SIMPLER
z Semi-Implicit Method for Pressure-Linked Equations
(Revised)
z Creates a separate equation for pressure (rather than
using p’ equation)
z Uses p’ equation only to correct velocity
Pressure Equation
z Discrete momentum equations:
z Find velocities
Pressure Equation (Cont’d)
z Define hat velocities
z Momentum equations:
Pressure Equation (Cont’d)
z Multiplying hat velocities by density and area:
z Similarly, from the momentum equations:
Continuity Equation
z Discrete continuity equation for main control volume:
z Substitute for flow rates in terms of pressure and hat
velocities to obtain equation for pressure
Discrete Pressure Equation
z Scarborough criterion
satisfied in the equality
z Notice p coefficients are
the same as p’
coefficients
z b is in terms of F̂ , not
F* -- not mass imbalance
z No approximations – if
velocity is exact,
pressure is exact
Overall SIMPLER Algorithm
1. Guess velocity field
2. Compute momentum coefficients and store.
Compute uˆ , vˆ
3. Compute pressure coefficients and store.
Solve pressure equation and obtain pressure
4. Solve momentum equations using stored momentum
coefficients and just-computed pressure. Find u* and
v*
5. Find b term in pressure-correction equation using u*
and v*
SIMPLER Algorithm (Cont’d)
6. Solve p’ equation to find pressure correction field
7. Correct velocities:
Do not correct pressure!
8. Compute other scalar fields if necessary
9. Check for convergence. If not converged, go to 2. Else
stop.
Discussion
z SIMPLER is found to be faster than SIMPLE (about
30-50% fewer iterations)
z Does not need good pressure guess – finds it from
velocity guess
z About 50% larger computational effort typically
» Two pressure-like equations
» Expensive because of lack of Dirichlet conditions
z Need extra storage for pressure and momentum
coefficients
» Can recompute instead
Discussion (Cont’d)
z P’ equation only used for velocity correction –
pressure correction does not correct pressure
» No need to under-relax pressure correction
z May under-relax pressure equation directly, but
usually not necessary
z May need to under-relax momentum equations to
account for non-linearities, sequential solution
procedure (as with SIMPLE)
Closure
In this lecture:
z Did problems using SIMPLE
z Looked at one variant of SIMPLE
» SIMPLER
» Seeks to remedy the approximations made to the
pressure correction-velocity correction relationship
» Gives somewhat better performance but has a
storage penalty