25
Finite Volume Method for Shallow Water Equations Oto Havle, Jiˇ rí Felcman Workshop Dresden-Prague on Numerical Analysis 2008

Shallow water

  • Upload
    1111566

  • View
    225

  • Download
    1

Embed Size (px)

DESCRIPTION

how to solve SWEs

Citation preview

  • Finite Volume Method for Shallow WaterEquations

    Oto Havle, Jir Felcman

    Workshop Dresden-Prague on Numerical Analysis 2008

  • Contents

    Shallow water equations

    SWE without source term

    SWE with topographic source term

    Conclusion

  • Shallow water equationsA system of PDEs

    ht

    + div(hv) = 0,

    t(hvs) + div(hvsv) +

    12

    g

    xsh2 = gh z

    xs, s = 1,2.

    z ... given function, g > 0 ... given constant

    z

    h v

  • Shallow water equations - a hyperbolic system

    wt

    +2

    i=1

    xif i(w) = r(x ,w)

    where

    w (

    hq

    )(

    hhv

    )

    hhv1hv2

    f 1(w) =

    q1h1q21 + 12gh2h1q1q2

    = hv1hv21 + 12gh2

    hv1v2

    f 2(w) =

    q2h1q1q2h1q22 +

    12gh

    2

    = hv2hv1v2

    hv22 +12gh

    2

    r(x ,w) =

    (0

    ghz(x)

    )

  • Shallow water equations - a hyperbolic system

    Difficulties with Shallow Water EquationsI existence / uniqueness theorems not availableI dry areas - SWEs do not have sense for h = 0I source term

  • Shallow water equations - a hyperbolic system

    Flat bottom case z = const .I system of conservation laws

    I standard FVM discretizationI we need a numerical flux

    wt

    +2

    s=1

    xsf s(w) = 0

  • Shallow water equations - a hyperbolic system

    Flat bottom case z = const .I system of conservation lawsI standard FVM discretization

    I we need a numerical flux

    Di

    w(x , tk+1) dx

    Diw(x , tk ) dx

    +

    tk+1tk

    Di

    2i=1

    ni f i(w) H(w |Di ,w |Dj ,nij )

    dS = 0

  • Shallow water equations - a hyperbolic system

    Flat bottom case z = const .I system of conservation lawsI standard FVM discretizationI we need a numerical flux

    wki w on the cell Diand time interval (tk , tk+1)

    wk+1i = wki

    k

    |Di |

    jS(i)

    |ij |H(wki ,wkj ,nij)

  • Numerical flux

    How to derive a numerical flux H(wL,wR,n)I Choose a new coordinate system such that n = (1,0).I Linearize and solve a linear 1D Riemann problem.

    wt

    + Awx1

    = 0

    w(x1, t = 0) =

    {wL, x1 < 0wR, x1 > 0

    I Take the linear flux Aw at x1 = 0 and rewrite in the originalcoordinate system.

  • How to linearize the Riemann problem

    We adapt the Vijayasundaram flux,

    gV (wL,wR) = A+(w?)wL + A(w?)wR (?)

    where w? =wL + wR

    2A1(w) = D f 1(w)

    As A1(w)w 6= f 1(w), the 1D flux (?) is not consistent with theShallow Water Equations. We fix it with additional term

    gV1(wL,wR) = A+(w?)wL + A(w?)wR

    12

    gh2??

    010

    where h?? =

    hL + hR2

  • SWE with no source term - Numerical resultsElementary Riemann problems in 1D

    I continuous solution (rarefaction wave) - EOC 0.75I discontinuous solution (contact discontinuity) - EOC 0.5

    2D test problem - circular dam break

    -200 -150 -100 -50 0 50 100 150 200-200-150

    -100-50

    0 50

    100 150

    200

    0 1 2 3 4 5 6 7 8 9

    10

    -200 -150 -100 -50 0 50 100 150 200-200-150

    -100-50

    0 50

    100 150

    200

    0

    1

    2

    3

    4

    5

    6

  • Source term - stationary solution

    Shallow water equations

    ht

    + div(hv) = 0,

    t(hvs) + div(hvsv) +

    12

    g

    xsh2 = gh z

    xs, s = 1,2.

    Stationary solution (lake at rest)

    h(x , t) = H0 z(x), v(x , t) = 0.

    Discrete stationary solution

    wki =

    H0 zi00

    , zi zDi

  • Discretization of source terms

    Rewrite to a system of conservation laws with a nonzero RHS

    wt

    +2

    s=1

    xsf s(w) = r(x ,w)

    Operator splitting

    wt

    +2

    s=1

    xsf s(w) = 0

    wt

    + 0 = r(x ,w)

    would not work. Stationary solutions are different.

  • Discretization of source terms

    Difficulty with the source termI We use a piecewise-constant approximation of the

    topography function z.

    hi = H0 zi

    The source term is now a distribution.

    r(x ,w) =(

    0ghz(x)

    )I Source term must be taken into account when

    approximating convective term.

  • Linearised Riemann problem with a source termWe construct a linear Riemann problem with nonzero RHS

    wt

    + Awx

    = (x)r , t > 0

    w(x ,0) =

    {wL, x < 0wR, x > 0

    The matrix A is the same as before

    A = A1(w?) = Df 1(w?) w? =12(wL + wR)

    The right hand side has special form

    r =

    0gh?(zL zR)0

  • Linear Riemann problem with a source term

    To solve the Riemann problemI Use diagonal form A = UU1 to decouple equations.

    I Use characteristics to solve scalar problems.I The solution is a function, unless v1 = c.I For the purposes of deriving a numerical flux, ignore the

    distributional case.

    ut

    + ux

    = (x), t > 0

    u(x ,0) = u0(x)

  • Linear Riemann problem with a source term

    To solve the Riemann problemI Use diagonal form A = UU1 to decouple equations.I Use characteristics to solve scalar problems.

    I The solution is a function, unless v1 = c.I For the purposes of deriving a numerical flux, ignore the

    distributional case.

    = 0 = u(x , t) = u0(x) + t(x),

    6= 0 = u(x , t) = u0(x t) +

    ||K(x , t),

    where K(x , t) =

    {1, x(x t) < 0,0, x(x t) 0.

  • Linear Riemann problem with a source term

    To solve the Riemann problemI Use diagonal form A = UU1 to decouple equations.I Use characteristics to solve scalar problems.I The solution is a function, unless v1 = c.

    I For the purposes of deriving a numerical flux, ignore thedistributional case.

    |v | < c ... subcritical|v | = c ... critical|v | > c ... supercritical

    c =

    gh

    w =

    hhv1hv2

  • Linear Riemann problem with a source term

    To solve the Riemann problemI Use diagonal form A = UU1 to decouple equations.I Use characteristics to solve scalar problems.I The solution is a function, unless v1 = c.I For the purposes of deriving a numerical flux, ignore the

    distributional case.

    The linear flux Aw at x = 0 is

    A(12

    limx0+

    w(x , t) +12

    limx0

    w(x , t))

    = A+wL + AwR +12(sgnA)r?.

  • New numerical fluxThe numerical flux (discretization of convective term)

    gconv (wL,wR, zL, zR)

    = A+1 (w?)wL + A1 (w?)wR

    12

    gh2??e2

    12

    gh?(zR zL)(sgnA1)e2

    In fact, the numerical flux does not depend on sgn2.

    1 = v1 c, 2 = v1, 3 = v1 + c, c =

    gh

    Therefore, it is continuous in the subcritical case |v | < c,

    sgnA1(w?)e2 =

    1/cv1/cv2/c

    .

  • Discretizing the source term

    We discretize the source term proper

    Di

    tk+1tk

    r(x ,w(x , t)) dx dt ghiDi

    tk+1tk

    (0

    z(x)

    )dx dt

    = kghiDi

    z(x)(0nij

    )dS

    kghi

    jS(i)

    |ij |z?ij nij

    where z?ij =zi + zj

    2is an approximation to z at the interface ij .

  • The numerical scheme

    Both convective and source have a quasi-flux form

    k

    jS(i)

    |ij |(. . . )

    We can write

    wk+1i = wki

    k

    |Di |

    jS(i)

    |ij |H total(

    wki ,wkj , zi , zj ,nij

    )Theoretical properties

    I The scheme is conservative with respect to h.I The discrete "lake at rest" is a stationary solution.

  • Numerical resultsThe scheme seems to work in the subcritical case |v | < c, butnot in the supercritical case. It gets better if we replace

    h?? =hL + hR

    2

    with

    h?? =

    hR, < 1,

    1+2 h

    2L +

    12 h

    2R, 1 < < 1,

    hL, > 1,

    =v1,?c?

    gconv (wL,wR, zL, zR)

    = A+1 (w?)wL + A1 (w?)wR

    12

    gh2??e2

    12

    gh?(zR zL)(sgnA1)e2

  • Summary

    Numerical scheme for Shallow Water Equations.I Simple first order Finite Volume scheme.I Handles topographic source term.

    Future workI Enhance with mesh adaptivity.I Investigate the case h = 0.

    Thank you for your attention.

  • Summary

    Numerical scheme for Shallow Water Equations.I Simple first order Finite Volume scheme.I Handles topographic source term.

    Future workI Enhance with mesh adaptivity.I Investigate the case h = 0.

    Thank you for your attention.

    Shallow water equationsSWE without source termSWE with topographic source termConclusion