0% found this document useful (0 votes)
14 views47 pages

3 NumericalSolution ODEs

Numerical solutions of ODEs in fluid dynamics

Uploaded by

jabrayanserouj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views47 pages

3 NumericalSolution ODEs

Numerical solutions of ODEs in fluid dynamics

Uploaded by

jabrayanserouj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 47

Numerical Methods in Thermo-Fluid Dynamics I

Initial value problems: Time-Stepping

Dr.-Ing. Manuel Münsch


Friedrich-Alexander Universität Erlangen-Nürnberg
Lehrstuhl für Strömungsmechanik

Erlangen
Erlangen

Schedule
No. Week(s) Practical Lecture Exercise
Monday: 10:00-11:30 Monday: 14:15-15:45 Wednesday: 10:15-11:45
Room: online Room: online Room: online
1. 02.11.20-06.11.20 Matlab Tutorial I Introduction and Navier-Stokes Eq. No Exercise
2. 09.11.20-13.11.20 Matlab Tutorial II; Computer Exercise 1 Simplification of NSE up to Boundary Layer Eq. Hand out Exercise 1
3. 16.11.20-20.11.20 Work on Computer Ex. 1 Initial Value Problems: Time Stepping (ODEs) Work on Exercise 1
4. 23.11.20-27.11.20 Work on Computer Ex. 1 Finite Difference Method 1 Presentation Ex. 1 &
Hand out Ex. 2
5. 30.11.20-04.12.20 Work on Computer Ex. 1 Finite Difference Method 2 Work on Ex. 2
6. 07.12.20-11.12.20 Work on Computer Ex. 1 Consistency, Stability and Convergence Presentation Ex. 2 &
Hand out Ex. 3 + 4
7. 14.12.20-18.12.20 Submit & Present Computer Ex. 1 Finite Volume Method 1 Work on Ex. 3 + 4
Computer Ex. 2
8. 21.12.20-23.12.20 Work on Computer Ex. 2 Finite Volume Method 2 Work on Ex. 3 + 4
24.12.20-06.01.21 Holiday Holiday Holiday
07.01.21-08.01.21 Presentation Ex. 3 + 4 &
Hand out Ex. 5
9. 11.01.21-15.01.21 Submit & Present Computer Ex. 2 Numerical solution of the Navier-Stokes-Equations 1 Work on Ex. 5
Computer Ex. 3
10. 18.01.21-22.01.21 Work on Computer Ex. 3 Numerical solution of the Navier-Stokes-Equations 2 Work on Ex. 5
11. 25.01.21-29.01.21 Work on Computer Ex. 3 Numerical solution of the Navier-Stokes-Equations 3 Presentation Ex. 5 &
Hand out Ex. 6
12. 01.02.21-05.02.21 Work on Computer Ex. 3 Numerical solution of the Navier-Stokes-Equations 4 Work on Ex. 6
Hand out Ex.6
13. 08.02.21-12.02.21 Submit & Present Computer Ex. 3 Boundary Conditions Presentation Ex. 6

Dr.-Ing. Manuel Münsch | FAU | 2


Erlangen

Outline

• PART 1: Repetition
• Boundary Layer: Blasius Equation

• PART 2: Time Discretization


• Introduction
• Single-Step Procedures:
• Explicit Euler, Implicit Euler, Leapfrog, Crank-Nicolson, Runge-Kutta
• Explicit versus Implicit
• Benchmark & Errors
• Multi-Step Procedures:
• Adams-Bashford, Adams-Moulton, Backward-Differencing

Dr.-Ing. Manuel Münsch | FAU | 3


PART 1: Repetition

Erlangen
Erlangen

Boundary Layer Equations

(Source: Vorlesungsskript Numerische Strömungsmechanik, M. Breuer, LSTM, 2006)

Mass: Boundary conditions:


∂u ∂v
+ =0 (1) y =0:u=v =0 (3)
∂x ∂y
Momentum: y − > ∞ : u − > u∞ (4)
∂u ∂u ∂ 2u
u +v =ν 2 (2)
∂x ∂y ∂y
-> Parabolic in x, elliptic in y
Dr.-Ing. Manuel Münsch | FAU | 5
Erlangen

Incompressible Newtonian Fluid


• Introduce stream-function ψ:
∂ψ ∂ψ
u= and v =− (5)
∂y ∂x
u
• Similarity assumption - the velocity profiles are matching if u∞
is a function
of the similarity coordinate
r
u u∞
= F (η) with η(x , y ) = y (6)
u∞ νx
• Find: Z
f (η) = F (η)d η (7)
• Blasius equation:
f f 00 + 2 f 000 = 0
(8)
with the boundary conditions:
• for η = 0: f 0 = f = 0 no-slip condition
• for η = ∞: f 0 = 1 non-viscid outer flow
Dr.-Ing. Manuel Münsch | FAU | 6
Erlangen

Boundary Layer Equations


Ordinary Differential Equation: Solution 
  (8)
Equation   can besolved
 ! numerically
  1    schemes, Euler
with: Runge-Kutta
schemes ... (see PART 2 of this lecture)

Flow velocities:
∂ψ ∂ψ ∂η
u= = = u∞f 0(η) (9)
∂y ∂η r
∂y

   ∂ψ 1 ν u∞ 0
v =− = (η f (η) − f (η)) (10)
∂x 2 x

 
  

       

Dr.-Ing. Manuel Münsch | FAU | 7


PART 2: Initial value problems: Time-Stepping

Erlangen
Erlangen

Example: Classical time dependent flow


Flow around a cylinder at Re = 200
0.02

0.015 U/U∞
1.5
0.01 1.4
1.3
1.2
0.005 1.1
1
Y [m]

0.9
0 0.8
0.7
0.6
-0.005 0.5
0.4
-0.01 0.3
0.2
0.1
-0.015

-0.02
0 0.02 0.04
X [m]

• vortical structures are shedding from the surface of the cylinder leading to
the formation of a vortex street
Dr.-Ing. Manuel Münsch | FAU | 9
Erlangen

Introduction
Navier-Stokes Equations
For discretization purposes the conservation equations for mass and
momentum are casted into a single transport equation:

∂(ρφ) ∂(ρuj φ) ∂ ∂φ
+ = (Γ ) + Sφ (11)
∂t ∂ xj ∂ xj ∂ xj
with the following variables:

Conserv. Eq. φ Γ Sφ

Mass 1 0 0

∂ uj
Momentum ui µ − ∂∂xpi + ∂
∂ xj (µ ∂ xi ) + ρgi
∂ uj
with ∂ xj = 0:

Momentum ui µ − ∂∂xpi + ρgi

Dr.-Ing. Manuel Münsch | FAU | 10


Erlangen

Introduction
Incompressible Navier-Stokes Equations are:
• elliptic in space (x , y , z ):
• a disturbance of the flow field at one particular point has an impact on the entire
flow field
• every location inside the flow field is influenced by all other locations inside the
flow field
• are parabolic in time (t ):
• a disturbance of the flow field has just an impact on the future development of
the flow field
• these characteristic properties are considered via Time Marching
Approaches
-> the solution is advanced in time step by step
• Time Marching Approaches are very similar to general solution strategies of
initial values problems (like Blasius equation)

Dr.-Ing. Manuel Münsch | FAU | 11


Erlangen

Introduction
Time Marching
• Time Marching Approaches are very similar to general solution strategies
of initial values problems (like Blasius equation) which becomes more
obvious by a reformulation of the equation:

∂(ρφ) ∂(ρuj φ) ∂ ∂φ
=− + (Γ ) + Sφ = Res(φ(t ), t ) (12)
∂t ∂ xj ∂ xj ∂ xj
with residual Res(φ(t ), t ) containing all convective and diffusive fluxes

• for comparison: ordinary differential equation

d φ(t )
= f (φ(t ), t ) with φ(t0) = φ0 (13)
dt

Dr.-Ing. Manuel Münsch | FAU | 12


Erlangen

Introduction
Time Marching
Time Marching Schemes are divided into Single-Step (or two-level) methods
and Multi-Step (or multipoint) methods and furthermore into explicit and
implicit approaches:
• Single-Step (or two-level) methods:
• just an old and a new time domain are used to predict φ(tn+1 )

φ(tn+1) = f (φ(tn+1), φ(tn )) (14)

• Multi-Step (or multipoint) methods:


• multiple time domains are used to approximate the integration in time

φ(tn+1) = f (φ(tn+1), φ(tn ), φ(tn−1), ...) (15)

Dr.-Ing. Manuel Münsch | FAU | 13


Erlangen

Introduction
Time Marching
Time Marching Schemes are divided into Single-Step (or two-level) methods
and Multi-Step (or multipoint) methods and furthermore into explicit and
implicit approaches:
• explicit approach:
• only old time domains are used to predict the function f

φ(tn+1) = f (φ(tn ), φ(tn−1), φ(tn−2), ...) (16)

• implicit approach:
• old and new time domains are used to predict f

φ(tn+1) = f (φ(tn+1), φ(tn ), φ(tn−1), ...) (17)

Dr.-Ing. Manuel Münsch | FAU | 14


Erlangen

Time Marching: Simple Time Stepping Schemes


Starting Point:
• ordinary differential equation (ODE) with initial condition φ(t0) = φ0
d φ(t )
= f (φ(t ), t ) with φ(t0) = φ0 (18)
dt
Task:
• estimate solution of the ODE at time t1 = t0 + ∆t basing on initial condition
φ = φ0 and time-step size ∆t
φ1 = φ(t1) = φ(t0 + ∆t ) (19)

• once the solution φ1 is known: φ1 is used as initial condition for the


succeeding time-step
φ2 = φ(t2) = φ(t1 + ∆t ) (20)

• the procedure is repeated until a solution for the desired physical time is
obtained
Dr.-Ing. Manuel Münsch | FAU | 15
Erlangen

Time Marching: Single-Step Procedure


Derivation:
• integration from time tn to tn+1:
tn+1 tn+1 t n +1
d φ(t )
Z Z Z
n+1 n
dt = d φ(t ) = φ −φ = f (φ(t ), t )dt (21)
tn dt tn tn

• the upper equation is an exact relation if f (φ(t ), t ) is known


• this is not the case, since f (φ(t ), t ) depends on the unknown solution φ(t )
R t n +1
-> general approximation for tn f (φ(t ), t )dt required:
Z tn+1
φn+1 − φn = f (φ(t ), t )dt ≈ f (φ(τ ), τ )∆t (22)
tn

τ has to be in the interval: tn ≤ τ ≤ tn+t


• the arbitrary time
• basing on the choice of τ different solution approaches arise (next slides)

Dr.-Ing. Manuel Münsch | FAU | 16


Erlangen

Time Marching: Single-Step Procedure


Explicit Euler Scheme
• choosing τ = tn
φn+1 = φn + f (φn , tn )∆t + T (∆t 1) (23)

• here the variable f (fluxes & source terms) is evaluated basing on the
known value φn
• the only remaining unknown is φn+1 which can be computed directly
-> explicit approach
• formally this is a forward difference in time with truncation error of first
order (Taylor Series)

Dr.-Ing. Manuel Münsch | FAU | 17


Erlangen

Time Marching: Single-Step Procedure


Implicit Euler Scheme
• choosing τ = tn+1
φn+1 = φn + f (φn+1, tn+1)∆t + T (∆t 1) (24)

• here the variable f (fluxes & source terms) is evaluated basing on the
unknown value φn+1 at tn+1
• the only known variable is φn
• φn+1 cannot be computed directly, instead an equation system has to be
solved
-> implicit approach
• formally this is a backward difference in time with truncation error of first
order (Taylor Series)

Dr.-Ing. Manuel Münsch | FAU | 18


Erlangen

Time Marching: Single-Step Procedure


Leapfrog Scheme
• choosing τ = tn+1/2

φn+1 = φn + f (φn+1/2, tn+1/2)∆t + T (∆t 2) (25)

• here f is evaluated basing on a intermediate time level tn+1/2 with


tn ≤ tn+1/2 ≤ tn+t
• thus the integral is evaluated basing on the midpoint rule
• since f is a function of φn+1 the variable φn+1 cannot be computed directly
-> implicit approach
• since the midpoint rule is of second order also the Leapfrog Scheme is of
second order accuracy / truncation error of second order (Taylor Series)

Dr.-Ing. Manuel Münsch | FAU | 19


Erlangen

Time Marching: Single-Step Procedure


Crank-Nicolson Scheme
• choosing τ =?
n+1 1 n n+1
= φ + f (φ , tn ) + f (φ , tn+1) ∆t + T (∆t 2)
n

φ (26)
2

• here the integral is evaluated basing on the trapezoidal rule


• since f is a function of φn+1 the variable φn+1 cannot be computed directly
-> implicit approach
• since the trapezoidal rule is of second order also the Crank-Nicolson
Scheme is of second order accuracy / truncation error of second order
(Taylor Series)

Dr.-Ing. Manuel Münsch | FAU | 20


Erlangen

Time Marching: Single-Step Procedure


Interpolation Scheme
• the explicit Euler-, the implicit Euler- and the Crank-Nicolson Scheme can
be casted into a single interpolation formula:
n+1 n+1
= φ + (1 − αt )f (φ , tn ) + αt f (φ , tn+1) ∆t + T (∆t 2)
n n
 
φ (27)

• depending on the value of αt within the interval [0, 1] the particular


scheme is chosen:

• αt = 0:
-> explicit Euler Scheme
• αt = 1:
-> implicit Euler Scheme
• αt = 0.5:
-> Crank-Nicolson Scheme

Dr.-Ing. Manuel Münsch | FAU | 21


Erlangen

Time Marching: Single-Step Procedure


Additional Schemes
• in literature a lot more schemes are known, for example:
• Lax-Keller
• Lax-Wendroff
• Mac-Cormack
• implicit/explicit Runge-Kutta
• ... (see additional literature on numerical mathematics or CFD)

• among these, the explicit Runge-Kutta scheme is frequently used -


especially for cases where small time step sizes are required to resolve
physics: the prediction of turbulent flows for example

Dr.-Ing. Manuel Münsch | FAU | 22


Erlangen

Time Marching: Runge-Kutta Schemes


Example: Classical 4-step Runge-Kutta
Idea: derive φn+1 by several sub-steps within the interval ∆t
• Step 1: predictor step basing on an explicit Euler
(1) n ∆t
φ =φ + f (φn , tn ) (28)
2
• Step 2: corrector step basing on an implicit Euler
∆t
φ(2) = φn + f (φ(1), tn+1/2) (29)
2
• Step 3: predictor step basing on the midpoint rule
(3) n ∆t (2)
φ = φ + f (φ , tn+1/2) (30)
1
• Step 4: final corrector step basing on Simpsons rule
n ∆t
h i
n+1 n (1) (2) (3)
φ =φ + f (φ , tn ) + 2f (φ , tn+1/2) + 2f (φ , tn+1/2) + f (φ , tn+1)
6
(31)
Dr.-Ing. Manuel Münsch | FAU | 23
Erlangen

Time Marching: Runge-Kutta Schemes


Example: Classical 4-step Runge-Kutta
Idea: derive φn+1 by several sub-steps within the interval ∆t
• in general an N-step explicit Runge-Kutta Scheme offers an order of
convergence of O(∆t N ) up to N = 4
• for N ≥ 4 the order of convergence still increases but not linearly with N
anymore
• the classical Runge-Kutta schem has high storage requirements since all
sub-step results have to be solved
-> drawback for solving large problems
-> to solve this Low-Storage Runge-Kutta schemes have been developed

Dr.-Ing. Manuel Münsch | FAU | 24


Erlangen

Time Marching: Runge-Kutta Schemes


Example: Low-Storage Runge-Kutta (3 sub-steps)
• developed to reduce storage amount of sub-steps

1
φ(1) = φ(n) + α1∆t f (φn , tn ) with α1 =
3
1
φ(2) (n) 1
= φ + α2∆t f (φ , t1) with α2 = (32)
2
φ(3) = φ(n) + α3∆t f (φ2, t2) with α3 = 1
φn+1 = φ(3)

Dr.-Ing. Manuel Münsch | FAU | 25


Erlangen

Time Marching: Runge-Kutta Schemes


Example: Low-Storage Runge-Kutta (k sub-steps)
• general formulation for k sub-steps:

φ(1) = φ(n) + α1∆t f (φn , tn )


φ(2) = φ(n) + α2∆t f (φ1, t1)
...
(33)
φ(k −1) = φ(n) + α(k −1)∆t f (φ(k −2), tk −2)
φ(k ) = φ(n) + α(k )∆t f (φ(k −1), tk −1)
φn+1 = φ(k )
• for the Low-Storage formulation the order of convergence reduces to
O(∆t 2) for N ≥ 4 when function f is non-linear
• the number of steps k increases the stability of the scheme
• order of convergence and stability also depend on the factors α(k )

Dr.-Ing. Manuel Münsch | FAU | 26


Erlangen

Time Marching: Runge-Kutta Schemes


Example: Low-Storage Runge-Kutta (k sub-steps)
• these factors can be adjusted accordingly (see literature)
• here α(k ) is evaluated basing on:

1
αk = with k = 1, 2, ..., N (34)
N −k +1

• in general the usage of explicit Runge-Kutta Schemes is restricted to small


time step sizes due to stability reasons (link to Lecture on Stability)
• these schemes are mostly used for the prediction of turbulent flows where
small time step sizes are required to resolve turbulent fluctuations (link to
NMTFD2)

Dr.-Ing. Manuel Münsch | FAU | 27


Erlangen

Time Marching: Single-Step Procedure


Example Benchmark
To validate the performance and implementation of any numerical scheme a
comparison with a known or analytical solution of a benchmark problem is
highly recommended.
• Ordinary Differential Equation (ODE):
du
= f (u , t ) (35)
dt

• together with an initial condition it is an Initial Value Problem (IVP):


du
= f (u , t ) with u (0) = uo (36)
dt
• test function: f (u , t ) = λu with λ = const . and u (0) = 1 has the analytical
solution
u (t ) = eλt (37)

Dr.-Ing. Manuel Münsch | FAU | 28


Erlangen

Time Marching: Single-Step Procedure


Example Benchmark
• Explicit Euler method: un+1 = un + ∆t fn

• applying Explicit Euler to solve the problem: f (u , t ) = λu with λ = −1 and


u (0) = 1

• leads to the following implementation:

dt=0.1
u(1)=1.0
l=-1.0
do i=1,N
u(i+1) = u(i) + dt*l*u(i)
end do

Dr.-Ing. Manuel Münsch | FAU | 29


Erlangen

Time Marching: Single-Step Procedure


Example Benchmark
• Implicit Euler method: un+1 = un + ∆t fn+1

• at each time-step we must now solve the equation

un+1 = un + ∆t f (un+1, tn+1) (38)


• for the benchmark problem: f (u , t ) = λu with λ = −1 and u (0) = 1

• this leads to:


un
un+1 = un + ∆t λun+1 −→ un+1 = (39)
1 − λ∆t

Dr.-Ing. Manuel Münsch | FAU | 30


Erlangen

Time Marching: Single-Step Procedure


Example Benchmark
• Implementation:
dt=0.1
u(1)=1.0
l=-1.0
do i=1,N
u(i+1) = u(i) / (1.d0 - l*dt)
end do
• Remark: due to the relatively simple benchmark problem the Implicit Euler
is as easy to solve as the Explicit Euler
-> in general, especially for nonlinear equations this is not the case!!!
• for example:

f (u , t ) = cos(u ) −→ un+1 = un + ∆t cos(un+1) (40)


• this equation is nonlinear and must be solved numerically at each step
with -> Newton’s method
Dr.-Ing. Manuel Münsch | FAU | 31
Erlangen

Time Marching: Single-Step Procedure


Solution Explicit Euler (I): Comparison of result with Explicit Euler method

Exact Solution
Explicit Euler dt = 2.1429
6 Explitcit Euler dt = 1.875
Explitcit Euler dt = 1.5
Explitcit Euler dt = 0.1

2
Solution u

-2

-4

-6

0 5 10 15 20 25 30
Time

Dr.-Ing. Manuel Münsch | FAU | 32


Erlangen

Time Marching: Single-Step Procedure


Solution Explicit Euler (II): Discussion
• the Explicit Euler Method shows unstable behavior for larger time-step
sizes
• The Explicit Euler method applied to the equation
du
= f (u , t ) with u (0) = uo (41)
dt
is stable for:
2
∆t < here: ∆t < 2s (42)
|λ|
• in general, the Explicit Euler method will converge only if the time-step ∆t
is small enough
• similar restrictions apply to all explicit methods

Dr.-Ing. Manuel Münsch | FAU | 33


Erlangen

Time Marching: Single-Step Procedure


Solution Implicit Euler: Comparison of result with Explicit Euler method
1
Exact Solution
Implicit Euler dt = 2.1429
Implicit Euler dt = 1.875
Implicit Euler dt = 1.5
Implicit Euler dt = 0.1
0.8

0.6
Solution u

0.4

0.2

0 5 10 15 20 25 30
Time

Dr.-Ing. Manuel Münsch | FAU | 34


Erlangen

Time Marching: Single-Step Procedure


Solution Crank-Nicolson: Comparison of result with Crank-Nicolson method
1
Exact Solution
Crank-Nicolson dt = 2.1429
Crank-Nicolson dt = 1.875
Crank-Nicolson dt = 1.5
Crank-Nicolson dt = 0.1
0.8

0.6
Solution u

0.4

0.2

0 5 10 15 20 25 30
Time

Dr.-Ing. Manuel Münsch | FAU | 35


Erlangen

Time Marching: Single-Step Procedure


Solution Runge-Kutta (4-step): Comparison of result with RUK4 method
1
Exact Solution
RUK4 dt = 2.1429
RUK4 dt = 1.875
RUK4 dt = 1.5
RUK4 dt = 0.1
0.8

0.6
Solution u

0.4

0.2

0 5 10 15 20 25 30
Time

Dr.-Ing. Manuel Münsch | FAU | 36


Erlangen

Time Marching: Single-Step Procedure


Errors (I):
• the performance of an implemented algorithm is evaluated by considering
the mean absolute error for example
• the mean absolute error ε is estimated by considering the normalized
difference between numerical and analytical solution divided by the
number of solutions N basing on an identical physical time interval:
N
1X n
ε= |(u − uanaly )| (43)
N n=1
• the gradient p of the error curves is equal to the order of accuracy of the
underlying algorithm (logarithmic display)
log(ε(∆t1)) − log(ε(∆t2))
p= (44)
log( ∆1t1 ) − log( ∆1t2 )
-> use this strategy to check the quality of your coding
Dr.-Ing. Manuel Münsch | FAU | 37
Erlangen

Time Marching: Single-Step Procedure


Errors (II): Mean Absolute Error versus Time

Dr.-Ing. Manuel Münsch | FAU | 38


Erlangen

Time Marching: Explicit versus Implicit


Explicit Implicit
• the quantity f can be directly • the quantity f cannot be computed
computed without any iterations directly: iterative approach
________
• solution of a linear equation system • solution of a non-linear
linear equation system
not required required
• easy to code • complex to code
• straightforward implementation on • complex implementation on HPC
HPC (vectorization & parallelisation) (vectorization & parallelisation)
• low numerical effort per time-step in • significant higher numerical effort
terms of CPU-time and storage per time-step in terms of CPU-time
requirements and storage requirements
• strong restriction on the time step • in general no restriction on the time
size: only stable for ∆t ≤ ∆tstable step size: unconditional stable
(linear model equation)
• larger time step sizes applicable:
potential compensation of higher
Dr.-Ing. Manuel Münsch | FAU | numerical effort per time step 39
Erlangen

Time Marching: Multi-Step Procedure


Introduction
• within the Multi-Step Procedure multiple time domains are used
• analogous to the spacial discretization in the FD or FV context a
polynomial function is chosen to approximate f (φ(t ), t )
• according to the order of the polynomial function (the number of time
domains) a variety of formulation is obtained
- the Multi-Step Procedure always has to be started with a Single-Step
approach until sufficient time domains are estimated
- the data of several time domains has to be stored -> high storage
requirements

Dr.-Ing. Manuel Münsch | FAU | 40


Erlangen

Time Marching: Multi-Step Procedure


Explicit: Adams-Bashforth-Scheme
Within explicit Multi-Step Procedures the right hand side of equation (22) is
approximated with a polynomial approach basing on known time domains
(with ∆t = const .):

• Polynomial of zeroth order: Adams-Bashforth-Scheme (1. order)

φn+1 = φn + ∆t f (φn , tn ) (45)

-> corresponds to Explicit Euler, thus still a Single-Step procedure

• Polynomial of first order: Adams-Bashforth-Scheme (2. order)

n+1 n ∆t  n n−1

φ =φ + 3f (φ , tn ) − f (φ , tn−1) (46)
2

-> most used Adams-Bashforth formula

Dr.-Ing. Manuel Münsch | FAU | 41


Erlangen

Time Marching: Multi-Step Procedure


Explicit: Adams-Bashforth-Scheme
• Polynomial of second order: Adams-Bashforth-Scheme (3. order)

n+1 n ∆t  n n−1 n−2



φ =φ + 23f (φ , tn ) − 16f (φ , tn−1) + 5f (φ , tn−2) (47)
12

• Polynomial of third order: Adams-Bashforth-Scheme (4. order)


∆t
φn+1 = φn + [55f (φn , tn ) − 59f (φn−1, tn−1)
24
+37f (φn−2, tn−2) − 9f (φn−3, tn−3)] (48)

Dr.-Ing. Manuel Münsch | FAU | 42


Erlangen

Time Marching: Multi-Step Procedure


Implicit: Adams-Moulton-Scheme
Within implicit Multi-Step Procedures the right hand side of equation (22) is
approximated with a polynomial approach basing on new and old time
domains (with ∆t = const .):

• Polynomial of zeroth order: Adams-Moulton-Scheme (1. order)

φn+1 = φn + ∆t f (φn+1, tn+1) (49)

-> corresponds to Implicit Euler, thus still a Single-Step procedure

• Polynomial of first order: Adams-Moulton-Scheme (2. order)

n+1 n ∆t  n+1 n

φ =φ + f (φ , tn+1) + f (φ , tn ) (50)
2

-> corresponds to the Crank-Nicolson approach, thus still a Single-Step procedure

Dr.-Ing. Manuel Münsch | FAU | 43


Erlangen

Time Marching: Multi-Step Procedure


Implicit: Adams-Moulton-Scheme
• Polynomial of second order: Adams-Moulton-Scheme (3. order)

n+1 n ∆t  n+1 n n−1



φ =φ + 5f (φ , tn+1) + 8f (φ , tn ) − f (φ , tn−1) (51)
12

• Polynomial of third order: Adams-Moulton-Scheme (4. order)


∆t
φn+1 = φn + [9f (φn+1, tn+1) + 19f (φn , tn )
24
−5f (φn−1, tn−1) + f (φn−2, tn−2)] (52)

Dr.-Ing. Manuel Münsch | FAU | 44


Erlangen

Time Marching: Multi-Step Procedure


Implicit: Backward-Differencing-Formula
Further implicit Multi-Step Procedures can be derived by expressing the right
hand side of equation (22) via backward differences of desired order of
accuracy (with ∆t = const .):

• 1. order approach
φn+1 − φn
= f (φn+1, tn+1) (53)
∆t
-> corresponds to Implicit Euler of first order, thus still a Single-Step procedure

• 2. order approach: Three-Point-Backward Scheme

3φn+1 − 4φn + φn−1


= f (φn+1, tn+1) (54)
2∆t

-> commonly used implicit Multi-Step Procedure


-> compared to Implicit Euler one additional time domain to be solved but
improvement of stability
Dr.-Ing. Manuel Münsch | FAU | 45
Erlangen

Time Marching: Multi-Step Procedure


Implicit: Backward-Differencing-Formula
• 3. order approach:

11φn+1 − 18φn + 9φn−1 − 2φn−2


= f (φn+1, tn+1) (55)
6∆t

• 4. order approach:

25φn+1 − 48φn + 36φn−1 − 16φn−2 + 3φn−3


= f (φn+1, tn+1) (56)
12∆t

Dr.-Ing. Manuel Münsch | FAU | 46


Erlangen

Time Marching
Conclusion
• the choice of an optimal time stepping algorithm is strongly problem
dependent
• the selection depends on
• the required accuracy of the solution for a particular problem
• the stability of the algorithm
• the numerical effort regarding CPU-time and storage requirements
• for unsteady problems with strong variations of the flow field 2nd order
approaches should be chosen
• for problems requiring small time-step sizes to resolve the physics explicit
approaches may be an option
• for stiff problems implicit methods (Crank-Nicolson, BDF, Adams-Moulton)
are in general the best choice

Dr.-Ing. Manuel Münsch | FAU | 47

You might also like