+ All Categories
Home > Documents > Scalar Conservation Laws and Godunov's Scheme · GF NPY_]PQZ]LYLWd^T^...

Scalar Conservation Laws and Godunov's Scheme · GF NPY_]PQZ]LYLWd^T^...

Date post: 30-Aug-2018
Category:
Upload: dinhnhan
View: 213 times
Download: 0 times
Share this document with a friend
38
/centre for analysis, scientific computing and applications Unsteady Problems Scalar Conservation Laws and Godunov’s Scheme K. Malakpoor CASA Center for Analysis, Scientific Computing and Applications Department of Mathematics and Computer Science 7-July-2005
Transcript

/centre for analysis, scientific computing and applications

Unsteady Problems

Scalar Conservation Laws and Godunov’sScheme

K. Malakpoor

CASACenter for Analysis, Scientific Computing and Applications

Department of Mathematics and Computer Science

7-July-2005

/centre for analysis, scientific computing and applications

Unsteady Problems

Conservation equations. Mass conservation

ρt +∇ · (ρv) = 0.

Two-dimensional Euler equation

ut + f1(u)x + f2(u)y = 0,

u =

ρ

ρν1ρν2e

, f1(u) =

ρν1

ρν21 + p

ρν1ν2ν1(e + p)

f2(u) =

ρν2

ρν1ν2ρν2

2 + pν2(e + p)

p = (γ − 1)ρε, e = ρε + 1/2ρ(ν2

1 + ν22).

/centre for analysis, scientific computing and applications

Unsteady Problems

Conservation equations. Mass conservation

ρt +∇ · (ρv) = 0.

Two-dimensional Euler equation

ut + f1(u)x + f2(u)y = 0,

u =

ρ

ρν1ρν2e

, f1(u) =

ρν1

ρν21 + p

ρν1ν2ν1(e + p)

f2(u) =

ρν2

ρν1ν2ρν2

2 + pν2(e + p)

p = (γ − 1)ρε, e = ρε + 1/2ρ(ν2

1 + ν22).

/centre for analysis, scientific computing and applications

Unsteady Problems

Finite Volume Schemes

ut +∇ · f (u) = 0 in Ω× [0, T ]

Discretization of space

Ci

x

t

1−ix ix 1+ix

1+nt

nt

Ω =⋃

Ωi , Ωj ∩ Ωk = ∅, forj 6= k

boundary ∂Ωj piecewise smooth.

/centre for analysis, scientific computing and applications

Unsteady Problems

Finite VolumeIntegration over Ωj × [tn, tn+1]

|Ωj |un+1j = |Ωj |un

j −∫ tn+1

tn

∫∂Ωj

f (u(x , t)) · ndSdt

Finite Volume Scheme in One-DimensionIntegrating over [xi−1/2, xi+1/2]× [tn, tn+1]∫ tn+1

tn

∫ xi+1/2

xi−1/2

ut(x , t) +

∫ tn+1

tn

∫ xi+1/2

xi−1/2

f (u(x , t))x dxdt = 0.

/centre for analysis, scientific computing and applications

Unsteady Problems

Finite VolumeIntegration over Ωj × [tn, tn+1]

|Ωj |un+1j = |Ωj |un

j −∫ tn+1

tn

∫∂Ωj

f (u(x , t)) · ndSdt

Finite Volume Scheme in One-DimensionIntegrating over [xi−1/2, xi+1/2]× [tn, tn+1]∫ tn+1

tn

∫ xi+1/2

xi−1/2

ut(x , t) +

∫ tn+1

tn

∫ xi+1/2

xi−1/2

f (u(x , t))x dxdt = 0.

/centre for analysis, scientific computing and applications

Unsteady Problems

Finite Volume Scheme in Conservation formWe know that the weak solution satisfies in∫ xi+1/2

xi−1/2

[u(x , tn+1)− u(x , tn+1)] = −∫ tn+1

tn

[f (u(xi+1/2, t))dt − f (u(xi−1/2, t))dt

]

un+1i = un

i −∆t∆x

(gni+1/2 − gn

i−1/2)

with

uni approximates

1∆x

∫ xi+1/2

xi−1/2

u(x , tn)dx ,

gi+1/2 approximates1∆t

∫ tn+1

tnf (u(xi+1/2, t))dt ,

/centre for analysis, scientific computing and applications

Unsteady Problems

Linear Advection Equation

ut + aux = 0, a ∈ R

Solution:

C : x = x(t) withdx(t)

dt= a, (characteristics)

A function u = u(x(t), t) satisfies

ddt

u(x(t), t) = ut + aux

u Solution ⇒ u = constant along C.

/centre for analysis, scientific computing and applications

Unsteady Problems

Linear Advection Equation

ut + aux = 0, a ∈ R

Solution:

C : x = x(t) withdx(t)

dt= a, (characteristics)

A function u = u(x(t), t) satisfies

ddt

u(x(t), t) = ut + aux

u Solution ⇒ u = constant along C.

/centre for analysis, scientific computing and applications

Unsteady Problems

Solution of Initial Value Problem

u(x , 0) = q(x) for all x ∈ R

u(x , t) = q(x − at) for all x , t .

/centre for analysis, scientific computing and applications

Unsteady Problems

Upwind Scheme

x

t

1−ix ix 1+ix

1+nt

nt

a > 0 :un+1

i − uni

∆t+ a

uni − un

i−1

∆x= 0

stable for:∆t∆x

a < 1 (CFL-Condition)

/centre for analysis, scientific computing and applications

Unsteady Problems

CIR-MethodCourant, Isaacson, Rees (1946)

un+1i = un

i − a∆t∆x

un

i − uni−1 for a > 0,

uni+1 − un

i for a < 0,

Reformulation

un+1i = un

i − a∆t

2∆x(un

i+1 − uni−1), central difference

+|a|∆t2∆x

(uni+1 − 2un

i + uni−1), dissipation

/centre for analysis, scientific computing and applications

Unsteady Problems

CIR-MethodCourant, Isaacson, Rees (1946)

un+1i = un

i − a∆t∆x

un

i − uni−1 for a > 0,

uni+1 − un

i for a < 0,

Reformulation

un+1i = un

i − a∆t

2∆x(un

i+1 − uni−1), central difference

+|a|∆t2∆x

(uni+1 − 2un

i + uni−1), dissipation

/centre for analysis, scientific computing and applications

Unsteady Problems

Reformulation of the CIR-Method, Godunov’s Ideaun piecewise constant

uni (x) = un

i for x ∈ [xi−1/2, xi+1/2].

/centre for analysis, scientific computing and applications

Unsteady Problems

1.Solve the initial value problemut + aux = 0, u(x , 0) = un(x), for x ∈ Run(x) = un

i for x ∈ [xi−1/2, xi+1/2]

2. Average the exact solution

uni :=

1∆x

∫ xi+1/2

xi−1/2

u(x ,∆t)dx

CFL-condition:∆t∆x

a ≤ 1

/centre for analysis, scientific computing and applications

Unsteady Problems

1.Solve the initial value problemut + aux = 0, u(x , 0) = un(x), for x ∈ Run(x) = un

i for x ∈ [xi−1/2, xi+1/2]

2. Average the exact solution

uni :=

1∆x

∫ xi+1/2

xi−1/2

u(x ,∆t)dx

CFL-condition:∆t∆x

a ≤ 1

/centre for analysis, scientific computing and applications

Unsteady Problems

Reformulation of the CIR-MethodIntegration over [xi−1/2, xi+1/2]× [tn, tn+1]∫ tn+1

tn

∫ xi+1/2

xi−1/2

u(x , t) dxdt +

∫ tn+1

tn

∫ xi+1/2

xi−1/2

au(x , t) dxdt = 0

∆xun+1i −∆xun

i = ∆tgni+1/2 −∆tgn

i−1/2

with

uni approximates

1∆x

∫ xi+1/2

xi−1/2

u(x , tn)dx ,

gi+1/2 approximates1∆t

∫ tn+1

tnau(xi+1/2, t)dt ,

numerical flux: gi+1/2 = g(ui , ui+1).

/centre for analysis, scientific computing and applications

Unsteady Problems

Reformulation of the CIR-MethodIntegration over [xi−1/2, xi+1/2]× [tn, tn+1]∫ tn+1

tn

∫ xi+1/2

xi−1/2

u(x , t) dxdt +

∫ tn+1

tn

∫ xi+1/2

xi−1/2

au(x , t) dxdt = 0

∆xun+1i −∆xun

i = ∆tgni+1/2 −∆tgn

i−1/2

with

uni approximates

1∆x

∫ xi+1/2

xi−1/2

u(x , tn)dx ,

gi+1/2 approximates1∆t

∫ tn+1

tnau(xi+1/2, t)dt ,

numerical flux: gi+1/2 = g(ui , ui+1).

/centre for analysis, scientific computing and applications

Unsteady Problems

Scalar Conservation Laws

ut + f (u)x = 0,

Quasilinear form:

ut + a(u)ux = 0

Example: Burger’s equation, f (u) =12

u2

ut + uux = 0

Characteristics: C : x = x(t) withdf (u)

du= a(u)

u = constant along C.

/centre for analysis, scientific computing and applications

Unsteady Problems

Scalar Conservation Laws

ut + f (u)x = 0,

Quasilinear form:

ut + a(u)ux = 0

Example: Burger’s equation, f (u) =12

u2

ut + uux = 0

Characteristics: C : x = x(t) withdf (u)

du= a(u)

u = constant along C.

/centre for analysis, scientific computing and applications

Unsteady Problems

Scalar Conservation Laws

ut + f (u)x = 0,

Quasilinear form:

ut + a(u)ux = 0

Example: Burger’s equation, f (u) =12

u2

ut + uux = 0

Characteristics: C : x = x(t) withdf (u)

du= a(u)

u = constant along C.

/centre for analysis, scientific computing and applications

Unsteady Problems

Scalar Conservation Laws

ut + f (u)x = 0,

Quasilinear form:

ut + a(u)ux = 0

Example: Burger’s equation, f (u) =12

u2

ut + uux = 0

Characteristics: C : x = x(t) withdf (u)

du= a(u)

u = constant along C.

/centre for analysis, scientific computing and applications

Unsteady Problems

Riemann ProblemExample 1:

ut + uux = 0, u(x , 0) =

1, x < 0,

−1, x > 0.

t

1−=ru1=lu

1−=t

x1=

t

x

evawkcohs

/centre for analysis, scientific computing and applications

Unsteady Problems

Riemann ProblemExample 2:

ut + uux = 0, u(x , 0) =

−1, x < 0,

1, x > 0.

x

t

1=ru1−=lu

evawnoitcaferar

/centre for analysis, scientific computing and applications

Unsteady Problems

Solution of the Riemann problem

Case f ′′(u) > 0,

ul > ur : Shock wave u(x , t) =

ul , x/t < s,

ur , x/t > s.with

s =f (ur )− f (ul)

ur − ul.

ul < ur : rarefaction wave

u(x , t) =

ul , x/t < a(ul),

ur , x/t > a(ur ),

a−1(x/t), else

/centre for analysis, scientific computing and applications

Unsteady Problems

Solution of the Riemann problem

Case f ′′(u) > 0,

ul > ur : Shock wave u(x , t) =

ul , x/t < s,

ur , x/t > s.with

s =f (ur )− f (ul)

ur − ul.

ul < ur : rarefaction wave

u(x , t) =

ul , x/t < a(ul),

ur , x/t > a(ur ),

a−1(x/t), else

/centre for analysis, scientific computing and applications

Unsteady Problems

Godunov’s Method:

un+1i = un

i −∆t∆x

(gni+1/2 − gn

i−1/2)

with the numerical flux

g(ul , ur ) =

f (ul), for ul > ur , s > 0,

f (ur ), for ul > ur , s < 0,

f (ul), for ul < ur , a(ul) > 0,

f (ur ), for ul < ur , a(ur ) < 0,

a−1(0), else.

with ul := ui and ur := ui+1

/centre for analysis, scientific computing and applications

Unsteady Problems

Higher Order, Generalized Godunov’s Scheme

To compute the numerical flux gi+1/2, one has to solve theRiemann problem ut + f (u)x = 0, t ≥ tn,

u(x , tn) =

un

i + (x − xi)sni , x < xi+1/2,

uni+1 + (x − xi+1)sn

i+1, x > xi+1/2,

where sni and sn

i+1 called slopes, are constants.

x

nu

+)1-i(u-iu

iu-)1i(u +

+iu

/centre for analysis, scientific computing and applications

Unsteady Problems

Second order accuracy in space:

u(x , tn) = u(xi , tn) + (x − xi)ux(x , tn) +O((x − xi)2)

sni = ux(xi , tn) +O((x − xi)

2)

Taylor expansion in time:

u(x , t + ∆t/2) = u(x , t) +∆t2

ut(x , t) +O(∆t2), ut = −f (u)x

u(x , t +∆t2

) = u(x , t)− ∆t2

f (u(x , t))x +O(∆t2)

⇒ un+1i± = un

i± −∆t∆x

(f (uni+)− f (un

i−))

/centre for analysis, scientific computing and applications

Unsteady Problems

Second order accuracy in space:

u(x , tn) = u(xi , tn) + (x − xi)ux(x , tn) +O((x − xi)2)

sni = ux(xi , tn) +O((x − xi)

2)

Taylor expansion in time:

u(x , t + ∆t/2) = u(x , t) +∆t2

ut(x , t) +O(∆t2), ut = −f (u)x

u(x , t +∆t2

) = u(x , t)− ∆t2

f (u(x , t))x +O(∆t2)

⇒ un+1i± = un

i± −∆t∆x

(f (uni+)− f (un

i−))

/centre for analysis, scientific computing and applications

Unsteady Problems

MUSCL-ProcedureBoundary Values at tn

uni± = un

i ±∆x2

sni

tn → tn+1/2

un+1/2i± = un

± −∆t

2∆x(f (un

i+)− f (uni−))

FV-scheme:

un+1i = un

i −∆t∆x

(gn+1/2i+1/2 − gn+1/2

i−1/2 )

with gn+1/2i+1/2 = g(un+1/2

i+ , un+1/2(i+1)−).

/centre for analysis, scientific computing and applications

Unsteady Problems

MUSCL-ProcedureBoundary Values at tn

uni± = un

i ±∆x2

sni

tn → tn+1/2

un+1/2i± = un

± −∆t

2∆x(f (un

i+)− f (uni−))

FV-scheme:

un+1i = un

i −∆t∆x

(gn+1/2i+1/2 − gn+1/2

i−1/2 )

with gn+1/2i+1/2 = g(un+1/2

i+ , un+1/2(i+1)−).

/centre for analysis, scientific computing and applications

Unsteady Problems

MUSCL-ProcedureBoundary Values at tn

uni± = un

i ±∆x2

sni

tn → tn+1/2

un+1/2i± = un

± −∆t

2∆x(f (un

i+)− f (uni−))

FV-scheme:

un+1i = un

i −∆t∆x

(gn+1/2i+1/2 − gn+1/2

i−1/2 )

with gn+1/2i+1/2 = g(un+1/2

i+ , un+1/2(i+1)−).

/centre for analysis, scientific computing and applications

Unsteady Problems

LimitersDefine ∆−un

i = uni − un

i−1, ∆+uni = un

i+1 − uni and

rni = ∆−un

i /∆+uni .

Define a coefficient function Φ(rni ) with

sni ∆x = Φ(rn

i )∆+uni

The coefficient Φ(rni ) is often referred to as the limiter.

A limiter has to satisfy

0 ≤Φ(rn

i )

rni

≤ 2 and 0 ≤ Φ(rni ) ≤ 2,∀i .

/centre for analysis, scientific computing and applications

Unsteady Problems

Minmod limiter: Φ(r) = min (r , 1).Davis limiter: Φ(r) = min (2r , 1/2(1 + r), 2).

Harmonic limiter: Φ(r) =2r

1 + r

Jameson limiter: Φ(r) = 1/2(1 + r)[1−

∣∣∣∣ 1− r1 + |r |

∣∣∣∣q], q > 0.

/centre for analysis, scientific computing and applications

Unsteady Problems

Generalized Godunov’s SchemeLet us consider a general transport equation ofconvection-diffusion-reaction type in the divergence form

∂u∂t

+∇ · f (u,∇u) = S(u).

A generalized Godunov scheme has the form:

ZΩα

(un+1 − un) dΩ +

Z tn+1

tndtZ

∂Ωα

f (Et u,∇Et u) · n dΓ =

Z tn+1

tndtZ

ΩαS(u)dΩ.

Ωα denotes an element of the mesh and Et is an approximationevolution operator over a time segment t ∈ [tn, tn+1].

/centre for analysis, scientific computing and applications

Unsteady Problems

Numerical Scheme for Convection-Diffusion-Reaction Problems1

∂c∂t

+∂

∂x[−D

∂c∂x

+ vc] = S(c), v > 0, D > 0, x ∈ [0, L].

2

cn+1i −∆t/2S(cn+1

i ) = cni −

∆t∆x

[gni+1/2−gn

i−1/2]+∆t/2S(cni ).

wheregn

i+1/2 = vcn+1/2i+1/2 − Dsn

i ,

and sni is again the slope of the local linear recovery.

/centre for analysis, scientific computing and applications

Unsteady Problems

Numerical Scheme for Convection-Diffusion-Reaction Problems1

∂c∂t

+∂

∂x[−D

∂c∂x

+ vc] = S(c), v > 0, D > 0, x ∈ [0, L].

2

cn+1i −∆t/2S(cn+1

i ) = cni −

∆t∆x

[gni+1/2−gn

i−1/2]+∆t/2S(cni ).

wheregn

i+1/2 = vcn+1/2i+1/2 − Dsn

i ,

and sni is again the slope of the local linear recovery.


Recommended