Use Riemann Solver for Fine Scale Model

Post on 08-Jan-2016

45 views 3 download

description

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

Transcript of Use Riemann Solver for Fine Scale Model

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– advantage– Future work

∂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

&

&

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

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)

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

The initial acoustic spread

After 800s with different CFL

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

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

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

∂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

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

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.