Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Well Balanced Methods for Conservation Lawswith Source Terms
Randall J. LeVequeApplied Mathematics
University of Washington
Supported in part by NSF, ONR, NIH
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Cons. law with source terms (balance law)
In one space dimension:
qt + f(q)x = ψ(q)σx(x)
Note: if σ(x) = x then source term is just ψ(q).
Goal: Compute accurate quasi-steady solutions, smallperturbations of equilibria qe(x) satisfying
f(qe)x = ψ(qe)σx(x).
Method is well balanced if qe(x) is exactly maintained bynumerical method.
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Cons. law with source terms (balance law)
In one space dimension:
qt + f(q)x = ψ(q)σx(x)
Note: if σ(x) = x then source term is just ψ(q).
Goal: Compute accurate quasi-steady solutions, smallperturbations of equilibria qe(x) satisfying
f(qe)x = ψ(qe)σx(x).
Method is well balanced if qe(x) is exactly maintained bynumerical method.
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Cons. law with source terms (balance law)
In one space dimension:
qt + f(q)x = ψ(q)σx(x)
Note: if σ(x) = x then source term is just ψ(q).
Goal: Compute accurate quasi-steady solutions, smallperturbations of equilibria qe(x) satisfying
f(qe)x = ψ(qe)σx(x).
Method is well balanced if qe(x) is exactly maintained bynumerical method.
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Fractional steps for a quasisteady problemAlternate between solving homogeneous conservation law
qt + f(q)x = 0 (1)
and source termqt = ψ(q). (2)
When qt � f(q)x ≈ ψ(q):
• Solving (1) gives large change in q
• Solving (2) should essentially cancel this change.
Numerical difficulties:
• (1) and (2) are solved by very different methods. Generally willnot have proper cancellation.
• Nonlinear limiters are applied to f(q)x term, not tosmall-perturbation waves. Large variation in steady state hidesstructure of waves.
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Equilibrium solutionsShallow water equations with bathymetry/topography B(x):
ht + (hu)x = 0
(hu)t +(hu2 +
12gh2)x
= −ghBx(x)
Ocean-at-rest equilibrium:
ue ≡ 0, he(x) +B(x) ≡ η̄ = sea level.
The hydrostatic pressure gradient 12g(h2)x balances the source term.
Stationary atmosphere with pressure gradient balancing gravity is similar.
Flowing equilibria: Stationary solutions have hu ≡ constant and
(hu2 +
12gh2)x
+ ghBx(x) = 0.
If solution is smooth then E = 12u
2 + g(h+B) is also constant in space.
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Equilibrium solutionsShallow water equations with bathymetry/topography B(x):
ht + (hu)x = 0
(hu)t +(hu2 +
12gh2)x
= −ghBx(x)
Ocean-at-rest equilibrium:
ue ≡ 0, he(x) +B(x) ≡ η̄ = sea level.
The hydrostatic pressure gradient 12g(h2)x balances the source term.
Stationary atmosphere with pressure gradient balancing gravity is similar.
Flowing equilibria: Stationary solutions have hu ≡ constant and
(hu2 +
12gh2)x
+ ghBx(x) = 0.
If solution is smooth then E = 12u
2 + g(h+B) is also constant in space.
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Cross section of Indian Ocean & tsunami
Surface elevationon scale of 10 meters:
Cross-sectionon scale of kilometers:
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Advection-decay example
qt + uqx = −qσx(x)
Solution advects with speed u and decays where σx > 0, growswhere σx < 0.
Ex: σ(x) = x =⇒ q(x, t) = e−t/uq0(x− ut)IBVP on x ≥ 0 with q(0, t) = µ has
Equilibrium solution: qe(x) = µe−x/u.
Decaying exponential propagates to right but decaysdownwards and the two effects balance out.
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Advection-decay
Equilibrium solution
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Advection-decay
Advection
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Advection-decay
Exponential decay
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Advection-decay equation: qt + uqx = −qσx(x)
Demos...
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Outline
• Wave propagation algorithms for qt + f(q)x = 0Riemann solver:
Jump Qi −Qi−1 is split into wavesWave limiters for high resolution without oscillations.
• f-wave formulation:Jump f(Qi)− f(Qi−1) is split into waves
• Incorporate source term: qt + f(q)x = ψ(q)σx:
f(Qi)− f(Qi−1)−Ψi−1/2(σi − σi−1) is split into waves
• Choice of Ψi−1/2: Path conservative approach
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Outline
• Wave propagation algorithms for qt + f(q)x = 0Riemann solver:
Jump Qi −Qi−1 is split into wavesWave limiters for high resolution without oscillations.
• f-wave formulation:Jump f(Qi)− f(Qi−1) is split into waves
• Incorporate source term: qt + f(q)x = ψ(q)σx:
f(Qi)− f(Qi−1)−Ψi−1/2(σi − σi−1) is split into waves
• Choice of Ψi−1/2: Path conservative approach
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Outline
• Wave propagation algorithms for qt + f(q)x = 0Riemann solver:
Jump Qi −Qi−1 is split into wavesWave limiters for high resolution without oscillations.
• f-wave formulation:Jump f(Qi)− f(Qi−1) is split into waves
• Incorporate source term: qt + f(q)x = ψ(q)σx:
f(Qi)− f(Qi−1)−Ψi−1/2(σi − σi−1) is split into waves
• Choice of Ψi−1/2: Path conservative approach
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Outline
• Wave propagation algorithms for qt + f(q)x = 0Riemann solver:
Jump Qi −Qi−1 is split into wavesWave limiters for high resolution without oscillations.
• f-wave formulation:Jump f(Qi)− f(Qi−1) is split into waves
• Incorporate source term: qt + f(q)x = ψ(q)σx:
f(Qi)− f(Qi−1)−Ψi−1/2(σi − σi−1) is split into waves
• Choice of Ψi−1/2: Path conservative approach
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Godunov’s Method for qt + f(q)x = 0
1. Solve Riemann problems at all interfaces, yielding wavesWpi−1/2 and speeds spi−1/2, for p = 1, 2, . . . , m.
Riemann problem: Original equation with piecewise constantdata.
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Wave-propagation viewpoint
For linear system qt+Aqx = 0, the Riemann solution consists of
wavesWp propagating at constant speed λp.λ2∆t
W1i−1/2
W1i+1/2
W2i−1/2
W3i−1/2
Qi −Qi−1 =m∑p=1
αpi−1/2rp ≡
m∑p=1
Wpi−1/2.
Qn+1i = Qni −
∆t∆x[λ2W2
i−1/2 + λ3W3i−1/2 + λ1W1
i+1/2
].
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Upwind wave-propagation algorithm
Qn+1i = Qni −
∆t∆x
m∑p=1
(spi−1/2)+Wpi−1/2 +
m∑p=1
(spi+1/2)−Wpi+1/2
where
s+ = max(s, 0), s− = min(s, 0).
Note: Requires only waves and speeds.
Applicable also to hyperbolic problems not in conservation form.
For qt + f(q)x = 0, conservative if waves chosen properly,e.g. using Roe-average of Jacobians.
Great for general software, but only first-order accurate (upwindmethod for linear systems).
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Wave-propagation form of high-resolution method
Qn+1i = Qni −
∆t∆x
m∑p=1
(spi−1/2)+Wpi−1/2 +
m∑p=1
(spi+1/2)−Wpi+1/2
− ∆t
∆x(F̃i+1/2 − F̃i−1/2)
Correction flux:
F̃i−1/2 =12
Mw∑p=1
|spi−1/2|(
1− ∆t∆x|spi−1/2|
)W̃pi−1/2
where W̃pi−1/2 is a limited version ofWp
i−1/2 to avoid oscillations.
(Unlimited waves W̃p =Wp =⇒ Lax-Wendroff for a linearsystem =⇒ nonphysical oscillations near shocks.)
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Summary of wave propagation algorithms
For qt + f(q)x = 0, the flux difference
A∆Qi−1/2 = f(Qi)− f(Qi−1)
is split into:
left-going fluctuation: A−∆Qi−1/2, updates Qi−1,right-going fluctuation: A+∆Qi−1/2, updates Qi,Waves: Qi −Qi−1 =
∑αprp =
∑Wp
Often take A±∆Qi−1/2 =∑
(sp)±Wp.
f-wave formulation: Bale, RJL, Mitran, Rossmanith, SISC 2002
f-waves: f(Qi)− f(Qi−1) =∑βprp =
∑Zp
Often take A±∆Qi−1/2 =∑
(sgn(sp))±Zp.
In either case, limiters are applied to waves or f-waves for usein high-resolution correction terms.
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Summary of wave propagation algorithms
For qt + f(q)x = 0, the flux difference
A∆Qi−1/2 = f(Qi)− f(Qi−1)
is split into:
left-going fluctuation: A−∆Qi−1/2, updates Qi−1,right-going fluctuation: A+∆Qi−1/2, updates Qi,Waves: Qi −Qi−1 =
∑αprp =
∑Wp
Often take A±∆Qi−1/2 =∑
(sp)±Wp.
f-wave formulation: Bale, RJL, Mitran, Rossmanith, SISC 2002
f-waves: f(Qi)− f(Qi−1) =∑βprp =
∑Zp
Often take A±∆Qi−1/2 =∑
(sgn(sp))±Zp.
In either case, limiters are applied to waves or f-waves for usein high-resolution correction terms.
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Summary of wave propagation algorithms
For qt + f(q)x = 0, the flux difference
A∆Qi−1/2 = f(Qi)− f(Qi−1)
is split into:
left-going fluctuation: A−∆Qi−1/2, updates Qi−1,right-going fluctuation: A+∆Qi−1/2, updates Qi,Waves: Qi −Qi−1 =
∑αprp =
∑Wp
Often take A±∆Qi−1/2 =∑
(sp)±Wp.
f-wave formulation: Bale, RJL, Mitran, Rossmanith, SISC 2002
f-waves: f(Qi)− f(Qi−1) =∑βprp =
∑Zp
Often take A±∆Qi−1/2 =∑
(sgn(sp))±Zp.
In either case, limiters are applied to waves or f-waves for usein high-resolution correction terms.
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Incorporating source term in f-waves
qt + f(q)x = ψ(q)σx(x)
Concentrate source at interfaces: Ψi−1/2(σi − σi−1)
Split f(Qi)− f(Qi−1)− (σi − σi−1)Ψi−1/2 =∑
pZpi−1/2
Use these waves in wave-propagation algorithm.
Steady state maintained:
If f(Qi)−f(Qi−1)∆x = Ψi−1/2
(σi−σi−1)∆x then Zp ≡ 0
Near steady state:
Deviation from steady state is split into waves and limited.
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Incorporating source term in f-waves
qt + f(q)x = ψ(q)σx(x) =⇒ Ψi−1/2(σi − σi−1)
Question: How to average ψ(q) between cells to get Ψi−1/2?
For some problems (e.g. ocean-at-rest) can simply usearithmetic average.
Ψi−1/2 =12
(ψ(Qi−1) + ψ(Qi)).
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Shallow water equations with bathymetry B(x)
ht + (hu)x = 0
(hu)t +(hu2 +
12gh2)x
= −ghBx(x)
Ocean-at-rest equilibrium:
ue ≡ 0, he(x) +B(x) ≡ η̄ = sea level.
UsingΨi−1/2 = −g
2(hi−1 + hi)
gives exactly well-balanced method, but only because hydrostatic pressure isquadratic function of h:
f(Qi)− f(Qi−1)−Ψi−1/2(Bi −Bi−1) =
=(
12gh2
i −12gh2
i−1
)+g
2(hi−1 + hi)(Bi −Bi−1)
=g
2(hi−1 + hi)((hi +Bi)− (hi−1 +Bi−1))
= 0 if hi +Bi = hi−1 +Bi−1 = η̄.
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Shallow water equations with bathymetry B(x)
ht + (hu)x = 0
(hu)t +(hu2 +
12gh2)x
= −ghBx(x)
Ocean-at-rest equilibrium:
ue ≡ 0, he(x) +B(x) ≡ η̄ = sea level.
UsingΨi−1/2 = −g
2(hi−1 + hi)
gives exactly well-balanced method, but only because hydrostatic pressure isquadratic function of h:
f(Qi)− f(Qi−1)−Ψi−1/2(Bi −Bi−1) =
=(
12gh2
i −12gh2
i−1
)+g
2(hi−1 + hi)(Bi −Bi−1)
=g
2(hi−1 + hi)((hi +Bi)− (hi−1 +Bi−1))
= 0 if hi +Bi = hi−1 +Bi−1 = η̄.
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Shallow water equations with bathymetry B(x)
ht + (hu)x = 0
(hu)t +(hu2 +
12gh2)x
= −ghBx(x)
Ocean-at-rest equilibrium:
ue ≡ 0, he(x) +B(x) ≡ η̄ = sea level.
UsingΨi−1/2 = −g
2(hi−1 + hi)
gives exactly well-balanced method, but only because hydrostatic pressure isquadratic function of h:
f(Qi)− f(Qi−1)−Ψi−1/2(Bi −Bi−1) =
=(
12gh2
i −12gh2
i−1
)+g
2(hi−1 + hi)(Bi −Bi−1)
=g
2(hi−1 + hi)((hi +Bi)− (hi−1 +Bi−1))
= 0 if hi +Bi = hi−1 +Bi−1 = η̄.
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Advection-decay example
qt + uqx = −qσx(x).
on 0 ≤ x ≤ 10 with
σ(x) = Ae−(x−5)2 +B(tanh(x− 5) + 1)
Equilibrium solution:
q(x, 0) = qe(x) = e−σ(x)/u.
Note: σ is nearly flat at boundaries, increasing and thendecreasing in domain.
So solution advects with speed u and decays to nearly zero,then grows again.
Demos...
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Use path conservative approach
Rewrite qt + f(q)x = ψ(q)σx(x) as
qt + f(q)x − ψ(q)σx = 0σt = 0
This is a nonconservative hyperbolic system wt +B(w)wx = 0with:
w =[qσ
], B(w) =
[f ′(q) −ψ(q)
0 0
].
Eigenvalues of B are those of A and λ = 0.
Assume “nonresonant” case: 0 is not an eigenvalue of A.
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Use path conservative approach
Rewrite qt + f(q)x = ψ(q)σx(x) as
qt + f(q)x − ψ(q)σx = 0σt = 0
This is a nonconservative hyperbolic system wt +B(w)wx = 0with:
w =[qσ
], B(w) =
[f ′(q) −ψ(q)
0 0
].
Eigenvalues of B are those of A and λ = 0.
Assume “nonresonant” case: 0 is not an eigenvalue of A.
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Use path conservative approach
Rewrite qt + f(q)x = ψ(q)σx(x) as
qt + f(q)x − ψ(q)σx = 0σt = 0
This is a nonconservative hyperbolic system wt +B(w)wx = 0with:
w =[qσ
], B(w) =
[f ′(q) −ψ(q)
0 0
].
Eigenvalues of B are those of A and λ = 0.
Assume “nonresonant” case: 0 is not an eigenvalue of A.
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Nonconservative hyperbolic problems
Now considerqt +A(q)qx = 0
where A(q) is not the Jacobian of a flux function f(q).Still hyperbolic if A is diagonalizable with real eigenvalues.
Correct discontinuous (weak) solutions harder to define.
Vanishing viscosity approach: add diffusive term of order ε,
qt +A(q)qx = εDqxx
For conservation law, there is generally a unique limit as ε→ 0.
Not true for nonconservative system.Limit can depend on D, or perhaps other higher order terms.
Note that if q is discontinuous then qx is a delta function withsupport at points where A(q) is discontinuous.
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Nonconservative hyperbolic problems
Now considerqt +A(q)qx = 0
where A(q) is not the Jacobian of a flux function f(q).Still hyperbolic if A is diagonalizable with real eigenvalues.
Correct discontinuous (weak) solutions harder to define.
Vanishing viscosity approach: add diffusive term of order ε,
qt +A(q)qx = εDqxx
For conservation law, there is generally a unique limit as ε→ 0.
Not true for nonconservative system.Limit can depend on D, or perhaps other higher order terms.
Note that if q is discontinuous then qx is a delta function withsupport at points where A(q) is discontinuous.
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Nonconservative hyperbolic problems
Now considerqt +A(q)qx = 0
where A(q) is not the Jacobian of a flux function f(q).Still hyperbolic if A is diagonalizable with real eigenvalues.
Correct discontinuous (weak) solutions harder to define.
Vanishing viscosity approach: add diffusive term of order ε,
qt +A(q)qx = εDqxx
For conservation law, there is generally a unique limit as ε→ 0.
Not true for nonconservative system.Limit can depend on D, or perhaps other higher order terms.
Note that if q is discontinuous then qx is a delta function withsupport at points where A(q) is discontinuous.
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Dal Maso, LeFloch, Murat (DLM) theory
qt +A(q)qx = 0.
Define nonconservative product in terms of Borel measuresrelated to family of paths in state space.
q(s) = Φ(ql, qr, s)
is a path from ql to qr parameterized by s ∈ [0, 1].
Jump conditions for a discontinuity propagating with speed ξ:
ξ(qr − ql) =∫ 1
0A(q(s))q′(s) ds.
If A(q)qx = f(q)x (conservative) then∫ 1
0A(q(s))q′(s) ds = f(qr)− f(ql)
independent of the choice of path.
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Dal Maso, LeFloch, Murat (DLM) theory
qt +A(q)qx = 0.
Define nonconservative product in terms of Borel measuresrelated to family of paths in state space.
q(s) = Φ(ql, qr, s)
is a path from ql to qr parameterized by s ∈ [0, 1].
Jump conditions for a discontinuity propagating with speed ξ:
ξ(qr − ql) =∫ 1
0A(q(s))q′(s) ds.
If A(q)qx = f(q)x (conservative) then∫ 1
0A(q(s))q′(s) ds = f(qr)− f(ql)
independent of the choice of path.
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Dal Maso, LeFloch, Murat (DLM) theory
qt +A(q)qx = 0.
Define nonconservative product in terms of Borel measuresrelated to family of paths in state space.
q(s) = Φ(ql, qr, s)
is a path from ql to qr parameterized by s ∈ [0, 1].
Jump conditions for a discontinuity propagating with speed ξ:
ξ(qr − ql) =∫ 1
0A(q(s))q′(s) ds.
If A(q)qx = f(q)x (conservative) then∫ 1
0A(q(s))q′(s) ds = f(qr)− f(ql)
independent of the choice of path.Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Path conservative numerical methods
Given Qi−1, Qi, want to determine A−∆Qi−1/2, A+∆Qi−1/2 toincrement cells on either side:
Qn+1i = Qni −
∆t∆x
(A+∆Qi−1/2 +A−∆Qi+1/2)
For a conservation law: Conservative method if
A−∆Qi−1/2 +A+∆Qi−1/2 = f(Qi)− f(Qi−1)
Path conservative method (for a given family of paths Φ):Choose A−∆Qi−1/2, A+∆Qi−1/2 so that
A−∆Qi−1/2 +A+∆Qi−1/2 =∫ 1
0A(q(s))q′(s) ds.
where q(s) = Φ(Qi−1, Qi; s).
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Path conservative numerical methods
Given Qi−1, Qi, want to determine A−∆Qi−1/2, A+∆Qi−1/2 toincrement cells on either side:
Qn+1i = Qni −
∆t∆x
(A+∆Qi−1/2 +A−∆Qi+1/2)
For a conservation law: Conservative method if
A−∆Qi−1/2 +A+∆Qi−1/2 = f(Qi)− f(Qi−1)
Path conservative method (for a given family of paths Φ):Choose A−∆Qi−1/2, A+∆Qi−1/2 so that
A−∆Qi−1/2 +A+∆Qi−1/2 =∫ 1
0A(q(s))q′(s) ds.
where q(s) = Φ(Qi−1, Qi; s).
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Use path conservative approach
Rewrite qt + f(q)x = ψ(q)σx(x) as
qt + f(q)x − ψ(q)σx = 0σt = 0
This is a nonconservative hyperbolic system wt +B(w)wx = 0with:
w =[qσ
], B(w) =
[f ′(q) −ψ(q)
0 0
].
Eigenvalues of B are those of A and λ = 0.
Assume “nonresonant” case: 0 is not an eigenvalue of A.
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Use path conservative approach
Rewrite qt + f(q)x = ψ(q)σx(x) as
qt + f(q)x − ψ(q)σx = 0σt = 0
This is a nonconservative hyperbolic system wt +B(w)wx = 0with:
w =[qσ
], B(w) =
[f ′(q) −ψ(q)
0 0
].
Eigenvalues of B are those of A and λ = 0.
Assume “nonresonant” case: 0 is not an eigenvalue of A.
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Use path conservative approach
Rewrite qt + f(q)x = ψ(q)σx(x) as
qt + f(q)x − ψ(q)σx = 0σt = 0
This is a nonconservative hyperbolic system wt +B(w)wx = 0with:
w =[qσ
], B(w) =
[f ′(q) −ψ(q)
0 0
].
Eigenvalues of B are those of A and λ = 0.
Assume “nonresonant” case: 0 is not an eigenvalue of A.
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Use path conservative approach
For any path w(s) in state space we obtain∫ 1
0
B(w(s))w′(s) ds =∫ 1
0
[f ′(q(s)) −ψ(q(s))
0 0
] [q′(s)σ′(s)
]ds
=[ ∫ 1
0f ′(q(s))q′(s)− ψ(q(s))σ′(s) ds
0
].
No increment to σ as expected. Increment to Q is:
A∆Qi−1/2 = f(Qi)− f(Qi−1)−∫ 1
0
ψ(q(s))σ′(s) ds.
If σ(s) = σi−1 + s(σi − σi−1), then σ′(s) = σi − σi−1.
=⇒ Recover f-wave modification with particular average of ψ.
Can do better: Choose path in state space to simplify integral and guaranteewell balanced.
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Use path conservative approach
For any path w(s) in state space we obtain∫ 1
0
B(w(s))w′(s) ds =∫ 1
0
[f ′(q(s)) −ψ(q(s))
0 0
] [q′(s)σ′(s)
]ds
=[ ∫ 1
0f ′(q(s))q′(s)− ψ(q(s))σ′(s) ds
0
].
No increment to σ as expected. Increment to Q is:
A∆Qi−1/2 = f(Qi)− f(Qi−1)−∫ 1
0
ψ(q(s))σ′(s) ds.
If σ(s) = σi−1 + s(σi − σi−1), then σ′(s) = σi − σi−1.
=⇒ Recover f-wave modification with particular average of ψ.
Can do better: Choose path in state space to simplify integral and guaranteewell balanced.
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Use path conservative approach
For any path w(s) in state space we obtain∫ 1
0
B(w(s))w′(s) ds =∫ 1
0
[f ′(q(s)) −ψ(q(s))
0 0
] [q′(s)σ′(s)
]ds
=[ ∫ 1
0f ′(q(s))q′(s)− ψ(q(s))σ′(s) ds
0
].
No increment to σ as expected. Increment to Q is:
A∆Qi−1/2 = f(Qi)− f(Qi−1)−∫ 1
0
ψ(q(s))σ′(s) ds.
If σ(s) = σi−1 + s(σi − σi−1), then σ′(s) = σi − σi−1.
=⇒ Recover f-wave modification with particular average of ψ.
Can do better: Choose path in state space to simplify integral and guaranteewell balanced.
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Use path conservative approach
For any path w(s) in state space we obtain∫ 1
0
B(w(s))w′(s) ds =∫ 1
0
[f ′(q(s)) −ψ(q(s))
0 0
] [q′(s)σ′(s)
]ds
=[ ∫ 1
0f ′(q(s))q′(s)− ψ(q(s))σ′(s) ds
0
].
No increment to σ as expected. Increment to Q is:
A∆Qi−1/2 = f(Qi)− f(Qi−1)−∫ 1
0
ψ(q(s))σ′(s) ds.
If σ(s) = σi−1 + s(σi − σi−1), then σ′(s) = σi − σi−1.
=⇒ Recover f-wave modification with particular average of ψ.
Can do better: Choose path in state space to simplify integral and guaranteewell balanced.
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Equilibrium path
Consider path (Qi−1, σi−1) −→ (Q̂i, σi) −→ (Qi, σi)parameterized by s going from 0 to 1/2 to 1, say.
First part: σ varies, q remains in equilibrium(Source term balances f ′(q(s))q′(s))
Second part: σ constant.
∫ 1
0f ′(q(s))q′(s)− ψ(q(s))σ′(s) ds
=∫ 1
1/2f ′(q(s))q′(s)− ψ(q(s))σ′(s) ds
=∫ 1
1/2f ′(q(s))q′(s) ds
= f(Qi)− f(Q̂i)
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Equilibrium path
Consider path (Qi−1, σi−1) −→ (Q̂i, σi) −→ (Qi, σi)parameterized by s going from 0 to 1/2 to 1, say.
First part: σ varies, q remains in equilibrium(Source term balances f ′(q(s))q′(s))
Second part: σ constant.
∫ 1
0f ′(q(s))q′(s)− ψ(q(s))σ′(s) ds
=∫ 1
1/2f ′(q(s))q′(s)− ψ(q(s))σ′(s) ds
=∫ 1
1/2f ′(q(s))q′(s) ds
= f(Qi)− f(Q̂i)
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Equilibrium path
Example: qt + uqx = −qσx(x).
For u > 0 the Riemann solution for Wi−1,Wi has two waves:speed 0: jump from (Qi−1, σi−1) to (Q̂i, σi),speed u: jump from (Q̂i, σi) to (Qi, σi).
where Q̂i = Qi−1e−∆x/u.
So ∫ 1
0f ′(q(s))q′(s)− ψ(q(s))σ′(s) ds = f(Qi)− f(Q̂i)
= u(Qi −Qi−1e−∆x/u)
This is the quantity we split into waves.Equals zero when solution is in equilibrium. Demos...
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
Equilibrium path
Example: qt + uqx = −qσx(x).
For u > 0 the Riemann solution for Wi−1,Wi has two waves:speed 0: jump from (Qi−1, σi−1) to (Q̂i, σi),speed u: jump from (Q̂i, σi) to (Qi, σi).
where Q̂i = Qi−1e−∆x/u.
So ∫ 1
0f ′(q(s))q′(s)− ψ(q(s))σ′(s) ds = f(Qi)− f(Q̂i)
= u(Qi −Qi−1e−∆x/u)
This is the quantity we split into waves.Equals zero when solution is in equilibrium. Demos...
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010
A few references
• Clawpack: www.clawpack.org
• R. J. LeVeque. A Well-Balanced Path-Integral f-wave Method forHyperbolic Problems with Source Terms, preprint, 2010:www.clawpack.org/links/wbfwave10
• D. Bale, R. J. LeVeque, S. Mitran, and J. A. Rossmanith. Awave-propagation method for conservation laws and balance laws withspatially varying flux functions. SIAM J. Sci. Comput., 24:955–978,2002.
• B. Khouider and A. J. Majda, A non-oscillatory balanced scheme foran idealized tropical climate model, Theor. Comput. Fluid Dyn. 19(2005), 331-354.
• G. Dal Maso, P. G. LeFloch, F. Murat, Definition and weak stabilityof nonconservative products, J. Math. Pures Appl. 74 (1995),483–548.
• M. J. Castro, P. G. LeFloch, M. L. Munoz-Riuz, C. Parés, Why manytheories of shock waves are necessary: Convergence error informally path-consistent schemes, J. Comput. Phys. 227 (2008),8107–8129.
Randy LeVeque, University of Washington FAN2010 Conference, Duke University, June 29, 2010