04 Finite Volume 2nd Order
04 Finite Volume 2nd Order
Godunov’s idea
x
xi-1/2 xi+1/2 xi+3/2
2 Godunov Type Schemes - 2nd order (MUSCL)
Godunov’s method
<latexit sha1_base64="VLCymXpQhZl0LB/iqbGtLo7cVQ0=">AAADHHichVHRStxAFD2m1apVu20f+xJcBEVYkqVYXwSptfRFUOiq4MoyibPrsNkkTCbS7bK/4m/0B/omfS0o9FV/wgdPxqjYRZwwuXfOPffMvXODNFKZ8bzzMefFy/GJV5NT069nZufeVN6+282SXIeyESZRovcDkclIxbJhlInkfqql6AWR3Au6G0V870TqTCXxd9NP5WFPdGLVVqEwhFqVnbxl3GW32dYiHDRToY0Skdtu+Yv50vAB+DEkaZRVf8zqD9dcr1WpejXPLnfU8UuninJtJ5ULNHGEBCFy9CARw9CPIJDxO4APDymxQwyIaXrKxiWGmGZuTpYkQxDt8t/h6aBEY54Lzcxmh7wl4tbMdLHA/dUqBmQXt0r6Ge0190+LdZ68YWCViwr7tAEVp6ziFnGDYzKey+yVzLtans8sujJoY9V2o1hfapGiz/Be5wsjmljXRlxsWmaHGoE9n/AFYtoGKyhe+U7BtR0f0QprpVWJS0VBPU1bvD7r4Zj9/4c66uzWa/5KbWXnY3X9cznwSXzAPBY51U9Yxzdss44Qv/APl7hyTp3fzpnz55bqjJU57/FoOX9vALTlrpY=</latexit>
ut + A1 (u) + A2 (u) =0
@x @x
§ P. Roe (1981): Replace the exact solution of the original Riemann problem
by the exact solution of the linearized Riemann problem:
ì u l für x < 0
u t + A lr u x = 0, u (x ,0 ) = í
î u r für x > 0
x t x x
= a1 = a2 = a3
t t t
u1 u2
u1 = ul + g1r1
ul ur u2 = ul + g1r1 + g 2r2
1 1 3
§ The flux g Roe (u i , u i +1 ) = (f i +1 + f i ) - å a k g k rk
2 2 k =1
Central difference Correction according
to wave propagation
6 Godunov Type Schemes - 2nd order (MUSCL)
Properties of the Roe scheme
§ At strong rarefactions, the Roe scheme might violate the entropy condition.
"
$ a für a1,3 > δ
g Entropy fix: a 1,3 = # 1,3
$
% δ otherwise
x x
= al = ar
t t t
Dt
ulr
Dx Dx x
-
2 2
§ Even further simplification: Only one state between left and right
( x
* ul for < al
* t
!x $ * x
w # ; ul ; ur & = ) ulr for al ≤ ≤ ar
"t % * t
* x
* ur for > ar
+ t
t t t
Contact
discontinuity x = a2t
Rarefaction x = a1t
x = a 3t x = alt x = art
u1 u2 u1 ulr
u2
ul ur x ul ur x ul ur x
Upwind differencing
§ Flux-difference splitting schemes: Godunov-type schemes
Godunov, Roe, HLL, Osher
§ Flux-vector splitting schemes
Steger-Warming, van Leer, AUSM, ...
§ Explicit time discretizations are numerically stable only under a condition. I.e. the max. time
step is restricted:
xi x
xi -1/ 2 xi +1/ 2
§ To calculate the flux over the boundary, we assume that the state on the cell boundary is
constant during the time step.
§ This is justified only as long as no waves of the neighbouring Riemann problem interact with
the ones of the local Riemann problem.
13 Godunov Type Schemes - 2nd order (MUSCL)
Time step restriction
§ I.e. we search for the time, which the fastest wave needs from one cell
boundary to the next one:
t Δt i 1
=
< CFL condition
Δx i v1i + c i
v1i + c Δx i
⇒ Δt i <=
v1i + c i
xi x Δx i = x i+1/2 − x i−1/2
xi -1/ 2 xi +1/ 2
§ In practice, the CFL conditions (named after Courant, Friedrichs und Levy)
is multiplied by a security factor s to get from inequality to equation:
Δx i
Δt i = σ ⋅
v1i + c i
14 Godunov Type Schemes - 2nd order (MUSCL)
Time step restriction
§ The states in the cells vary as well as the cell sizes in the computational domain.
Therefore, the time step has to be caculated per cell (local time step).
§ The entire simulation than has to use the smallest local time step:
$ '
Δx
Δt global = σ ⋅ min & max i )
&v )
% i + ci (
§ For stationary problems, it is possible to use the local time step in each cell (i.e.
allow for temporal inconsistency).
§ This is possible since for the fully converged solution, the change of the states is
zero.
§ For instationary problems, this is not possible.
15 Godunov Type Schemes - 2nd order (MUSCL)
Time step calculation on arbitrary meshes
In multiple space dimensions, the time step restriction becomes more severe.
We have to use a characteristic lenth for each cell, i.e. the diameter of the
inner circle.
$ '
2 ⋅ r
Δt global = σ ⋅ min & max i )
&v + c )
% i i (
§ Explicit in time
§ Upwind in space
integral
mean values
n
∑u i+1 − uni ≤ ∑ ui+1
0
− ui0
all i all i
§ Sufficient condition
€ (A.Harten)
% Δx si Δx si (
0≤& , )≤ 2
u
' i − ui−1 ui+1 − ui*
€
24 Godunov Type Schemes - 2nd order (MUSCL)
Limiters
§ Minmod limiter (
si = minmod Li, j , Ri, j )
#a for a < b , ab > 0
%%
€ ( )
minmod a , b = $b for a ≥ b , ab > 0
%
%&0 otherwise
€
25 Godunov Type Schemes - 2nd order (MUSCL) €
Reconstruction in space and time
§ At time tn, extrapolate from middle of the cell (i,j) to boundary of the cell
(i+1/2,j)
Δx n
uni± = uni ± si slope sin
2
§ To get the 2nd order also in time, the basic idea is the same: extrapolate from
time level tn to time level tn+1:
n+ 1 Δt
ui±
2
= uni± + u
2 t
§ But: we can not compute a slope in time, because we only have 1 time level.
Therefore, we replace €the time derivatives by spatial derivatives
Δt Δt
t n → t n+1/2: un+1/2
i±
= uni± −
2 ⋅ Δx
( ( ) ( ))
f uni+ − f uni− = uni± −
2 ⋅ Δx
(
ai±1/2 uni+ − uni− )
26 Godunov Type Schemes - 2nd order (MUSCL)
How to get the flux with that
gn+1/2 (n+1/2
i+1/2 = g ui+ , un+1/2
(i+1) − )
27 Godunov Type Schemes - 2nd order (MUSCL)
€
Upwind scheme with MUSCL
hi, j+ 12 analogously
28
€
Godunov Type Schemes - 2nd order (MUSCL)
MUSCL procedure (summary)
Δx n
§ Boundary values at tn uni± = uni ± si Slope sin
2
Reconstruction
Flux calculation