Finite difference schemes for scalar linear hyperbolic PDE...

50
Finite difference schemes for scalar linear hyperbolic PDE in 1-D Praveen. C [email protected] Tata Institute of Fundamental Research Center for Applicable Mathematics Bangalore 560065 http://math.tifrbng.res.in/ ~ praveen February 4, 2013 1 / 50

Transcript of Finite difference schemes for scalar linear hyperbolic PDE...

Page 1: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

Finite difference schemes forscalar linear hyperbolic PDE in 1-D

Praveen. [email protected]

Tata Institute of Fundamental ResearchCenter for Applicable Mathematics

Bangalore 560065http://math.tifrbng.res.in/~praveen

February 4, 2013

1 / 50

Page 2: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

Simplest hyperbolic PDELinear, scalar convection/advection equation (Initial value problem)

ut + aux =0 x ∈ R, t > 0

u(x, 0) =f(x) x ∈ R(1)

Exact solutionu(x, t) = f(x− at)

Initial condition is convected with speed a without change of form.

x

f(x)u(x, t)

at

Hence the extrema of the solution do not change with time. Also the L2-normof the solution does not change with time. If E(t) is the solution operator

u(x, t) = E(t)f(x) =⇒ ‖E(t)u‖ = ‖u‖

in both sup-norm and L2-norm.2 / 50

Page 3: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

Method of characteristics

How does the solution vary along thespace-time curve x = x(t) with

d

dtx(t) = a

Variation of u along this curve

d

dtu(x(t), t)

=∂u

∂t(x(t), t) +

d

dtx(t) · ∂u

∂x(x(t), t)

= ut + aux

= 0

Solution is constant along thecharacteristic curve.

Backward characteristic through (x, t)hits initial time t = 0 at

x0 = x− at

t

x

(x, t)

x0

dxdt

= a

u(x, t) = u(x0, 0) = f(x− at)

3 / 50

Page 4: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

Discontinuous solutions

If the initial condition is discontinuous, then we can still talk of a solution,even though the PDE is not satisfied everywhere. The MOC method is stillvalid and gives the solution at any later time. The solution is again obtainedby translating the initial condition. The discontinuity propagates along thecharacteristic curve.

f

x

ul

ur

Initial Condition t

x

dxdt

= au = ul u = ur

Such a discontinuity is called a contact discontinuity/wave. Thecharactersitics on either side of the discontinuity curve are parallel to it.

4 / 50

Page 5: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

Finite difference scheme

Forward time, backward space (FTBS)

un+1j − unj

∆t+ a

unj − unj−1

h= 0 ⇒ un+1

j = (1− aλ)unj + aλunj−1

Forward time, central space (FTCS)

un+1j − unj

∆t+ a

unj+1 − unj−1

2h= 0 ⇒ un+1

j = unj +aλ

2(unj−1 − unj+1)

Forward time, forward space (FTFS)

un+1j − unj

∆t+ a

unj+1 − unjh

= 0 ⇒ un+1j = (1 + aλ)unj − aλunj+1

λ =∆t

h

5 / 50

Page 6: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

Maximum principle

• a > 0: FTBS scheme is stable in maximum norm if aλ ≤ 1, others areunstable.

• a < 0: FTFS scheme is stable in maximum norm if |a|λ ≤ 1, others areunstable.

• FTCS scheme is never stable in maximum norm.

• Upwind scheme: switch between backward and forward difference

un+1j − unj

∆t+ a+

unj − unj−1

h+ a−

unj+1 − unjh

= 0

Stable in maximum norm for any a provided |a|λ ≤ 1 is satisfied.

Courant-Friedrichs-Levy (CFL) number, CFL condition

CFL = |a|λ =|a|∆th

, CFL ≤ 1, ∆t = O (h)

6 / 50

Page 7: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

Numerical example

• PDEut + aux = 0, x ∈ (0, 1)

• with initial conditionu(x, 0) = sin(2πx)

• and periodic boundary conditions.

• Use a = 1. Try backward and forward difference scheme with CFL=0.5.The scheme is implemented in the matlab programlin hyp 1d periodic.m

• Backward difference: lin hyp 1d periodic(100, 0.5, ’bd’)

• Forward difference: lin hyp 1d periodic(100, 0.5, ’fd’)

7 / 50

Page 8: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

Lax-Friedrichs (LF) scheme

• Forward time, central space (FTCS)

un+1j − unj

∆t+ a

unj+1 − unj−1

2h= 0

is not stable in maximum norm. We can modify it in following way.

• LF scheme

un+1j − 1

2 (unj−1 + unj+1)

∆t+ a

unj+1 − unj−1

2h= 0

un+1j =

1

2(1 + aλ)unj−1 +

1

2(1− aλ)unj+1

Stable in maximum norm if |a|λ ≤ 1.

8 / 50

Page 9: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

Lax-Wendroff (LW) schemeTaylor’s formula

u(xj , tn+1) = u(xj , t

n) + ∆tut(xj , tn) +

1

2∆t2utt(xj , t

n) +O(∆t3

)Use the PDE

ut = −aux utt = a2uxx

to get

u(xj , tn+1) = u(xj , t

n)− a∆tux(xj , tn) +

1

2a2∆t2uxx(xj , t

n) +O(∆t3

)Approximate ux and uxx by central differences

un+1j = unj − a∆t

unj+1 − unj−1

2h+

1

2a2∆t2

unj−1 − 2unj + unj+1

h2+O

(∆t3

)LW scheme

un+1j = unj −

1

2aλ(unj+1 − unj−1) +

1

2a2λ2(unj−1 − 2unj + unj+1)

This scheme is not bounded in maximum norm but is stable in L2 norm.9 / 50

Page 10: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

More schemes

• Leapfrog scheme (Three level scheme)

un+1j − un−1

j

2∆t+ a

unj+1 − unj−1

2h= 0

Not self-starting, need different scheme for first time step.

• Backward time, central space, BTCS (Backward Euler implicit scheme)

un+1j − unj

∆t+ a

un+1j+1 − un+1

j−1

2h= 0

10 / 50

Page 11: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

Schemes via method of characteristics, CFL condition

Exact solution isu(xj , t

n+1) = u(xf , tn)

Assume a > 0 and aλ ≤ 1, i.e., a∆t ≤ ∆x

t

xj − 1 j j + 1

tn

tn+1

f

xf − xj−1 = h− a∆t

xj − xf = a∆t

h

∆t

• Linear interpolation between xj−1 and xj

un+1j =

xj − xfh

uj−1 +xf − xj−1

huj =⇒ un+1

j = aλunj−1 + (1− aλ)unj

which is the FTBS (upwind) scheme.

11 / 50

Page 12: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

Schemes via method of characteristics, CFL condition

• Quadratic interpolation between xj−1, xj , xj+1 leads to the Lax-Wendroffscheme. Valid procedure for a > 0 and a < 0.

If aλ > 1, then foot of backward characteristic xf intersects t = tn outside theinterval (xj−1, xj+1).

t

x

j − 1 j j + 1

tn

tn+1

f

h

∆t

Interpolation using the values uj−1, uj , uj+1 would be wrong in this case. CFLcondition ensures correct domain of dependance

Exact domain of dependance ⊂ Numerical domain of dependance

12 / 50

Page 13: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

Consistency and accuracyLocal truncation error : e.g. FTCS scheme

τnj =u(xj , t

n+1)− u(xj , tn)

∆t+ a

u(xj+1, tn)− u(xj−1, t

n)

2h

Truncation errorτ(∆t, h) = max

j,n|τnj |

Consistency

The numerical scheme is consistent if

τ(∆t, h)→ 0 as ∆t, h→ 0

Accuracy

The numerical scheme is accurate of order p in time and to the order q inspace, if for a sufficiently regular solution of the exact problem, we have

τ(∆t, h) = O (∆tp + hq)

13 / 50

Page 14: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

Consistency and accuracy

Scheme τ(∆t, h)

FTCS O(∆t+ h2

)Upwind O (∆t+ h)

Lax-Friedrichs O(h2

∆t + ∆t+ h2)

Lax-Wendroff O(∆t2 + h2 + h2∆t

)Convergence in maximum norm

The scheme is convergent in the maximum norm if

lim∆t,h→0

maxj,n|u(xj , t

n)− unj | = 0

Remark: We will also consider weaker norms such as ‖·‖1,h and ‖·‖2,h

‖u‖1,h = h∑j

|uj |, ‖u‖2,h = (h∑j

|uj |2)12

14 / 50

Page 15: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

Stability

Definition: Stable scheme (finite time stability)

A numerical scheme is stable if for each time T , there exists a constant CT > 0such that for each h > 0, there exists δ0 > 0 (possibly dependent on h) suchthat for any 0 < ∆t < δ0, we have

‖un‖ ≤ CT∥∥u0∥∥

for each n such that n∆t ≤ T , and for each initial condition u0. The constantCT cannot depend on h.

Remark: An equivalent statement of the above condition is

‖un‖ ≤ (1 + C∆t)∥∥un−1

∥∥ , C ≥ 0

where the constant C cannot depend on ∆t or h. Then

‖un‖ ≤ (1 + C∆t)n∥∥u0∥∥ ≤ eCT

∥∥u0∥∥

15 / 50

Page 16: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

Stability

Strongly stable scheme

A numerical scheme is said to be strongly stable if

‖un‖ ≤∥∥un−1

∥∥i.e., if CT = 1.

Remark: For hyperbolic problems, one is often interested in solutions after along time (T � 1). In such cases, it is desirable to have strong stability sincethen the numerical solutions are guaranteed to be bounded for each value of T .

16 / 50

Page 17: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

Stability in ‖·‖1,h (Upwind, LF and LW schemes)

If the CFL condition |a|λ ≤ 1 is satisfied, then the upwind, Lax-Friedrichs andLax-Wendroff schemes are strongly stable in the norm ‖·‖1,h.

Proof: (1) Consider the upwind scheme with a > 0

un+1j = (1− aλ)unj + aλunj−1

Then ∥∥un+1∥∥

1,h≤ h

∑j

|(1− aλ)unj |+ h∑j

|aλunj−1|

and since aλ > 0 and (1− aλ) > 0, we get∥∥un+1∥∥

1,h≤ h

∑j

(1− aλ)|unj |+ h∑j

aλ|unj−1| = ‖un‖1,h

(2) For the Lax-Friedrichs scheme

un+1j =

1

2(1 + aλ)unj−1 +

1

2(1− aλ)unj+1

17 / 50

Page 18: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

with (1± aλ) ≥ 0 due to CFL condition, so that

∥∥un+1∥∥

1,h≤ 1

2h∑j

|(1 + aλ)unj−1|+1

2h∑j

|(1− aλ)unj+1|

=1

2h∑j

(1 + aλ)|unj−1|+1

2h∑j

(1− aλ)|unj+1|

= ‖un‖1,h

(3) For the Lax-Wendroff scheme, the proof is analogous.

Remark: We have already shown the upwind and LF schemes to be stable inmaximum norm. The LW scheme is NOT bounded in maximum norm.

un+1j =

1

2aλ(1 + aλ)unj−1 + (1− a2λ2)unj +

1

2aλ(−1 + aλ)unj+1

However this does not mean that it is unstable in maximum norm.

18 / 50

Page 19: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

Stability in ‖·‖2,h (BTCS, FTCS)

(1) The BTCS scheme is strongly stable in the norm ‖·‖2,h with no restrictionon ∆t. (2) The FTCS is never strongly stable. However, it is stable withconstant CT = eT/2 provided we assume that ∆t satisfies the followingcondition (which is more restrictive than the CFL condition)

∆t ≤(h

a

)2

Proof: (1) BTCS (implicit Euler scheme)

un+1j

(un+1j − unj

∆t+ a

un+1j+1 − un+1

j−1

2h

)= 0

which can re-arranged as

(un+1j )2 + (un+1

j − unj )2 = (unj )2 − aλ(un+1j+1 − un+1

j−1 )un+1j

19 / 50

Page 20: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

Summing up over all the cells, the last term vanishes (telescopic collapse) toyield ∥∥un+1

∥∥2

2,h= ‖un‖22,h − h

∑j

(un+1j − unj )2 ≤ ‖un‖22,h

(2) FTCS scheme

unj

(un+1j − unj

∆t+ a

unj+1 − unj−1

2h

)= 0

which can be rearranged as

(un+1j )2 = (unj )2 + (un+1

j − unj )2 − aλ(unj+1 − unj−1)unj

so that ∥∥un+1∥∥2

2,h= ‖un‖22,h + h

∑j

(un+1j − unj )2 ≥ ‖un‖22,h

and the FTCS scheme is not strongly stable. However if we write the scheme

un+1j − unj = −aλ

2(unj+1 − unj−1)

20 / 50

Page 21: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

and use it in above equation, we get

(un+1j )2 = (unj )2 +

(aλ

2

)2

(unj+1 − unj−1)2 − aλ(unj+1 − unj−1)unj

Summing up over all the equations

∥∥un+1∥∥2

2,h= ‖un‖22,h + h

(aλ

2

)2∑j

(unj+1 − unj−1)2

≤ ‖un‖22,h + h

(aλ

2

)2

2∑j

[(unj+1)2 + (unj−1)2]

= ‖un‖22,h + a2λ2 ‖un‖22,h assume a2λ2 ≤ ∆t

≤ (1 + ∆t) ‖un‖22,h if ∆t ≤(h

a

)2

This yields

‖un‖22,h ≤ (1 + ∆t)n∥∥u0∥∥2

2,h≤ eT

∥∥u0∥∥2

2,h∀n s.t. n∆t ≤ T

which shows stability of FTCS scheme since ‖un‖2,h ≤ eT/2∥∥u0∥∥

2,h.

21 / 50

Page 22: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

Remark: The proof in the last theorem requires the following algebraicidentities: for any A,B ∈ R

(B −A)B = (B −A)2 + (B −A)A

=1

2[B2 −A2 + (B −A)2]

=1

2[(B −A)2 + (B −A)(B +A)]

and

(B −A)A =1

2[B2 −A2 − (B −A)2]

Remark: The above proofs were possible due to the algebraic structure of theschemes. For other schemes, we may not be able to show stability in ‖·‖2,husing such algebraic techniques. In those cases, the Fourier or Von Neumannstability analysis will be useful. However this approach is limited to linearproblems. Even for non-linear problems, Fourier stability is a necessarycondition; from a computational viewpoint, it keeps roundoff errors undercontrol.

22 / 50

Page 23: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

Discrete Fourier transformPeriodic initial condition

f : [0, 2π]→ R

Let N be an even integer. Consider a grid of N + 1 points with grid pointcoordinates

xj = jh, j = 0, 1, . . . , N with h =2π

N

We can approximate f(x) on the grid by the discrete Fourier series

f(x) =

N2 −1∑

k=−N2

αkeikx

Determine the coefficients αk by interpolation fj = f(xj) = f(xj), i.e.,

fj =

N2 −1∑

k=−N2

αkeikjh, j = 0, 1, . . . , N − 1

We ignore fN since fN = f0 by periodicity.

23 / 50

Page 24: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

Discrete Fourier transform

To determine αk, multiply by e−iljh and sum

N−1∑j=0

fje−iljh =

N−1∑j=0

N2 −1∑

k=−N2

αkeikjhe−iljh =

N2 −1∑

k=−N2

αk

N−1∑j=0

ei(k−l)jh

We can show that

N−1∑j=0

ei(k−l)jh =2π

hδkl, −N

2≤ k, l ≤ N

2− 1

which gives the Fourier coefficient

αl =h

N−1∑j=0

fje−iljh

24 / 50

Page 25: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

Parseval relation

We want to relate l2 norm of a grid function with the l2 norm of its Fouriercoefficients.

f2j = f∗j fj =

N2 −1∑

k=−N2

α∗ke−ikjhfj

Summing up over all the grid points

N−1∑j=0

f2j =

N2 −1∑

k=−N2

α∗k

N−1∑j=0

fje−ikjh =

h

N2 −1∑

k=−N2

α∗kαk

which gives the discrete Parseval relation

‖f‖22,h = h

N−1∑j=0

|fj |2 = 2π

N2 −1∑

k=−N2

|αk|2

25 / 50

Page 26: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

Von Neumann stability analysis

Let us approximate the initial condition by the discrete Fourier series andapply any of the numerical schemes studied till now to this approximate initialcondition. Then the solution at any time tn can be written as

unj =

N2 −1∑

k=−N2

αk(γk)neikjh

where γk ∈ C is called the amplification coefficient of the k-th frequency (orharmonic). If |γk| > 1 then the numerical solution is likely to blow up withtime.FTCS scheme: Consider first time step

u1j = u0

j +aλ

2(u0j−1 − u0

j+1)

=

N2 −1∑

k=−N2

αkeikjh

[1 +

1

2aλ(e−ikh − eikh)

]︸ ︷︷ ︸

γk

26 / 50

Page 27: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

Von Neumann stability analysis

But

γk = 1− iaλ sin(kh), |γk| = [1 + a2λ2 sin2(kh)]12 ≥ 1

and hence the FTCS scheme is not strongly unstable.

Scheme γk

FTCS 1− iaλ sin(kh)BTCS (imp. Euler) [1 + iaλ sin(kh)]−1

Upwind 1− |a|λ(1− e−ikh)Lax-Friedrichs cos(kh)− iaλ sin(kh)Lax-Wendroff 1− iaλ sin(kh)− a2λ2[1− cos(kh)]

27 / 50

Page 28: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

Von Neumann stability

If ∃β ≥ 0 and a positive integer m such that, for suitable choices of ∆t and h,we have |γk| ≤ (1 + β∆t)

1m for each k, then the scheme is stable with respect

to ‖·‖2,h with a stability constant CT = eβTm . In particular, if β = 0 (so that

|γk| ≤ 1), then the scheme is strongly stable.

Proof: Using the Parseval relation, we get

‖un‖22,h = 2π

N2 −1∑

k=−N2

|αk|2|γk|2n

≤ (1 + β∆t)2nm 2π

N2 −1∑

k=−N2

|αk|2 = (1 + β∆t)2nm

∥∥u0∥∥2

2,h

≤ e2βn∆tm

∥∥u0∥∥2

2,hsince 1 + β∆t ≤ eβ∆t

≤ e2βTm

∥∥u0∥∥2

2,h∀n s.t. n∆t ≤ T

The second part of the theorem follows easily.

28 / 50

Page 29: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

Stability of standard schemes in ‖·‖2,h

Scheme Stable Strongly stable CFL |γk| ≤FTCS∗ Yes No ∆t ≤ β h2

a2 (1 + β∆t)12

BTCS (imp. Euler) Yes Yes - 1Upwind Yes Yes |a|λ ≤ 1 1Lax-Friedrichs Yes Yes |a|λ ≤ 1 1Lax-Wendroff Yes Yes |a|λ ≤ 1 1

∗ For any β > 0.

Remark: Leapfrog scheme has

|γk| = 1, if |a|λ ≤ 1

so that it is neutrally stable.

29 / 50

Page 30: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

Dissipation property

• The exact solution u(x, t) = f(x− at) can be written as a Fourier series

u(xj , tn) =

∞∑k=−∞

αkeik(xj−atn) =

∞∑k=−∞

αkeikjh(gk)n, gk = e−iak∆t

• Note that |gk| = 1 which reflects the property that the exact solution isadvected without change of shape (amplitude).

• In the numerical scheme, gk is replaced by γk and for strong stability, weneed |γk| ≤ 1.

• If |γk| < 1 the amplitude of numerical solution will decrease with time,which is a sign of some dissipative mechanism in the numerical scheme.

• We can measure the amplification error by

εa(k) =|γk||gk|

=Numerical amplitude

Exact amplitude

• Ideally, we would like to have εa(k) ≈ 1 for all wave numbers k that canbe represented on the grid.

30 / 50

Page 31: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

Dispersion property• Let us set

φk = kh so that gk = e−iaλφk

φk is called the phase angle of the k-th harmonic.

• The speed of propagation of k-th harmonic is a which is independent ofthe wave number k.

• Similarly for the scheme we can write

γk = |γk|e−iωk∆t = |γk|e−iωkk λφk

• The quantity ωkk measures the numerical propagation speed of the k-th

harmonic, which is not equal to the exact propagation speed which is afor all harmonics. This means that different harmonics can propagatewith different speeds, which is known as dispersion error. This can bemeasured by

εd(k) =ωkak

=ωkh

aφk=: εd(φk,CFL), −π ≤ φk ≤ +π

• Ideally, we would like to have εd(k) ≈ 1 for all wave numbers k that canbe represented on the grid.

31 / 50

Page 32: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

336 12 Finite differences for hyperbolic equations

0 20 40 60 80 100 120 140 160 1800

0.2

0.4

0.6

0.8

1

1.2Amplification error FE/C

! a

0 20 40 60 80 100 120 140 160 180

0

0.2

0.4

0.6

0.8

1

Dispersion error FE/C

" # x

! $

0 20 40 60 80 100 120 140 160 1800

0.2

0.4

0.6

0.8

1

1.2Amplification error BE/C

! a

0 20 40 60 80 100 120 140 160 180

0

0.2

0.4

0.6

0.8

1

Dispersion error BE/C

" # x

! $

0 20 40 60 80 100 120 140 160 1800

0.2

0.4

0.6

0.8

1

1.2Amplification error LF

! a

0 20 40 60 80 100 120 140 160 180

1

2

3

4

5

Dispersion error LF

" # x

! $

0 20 40 60 80 100 120 140 160 1800

0.2

0.4

0.6

0.8

1

1.2Amplification error U

! a

0 20 40 60 80 100 120 140 160 180

0

0.5

1

Dispersion error U

" # x

! $

0 20 40 60 80 100 120 140 160 1800

0.2

0.4

0.6

0.8

1

1.2Amplification error LW

! a

0 20 40 60 80 100 120 140 160 180

0

0.5

1

Dispersion error LW

" # x

! $

Fig. 12.6. Amplification and dispersion errors for different numerical schemes as a function ofthe phase angle !k = kh and for different values of the CFL number

interval 0 ! !k ! " and we have used degrees instead of radiants in the abscissa toindicate !k. Note how the forward/centered Euler scheme denotes a curve of the am-plification factor with values above one for all the CFL schemes we have considered,in accordance with the fact that such scheme is never strongly stable.

32 / 50

Page 33: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

l = 20h

φk =π

10

338 12 Finite differences for hyperbolic equations

!1 !0.5 0 0.5 1 1.5 2 2.5 3

!1

!0.5

0

0.5

1

x

u

Lax!Wendroff CFL= 0.75, !k="/10,t= 1.0

!1 !0.5 0 0.5 1 1.5 2 2.5 3

!1

!0.5

0

0.5

1

x

u

Lax!Wendroff CFL= 0.75, !k="/4,t= 1.0

!1 !0.5 0 0.5 1 1.5 2 2.5 3

!1

!0.5

0

0.5

1

x

u

Lax!Friedrichs CFL= 0.75, !k="/10,t= 1.0

!1 !0.5 0 0.5 1 1.5 2 2.5 3

!1

!0.5

0

0.5

1

x

u

Lax!Friedrichs CFL= 0.75, !k="/4,t= 1.0

!1 !0.5 0 0.5 1 1.5 2 2.5 3

!1

!0.5

0

0.5

1

x

u

Upwind CFL= 0.75, !k="/10,t= 1.0

!1 !0.5 0 0.5 1 1.5 2 2.5 3

!1

!0.5

0

0.5

1

x

u

Upwind CFL= 0.75, !k="/4,t= 1.0

!1 !0.5 0 0.5 1 1.5 2 2.5 3

!1

!0.5

0

0.5

1

x

u

Backward Euler CFL= 0.75, !k="/10,t= 1.0

!1 !0.5 0 0.5 1 1.5 2 2.5 3

!1

!0.5

0

0.5

1

x

u

Backward Euler CFL= 0.75, !k="/4,t= 1.0

Fig. 12.7. Numerical solution of the convective transport equation of a sinusoidal wave packetwith different wavelengths (l = 20h at the left, l = 8h at the right) obtained with differentnumerical schemes. The numerical solution for t = 1 is displayed in solid line, while the exactsolution at the same time instant is displayed in etched line

l = 8h

φk =π

4

33 / 50

Page 34: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

12.5 Equivalent equations 339

!0.5 0 0.5 1 1.5

!1

!0.8

!0.6

!0.4

!0.2

0

0.2

0.4

0.6

0.8

1

x

u

Lax!Wendroff CFL= 0.75, !k x="/4

!0.5 0 0.5 1 1.5

!1

!0.8

!0.6

!0.4

!0.2

0

0.2

0.4

0.6

0.8

1

x

u

Lax!Friedrichs CFL= 0.75, !k="/4

!0.5 0 0.5 1 1.5

!1

!0.8

!0.6

!0.4

!0.2

0

0.2

0.4

0.6

0.8

1

x

u

Upwind CFL= 0.75, !k="/4

!0.5 0 0.5 1 1.5

!1

!0.8

!0.6

!0.4

!0.2

0

0.2

0.4

0.6

0.8

1

x

u

Backward Euler CFL= 0.75, !k="/4

Fig. 12.8. Numerical solution of the convective transport of a packet of sinusoidal waves. Thesolid line represents the solution after 8 time steps. The etched line represents the correspondingexact solution at the same time level

Formally differentiating such equation with respect to t, we find

vtt + avxt = RUt +O(!t3 + h3).

Instead, differentiating it with respect to x, we have

vxt + avxx = RUx +O(!t3 + h3). (12.46)

Hence,vtt = a

2vxx + RUt ! aRUx +O(!t3 + h3) (12.47)

which allows to obtain from (12.45)

vt+avx = µvxx!1

6(ah2vxxx+!t

2vttt)!!t

2(RUt !aRUx )+O(!t3+h3), (12.48)

having set

µ =1

2ah(1! (a")) (12.49)

34 / 50

Page 35: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

Modified PDE/Equivalent equationThe numerical solution unj is known at the grid points xj and tn only, and ingeneral it is different from the exact solution u(x, t)

unj 6= u(xj , tn)

The exact solution does not exactly satisfy the numerical scheme, since thereis some truncation error. E.g., for FTBS scheme

u(xj , tn+1)− u(xj , t

n)

∆t+ a

u(xj , tn)− u(xj−1, t

n)

h= τnj 6= 0

Can we find a smooth function v(x, t) such that

v(xj , tn) = unj

and v(x, t) exactly satisfies the numerical scheme ?

v(xj , tn+1)− v(xj , t

n)

∆t+ a

v(xj , tn)− v(xj−1, t

n)

h= 0

What is the PDE satisfied by v(x, t) ?

35 / 50

Page 36: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

MPDE for Upwind schemeWe begin with the Upwind scheme (a > 0)

v(x, t+ ∆t)− v(x, t)

∆t+ a

v(x, t)− v(x− h, t)h

= 0

and do a Taylor expansion about (x, t)

v(x, t+ ∆t)− v(x, t)

∆t= vt +

∆t

2vtt +

∆t2

6vttt +O

(∆t3

)av(x, t)− v(x− h, t)

h= avx −

ah

2vxx +

ah2

6vxxx +O

(h3)

which leads tovt + avx = R+O

(∆t3 + h3

)with

R =1

2(ahvxx −∆tvtt)−

1

6(ah2vxxx + ∆t2vttt)

We want to write R in terms of x-derivatives. Differentiating wrt t and x

vtt + avxt = Rt +O(∆t3 + h3

), vxt + avxx = Rx +O

(∆t3 + h3

)36 / 50

Page 37: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

MPDE for Upwind scheme

This gives

vt + avx = µvxx −1

6(ah2vxxx + ∆t2vttt)−

∆t

2(Rt − aRx) +O

(∆t3 + h3

)where

µ =1

2ah(1− aλ) , µ = O (h)

We now want to replace vttt term.

vttt = a2vxxt +Rtt − aRxt +O(∆t3 + h3

)= −a3vxxx + a2Rxx +Rtt − aRxt +O

(∆t3 + h3

)Moreover

Rt =1

2ahvxxt −

∆t

2vttt −

ah2

6vxxxt −

∆t2

6vtttt

Rx =1

2ahvxxx −

∆t

2vttx −

ah2

6vxxxx −

∆t2

6vtttx

37 / 50

Page 38: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

MPDE for Upwind scheme

We get

vt + avx = µvxx −ah2

6

[1− a2∆t2

h2− 3a∆t

2h

]vxxx

+∆t

4(∆tvttt − ahvxxt − a∆tvttx)

+∆t

12(∆t2vtttt − a∆t2vtttx + ah2vxxxt − a2h2vxxxx)

−a2∆t2

6Rxx −

∆t2

6Rtt +

a∆t2

6Rxt +O

(∆t3 + h3

)Due to CFL condition, ∆t = O (h) and the terms in blue are O

(h3). The

terms in red can be written as

vttt = −a3vxxx +O (h)

vttx = +a2vxxx +O (h)

vxxt = −avxxx +O (h)

38 / 50

Page 39: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

MPDE for Upwind scheme

leads to the MPDE

vt + avx = µvxx + νvxxx +O(h3)

where

ν = −ah2

6(1− 3aλ+ 2a2λ2) , ν = O

(h2)

39 / 50

Page 40: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

MPDE: LF, LW, FTCS schemes

Upto O(h2)

we can write the MPDE as

vt + avx = µvxx︸︷︷︸O(h)

+ νvxxx︸ ︷︷ ︸O(h2)

µ is called the numerical viscosity.

• Lax-Friedrichs scheme

µ =h2

2∆t(1− a2λ2), ν =

ah2

3(1− a2λ2)

• Law-Wendroff scheme

µ = 0, ν =ah2

6(a2λ2 − 1)

• FTCS scheme

µ = −a2∆t

2< 0

40 / 50

Page 41: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

Meaning of MPDEThe MPDE gives us information about dissipation and dispersion propertiesof the numerical scheme. If we consider{

vt + avx = µvxx + νvxxx, x ∈ R, t > 0

v(x, 0) = eikx

its solution isv(x, t) = e−µk

2teik[x−(a+νk2)t]

The exact solution of the original PDE (µ = 0, ν = 0) is

u(x, t) = eik(x−at) (no dissipation, no dispersion)

• If µ > 0 then v is dissipated with time, indicating stability. For thenumerical schemes like Upwind and LF, we see that µ > 0 iff the CFLcondition |a|λ ≤ 1 is satisfied. LW scheme does not have any dissipation(It can have higher order dissipation, which would be much weaker.)

• If ν = 0 then every harmonic travels with speed a. But if ν 6= 0, then thek-th harmonic travels with speed a+ νk2 which leads to dispersion error.

41 / 50

Page 42: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

MPDE example: Upwind scheme

PDE and MPDE for upwind scheme (we take a = 1)

ut + aux = 0, vt + avx = µvxx, µ =1

2|a|h(1− |a|λ)

Discontinuous initial condition (H is Heaviside function)

u0(x) = 2[1−H(x)]

Exact solution

u(x, t) = 2[1−H(x− at)], v(x, t) = erfc

(x− at√

4µt

)Numerical example

a = 1, h = 0.05, ∆t = 0.04, |a|λ = 0.8, µ = 5× 10−4

42 / 50

Page 43: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

MPDE example: Upwind scheme156 8 Convergence, Accuracy, and Stability

(a) 0 0.5 1 1.5 2 2.5 3 3.5 4!0.5

0

0.5

1

1.5

2

2.5Time t = 1

(b) 0 0.5 1 1.5 2 2.5 3 3.5 4!0.5

0

0.5

1

1.5

2

2.5Time t = 3

Fig. 8.3. Dashed line: exact solution to the advection equation. Points: numerical solution obtainedwith the upwind method. Solid line: exact solution to the modified equation (8.44). (a) At time t = 1.(b) At time t = 3. [book/chap8/modeqn]

The numerical solution to the advection equation obtained using the upwind method, markedby the symbols in Figure 8.3, is well approximated by the exact solution to the modifiedequation.

It follows that we can use the modified equation to give us some insight into the expectedaccuracy of the upwind method on this problem. Comparing v(x, t) from (8.48) to the truesolution q(x, t) = 2H (ut ! x), it is possible to show that the 1-norm of the difference is

"q(·, t) ! v(·, t)"1 = 2! #

0erfc

"x$4!t

#dx

= 2$

4!t! #

0erfc(z) dz

= C1

$!t (8.51)

for some constant C1 independent of ! and t . Since ! is given by (8.49), this gives

"q(·, t) ! v(·, t)"1 % C2$

"x t (8.52)

as "x & 0 with "t/"x fixed. This indicates that the 1-norm of the error decays onlylike ("x)1/2 even though the method is formally “first-order accurate” based on the localtruncation error, which is valid only for smooth solutions.

This informal analysis only gives an indication of the accuracy one might expect from afirst-order method on a problem with a discontinuous solution. More detailed error analysisof numerical methods for discontinuous solutions (to nonlinear scalar equations) can befound, for example, in [251], [316], [339], [390], [436], [438].

Exercises

8.1. Consider the centered method (4.19) for the scalar advection equation qt + uqx = 0.Apply von Neumann analysis to show that this method is unstable in the 2-norm forany fixed "t/"x .

Numerical solution is very close to the solution of MPDE !!!

43 / 50

Page 44: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

MPDE example: Upwind scheme

Error in numerical solution can beapproximated as

‖u(t)− v(t)‖1=

∫ ∞−∞|u(x, t)− v(x, t)|dx

=

∫ at

−∞|v(x, t)− 2|dx+

∫ ∞at

|v(x, t)|dxxx = at

2

These two areas are equal

Hence the 1-norm error is

‖v(t)− u(t)‖1 = 2

∫ ∞at

|v(x, t)|dx

= 2

∫ ∞at

erfc

(x− at√

4µt

)dx

= 2√

4µt

∫ ∞0

erfc(z)dz

= C1

õt

44 / 50

Page 45: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

MPDE example: Upwind scheme

for some constant C1 independent of µ, ∆x and t. Using the expression for µwe get the following estimate for the error

‖v(t)− u(t)‖1 ≈ C2t12h

12

as h→ 0 with ∆t/h fixed. This indicates that the 1-norm of the error decays

only like h12 even though the method is formally first order accurate based on

the local truncation error, which is valid for smooth solutions only. We alsosee that the thickness of the transition zone (shock structure) increases with

time like t12 .

Remark:

erfc(x) =2√π

∫ ∞x

e−z2

dz

45 / 50

Page 46: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

Boundary conditions

• Most of the schemes we have studied till now can be written as

un+1j = H(unj−1, u

nj , u

nj+1)

These are refered to asI two time level (n, n+ 1)I three point (j − 1, j, j + 1)

schemes.

• Consider a grid of N + 1 points indexed as j = 0, 1, 2, . . . , N

• At j = 0 and/or j = N we may need boundary conditions.

46 / 50

Page 47: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

Periodic boundary condition

• At left boundary: j = 0

un+10 = H(unN−1, u

n0 , u

n1 )

• For j = 1, 2, . . . , N − 1

un+1j = H(unj−1, u

nj , u

nj+1)

• At right boundary: j = Nun+1N = un+1

0

Matlab code is lin hyp 1d periodic.m and contains backward difference,forward difference and Lax-Wendroff schemes.

47 / 50

Page 48: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

Dirichlet boundary condition

Appropriate boundary conditions must come from considerations of thewell-posedness of the PDE problem.

ut + aux = 0, a > 0, x ∈ (0, 1)

Method of characteristics:

Need boundary conditions on

t = 0 and x = 0

for the solution to be fully determined.

x

t

u(x, 0) = f(x)

u(0, t) = g(t)

0 1

48 / 50

Page 49: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

Dirichlet BC: Numerical implementation

• At left boundary: j = 0un+1

0 = g(tn+1)

• For j = 1, 2, . . . , N − 1

un+1j = H(unj−1, u

nj , u

nj+1)

• At right boundary: j = NWe cannot apply a three point scheme; use backward difference scheme

un+1N = (1− aλ)unN + aλunN−1

or do linear extrapolation of the solution from the interior

un+1N = un+1

N−1 + hun+1N−1 − un+1

N−2

h= 2un+1

N−1 − un+1N−2

49 / 50

Page 50: Finite difference schemes for scalar linear hyperbolic PDE ...math.tifrbng.res.in/~praveen/notes/cm2013/lin_hyp_fd.pdfFinite di erence schemes for scalar linear hyperbolic PDE in 1-D

Numerical Example for discontinuous solution

PDE

ut + aux = 0, x ∈ (0, 1), t ∈ (0,1

4)

Discontinuous initial condition

u(x, 0) = 2[1−H(x− 1/2)]

Matlab code lin hyp 1d disc.m. Try with N = 100 and CFL=0.5

• Backward difference: lin hyp 1d disc(100, 0.5, ’bd’)

• Forward difference: lin hyp 1d disc(100, 0.5, ’fd’)

• Lax-Wendroff: lin hyp 1d disc(100, 0.5, ’lw’)

• Also try with N = 1000 grid points

Remark: In this program, we do not update the solution at the first and lastgrid point. The final time t = 1

4 is small enough that the discontinuity doesnot reach the boundary.

50 / 50