TrixiShallowWater.jl
TrixiShallowWater.jl is a numerical simulation package focused on solving shallow water equations with the discontinuous Galerkin method and written in Julia. The package builds on the numerical simulation framework for conservation laws Trixi.jl and provides several specialized models and features specific for shallow water applications. Below is a short summary of the available features:
- 1D and 2D simulations on line/quad meshes
- Cartesian and curvilinear meshes
- Conforming and non-conforming meshes
- Hierarchical quadtree meshes with adaptive mesh refinement
- High-order accuracy in space and time
- Entropy-stable discontinuous Galerkin methods based on flux differencing
- Entropy-stable shock capturing
- Positivity-preserving limiting
- Compatible with the SciML ecosystem for ordinary differential equations
- CFL-based and error-based time step control
- Shallow water capabilities
- Wetting and drying
- Multi-layer flows
- Sediment transport via an Exner model
Installation
If you have not yet installed Julia, please follow the instructions for your operating system. TrixiShallowWater.jl works with Julia v1.10 and newer. We recommend using the latest stable release of Julia.
TrixiShallowWater.jl is not a registered Julia package, and therefore needs to be downloaded manually and then run from within the cloned directory:
git clone https://github.com/trixi-framework/TrixiShallowWater.jl.git
julia --project=@.
In addition TrixiShallowWater.jl requires the numerical solver framework Trixi.jl, relevant sub-packages of OrdinaryDiffEq.jl for time integration, and Plots.jl for visualization, which can be installed by executing the following in the Julia REPL:
julia> using Pkg
julia> Pkg.add(["Trixi", "Trixi2Vtk", "OrdinaryDiffEqLowStorageRK", "OrdinaryDiffEqSSPRK", "Plots"])
Authors
TrixiShallowWater.jl is maintained by the Trixi authors. Its principal developers are Andrew Winters (Linköping University, Sweden) and Patrick Ersing (Linköping University, Sweden). The full list of contributors can be found in Authors.
License and contributing
TrixiShallowWater.jl is licensed under the MIT license (see License). Since TrixiShallowWater.jl is an open-source project, we are very happy to accept contributions from the community. To get in touch with the developers, join us on Slack or create an issue.
Acknowledgments
This project has benefited from funding from Vetenskapsrådet (VR, Swedish Research Council), Sweden through the VR Starting Grant "Shallow water flows including sediment transport and morphodynamics", VR grant agreement 2020-03642 VR.