Top Banner
Numerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department of Mathematics, Penn State University Email: [email protected] Oxford, Spring, 2018 Lecture Notes online: http://personal.psu.edu/wxs27/NotesNumCons/ Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2 Oxford, Spring, 2018 1 / 47
47

Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

Jan 23, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

Numerical Methods for Hyperbolic Conservation LawsLecture 2

Wen Shen

Department of Mathematics, Penn State UniversityEmail: [email protected]

Oxford, Spring, 2018

Lecture Notes online: http://personal.psu.edu/wxs27/NotesNumCons/

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 1 / 47

Page 2: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

Godunov’s method of kth order

General approach, from tn to tn+1: Given {Qni }, compute {Qn+1

i }.

1 Construct piecewise polynomial function (of degree k − 1) from cell averages{Qn

i };2 Solve the conservation law exactly on [tn, tn+1];

3 Construct new cell averages {Qn+1i }.

Conservative form:

Qn+1i = Qn

i −∆t

∆x[Fi+ 1

2− Fi− 1

2]

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 2 / 47

Page 3: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

First order Godunov: piecewise constant approximation

qt + f (q)x = 0, f (q) = Aq

Need to solve a Riemann problem at each cell boundary xi .

Observations:• Solution of Riemann problem is constant along cell boundary, i.e., ξ = 0.

• Flux f (q) is constant along ξ = 0;

• Need to find solution of Riemann problem only along ξ = 0.

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 3 / 47

Page 4: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

Upwind method

qt + f (q)x = 0, f (q) = Aq

• If λp ≥ 0 for all p, the Riemann problem solution with (ql , qr ) alongξ = x/t = 0 is ql .

⇒ F(Qi−1,Qi ) = Qi−1 ⇒ Qn+1i = Qn

i −∆t

∆x[f (Qi )− f (Qi−1)]

• If λp ≤ 0 for all p, the Riemann problem solution with (ql , qr ) alongξ = x/t = 0 is qr .

⇒ F(Qi−1,Qi ) = Qi , ⇒ Qn+1i = Qn

i −∆t

∆x[f (Qi+1)− f (Qi )]

CFL condition: ν ≤ 1

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 4 / 47

Page 5: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

In general, denote byQ↓

i− 12

=q↓(Qni−1,Q

ni )

the value of q of the solution of Riemann problem along ξ = 0.

Numerical flux:

Fi− 12

=1

∆t

∫ tn+1

tn

f (q↓(Qni−1,Q

ni ))dt = f (Q↓

i− 12

)

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 5 / 47

Page 6: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

Wave propagation form

Qi − Qi−1 =m∑

p=1

αp,i− 12rp

=m∑

p=1

Wp,i− 12

Example: m = 3, λ1 < 0 < λ2 < λ3

Observation:• Positive velocity waves enter at xi− 1

2(left)

• Negative velocity waves enter at xi+ 12

(right)

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 6 / 47

Page 7: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

The effect on cell average at tn+1:Consider W2,i− 1

2= α2,i− 1

2r2, with speed λ2 > 0

cell average is changes by

−λ2∆t · W2,i− 1

2

∆x

Then

for W3,i− 12

: −λ3∆t · W3,i− 1

2

∆x

and

for W1,i+ 12

: −λ1∆t · W1,i+ 1

2

∆x

(note that λ1 < 0, so −λ1 > 0)

Add up:

Qn+1i = Qn

i −∆t

∆x

[λ1W1,i+ 1

2+ λ2W2,i− 1

2+ λ3W3,i− 1

2

]

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 7 / 47

Page 8: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

Using the notation

(λp)+= max{λp, 0}, (λp)−= min{λp, 0} ∀p

Suppose that Riemann problem solution consists of m waves Wp with speed λp:

Qn+1i = Qn

i −∆t

∆x

[m∑

p=1

(λp)+Wp,i− 12

+m∑

p=1

(λp)−Wp,i+ 12

]

= Qni −

∆t

∆x

[A+∆Qi− 1

2+A−∆Qi+ 1

2

]= Qn

i −∆t

∆x[(net-effect of positive waves) + (net-effect of negative waves)]

(definitions coming next...)

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 8 / 47

Page 9: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

qt + Aqx = 0, Wp = αprp with speed λp

Define

Λ+=diag((λ1)+, (λ2)+, · · · , (λm)+), Λ−=diag((λ1)−, (λ2)−, · · · , (λm)−)

andA+=RΛ+R−1, A−=RΛ−R−1

Note

A+ + A− = RΛ+R−1 + RΛ−R−1 = R(Λ− + Λ−)R−1 = RΛR−1 = A

⇒ splitting of A into positive and negative speed propagation

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 9 / 47

Page 10: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

Let ∆Qi− 12

= Qi − Qi−1.

Then

A+∆Qi− 12

= RΛ+[R−1(Qi − Qi−1)

]= RΛ+αi− 1

2=

m∑p=1

(λp)+αp,i− 12rp

Similarly

A−∆Qi− 12

= RΛ−[R−1(Qi − Qi−1)

]= RΛ−αi− 1

2=

m∑p=1

(λp)−αp,i− 12rp

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 10 / 47

Page 11: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

Relate to numerical flux

Riemann solution along x = xi− 12:

Q↓i− 1

2

= q↓(Qi−1,Qi ) = Qi−1 +∑

p:λp<0

Wp,i− 12

Then

F ni− 1

2= f (Q↓

i− 12

) = AQi−1 +∑

p:λp<0

AWp,i− 12

= AQi−1 +∑

p:λp<0

λpWp,i− 12

= AQi−1 +m∑

p=1

(λp)−Wp,i− 12

= f (Qi−1) + A−∆Qi− 12

so

F ni+ 1

2= AQi +

m∑p=1

(λp)−Wp,i+ 12

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 11 / 47

Page 12: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

Alternatively,

Q↓i− 1

2

= Qi −∑

p:λp>0

Wp,i− 12

we get

F ni− 1

2= AQi −

∑p:λp>0

(λp)+Wp,i− 12

= f (Qi−1)− A+∆Qi− 12

then

Qn+1i = Qn

i −∆t

∆x

[F ni+ 1

2− F n

i− 12

]= Qn

i −∆t

∆x

[m∑

p=1

(λp)−Wp,i+ 12

+m∑

p=1

(λp)+Wp,i− 12

]

Can be extended to non-linear problems.

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 12 / 47

Page 13: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

CLAWPACK Software

– developed by Randall LeVeque and his group

– written in Fortran

– for both linear and nonlinear problems

– for both scalar equation and systems

– finite volume methods, first order and high resolutions

– both 1D and several space dimensions (2D and 3D)

– public domain

Download at:

http://www.amath.washington.edu/~claw

Read Chapter 5 in the textbook.

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 13 / 47

Page 14: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

Discrete Fourier analysis

– A quick way to check stability.

Recall a naive method for qt + uqx = 0:

Qn+1j − Qn

j

∆t+ u

Qnj+1 − Qn

j−1

2∆x= 0, F n

j− 12

=u

2(Qj−1 + Qj)

Fourier mode:Qn

j = (λ)ne ik(j∆x), λ ∈ C

We haveQn+1

j = λQnj , Qn

j±1 = e±i∆xkQnj

Plug inλ− 1

∆t+ u

e i∆xk − e−i∆xk

2∆x= 0

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 14 / 47

Page 15: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

λ = λ(k) = 1− u∆t

∆x· 1

2

[e i∆xk − e−i∆xk

]= 1− u

∆t

∆xi sin(k∆x)

– wave dispersion relation

Stability requirement: |λ(k)| ≤ 1 for all k

But here:|λ(k)| > 1 for all mesh ratios ∆t/∆x and almost all modes.

⇒ always unstable.

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 15 / 47

Page 16: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

Upwind scheme

qt + uqx = 0 (u > 0), Qn+1j = Qn

j −∆t

∆xu[Qn

j − Qnj−1

]Plug in the Fourier modes and simplify:

λ(k) = 1− u∆t

∆x

[1− e−ik∆x

]= 1− ν + ν [cos(k∆x)− i sin(k∆x)]

|λ(k)|2 = (1− ν + ν cos k∆x)2 + ν2 sin2(k∆x)

= (1− ν)2 + 2(1− ν)ν cos k∆x + ν2 cos2(k∆x) + ν2 sin2(k∆x)

= (1− ν)2 + 2(1− ν)ν cos k∆x + ν2

= 1− 2ν(1− ν)(1− cos k∆x)

= 1− 4ν(1− ν) sin2(k∆x/2)

⇒ stability condition: |λ(k)|2 ≤ 1 if 0 ≤ 1− ν ≤ 1. (same as CFL condition)

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 16 / 47

Page 17: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

Lax-Wendroff scheme

• approximate q at the mid-point in time, i.e. tn+ 12

= tn + 12 ∆t

• evaluate flux also at that point

⇒ a second order method in both x and t

numerical flux: F ni− 1

2

= f (Qn+ 1

2

i− 12

) where

Qn+ 1

2

i− 12

=1

2(Qn

i−1 + Qni )− ∆t/2

∆x

[f (Qn

i )− f (Qni−1)

](Lax-F)

stencil CFL condition: |ν| ≤ 1

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 17 / 47

Page 18: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

For scalar case: qt + uqx = 0, let ν = u∆t/∆x

f (Qn+ 1

2

i− 12

) =u

2(Qn

i−1 + Qni )− u

2ν(Qn

i − Qni−1)

Plug in

Qn+1i = Qn

i − ν[f (Q

n+ 12

i+ 12

)− f (Qn+ 1

2

i− 12

)]

= · · ·

=1

2ν(1 + ν)Qn

i−1 + (1− ν2)Qni −

1

2ν(1− ν)Qn

i+1

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 18 / 47

Page 19: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

Discrete Fourier analysis: dispersion relation:

λ(k) =1

2ν(1 + ν)e−ik∆x + (1− ν2)− 1

2ν(1− ν)e ik∆x

= · · ·= 1− iν sin k∆x − 2ν2 sin2(k∆x/2)

then|λ(k)|2 =

∣∣1− 4ν2(1− ν2) sin4(k∆x/2)∣∣

Stability condition:|λ(k)|2 ≤ 1 if ν2 ≤ 1, i.e., |ν| ≤ 1.

(same as CFL condition)

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 19 / 47

Page 20: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

Accurary (formal)

Taylor series expansion at (x , tn):

q(x , tn+1) = q(x , tn) + ∆t · qt(x , tn) +1

2(∆t)2qtt(x , tn) + · · ·

Usingqt = −Aqx , qtt = −Aqxt = −A(−Aqx)x = A2qxx

then

q(x , tn+1) = q(x , tn)−∆t · Aqx(x , tn) +1

2(∆t)2A2qxx(x , tn) + · · ·

Compare with Lax-Wendroff:

Qn+1i = Qn

i −∆tAQn

i+1 − Qni−1

2∆x+

1

2(∆t)2A2 (Qn

i−1 − 2Qni + Qn

i+1)

(∆x)2

⇒ second order method for smooth solutions

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 20 / 47

Page 21: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

numerical flux for Lax-Wendroff can be written as

F ni− 1

2=

1

2A(Qn

i−1 + Qni )− 1

2

∆t

∆xA2(Qn

i − Qni−1)

(unstable numerical flux) + (diffusion, stabilizing flux)

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 21 / 47

Page 22: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

The Beam-Warming method

For qt + uqx = 0 (with u > 0) or qt + Aqx = 0 (with λi > 0).

Use one-sided (upwind) finite difference of second order:

qx(xi , tn) =1

2∆x[3q(xi , tn)− 4q(xi−1, tn) + q(xi−2, tn)] +O(∆x2)

qxx(xi , tn) =1

∆x2[q(xi , tn)− 2q(xi−1, tn) + q(xi−2, tn)] +O(∆x2)

We have

Qn+1i = Qn

i −∆t

2∆xA[3Qn

i − 4Qni−1 + Qn

i−2

]+

1

2(∆t/∆x)2A2

[Qn

i − 2Qni−1 + Qn

i−2

]

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 22 / 47

Page 23: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

Numerical flux for Beam-Warming can be written:

F ni− 1

2= AQn

i−1 +1

2A(1− ∆t

∆xA)(Qn

i−1 − Qni−2)

(upwind) + (high order corrections)

Comment: Not advantageous with one sided finite differences.

Discrete Fourier analysis: leave as an exercise ***

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 23 / 47

Page 24: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

Numerical simulations

Example: qt + qx = 0 with periodic boundary condition, and ν = ∆t/∆x = 0.8

Upwind method:

Excessive dissipation, correct phase position, no oscillations

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 24 / 47

Page 25: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

Lax-Wendroff method:

Sharper capturing of the smooth pulse, phase error, oscillation behind jumps.

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 25 / 47

Page 26: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

Beam-Warming method:

Sharper capturing of the smooth pulse, phase error, oscillation before jumps.

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 26 / 47

Page 27: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

summary of simulation results

High order method (LW)

(+) High accuracy in smooth region

(-) Oscillation around singularities – dispersive

(-) Phase error, incorrect wave position

Low order method (Upwind)

(-) Low accuracy even in smooth region

(+) No oscillations around singularities (monotone)

(+) No phase shift, correct wave position

Idea: Combine them!

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 27 / 47

Page 28: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

Combining the two methods

Compare the numerical fluxes:

Upwind : Fi− 12

= A−Qni + A+Qn

i−1

LW : Fi− 12

= (A−Qni + A+Qn

i−1) +1

2|A| (I − ∆t

∆x|A|) · (Qn

i − Qni−1)

= (Upwind flux) + (high order correction term)

where|A| = R |Λ|R−1 = A+ − A−, where |Λ| = diag(|λp|)

Limiter:Change the magnitude of the correction term, depending on the solution.•: in smooth region, use the correction term•: around singularities, remove the correction term

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 28 / 47

Page 29: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

This is more complicated for systems.

Solution is superposition of waves of several families.

At a point, some family is smooth, and some can have a jump.

⇒ one can construct limiters based on each family (in the solution of Riemannproblem)

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 29 / 47

Page 30: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

General setting:

Assume that we have two methods, a lower and a higher order, with numericalfluxes FL(Qi−1,Qi ) and FH(Qi−1,Qi ).

Flux Limiter

F ni− 1

2= FL(Qn

i−1,Qni ) + Φn

i− 12

[FH(Qn

i−1,Qni )−FL(Qn

i−1,Qni )]

If Φni− 1

2

= 0, then F ni− 1

2

= FL(Qni−1,Q

ni );

If Φni− 1

2

= 1, then F ni− 1

2

= FH(Qni−1,Q

ni ).

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 30 / 47

Page 31: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

The REA algorithm with piecewise linear reconstruction

From cell average Qni , construct a piecewise linear (affine) function

qn(x , tn) = Qni + σn

i (x − xi ), for xi− 12≤ x ≤ xi+ 1

2

where

xi =1

2(xi− 1

2+ xi+ 1

2), center of Ci

and σni : slope of qn in cell Ci . (TBD)

Then, in each cell, we have (regardless of σni )

qn(xi , tn) = Qni

Solve the equations exactly on [tn, tn+1], and form new cell averages {Qn+1i }, and

repeat the process.

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 31 / 47

Page 32: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

Consider the scalar equation qt + uqx = 0, u > 0.

Solving it on [tn, tn+1], the solution at tn+1 is

qn(x , tn+1) = qn(x − u∆t, tn).

CFL condition: ν = u∆t/∆x ≤ 1

qn(x , tn+1)

qn(x , tn)

Qni−1

Qni

Qni+1

Qni−1

Qni

Ci

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 32 / 47

Page 33: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

Take cell-average over Ci :

∆x · Qn+1i =

u∆t

2

[(Qn

i−1 +∆x

2σni−1) + (Qn

i−1 − (u∆t − ∆x

2)σn

i−1

]+

∆x − u∆t

2

[(Qn

i −∆x

2σni ) + (Qn

i − (u∆t − ∆x

2)σn

i )

]simplify

Qn+1i =

u∆t

∆x

[Qn

i−1 +1

2(∆x − u∆t)σn

i−1

]+ (1− u

∆t

∆x)

[Qn

i −1

2u∆tσn

i

]= ...

= Qni −

u∆t

∆x(Qn

i − Qni−1)− u∆t

2∆x(∆x − u∆t)(σn

i − σni−1)

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 33 / 47

Page 34: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

Choices of slopes σni

If we choose σni ≡ 0: ⇒ Godunov’s method (i.e., upwind)

3 other choices:

• Centered slope: σni =

Qni+1 − Qn

i−1

2∆x(Fromm’s method)

• Upwind slope: σni =

Qni − Qn

i−1

∆x(Beam-Warming)

• Downwind slope: σni =

Qni+1 − Qn

i

∆x(Lax-Wendroff)

⇒ Formally all are of 2nd order.

Fromm’s method:

Qn+1i = Qn

i −u∆t

4∆x

[Qn

i+1 + 3Qni − 5Qn

i−1 + Qni−2

]− u2∆t2

4∆x2

[Qn

i+1 − Qni − Qn

i−1 + Qni−2

]Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 34 / 47

Page 35: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

Total variation: definitions

For discrete data {Qi}:TV(Q) =

∑i

|Qi − Qi−1|

For function q(x):

TV(q) = sup

N∑j=1

|q(yi )− q(yi−1)|

where the sup is taken over all subdivisions of the real line

−∞ = y0 < y1 < · · · < yN =∞, ∀N

or

TV (q) = lim supε→0

1

ε

∫ ∞−∞|q(x)− q(x − ε)| dx

If q(x) is differentiable:

TV (q) =

∫ ∞−∞|q′(x)| dx

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 35 / 47

Page 36: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

TVD methods

Definition: A two-level method is called total variation diminishing (TVD) if

TV(Qn+1) ≤ TV(Qn)

Definition: A two-level method is called monotonicity-preserving if

Qni ≥ Qn

i+1, ∀i implies Qn+1i ≥ Qn+1

i+1 , ∀i

TVD implies monotonicity-preserving!

More observations:• For transport equation, in the exact solution, as t evolves, TV does not change

• The averaging operator does not increasing the TV!

So, if the reconstruction step is TVD, then the method is TVD.

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 36 / 47

Page 37: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

Slope-limiter methods:

min-mod limiter

σni = minmod

(Qn

i − Qni−1

∆x,Qn

i+1 − Qni

∆x

)where

minmod(a, b) =

a, if |a| < |b| and ab > 0

b, if |a| > |b| and ab > 0

0, if ab ≤ 0

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 37 / 47

Page 38: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

Example of minmod limiter:

One can improve upon minmod limiter!

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 38 / 47

Page 39: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

Superbee limiter (introduced by Roe)

σni = maxmod(σ

(1)i , σ

(2)i )

where

σ(1)i = minmod

(Qn

i+1 − Qni

∆x, 2

Qni − Qn

i−1

∆x

),

σ(2)i = minmod

(2Qn

i+1 − Qni

∆x,Qn

i − Qni−1

∆x

)and maxmod selects the argument with larger modulus.

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 39 / 47

Page 40: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

Monotonized central-difference limiter (MC limiter):

(Propose by van Leer)

σni = minmod

(Qn

i+1 − Qni−1

2∆x, 2

Qni − Qn

i−1

∆x, 2

Qni+1 − Qn

i

∆x

)

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 40 / 47

Page 41: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

Example:

Mostly TVD!

Problem of superbee: tends to steepen the slope even in smooth region.

MC limiter: does not steepen up smooth slopes – a good default choice.

These limiters make the method nonlinear (even though the equation is linear).

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 41 / 47

Page 42: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

Numerical simulations

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 42 / 47

Page 43: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

Numerical simulations

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 43 / 47

Page 44: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

Numerical simulations

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 44 / 47

Page 45: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

Numerical simulations

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 45 / 47

Page 46: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

Numerical simulations

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 46 / 47

Page 47: Numerical Methods for Hyperbolic Conservation Laws Lecture 2personal.psu.edu/wxs27/NotesNumCons/Lecture2.pdfNumerical Methods for Hyperbolic Conservation Laws Lecture 2 Wen Shen Department

Numerical simulations

Wen Shen (Penn State) Numerical Methods for Hyperbolic Conservation Laws Lecture 2Oxford, Spring, 2018 47 / 47