Energy Estimates and Weak Boundary Procedures for LAM Marco - - PowerPoint PPT Presentation

energy estimates and weak boundary procedures for lam
SMART_READER_LITE
LIVE PREVIEW

Energy Estimates and Weak Boundary Procedures for LAM Marco - - PowerPoint PPT Presentation

Energy Estimates and Weak Boundary Procedures for LAM Marco Kupiainen 1 , 2 1 Department of Computational Mathematics University of Link oping 2 SMHI, Rossby Centre marco.kupiainen@smhi.se ASM 2013 Reykjavik, Iceland Outline


slide-1
SLIDE 1

Energy Estimates and Weak Boundary Procedures for LAM

Marco Kupiainen1,2

1Department of Computational Mathematics

University of Link¨

  • ping

2SMHI, Rossby Centre

marco.kupiainen@smhi.se

ASM 2013 Reykjavik, Iceland

slide-2
SLIDE 2

Outline

Introduction/Motivation for this work Motivating examples Model problem Why do we impose Boundary Conditions? Short Description of Boundary methods Energy estimate for Davies-relaxation Spectral Radius of operators Computational results Conclusion Conclusion II

slide-3
SLIDE 3

Introduction/Motivation for this work

◮ Boundary conditions are set using ad hoc intuition (Davies

relaxation)

◮ Different effects in e.g. Arctic and Europe ◮ ”The apparent success of spectral nudging for one-way

nesting is at least partly an artifact of very bad procedures for windowing and blending”1

1John P. Boyd ”Limited-Area Fourier Spectral Models and Data Analysis

Schemes: Windows, Fourier Extension, Davies Relaxation and All That”, Mon.

  • Weat. Rev. Vol. 133 2005
slide-4
SLIDE 4

Motivating example

◮ Europe has ”standing waves” ◮ Similar problems over Arctic (mitigated with Spectral

Nudging)

/home/sm_marku/test/Cordex/fc198909010000qq

2 4 6 8 10 12 14 16 18 20

◮ Analyze boundary procedures!

slide-5
SLIDE 5

Model problem

Simplification for purpose of illustration, without loosing generality!

ut + 3

i=1 ∇

Fi( u) = 0 N-S/Euler/primitive equations

slide-6
SLIDE 6

Model problem

Simplification for purpose of illustration, without loosing generality!

ut + 3

i=1 ∇

Fi( u) = 0 N-S/Euler/primitive equations

⇓ 1D system

slide-7
SLIDE 7

Model problem

Simplification for purpose of illustration, without loosing generality!

ut + 3

i=1 ∇

Fi( u) = 0 N-S/Euler/primitive equations

⇓ 1D system

ut + f ( u)x = 0

slide-8
SLIDE 8

Model problem

Simplification for purpose of illustration, without loosing generality!

ut + 3

i=1 ∇

Fi( u) = 0 N-S/Euler/primitive equations

⇓ 1D system

ut + f ( u)x = 0

⇓ Semi-linear system

slide-9
SLIDE 9

Model problem

Simplification for purpose of illustration, without loosing generality!

ut + 3

i=1 ∇

Fi( u) = 0 N-S/Euler/primitive equations

⇓ 1D system

ut + f ( u)x = 0

⇓ Semi-linear system

ut + A( u) ux = 0

slide-10
SLIDE 10

Model problem

Simplification for purpose of illustration, without loosing generality!

ut + 3

i=1 ∇

Fi( u) = 0 N-S/Euler/primitive equations

⇓ 1D system

ut + f ( u)x = 0

⇓ Semi-linear system

ut + A( u) ux = 0

⇓ Linear system

slide-11
SLIDE 11

Model problem

Simplification for purpose of illustration, without loosing generality!

ut + 3

i=1 ∇

Fi( u) = 0 N-S/Euler/primitive equations

⇓ 1D system

ut + f ( u)x = 0

⇓ Semi-linear system

ut + A( u) ux = 0

⇓ Linear system

ut + A ux = 0, e.g.A =

  • 1

1

slide-12
SLIDE 12

Model problem

Simplification for purpose of illustration, without loosing generality!

ut + 3

i=1 ∇

Fi( u) = 0 N-S/Euler/primitive equations

⇓ 1D system

ut + f ( u)x = 0

⇓ Semi-linear system

ut + A( u) ux = 0

⇓ Linear system

ut + A ux = 0, e.g.A =

  • 1

1

⇓ A = TΛT −1 ⇒ ut + TΛT −1 ux = 0 Scalar PDE

slide-13
SLIDE 13

Model problem

Simplification for purpose of illustration, without loosing generality!

ut + 3

i=1 ∇

Fi( u) = 0 N-S/Euler/primitive equations

⇓ 1D system

ut + f ( u)x = 0

⇓ Semi-linear system

ut + A( u) ux = 0

⇓ Linear system

ut + A ux = 0, e.g.A =

  • 1

1

⇓ A = TΛT −1 ⇒ ut + TΛT −1 ux = 0 Scalar PDE

◮ ut + ux = 0

slide-14
SLIDE 14

Why do we impose Boundary Conditions?

(Energy point of view)

ut + ux = 0, x ∈ [0, 1]

slide-15
SLIDE 15

Why do we impose Boundary Conditions?

(Energy point of view)

ut + ux = 0, x ∈ [0, 1]

◮ Multiply with u and integrate!

slide-16
SLIDE 16

Why do we impose Boundary Conditions?

(Energy point of view)

ut + ux = 0, x ∈ [0, 1]

◮ Multiply with u and integrate! ◮ 2

1

0 uutdx + 2

1

0 uux = 0

slide-17
SLIDE 17

Why do we impose Boundary Conditions?

(Energy point of view)

ut + ux = 0, x ∈ [0, 1]

◮ Multiply with u and integrate! ◮ 2

1

0 uutdx + 2

1

0 uux = 0 ◮ Use integration by parts!

slide-18
SLIDE 18

Why do we impose Boundary Conditions?

(Energy point of view)

ut + ux = 0, x ∈ [0, 1]

◮ Multiply with u and integrate! ◮ 2

1

0 uutdx + 2

1

0 uux = 0 ◮ Use integration by parts! ◮ d dt u2 + [u2]1 0 = 0,

u2 = 1

0 u2dx

slide-19
SLIDE 19

Why do we impose Boundary Conditions?

(Energy point of view)

ut + ux = 0, x ∈ [0, 1]

◮ Multiply with u and integrate! ◮ 2

1

0 uutdx + 2

1

0 uux = 0 ◮ Use integration by parts! ◮ d dt u2 + [u2]1 0 = 0,

u2 = 1

0 u2dx ◮ d dt u2 =

(u(0, t))2

  • Faster than exponential growth

− (u(1, t))2

  • Decay
slide-20
SLIDE 20

Why do we impose Boundary Conditions?

(Energy point of view)

ut + ux = 0, x ∈ [0, 1]

◮ Multiply with u and integrate! ◮ 2

1

0 uutdx + 2

1

0 uux = 0 ◮ Use integration by parts! ◮ d dt u2 + [u2]1 0 = 0,

u2 = 1

0 u2dx ◮ d dt u2 =

(u(0, t))2

  • Faster than exponential growth

− (u(1, t))2

  • Decay

◮ We must set conditions to bound the energy for u(0, t) with

data: g(t) < C for some constant C ∈ R

slide-21
SLIDE 21

Discrete Boundary procedures

CKD : Ut + P−1QU = 0 U(·, t) = (I − W )U(·, t) + WG(t) W = diag(tanh)

◮ G is data! ◮ U = (U0, U1, . . . UN)T is the solution. ◮

CKD = Classic K˚ allberg-Davies Relaxation

slide-22
SLIDE 22

Discrete Boundary procedures

WKD : Ut + P−1QU = P−1W (G − U) W = diag(tanh)

WKD = Weak K˚ allberg-Davies Relaxation, proven stable

slide-23
SLIDE 23

Discrete Boundary procedures

SAT : Ut + P−1QU = P−1E0(G − U) E0 = diag(1, 0, . . . , 0)

SAT = Simultaneous Approximation Term (Carpenter et. al.), proven stable

slide-24
SLIDE 24

Discrete Boundary procedures

CKD : Ut + P−1QU = 0 U(·, t) = (I − W )U(·, t) + WG(t) W = diag(tanh) WKD : Ut + P−1QU = P−1W (G − U) W = diag(tanh) SAT : Ut + P−1QU = P−1E0(G − U) E0 = diag(1, 0, . . . , 0)

CKD = Classic K˚ allberg-Davies Relaxation

WKD = Weak K˚ allberg-Davies Relaxation, proven stable

SAT = Simultaneous Approximation Term (Carpenter et. al.), proven stable

slide-25
SLIDE 25

Energy estimate for Davies-relaxation

Strong Davies relaxation Ut + P−1QU = 0 U = U + Wtanh(G − U)

◮ No energy estimate! (For

stability(?) proof use GKS theory DIFFICULT!) Weak Davies relaxation Ut + P−1QU = τP−1Wtanh(G − U)

◮ Discrete Energy Method to

prove stability

◮ Multiply with UTP ◮ Use summation-by-parts

property of difference operator

◮ In fact there are counterexamples shoving instability for strong

methods.2

2”High Order Difference Methods for Time Dependent PDE”, Bertil

Gustafsson ISBN 978-3-540-74992-9, Springer Verlag 2008

slide-26
SLIDE 26

Energy estimate for Davies-relaxation cont.

d dt U2

P = U2 1(1 − 2w1) + 2w1U1G1 − U2 N(1 + 2wN) + 2wNUNGN

N−1

  • i=2

(2wiU2

i − 2wiUiGi)

(1) Since w1 ≥ 1

2 and wi ≥ 0 ∴ Davies Relaxation is proven

energy-stable!

slide-27
SLIDE 27

Energy estimate for Davies-relaxation cont.

d dt U2

P = U2 1(1 − 2w1) + 2w1U1G1 − U2 N(1 + 2wN) + 2wNUNGN

N−1

  • i=2

(2wiU2

i − 2wiUiGi)

(1) Since w1 ≥ 1

2 and wi ≥ 0 ∴ Davies Relaxation is proven

energy-stable!

◮ Stable, BUT imposing conditions where not needed!

slide-28
SLIDE 28

Energy estimate for Davies-relaxation cont.

d dt U2

P = U2 1(1 − 2w1) + 2w1U1G1 − U2 N(1 + 2wN) + 2wNUNGN

N−1

  • i=2

(2wiU2

i − 2wiUiGi)

(1) Since w1 ≥ 1

2 and wi ≥ 0 ∴ Davies Relaxation is proven

energy-stable!

◮ Stable, BUT imposing conditions where not needed! ◮ Solution quality is not affected if Ui − Gi is ”small”.

slide-29
SLIDE 29

Energy estimate for Davies-relaxation cont.

d dt U2

P = U2 1(1 − 2w1) + 2w1U1G1 − U2 N(1 + 2wN) + 2wNUNGN

N−1

  • i=2

(2wiU2

i − 2wiUiGi)

(1) Since w1 ≥ 1

2 and wi ≥ 0 ∴ Davies Relaxation is proven

energy-stable!

◮ Stable, BUT imposing conditions where not needed! ◮ Solution quality is not affected if Ui − Gi is ”small”. ◮ Usually we impose time-interpolated G i.e. Gi(t) = π6hGi(tn)

slide-30
SLIDE 30

Spectral Radius of operators part I

−2 −1.5 −1 −0.5 0.5 1 1.5 2 x 10

−5

−150 −100 −50 50 100 150 Imaginary Real Spectral radius of operator WITHOUT Boundary conditions

(a) Operator without bound- ary conditions

−140 −120 −100 −80 −60 −40 −20 −50 −40 −30 −20 −10 10 20 30 40 50 Spectral radius of WEAK DAVIES RELAXATION Real Imaginary

(b) WKD

−6 −5 −4 −3 −2 −1 −50 −40 −30 −20 −10 10 20 30 40 50 Spectral radius of SAT Real Imaginary

(c) SAT

slide-31
SLIDE 31

Spectral Radius of operators part II

Increasing resolution by a factor of 5:

−350 −300 −250 −200 −150 −100 −50 −150 −100 −50 50 100 150 Real Imaginary Spectral radius of WEAK DAVIES RELAXATION

(d) WKD

−8 −7 −6 −5 −4 −3 −2 −1 −150 −100 −50 50 100 150 Real Imaginary Spectral radius of SAT

(e) SAT

ρ(WKD) ≈ 350, ρ(SAT) ≈ 140

slide-32
SLIDE 32

Computational results

ut + ux = 0 u(0, t) = G(0, t), x ∈ [0, 1] Exact solution is u(x, t) = sin(2π(x − t − 1 2)) = G(x, t) We use the exact solution as initial data, i.e. assume perfect assimilation

slide-33
SLIDE 33

Computational results

ut + ux = 0 u(0, t) = G(0, t), x ∈ [0, 1] Exact solution is u(x, t) = sin(2π(x − t − 1 2)) = G(x, t) We use the exact solution as initial data, i.e. assume perfect assimilation

◮ Use exact G(·, t) as boundary data (show movie)

slide-34
SLIDE 34

Computational results

ut + ux = 0 u(0, t) = G(0, t), x ∈ [0, 1] Exact solution is u(x, t) = sin(2π(x − t − 1 2)) = G(x, t) We use the exact solution as initial data, i.e. assume perfect assimilation

◮ πG is linear interpolation in time (show movie)

slide-35
SLIDE 35

Computational results

ut + ux = 0 u(0, t) = G(0, t), x ∈ [0, 1] Exact solution is u(x, t) = sin(2π(x − t − 1 2)) = G(x, t) We use the exact solution as initial data, i.e. assume perfect assimilation

◮ πG is constant interpolation in time (closest in time) (show

movie)

slide-36
SLIDE 36

Computational results

ut + ux = 0 u(0, t) = G(0, t), x ∈ [0, 1] Exact solution is u(x, t) = sin(2π(x − t − 1 2)) = G(x, t) We use the exact solution as initial data, i.e. assume perfect assimilation

◮ πG is P3-Hermite (no new minima or maxima are introduced)

slide-37
SLIDE 37

Computational results

ut + ux = 0 u(0, t) = G(0, t), x ∈ [0, 1] Exact solution is u(x, t) = sin(2π(x − t − 1 2)) = G(x, t) We use the exact solution as initial data, i.e. assume perfect assimilation

◮ πG is P3-Spline (new minima, maxima can be introduced)

slide-38
SLIDE 38

Computational results

ut + ux = 0 u(0, t) = G(0, t), x ∈ [0, 1] Exact solution is u(x, t) = sin(2π(x − t − 1 2)) = G(x, t) We use the exact solution as initial data, i.e. assume perfect assimilation

◮ Mismatching data on outflow boundary

slide-39
SLIDE 39

Conclusion

◮ Davies relaxation in its weak form is a penalty method ◮ WKD is proven stable and yields similar results with CKD ◮ CKD and WKD impose data on all boundaries, even when not

needed.

◮ SAT is proven stable, imposes data only where needed! ◮ The WKD operator is much more stiff than SAT by a factor

  • f ≈20!

◮ When data is not close to the solution on outflow boundaries

(and WKD) yields unsatisfactory results ⇒ horizontal diffusion mitigates this problem

◮ The excessive diffusion can be the reason for the poor results

  • ver the Arctic

◮ Non-matching data causes a ”standing wave” on the outflow

boundary with WKD and CKD

◮ SAT yields similar results for exact and almost matching data

(time interpolation error is visible), but outperforms CKD and WKD for non-matching data.

slide-40
SLIDE 40

Conclusion II

◮ Theory for penalty-based boundary conditions is considered

mature and ready to be used for NWP and climate

◮ Results are already extended to non-linear multidimensional

systems, but for purpose of illustration a model problem was shown here.

slide-41
SLIDE 41

Conclusion II

◮ THANK YOU FOR LISTENING!