You are on page 1of 19

Finite volume method

The finite volume method is based on (I)


Integral conservation law (I)
rather than (D). The integral conservation Z Z Z
law is enforced for small control volumes
u dV + f n dS = q dV
t V
defined by the computational mesh: S V
S n
f = vu du
N
V

V = Vi ,
[
Vi Vj = , i 6= j
dS f
flux function
i=1 Z Z Z
u
1
Z
dV + f dV = q dV
ui = u dV mean value V t V V
|Vi | Vi
Partial differential equation (D)
To be specified u
+ f = q in V
concrete choice of control volumes t
u
type of approximation inside them In steady state t
= 0 so that

numerical methods for evaluation (uv) = (du) + q


of integrals and fluxes
Definition of control volumes

Vertex-centered FVM Cell-centered FVM

1D ui 1D ui
ui+1 ui+1
ui 1 ui 1

Vi Vi

xi 1 xi xi+1 xi 1 xi 1=2 xi
xi 1=2 xi+1=2
2D 2D

Vi

Vi Vi
Vi

Different grids / control volumes can be used for different variables (v, p, . . .)
Discretization of local subproblems

Integral equation for a single finite volume

1 X 1 1
Z Z Z
ui
+ f nk dS = qi , ui = u dV, qi = q dV
t |Vi | Sk |V i | Vi |Vi | Vi
k

the integral conservation law is satisfied for each CV and for the entire domain
to obtain a linear system, integrals must be expressed in terms of mean values

Numerical integration pn (x)


Z n
X
f (x) dV wi f (xi )
V i=0

where wi 0 are the weights and xi are


the nodes of the quadrature rule x0 xi xn

Such formulae can be derived by exact integration of an interpolation polynomial


Newton-Cotes quadrature rules for intervals

x1 +x2
1D x12 = 2 , V = (x1 , x2 ), |V | = x2 x1
x1 x12 x2
Z
Midpoint rule f (x) dV |V |f12 exact for f P1 (V )
V

f1 + f2
Z
Trapezoidal rule f (x) dV |V | exact for f P1 (V )
V 2
f1 + 4f12 + f2
Z
Simpsons rule f (x) dV |V | exact for f P3 (V )
V 6

Numerical integration for quadrilaterals/hexahedra


y 

1 use a mapping onto a unit square


V
V^ and apply 1D quadrature rules in
each coordinate direction
x 0 1 
Newton-Cotes quadrature rules for triangles
2D x3
Midpoints
x1 + x2 x1 + x3 x2 + x3
x13 x123 x23 x12 =
2
, x13 =
2
, x23 =
2
x1 + x2 + x3
Center of gravity x123 =
3
x1 x12 x2
Z
f (x) dV |V |f123 exact for f P1 (V )
V

f1 + f2 + f3
Z
f (x) dV |V | exact for f P1 (V )
V 3
f12 + f23 + f13
Z
f (x) dV |V | exact for f P2 (V )
V 3
3(f1 + f2 + f3 ) + 8(f12 + f23 + f13 ) + 27f123
Z
f (x) dV |V |
V 60
exact for f P3 (V )
Newton-Cotes quadrature rules for tetrahedra
3D x4

Center of gravity
x1234
x3 x1234 =
x1 + x2 + x3 + x4
4
x1
x2
Z
f (x) dV |V |f1234 exact for f P1 (V )
V

f1 + f2 + f3 + f4
Z
f (x) dV |V | exact for f P1 (V )
V 4
f1 + f2 + f3 + f4 + 16f1234
Z
f (x) dV |V | exact for f P2 (V )
V 20
Interpolation techniques

Problem: the solution is available only at computational nodes (CV centers)


Interpolation is needed to obtain the function values at quadrature points

1
R
Volume integrals ui = |Vi | Vi
u dV u(
xi ) midpoint rule

1
P R
Surface integrals f = vu du |Vi | f nk dS = Ic + Id
k Sk

1 X 1 X
Z Z
Ic = (v nk )u dS, Id = d(nk u) dS
|Vi | Sk |Vi | Sk
k k

Approximation of convective fluxes vertex-centered FVM


ui
1
1D: |Vi | x = N, xi = ix ui 1
ui+1

ui+1/2 ui1/2 Vi
Ic = v , v = const
x
xi 1 xi xi+1
How to define the interface values ui1/2 ? xi 1=2 xi+1=2
Upwind difference approximation (UDS)

Piecewise-constant solution Upwind-biased interface values

ui 1=2 ui+1=2
v>0 ui1/2 ui1 , ui+1/2 ui
ui+1
ui ui ui1
Ic v backward difference
ui 1 x

x v<0 ui1/2 ui , ui+1/2 ui+1


xi 1 xi xi+1
ui+1 ui
xi 1=2 xi+1=2 Ic v forward difference
x
Taylor series expansion
(x)2 2u
   
vx u
vui+1/2 = vui + +v + ...
2 x i 8 x2 i

a first-order accurate flux approximation, the leading truncation error resembles


a diffusive flux d u
x with d = vx
2 being the numerical diffusion coefficient
Central difference approximation (CDS)

Piecewise-linear solution Interpolation polynomial


ui 1=2 ui+1=2 xR x x xL
p1 (x) = uL + uR
ui+1 xR xL xR xL
ui
Averaged interface values
ui 1
ui1 + ui ui + ui+1
ui1/2 , ui+1/2
x 2 2

xi 1 xi xi+1
ui+1 ui1
Ic v central difference
xi 1=2 xi+1=2
2x

Taylor series expansions


 
x u
 (x)2 2 u
ui+1 = ui+1/2 + 2 x i+1/2 + 8 x2 + ...
i+1/2
 
x u
 (x)2 2 u
ui = ui+1/2 2 x i+1/2 + 8 x2 ...
i+1/2

ui + ui+1 (x)2 2u
 
Hence, ui+1/2 = + ... (second-order accuracy)
2 8 x2 i+1/2
Linear upwind difference scheme (LUDS)

Piecewise-linear solution Upwind-biased extrapolation


ui 1=2 ui+1=2 3ui1 ui2
ui1/2 2
v ui+1
v>0 3ui ui1
ui ui+1/2 2

ui 1 3ui 4ui1 + ui2


ui 2 Ic v
2x
x
3ui ui+1
xi 2 xi 1 xi xi+1 ui1/2 2
v<0 3ui+1 ui+2
xi 1=2 xi+1=2 ui+1/2 2

LUDS is second-order accurate, equivalent 3ui 4ui+1 + ui+2


Ic v
to the one-sided 3-point finite difference 2x

The matrix is no longer tridiagonal (shifted, upper/lower triangular if Id = 0)


(m+1) (m+1) (m) (m)
Defect correction: ILU DS = IU DS + [ILU DS IU DS ], m = 0, 1, 2, . . .
Quadratic upwind difference scheme (QUICK)

Quadratic Upwind Interpolation for Convective Kinematics


p2 (x) = uL xxxM
L xM
xR x
xR xL + uM xxx
M
L
x x
xR x
L R xM
+ uR x
xxL xxM
R xL xR xM

ui 1=2 ui+1=2
Upwind-biased interface values
v ui+1
ui 3ui +6ui1 ui2
ui1/2 8
ui 1 v>0
ui 2 ui+1/2 3ui+1 +6ui ui1
8
x
3ui+1 + 3ui 7ui1 + ui2
xi 2 xi 1 xi xi+1
Ic v
8x
xi 1=2 xi+1=2
3ui1 +6ui ui+1
ui1/2 8
third-order flux approximation v<0 3ui +6ui+1 ui+2
ui+1/2 8
second-order overall accuracy
3ui1 + 3ui 7ui+1 + ui+2
(because of the midpoint rule) Ic v
8x
marginally better than LUDS
Evaluation of surface integrals
Approximation of convective fluxes
any second-order finite volume scheme is a linear combination of CDS and
LU DS approximations (e.g. IQU ICK = 34 ICDS + 41 ILU DS )
high-order schemes can be readily derived by polynomial fitting based on
pm (x), m > 2 but pay off only if the quadrature rule matches their accuracy
a high-order scheme is guaranteed to produce better results than a low-order
one only asymptotically i.e. for sufficiently fine meshes

Approximation of diffusive fluxes


slopes of the
 
ui ui1
 
u u ui+1 ui
,
x i1/2 x x i+1/2 x straight lines

Second-order accurate central difference


u u
 
d x i+1/2 d x i1/2 ui+1 2ui + ui1
Id = d
x (x)2
Discretization of transport problems


Convective transport first derivatives x , y , z


+ (v) = 0 continuity equation (hyperbolic)
t

2 2 2
Diffusive transport second derivatives x2 , y 2 , z 2 , . . .

T
(T ) = 0 heat conduction (parabolic/elliptic)
t

Dimensionless numbers: ratio of convection and diffusion


v0 L0 v0 L0
Pe = d Peclet number Re = Reynolds number

Convection-dominated transport equations (such that P e 1 or Re 1)


are essentially hyperbolic, which may give rise to numerical difficulties.
Example: 1D convection-diffusion equation
Boundary value problem Exact solution

v u 2 u ePe x 1 v
x d x2 = 0 in (0, 1) u = Pe , Pe =
e 1 d
u(0) = 0, u(1) = 1

where Pe is the Peclet number
Vertex-centered finite volume method
u u
 
ui+1/2 ui1/2 x i+1/2 x i1/2
Pe =0
x x
1
Solution behavior for v > 0 xi = ix, x = N, i = 0, 1, . . . N
u u u
1
v 1
v 1
v

P e = 40 smearing wiggles

x = 0.1

0 1 x 0 1 x 0 1 x

exact solution upwind difference central difference


Discretized convection-diffusion equation
Upwind difference scheme
ui ui1 ui1 2ui + ui+1
Pe = 0, i = 1, . . . , N 1
x (x)2

Central difference scheme


ui+1 ui1 ui1 2ui + ui+1
Pe = 0, i = 1, . . . , N 1
2x (x)2

Boundary conditions u0 = 0, uN = 1

Linear system Au = F A RN 1N 1 u, F RN 1

b c u1 0

a b c u2 0
1
A=

a b c ,

u=

u3 ,

F =
0
(x)2

...
c
a b uN 1 (x) 2

where A is a tridiagonal, nonsymmetric matrix with constant coefficients


Exact solution of the difference scheme

Linear equation for an interior node

aui1 + bui + cui+1 = 0 a < 0, b > 0, a+b+c=0

a b c
upwind difference 1 Pe x 2 + Pe x 1
central difference 1 0.5 Pe x 2 1 + 0.5 Pe x

Trial solution ui = + ri , u0 = 0, uN = 1 (boundary conditions)

ari1 + br i + cri+1 = 0, b = (a + c) cr2 (a + c)r + a = 0


p
(a + c) (a + c)2 4ac (a + c) (a c) a
r1,2 = = , r1 = , r2 = 1
2c 2c c
a
A constant solution does not satisfy the BC r= c is the root we need.
Numerical behavior of the difference scheme

a i

Trial solution ui = + c subject to the boundary conditions
 a N 1
u0 = + = 0, uN = + =1 = =
c a N

1 c
i
1( a
c) P
Hence, ui = N = Q is the exact solution of the difference scheme.
1( a
c )

a
a

c >1 P < 0, Q<0 ui > 0
c<0 a < 0, c >0
a
0<
c <1 P > 0, Q>0 ui > 0
positivity-preserving

a a
c>0 a < 0, c < 0; a + c = b < 0 c < a c < 1
P changes its sign so that sign(ui ) = sign(ui1 ) nonphysical oscillations

c=0 ui = ab ui1 = 0, i = 1, . . . , N 1 u0 = 0, uN = 1
no spurious oscillations but the accuracy leaves a lot to be desired
Evaluation of the central difference scheme

Criterion: the difference scheme produces no oscillations if c 0


Under this condition the matrix A is diagonally dominant

|b| = |a| + |c| for c 0


a < 0, b = (a + c)
|b| < |a| + |c| for c > 0

Moreover, A is an M-matrix so that all the entries of its inverse are nonnegative

Central difference scheme u


1
v
Pe x
c = 1 + 0 Pe x 2
2 wiggles

this condition is very restrictive for large Pe


wiggles occur just in the vicinity of steep gradients
a local mesh refinement is useful for moderate Pe 0 1 x
Evaluation of the upwind difference scheme

Upwind difference scheme c = 1 is negative unconditionally

(x)2 2 u (x)3 3 u
     
u
Taylor series ui1 = ui x + +...
x i 2 x2 i 6 x3 i
   2 
ui ui1 ui1 2ui + ui+1 Pe x 2 u
 
u u
Pe 2
= Pe 2
2
+ O(x)2
x (x) x i x i 2 x i
u
The truncation error is O(x) for the original equation 1
v
but O(x)2 for the so-called modified equation
smearing
vx 2 u
 
u
v d+ =0
x 2 x2
vx
where 2 is the numerical (artificial) diffusion coefficient 0 1 x

UDS is nonoscillatory but not to be recommended because of its low accuracy.

You might also like