Top Banner
Use Riemann Solver for Fine Scale Model Hann-Ming Henry Juang RSM workshop 2011
18

Use Riemann Solver for Fine Scale Model

Jan 08, 2016

Download

Documents

elvina

Use Riemann Solver for Fine Scale Model. Hann-Ming Henry Juang RSM workshop 2011. Contents. Introducing Riemann Solver Simple 1D for easy illustration Possible 2D In shallow water equation In nonhydrostatic system How about 3D? With splitting, 2D then 1D in vertical Discussion - PowerPoint PPT Presentation
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: Use Riemann Solver for  Fine Scale Model

Use Riemann Solver for Fine Scale Model

Hann-Ming Henry Juang

RSM workshop 2011

Page 2: Use Riemann Solver for  Fine Scale Model

Contents• Introducing Riemann Solver

– Simple 1D for easy illustration

• Possible 2D– In shallow water equation– In nonhydrostatic system

• How about 3D?– With splitting, 2D then 1D in vertical

• Discussion– advantage– Future work

Page 3: Use Riemann Solver for  Fine Scale Model

∂u

∂t+ u

∂u

∂x+ g

∂h

∂x= 0

On dimensional shallow water equation

can be written as

∂∂t

h

u

⎝ ⎜

⎠ ⎟+

u h

g u

⎝ ⎜

⎠ ⎟∂

∂x

h

u

⎝ ⎜

⎠ ⎟= 0

And we can have a matrix L and it inverse matrix L-1 for the above matrix be diagonal matrix with eigenvector as

∂h

∂t+

∂(uh)

∂x= 0

L−1 u h

g u

⎝ ⎜

⎠ ⎟L =

C1 0

0 C2

⎝ ⎜

⎠ ⎟

LL−1 =1

&

&

Page 4: Use Riemann Solver for  Fine Scale Model

then the shallow water equation can be written as

∂∂t

R1

R2

⎝ ⎜

⎠ ⎟+

C1 0

0 C2

⎝ ⎜

⎠ ⎟∂

∂x

R1

R2

⎝ ⎜

⎠ ⎟= 0

so

where

R1 = gh + u /2

R2 = gh − u /2

C1 = u + gh

C2 = u − gh

L−1 ∂

∂t

h

u

⎝ ⎜

⎠ ⎟+ L−1 u h

g u

⎝ ⎜

⎠ ⎟LL−1 ∂

∂x

h

u

⎝ ⎜

⎠ ⎟= 0

L−1 u h

g u

⎝ ⎜

⎠ ⎟L =

C1 0

0 C2

⎝ ⎜

⎠ ⎟ & LL−1 =

1 0

0 1

⎝ ⎜

⎠ ⎟

we can find L to be

∂Ri

∂t+ Ci

∂Ri

∂x= 0

∂R2

∂t+ C2

∂R2

∂x= 0

or

Page 5: Use Riemann Solver for  Fine Scale Model

So the procedure to solve the 1D SWE by

1) Obtain R and C from u and h at any model grid as

R1(t) = gh(t) + u(t) /2

R2(t) = gh(t) − u(t) /2

C1(t) = u(t) + gh(t)

C2(t) = u(t) − gh(t)&

2) Use advection eq to solve next time step of R by

∂Ri

∂t+ Ci

∂Ri

∂x= 0

3) Obtain next time step u and h and C by

u(t + Δt) = R1(t + Δt) − R2(t + Δt)

h(t + Δt) =1

g

R1(t + Δt) + R2(t + Δt)

2

⎝ ⎜

⎠ ⎟2

4) Back to 2) for the next time

to get

R1(t + Δt) and R2(t + Δt)

&

C1(t + Δt) = u(t + Δt) + gh(t + Δt)

C2(t + Δt) = u(t + Δt) − gh(t + Δt)

Page 6: Use Riemann Solver for  Fine Scale Model
Page 7: Use Riemann Solver for  Fine Scale Model
Page 8: Use Riemann Solver for  Fine Scale Model

Nonhydrostatic system

∂u

∂t= −u

∂u

∂x− RT

∂Q

∂x∂Q

∂t= −u

∂Q

∂x− γ

∂u

∂x

⎝ ⎜

⎠ ⎟

For Riemann solver, we let the above be

∂∂t

Q

u

⎝ ⎜

⎠ ⎟+

u γ

RT u

⎝ ⎜

⎠ ⎟∂

∂x

Q

u

⎝ ⎜

⎠ ⎟= 0

∂R1

∂t= −c1

∂R1

∂x∂R2

∂t= −c2

∂R2

∂x

where

R1 = RT /γ Q + u

R2 = RT /γ Q − u

c1 = u + γRT

c2 = u − γRT

or

dR1

dt= 0

dR2

dt= 0

Page 9: Use Riemann Solver for  Fine Scale Model

The initial acoustic spread

Page 10: Use Riemann Solver for  Fine Scale Model

After 800s with different CFL

Page 11: Use Riemann Solver for  Fine Scale Model

2D nonhydrostatic tests in x-z with isotherm

∂u

∂t= −u

∂u

∂x− w

∂u

∂z− RT

∂ ′ Q

∂x∂w

∂t= −u

∂w

∂x− w

∂w

∂z− RT

∂ ′ Q

∂z

∂ ′ Q

∂t= −u

∂ ′ Q

∂x− w

∂ ′ Q

∂z− γ

∂u

∂x+

∂w

∂z

⎝ ⎜

⎠ ⎟+

gw

RT

where

∂Q

∂z= −

g

RT

Q = Q + ′ Q

Page 12: Use Riemann Solver for  Fine Scale Model

2D tests in x-z (non-forcing) – Q’(t=30s)

Page 13: Use Riemann Solver for  Fine Scale Model

2D tests in x-z (non-forcing) – Q’(t=60s)

Page 14: Use Riemann Solver for  Fine Scale Model

∂u

∂t+ u

1

acosφ

∂u

∂λ+ v

1

a

∂u

∂φ+

g

acosφ

∂H

∂λ− f +

u tanφ

a

⎝ ⎜

⎠ ⎟v = 0

∂v

∂t+ u

1

acosφ

∂v

∂λ+ v

1

a

∂v

∂φ+

g

a

∂H

∂φ+ f +

u tanφ

a

⎝ ⎜

⎠ ⎟u = 0

∂h

∂t+ u

1

acosφ

∂h

∂λ+ v

1

a

∂h

∂φ+

h

acosφ

∂u

∂λ+

∂v cosφ

∂φ

⎝ ⎜

⎠ ⎟= 0

u = acosφdλ

dt

where

H = h + hs

SWE on spherical coordinates can be written as

v = adφ

dt

1

acosφ

∂λ=

∂ ′ λ

1

a

∂φ=

∂ ′ φ

let

Page 15: Use Riemann Solver for  Fine Scale Model

rewrite the previous SWE into

∂∂t

h

u

v

⎜ ⎜ ⎜

⎟ ⎟ ⎟+

u h 0

g u 0

0 0 u

⎜ ⎜ ⎜

⎟ ⎟ ⎟

∂ ′ λ

h

u

v

⎜ ⎜ ⎜

⎟ ⎟ ⎟+

v 0 h

0 v 0

g 0 v

⎜ ⎜ ⎜

⎟ ⎟ ⎟

∂ ′ φ

h

u

v

⎜ ⎜ ⎜

⎟ ⎟ ⎟+

−tanφ

ahv

− fv −tanφ

auv + g

∂hs

∂ ′ λ

fu +tanφ

auu + g

∂hs

∂ ′ φ

⎜ ⎜ ⎜ ⎜ ⎜ ⎜

⎟ ⎟ ⎟ ⎟ ⎟ ⎟

= 0

Then dimensional split into

∂∂t

h

u

v

⎜ ⎜ ⎜

⎟ ⎟ ⎟+

u h 0

g u 0

0 0 u

⎜ ⎜ ⎜

⎟ ⎟ ⎟

∂ ′ λ

h

u

v

⎜ ⎜ ⎜

⎟ ⎟ ⎟+

1

2

0

− fv −tanφ

auv + g

∂hs

∂ ′ λ

fu +tanφ

auu + g

∂hs

∂ ′ φ

⎜ ⎜ ⎜ ⎜ ⎜ ⎜

⎟ ⎟ ⎟ ⎟ ⎟ ⎟

= 0

∂∂t

h

u

v

⎜ ⎜ ⎜

⎟ ⎟ ⎟+

v 0 h

0 v 0

g 0 v

⎜ ⎜ ⎜

⎟ ⎟ ⎟

∂ ′ φ

h

u

v

⎜ ⎜ ⎜

⎟ ⎟ ⎟+

1

2

−2tanφ

ahv

− fv −tanφ

auv + g

∂hs

∂ ′ λ

fu +tanφ

auu + g

∂hs

∂ ′ φ

⎜ ⎜ ⎜ ⎜ ⎜ ⎜

⎟ ⎟ ⎟ ⎟ ⎟ ⎟

= 0

Page 16: Use Riemann Solver for  Fine Scale Model
Page 17: Use Riemann Solver for  Fine Scale Model
Page 18: Use Riemann Solver for  Fine Scale Model

Discussion• 2D system should be evaluated carefully.• 3D system can apply splitting method, do 2D

first then 1D vertical, so it is no problem if 2D isno probelm.

• Since it becomes an advection equation, semi-Lagrangian with splitting can be used to solve it with stable integration.

• The solution becomes non isotropic while CFL is larger then 1 or 2, more to examine and resolve with additional method.