CFD { Solution Algorithms
SOE3213/4: CFD Lecture 3
3.1
N-S Equations
r:u = 0 1 @p @ux + r:(uux ) = + r2 ux @t @x
@uy 1 @p + r:(uuy ) = + r2 uy @t @y @uz 1 @p + r:(uuz ) = + r2 uz @t @z
1 @p @x
(1) (2) (3) (4)
Transport equation form, with source
Two main problems 1. The equation is non-linear 2. The source term involves p NSE 3 equations for 4 variables, +1 constraint equation.
Need p to nd u, need u to nd p Equations solved sequentially Iterate until all elds correct
Several dierent approaches used to solve these equations. 2 main ones : PISO { Pressure Implicit Splitting of Operators { for time dependent
ows SIMPLE { Semi-Implicit Method for Pressure Linked Equations { used for steady state problems
3.2
PISO
Eqn (2) if we know p,
ux, can nd ux . Eqns (2{4), (1) combined 3 equation for p given the
ux :
r: A rp
Flux has to satisfy continuity (1)
= (
ux term)
PISO algorithm as follows : 1. Guess p,
ux (values from previous timestep) 2. Use equation (2) to nd ux , uy etc. 3. Solve pressure equation for p 4. Correct
ux to satisfy continuity
Start
Guess p, flux (values from previous timestep)
Use equation (3) to find ux, uy, uz
Solve pressure equation to get p
Correct flux to satisfy continuity
Next timestep? N
3.3
SIMPLE
Could iterate PISO until steady-state. More usual to use SIMPLE. 2
r:u = 0 1 @p r:(uux ) = @x + r2 ux
1 @p r:(uuy ) = @y + r2 uy 1 @p r:(uuz ) = @z + r2 uz (5)
1. Guess an initial pressure eld p 2. Use equation (5) to create a velocity eld u from this pressure eld 3. Find a correction pH to the pressure eld
p = p + pH
4. Correct the velocity (
ux) to obey continuity. In theory, p and u should now be the desired solution. In practice, it is necessary to repeat this procedure as an iterative process. If new solution p , u adopted at each step 3 algorithm becomes unstable. Thus, use underrelaxation : 5. Underrelax solution
pn+1 = p + (1 )pn is underrelaxation parameter. At each step of the iteration, the error in the solution (the residual) should decrease { residuals for all variables should be monitored to ensure this.
Start
Guess p *
Find u* from momentum eqn.
Find pressure correction p Find flux correction
Correct fields p**= p* + p
Update fields (underrelaxation)
Tolerance achieved? y
3.4
Initial/Boundary Conditions
Initial condition { state of p and u at all points in the
ow.
most
uid
ow problems parabolic or hyperbolic part on initial conditions
3 solution depends in
specify known values for p and u, or make sensible guess may need to timestep until the eect of the I.C. absent Steady viscous
ows { elliptic however methods parabolic { need starting conditions
Boundary conditions { largely specify what the solution will be 3 main types of b.c. { walls, inlets, outlets Walls { u = 0 parallel to the wall (unless the wall is moving in which case the
uid will share the motion) Fluid inlet { specify u. Fluid outlet { specify p
N.B. If b.c. incorrectly specied, problem becomes ill posed { no solution possible. 4
3.5
Full solution { recap
Build mathematical model of the problem
{ (NSE, turbulence, combustion. . .
Discretise the equations on a mesh
{ converts mathematical model to dierence equations
Solve the discretised equations
{ inverting discretised matrix equation { NSE nonlinear, 3 PISO and SIMPLE
Analyse the results
{ check results make sense physically, { check numerical solution, eg. mesh independence { process data to extract information
Using commercial code :
Dene the geometry Generate the mesh Switch on physical models Specify physical constants Specify boundary/initial conditions Specify numerical parameters Run the solver Postprocess results