TrixiBottomTopography
Approximating real world data for bottom topographies
Science Score: 49.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 3 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.0%) to scientific vocabulary
Keywords from Contributors
Repository
Approximating real world data for bottom topographies
Basic Info
- Host: GitHub
- Owner: trixi-framework
- License: mit
- Language: Julia
- Default Branch: main
- Homepage: https://trixi-framework.github.io/TrixiBottomTopography.jl/
- Size: 29.6 MB
Statistics
- Stars: 6
- Watchers: 6
- Forks: 3
- Open Issues: 4
- Releases: 3
Metadata Files
README.md
TrixiBottomTopography.jl
TrixiBottomTopography.jl is a supplementary package to the numerical solver TrixiShallowWater.jl, which enables use of real world geographical data for the bottom topography function of the shallow water equations.
The shallow water equations in one dimension
math
\begin{aligned}
\begin{pmatrix} h \\ hv \end{pmatrix}_t
+ \begin{pmatrix} hv \\ hv^2 + \frac{1}{2}gh^2 \end{pmatrix}_x
= \begin{pmatrix} 0\\ -ghb_x \end{pmatrix}
\end{aligned}
and two dimensions
math
\begin{aligned}
\begin{pmatrix} h \\ hv_1 \\ hv_2 \end{pmatrix}_t
+ \begin{pmatrix} hv_1 \\ hv_1^2 + \frac{1}{2}gh^2 \\ hv_1v_2 \end{pmatrix}_x
+ \begin{pmatrix} hv_2 \\ hv_1v_2 \\ hv_2^2 + \frac{1}{2}gh^2 \end{pmatrix}_y
= \begin{pmatrix} 0\\ -ghb_x \\ -ghb_y \end{pmatrix}
\end{aligned}
require a (piecewise) differentiable function $b$, which describes the bottom topography.
Geographical data is almost always given as scattered data points on a coordinate system with the corresponding elevation. So to incorporate geographical data into the shallow water equations, we need to define a function that remodels the topography from the data.
TrixiBottomTopography.jl does this by B-spline interpolation of the underlying data.
Functionalities
This package contains the following three main functionalities:
- Converting geographical data given in form of .xyz files, e.g., from the DGM data set provided by Geobasis NRW to make it readable for TrixiBottomTopography.jl
- Setting up a B-spline interpolation structure in one and two dimensions which contains all the relevant information to define a B-spline interpolation function with additional specifications
- Using the B-spline structure to set up a B-spline interpolation function
A detailed description of the functionalities can be found in the documentation to this package.
Installation
If you have not yet installed Julia, please follow the instructions for your operating system. TrixiBottomTopography.jl works with Julia v1.10 and newer. We recommend using the latest stable release of Julia.
For users
TrixiBottomTopography.jl and its related tools are registered Julia packages. Hence, you
can install it by executing the following commands in the Julia REPL:
julia
julia> import Pkg; Pkg.add("TrixiBottomTopography")
The available visualization functionality uses Makie.jl.
A Makie backend, such as GLMakie.jl, can
be installed in addition to TrixiBottomTopography
julia
julia> using Pkg; Pkg.add("GLMakie")
To use TrixiBottomTopography.jl together with the numerical solver framework TrixiShallowWater.jl,
you additionally need both Trixi.jl
and a relevant time integration sub-package of
OrdinaryDiffEq.jl, e.g.,
for high-order low-storage Runge-Kutta schemes. These can be added
by executing
julia
julia> using Pkg; Pkg.add(["Trixi", "TrixiShallowWater", "OrdinaryDiffEqLowStorageRK"])
Two examples that combine TrixiBottomTopography.jl together with TrixiShallowWater.jl
are available in the examples folder.
An additional example that combines TrixiBottomTopography.jl with wet/dry transitions and
shock capturing to model a tsunami runup is available as a
tutorial
in TrixiShallowWater.jl.
For developers
If you plan on editing TrixiBottomTopography.jl itself, you can download TrixiBottomTopography.jl
locally and use the code from the cloned directory:
bash
git clone git@github.com:trixi-framework/TrixiBottomTopography.jl.git
cd TrixiBottomTopography.jl
mkdir run
cd run
julia --project=. -e 'using Pkg; Pkg.develop(PackageSpec(path=".."))' # Install local TrixiBottomTopography.jl clone
julia --project=. -e 'using Pkg; Pkg.add(["GLMakie", "Trixi", "TrixiShallowWater", "OrdinaryDiffEqLowStorageRK"])' # Install additional packages
Note that the additional packages are optional and can be omitted.
If you installed TrixiBottomTopography.jl this way, you always have to start Julia with the --project
flag set to your run directory, e.g.,
bash
julia --project=.
if already inside the run directory or
bash
julia --project=run
if inside the repository root directory.
Examples
To see a first example of TrixiBottomTopography.jl a default example has been implemented.
First, load the packages and either of the backends
GLMakie.jl
or CairoMakie.jl
to activate the visualization.
julia
julia> using TrixiBottomTopography, GLMakie
Then call the default_example for TrixiBottomTopography.jl as
julia
julia> TrixiBottomTopography.default_example()
If the implementation was successful, the following window appears:
Further examples can be found in the examples folder of this repository.
Authors
TrixiBottomTopography.jl was developed by Maximilian Dominique Bertrand (University of Cologne, Germany) with the help of Andrew Winters (Linköping University, Sweden) and Michael Schlottke-Lakemper (RWTH Aachen University, Germany). The full list of contributors can be found in AUTHORS.md.
License and contributing
TrixiBottomTopography.jl is published under the MIT license (see LICENSE.md). We are pleased to accept contributions from everyone, preferably in the form of a PR.
Owner
- Name: Trixi.jl
- Login: trixi-framework
- Kind: organization
- Website: https://trixi-framework.github.io
- Repositories: 21
- Profile: https://github.com/trixi-framework
Adaptive high-order numerical simulations of hyperbolic PDEs in Julia
GitHub Events
Total
- Create event: 22
- Commit comment event: 9
- Release event: 4
- Issues event: 13
- Watch event: 3
- Delete event: 19
- Issue comment event: 53
- Push event: 168
- Pull request review comment event: 88
- Pull request review event: 79
- Pull request event: 45
- Fork event: 1
Last Year
- Create event: 22
- Commit comment event: 9
- Release event: 4
- Issues event: 13
- Watch event: 3
- Delete event: 19
- Issue comment event: 53
- Push event: 168
- Pull request review comment event: 88
- Pull request review event: 79
- Pull request event: 45
- Fork event: 1
Committers
Last synced: about 1 year ago
Top Committers
| Name | Commits | |
|---|---|---|
| maxbertrand1996 | m****6@g****m | 67 |
| Andrew Winters | a****s@l****e | 20 |
| dependabot[bot] | 4****] | 8 |
| Hendrik Ranocha | r****a | 8 |
| CompatHelper Julia | c****y@j****g | 8 |
| Michael Schlottke-Lakemper | m****l@s****m | 3 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 7 months ago
All Time
- Total issues: 12
- Total pull requests: 80
- Average time to close issues: 11 days
- Average time to close pull requests: 10 days
- Total issue authors: 3
- Total pull request authors: 7
- Average comments per issue: 1.33
- Average comments per pull request: 1.48
- Merged pull requests: 61
- Bot issues: 0
- Bot pull requests: 36
Past Year
- Issues: 9
- Pull requests: 41
- Average time to close issues: 14 days
- Average time to close pull requests: 5 days
- Issue authors: 2
- Pull request authors: 4
- Average comments per issue: 0.22
- Average comments per pull request: 1.93
- Merged pull requests: 29
- Bot issues: 0
- Bot pull requests: 17
Top Authors
Issue Authors
- andrewwinters5000 (10)
- maxbertrand1996 (1)
- JuliaTagBot (1)
Pull Request Authors
- dependabot[bot] (31)
- andrewwinters5000 (21)
- ranocha (13)
- github-actions[bot] (7)
- maxbertrand1996 (7)
- vincmarks (2)
- sloede (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- julia 1 total
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 4
juliahub.com: TrixiBottomTopography
Approximating real world data for bottom topographies
- Homepage: https://trixi-framework.github.io/TrixiBottomTopography.jl/
- Documentation: https://docs.juliahub.com/General/TrixiBottomTopography/stable/
- License: MIT
-
Latest release: 0.1.3
published 11 months ago
Rankings
Dependencies
- actions/checkout v2 composite
- actions/checkout v2 composite
- julia-actions/setup-julia latest composite
- JuliaRegistries/TagBot v1 composite
- actions/checkout v3 composite
- coverallsapp/github-action master composite
- julia-actions/cache v1 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/julia-processcoverage v1 composite
- julia-actions/julia-runtest v1 composite
- julia-actions/setup-julia v1 composite
- actions/checkout v4 composite
- crate-ci/typos v1.21.0 composite