Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,13 @@ To date, it provides provably conservative, entropy-conserving, and well-balance

* the [Korteweg–De Vries (KdV) equation as the prototypical example of an integrable PDE](https://doi.org/10.1007/s10915-025-02898-x),
* the [Benjamin-Bona-Mahony (BBM) equation, also known as regularized long-wave equation](https://doi.org/10.4208/cicp.OA-2020-0119),
* the [BBM-BBM equations with varying bottom topography](https://iopscience.iop.org/article/10.1088/1361-6544/ac3c29),
* the [BBM-BBM equations with varying bottom topography](https://doi.org/10.1088/1361-6544/ac3c29),
* the [dispersive shallow water model proposed by Magnus Svärd and Henrik Kalisch](https://arxiv.org/abs/2302.09924),
* the [Serre-Green-Naghdi equations in standard and hyperbolic form](https://arxiv.org/abs/2408.02665).
* the [Serre-Green-Naghdi equations in standard and hyperbolic form](https://doi.org/10.1002/num.70016).

The semidiscretizations are based on summation-by-parts (SBP) operators, which are implemented in [SummationByPartsOperators.jl](https://github.com/ranocha/SummationByPartsOperators.jl/).
To obtain fully discrete schemes, the time integration methods from [OrdinaryDiffEq.jl](https://github.com/SciML/OrdinaryDiffEq.jl) are used to solve the resulting ordinary differential equations.
Fully discrete entropy-conservative methods can be obtained by using the [relaxation method](https://epubs.siam.org/doi/10.1137/19M1263662) provided by DispersiveShallowWater.jl.
Fully discrete entropy-conservative methods can be obtained by using the [relaxation method](https://doi.org/10.1137/19M1263662) provided by DispersiveShallowWater.jl.
A more detailed documentation can be found [online](https://NumericalMathematics.github.io./DispersiveShallowWater.jl/stable/).

## Installation
Expand Down
10 changes: 5 additions & 5 deletions docs/src/SBP_Operators.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ To learn more about different solvers and how to use them in [DispersiveShallowW

## 1. Introduction & Overview

In recent years, summation-by-parts (SBP) operators have gained particular interest in computational mathematics as they allow transferring analytical results from the continuous level to numerical methods in a systematic manner. This is achieved by mimicking integration by parts discretely, which is one of the key ingredients for conservation and stability proofs at the continuous level. In this way, many fundamental analytical properties of hyperbolic-dominated partial differential equations can be obtained in a straightforward manner at the discrete level.[^LampertRanocha2024]
In recent years, summation-by-parts (SBP) operators have gained particular interest in computational mathematics as they allow transferring analytical results from the continuous level to numerical methods in a systematic manner. This is achieved by mimicking integration by parts discretely, which is one of the key ingredients for conservation and stability proofs at the continuous level. In this way, many fundamental analytical properties of hyperbolic-dominated partial differential equations can be obtained in a straightforward manner at the discrete level.[^LampertRanocha2025]

SBP operators were first developed for finite difference methods to mimic stability proofs based on integration by parts as traditionally used in finite element methods. However, exact integration can be impossible or computationally expensive in finite element methods, particularly for complex geometries or nonlinear problems. In this case, SBP formulations can be advantageous since they naturally include a quadrature rule through the mass matrix. In particular, split forms can be used with SBP operators to avoid the need for exact integration while maintaining discrete analogs of important analytical properties such as the chain rule and product rule.

Expand All @@ -26,10 +26,10 @@ SBP operators achieve this by providing:
- **Provable stability**: Mathematical guarantees about the behavior of the numerical method through discrete energy estimates
- **Flexibility**: A unified framework that encompasses finite differences, finite elements, and spectral methods

[^LampertRanocha2024]:
Lampert, Ranocha (2024):
Structure-Preserving Numerical Methods for Two Nonlinear Systems of Dispersive Wave Equations
[arXiv: 2402.16669](https://arxiv.org/abs/2402.16669)
[^LampertRanocha2025]:
Lampert, Ranocha (2025):
Structure-preserving numerical methods for two nonlinear systems of dispersive wave equations
[DOI: 10.1007/s44207-025-00006-3](https://doi.org/10.1007/s44207-025-00006-3)

## 2. Mathematical Foundation

Expand Down
6 changes: 3 additions & 3 deletions docs/src/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,13 @@ To date, it provides provably conservative, entropy-conserving, and well-balance

* the [Korteweg–De Vries (KdV) equation as the prototypical example of an integrable PDE](https://doi.org/10.1007/s10915-025-02898-x),
* the [Benjamin-Bona-Mahony (BBM) equation, also known as regularized long-wave equation](https://doi.org/10.4208/cicp.OA-2020-0119),
* the [BBM-BBM equations with varying bottom topography](https://iopscience.iop.org/article/10.1088/1361-6544/ac3c29),
* the [BBM-BBM equations with varying bottom topography](https://doi.org/10.1088/1361-6544/ac3c29),
* the [dispersive shallow water model proposed by Magnus Svärd and Henrik Kalisch](https://arxiv.org/abs/2302.09924),
* the [Serre-Green-Naghdi equations in standard and hyperbolic form](https://arxiv.org/abs/2408.02665).
* the [Serre-Green-Naghdi equations in standard and hyperbolic form](https://doi.org/10.1002/num.70016).

The semidiscretizations are based on summation-by-parts (SBP) operators, which are implemented in [SummationByPartsOperators.jl](https://github.com/ranocha/SummationByPartsOperators.jl/).
To obtain fully discrete schemes, the time integration methods from [OrdinaryDiffEq.jl](https://github.com/SciML/OrdinaryDiffEq.jl) are used to solve the resulting ordinary differential equations.
Fully discrete entropy-conservative methods can be obtained by using the [relaxation method](https://epubs.siam.org/doi/10.1137/19M1263662) provided by DispersiveShallowWater.jl.
Fully discrete entropy-conservative methods can be obtained by using the [relaxation method](https://doi.org/10.1137/19M1263662) provided by DispersiveShallowWater.jl.

## Installation

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# This elixir contains an artificial setup that can be used to check the
# conservation properties of the equations and numerical methods as well as
# a possible directional bias (if the velocity is set to zero). See
# - Hendrik Ranocha and Mario Ricchiuto (2024)
# Structure-preserving approximations of the Serre-Green-Naghdi
# equations in standard and hyperbolic form
# [arXiv: 2408.02665](https://arxiv.org/abs/2408.02665)
# - Hendrik Ranocha and Mario Ricchiuto (2025)
# Structure-Preserving Approximations of the Serre-Green-Naghdi
# Equations in Standard and Hyperbolic Form
# [DOI: 10.1002/num.70016](https://doi.org/10.1002/num.70016)

using OrdinaryDiffEqLowStorageRK
using DispersiveShallowWater
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# This elixir contains an artificial setup that can be used to check the
# conservation properties of the equations and numerical methods as well as
# a possible directional bias (if the velocity is set to zero). See
# - Hendrik Ranocha and Mario Ricchiuto (2024)
# Structure-preserving approximations of the Serre-Green-Naghdi
# equations in standard and hyperbolic form
# [arXiv: 2408.02665](https://arxiv.org/abs/2408.02665)
# - Hendrik Ranocha and Mario Ricchiuto (2025)
# Structure-Preserving Approximations of the Serre-Green-Naghdi
# Equations in Standard and Hyperbolic Form
# [DOI: 10.1002/num.70016](https://doi.org/10.1002/num.70016)

using OrdinaryDiffEqTsit5
using DispersiveShallowWater
Expand Down
6 changes: 3 additions & 3 deletions src/dispersion_relation.jl
Original file line number Diff line number Diff line change
Expand Up @@ -85,9 +85,9 @@ function (disp_rel::LinearDispersionRelation)(equations::BBMEquation1D, k)
end

# See
# - Joshua Lampert, Hendrik Ranocha (2024)
# Structure-Preserving Numerical Methods for Two Nonlinear Systems of Dispersive Wave Equations
# [DOI: 10.48550/arXiv.2402.16669](https://doi.org/10.48550/arXiv.2402.16669)
# - Joshua Lampert, Hendrik Ranocha (2025)
# Structure-preserving numerical methods for two nonlinear systems of dispersive wave equations
# [DOI: 10.1007/s44207-025-00006-3](https://doi.org/10.1007/s44207-025-00006-3)
# Here, for general `eta0`.
function (disp_rel::LinearDispersionRelation)(equations::BBMBBMEquations1D, k)
h0 = disp_rel.ref_height
Expand Down
22 changes: 11 additions & 11 deletions src/equations/bbm_bbm_1d.jl
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ For the general case of variable vathymetry the BBM-BBM equations are
One reference for the BBM-BBM system can be found in Bona et al. (1998).
The semidiscretization implemented here was developed for flat bathymetry in
Ranocha et al. (2020) and generalized for a variable bathymetry in
Lampert and Ranocha (2024). It conserves
Lampert and Ranocha (2025). It conserves
- the total water mass (integral of ``h``) as a linear invariant
- the total velocity (integral of ``v``) as a linear invariant for flat bathymetry
- the total energy
Expand All @@ -39,17 +39,17 @@ the semidiscretization conserves
- the total water (integral of ``h``) as a linear invariant
- the total energy.

Additionally, it is well-balanced for the lake-at-rest stationary solution, see Lampert and Ranocha (2024).
Additionally, it is well-balanced for the lake-at-rest stationary solution, see Lampert and Ranocha (2025).

- Jerry L. Bona, Min Chen (1998)
A Boussinesq system for two-way propagation of nonlinear dispersive waves
[DOI: 10.1016/S0167-2789(97)00249-2](https://doi.org/10.1016/S0167-2789(97)00249-2)
- Hendrik Ranocha, Dimitrios Mitsotakis, David I. Ketcheson (2020)
A Broad Class of Conservative Numerical Methods for Dispersive Wave Equations
[DOI: 10.4208/cicp.OA-2020-0119](https://doi.org/10.4208/cicp.OA-2020-0119)
- Joshua Lampert, Hendrik Ranocha (2024)
Structure-Preserving Numerical Methods for Two Nonlinear Systems of Dispersive Wave Equations
[DOI: 10.48550/arXiv.2402.16669](https://doi.org/10.48550/arXiv.2402.16669)
- Joshua Lampert, Hendrik Ranocha (2025)
Structure-preserving numerical methods for two nonlinear systems of dispersive wave equations
[DOI: 10.1007/s44207-025-00006-3](https://doi.org/10.1007/s44207-025-00006-3)
"""
struct BBMBBMEquations1D{Bathymetry <: AbstractBathymetry, RealT <: Real} <:
AbstractBBMBBMEquations{1, 3}
Expand Down Expand Up @@ -414,9 +414,9 @@ end
# - the total momentum (integral of ``v``) as a linear invariant for flat bathymetry
# - the total energy
# for periodic boundary conditions, see
# - Joshua Lampert and Hendrik Ranocha (2024)
# Structure-Preserving Numerical Methods for Two Nonlinear Systems of Dispersive Wave Equations
# [DOI: 10.48550/arXiv.2402.16669](https://doi.org/10.48550/arXiv.2402.16669)
# - Joshua Lampert, Hendrik Ranocha (2025)
# Structure-preserving numerical methods for two nonlinear systems of dispersive wave equations
# [DOI: 10.1007/s44207-025-00006-3](https://doi.org/10.1007/s44207-025-00006-3)
function rhs!(dq, q, t, mesh, equations::BBMBBMEquations1D, initial_condition,
::BoundaryConditionPeriodic, source_terms, solver, cache)
(; etav, Dv, v2, tmp1, tmp2) = cache
Expand Down Expand Up @@ -484,9 +484,9 @@ end
# - the total water (integral of ``h``) as a linear invariant
# - the total energy
# for reflecting boundary conditions, see
# - Joshua Lampert and Hendrik Ranocha (2024)
# Structure-Preserving Numerical Methods for Two Nonlinear Systems of Dispersive Wave Equations
# [DOI: 10.48550/arXiv.2402.16669](https://doi.org/10.48550/arXiv.2402.16669)
# - Joshua Lampert, Hendrik Ranocha (2025)
# Structure-preserving numerical methods for two nonlinear systems of dispersive wave equations
# [DOI: 10.1007/s44207-025-00006-3](https://doi.org/10.1007/s44207-025-00006-3)
function rhs!(dq, q, t, mesh, equations::BBMBBMEquations1D, initial_condition,
::BoundaryConditionReflecting, source_terms, solver, cache)
(; etav, Dv, v2, tmp1, tmp2) = cache
Expand Down
26 changes: 13 additions & 13 deletions src/equations/hyperbolic_serre_green_naghdi_1d.jl
Original file line number Diff line number Diff line change
Expand Up @@ -76,12 +76,12 @@ The semidiscretization implemented here conserves
- the total water mass (integral of ``h``) as a linear invariant
- the total modified energy

for periodic boundary conditions (see Ranocha and Ricchiuto (2024)).
for periodic boundary conditions (see Ranocha and Ricchiuto (2025)).
Additionally, it is well-balanced for the lake-at-rest stationary solution, see
- Hendrik Ranocha and Mario Ricchiuto (2024)
Structure-preserving approximations of the Serre-Green-Naghdi
equations in standard and hyperbolic form
[arXiv: 2408.02665](https://arxiv.org/abs/2408.02665)
- Hendrik Ranocha and Mario Ricchiuto (2025)
Structure-Preserving Approximations of the Serre-Green-Naghdi
Equations in Standard and Hyperbolic Form
[DOI: 10.1002/num.70016](https://doi.org/10.1002/num.70016)
"""
struct HyperbolicSerreGreenNaghdiEquations1D{Bathymetry <:
Union{BathymetryFlat, BathymetryMildSlope},
Expand Down Expand Up @@ -196,10 +196,10 @@ end

A smooth manufactured solution in combination with
[`source_terms_manufactured`](@ref), see
- Hendrik Ranocha and Mario Ricchiuto (2024)
Structure-preserving approximations of the Serre-Green-Naghdi
equations in standard and hyperbolic form
[arXiv: 2408.02665](https://arxiv.org/abs/2408.02665)
- Hendrik Ranocha and Mario Ricchiuto (2025)
Structure-Preserving Approximations of the Serre-Green-Naghdi
Equations in Standard and Hyperbolic Form
[DOI: 10.1002/num.70016](https://doi.org/10.1002/num.70016)
"""
function initial_condition_manufactured(x, t,
equations::HyperbolicSerreGreenNaghdiEquations1D,
Expand Down Expand Up @@ -359,10 +359,10 @@ end
# - the total water mass (integral of ``h``) as a linear invariant
# - the total modified energy
# for periodic boundary conditions, see
# - Hendrik Ranocha and Mario Ricchiuto (2024)
# Structure-preserving approximations of the Serre-Green-Naghdi
# equations in standard and hyperbolic form
# [arXiv: 2408.02665](https://arxiv.org/abs/2408.02665)
# - Hendrik Ranocha and Mario Ricchiuto (2025)
# Structure-Preserving Approximations of the Serre-Green-Naghdi
# Equations in Standard and Hyperbolic Form
# [DOI: 10.1002/num.70016](https://doi.org/10.1002/num.70016)
# for reflecting boundary conditions, calculation not published yet.
function rhs!(dq, q, t, mesh,
equations::HyperbolicSerreGreenNaghdiEquations1D,
Expand Down
18 changes: 9 additions & 9 deletions src/equations/serre_green_naghdi_1d.jl
Original file line number Diff line number Diff line change
Expand Up @@ -61,12 +61,12 @@ The semidiscretization implemented here conserves
- the total momentum (integral of ``h v``) as a nonlinear invariant if the bathymetry is constant
- the total modified energy

for periodic boundary conditions (see Ranocha and Ricchiuto (2024)).
for periodic boundary conditions (see Ranocha and Ricchiuto (2025)).
Additionally, it is well-balanced for the lake-at-rest stationary solution, see
- Hendrik Ranocha and Mario Ricchiuto (2024)
Structure-preserving approximations of the Serre-Green-Naghdi
equations in standard and hyperbolic form
[arXiv: 2408.02665](https://arxiv.org/abs/2408.02665)
- Hendrik Ranocha and Mario Ricchiuto (2025)
Structure-Preserving Approximations of the Serre-Green-Naghdi
Equations in Standard and Hyperbolic Form
[DOI: 10.1002/num.70016](https://doi.org/10.1002/num.70016)
"""
struct SerreGreenNaghdiEquations1D{Bathymetry <: AbstractBathymetry, RealT <: Real} <:
AbstractSerreGreenNaghdiEquations{1, 3}
Expand Down Expand Up @@ -786,10 +786,10 @@ end
# - the total momentum (integral of ``h v``) as a nonlinear invariant for flat bathymetry
# - the total modified energy
# for periodic boundary conditions, see
# - Hendrik Ranocha and Mario Ricchiuto (2024)
# Structure-preserving approximations of the Serre-Green-Naghdi
# equations in standard and hyperbolic form
# [arXiv: 2408.02665](https://arxiv.org/abs/2408.02665)
# - Hendrik Ranocha and Mario Ricchiuto (2025)
# Structure-Preserving Approximations of the Serre-Green-Naghdi
# Equations in Standard and Hyperbolic Form
# [DOI: 10.1002/num.70016](https://doi.org/10.1002/num.70016)
function rhs!(dq, q, t, mesh,
equations::SerreGreenNaghdiEquations1D,
initial_condition,
Expand Down
14 changes: 7 additions & 7 deletions src/equations/svaerd_kalisch_1d.jl
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,15 @@ The semidiscretization implemented here conserves
- the total modified energy

for periodic boundary conditions (see Lampert, Ranocha).
Additionally, it is well-balanced for the lake-at-rest stationary solution, see Lampert and Ranocha (2024).
Additionally, it is well-balanced for the lake-at-rest stationary solution, see Lampert and Ranocha (2025).

- Magnus Svärd, Henrik Kalisch (2025)
A novel energy-bounded Boussinesq model and a well-balanced and stable numerical discretization
[arXiv: 2302.09924](https://arxiv.org/abs/2302.09924),
[DOI: 10.1016/j.jcp.2024.113516](https://doi.org/10.1016/j.jcp.2024.113516)
- Joshua Lampert, Hendrik Ranocha (2024)
Structure-Preserving Numerical Methods for Two Nonlinear Systems of Dispersive Wave Equations
[DOI: 10.48550/arXiv.2402.16669](https://doi.org/10.48550/arXiv.2402.16669)
- Joshua Lampert, Hendrik Ranocha (2025)
Structure-preserving numerical methods for two nonlinear systems of dispersive wave equations
[DOI: 10.1007/s44207-025-00006-3](https://doi.org/10.1007/s44207-025-00006-3)
"""
struct SvaerdKalischEquations1D{Bathymetry <: AbstractBathymetry, RealT <: Real} <:
AbstractSvaerdKalischEquations{1, 3}
Expand Down Expand Up @@ -368,9 +368,9 @@ end
# - the total momentum (integral of ``h v``) as a nonlinear invariant for flat bathymetry
# - the total modified energy
# for periodic boundary conditions, see
# - Joshua Lampert and Hendrik Ranocha (2024)
# Structure-Preserving Numerical Methods for Two Nonlinear Systems of Dispersive Wave Equations
# [DOI: 10.48550/arXiv.2402.16669](https://doi.org/10.48550/arXiv.2402.16669)
# - Joshua Lampert, Hendrik Ranocha (2025)
# Structure-preserving numerical methods for two nonlinear systems of dispersive wave equations
# [DOI: 10.1007/s44207-025-00006-3](https://doi.org/10.1007/s44207-025-00006-3)
# TODO: Simplify for the case of flat bathymetry and use higher-order operators
function rhs!(dq, q, t, mesh, equations::SvaerdKalischEquations1D,
initial_condition, boundary_conditions::BoundaryConditionPeriodic,
Expand Down