TrixiBottomTopography

Approximating real world data for bottom topographies

https://github.com/trixi-framework/trixibottomtopography.jl

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

mesh pde geometry ode projection interactive particles finite-volume primitives conservation-laws
Last synced: 7 months ago · JSON representation

Repository

Approximating real world data for bottom topographies

Basic Info
Statistics
  • Stars: 6
  • Watchers: 6
  • Forks: 3
  • Open Issues: 4
  • Releases: 3
Created over 3 years ago · Last pushed 9 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Security Authors Zenodo

README.md

TrixiBottomTopography.jl

Docs-stable Docs-dev Build Status Coverage Status License: MIT DOI

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:

image

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

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

All Time
  • Total Commits: 114
  • Total Committers: 6
  • Avg Commits per committer: 19.0
  • Development Distribution Score (DDS): 0.412
Past Year
  • Commits: 12
  • Committers: 2
  • Avg Commits per committer: 6.0
  • Development Distribution Score (DDS): 0.333
Top Committers
Name Email 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
enhancement (3) documentation (1) good first issue (1)
Pull Request Labels
dependencies (31) github_actions (10)

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

  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 1 Total
Rankings
Dependent repos count: 8.5%
Average: 31.7%
Forks count: 32.3%
Dependent packages count: 36.5%
Stargazers count: 49.6%
Last synced: 7 months ago

Dependencies

.github/workflows/CompatHelper.yml actions
.github/workflows/DocPreviewCleanup.yml actions
  • actions/checkout v2 composite
.github/workflows/Documenter.yml actions
  • actions/checkout v2 composite
  • julia-actions/setup-julia latest composite
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite
.github/workflows/ci.yml actions
  • 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
.github/workflows/SpellCheck.yml actions
  • actions/checkout v4 composite
  • crate-ci/typos v1.21.0 composite