WaterWaves1D

Water wave models in one dimension

https://github.com/waterwavesmodels/waterwaves1d.jl

Science Score: 77.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 24 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    2 of 5 committers (40.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.3%) to scientific vocabulary

Keywords

julialang shallow-water-equations water-wave

Keywords from Contributors

interpretability pinns matrix-exponential meshing numerics pde hack projections finite-volume standardization
Last synced: 6 months ago · JSON representation ·

Repository

Water wave models in one dimension

Basic Info
Statistics
  • Stars: 10
  • Watchers: 2
  • Forks: 0
  • Open Issues: 2
  • Releases: 2
Topics
julialang shallow-water-equations water-wave
Created over 7 years ago · Last pushed 6 months ago
Metadata Files
Readme Citation

README.md

WaterWaves1D.jl

Build Status codecov DOI

Installation

julia (v1.11) pkg> add WaterWaves1D using WaterWaves1D

Overview

WaterWaves1D.jl is a Julia package providing a framework to study and compare several models for the propagation of unidimensional surface gravity waves (a.k.a. "water waves").

Several models are already implemented, including (but not limited to) the so-called water waves system, its truncated spectral expansion, the Green-Naghdi system, the Matsuno system, and so on. You may easily add your favorite one to the gang: see the how-to guide.

Documentation

See here.

Example

A simple example of a typical use of the package can be found below. More advanced examples are available at the examples and notebooks folders.

Gather parameters of the problem. julia param = ( # Physical parameters. Variables are non-dimensionalized as in Lannes, The water waves problem, isbn:978-0-8218-9470-5 μ = 1, # shallow-water dimensionless parameter ϵ = 1/4, # nonlinearity dimensionless parameter # Numerical parameters N = 2^11, # number of collocation points L = 10, # half-length of the numerical tank (-L,L) T = 5, # final time of computation dt = 0.01, # timestep );

Define initial data (here, a "heap of water"). julia z(x) = exp.(-abs.(x).^4); # surface deformation v(x) = 0*exp.(-x.^2); # zero initial velocity init = Init(z,v); # generate the initial data with correct type

Set up initial-value problems for different models to compare. ```julia

Build models

modelWW=WaterWaves(param,verbose=false) # The water waves system modelWW2=WWn(param;n=2,dealias=1,δ=1/10) # The quadratic model (WW2)

Build problems

problemWW=Problem(modelWW, init, param) ; problemWW2=Problem(modelWW2, init, param) ; ```

Integrate in time the initial-value problems. julia solve!([problem_WW problem_WW2]);

Plot solutions at final time. julia using Plots plot([problem_WW, problem_WW2])

Generate an animation. julia anim = @animate for t = LinRange(0,5,101) plot([problem_WW, problem_WW2];T=t,ylims=(-0.5,1)) end gif(anim, "Example.gif", fps=15)

Developers

WaterWaves1D.jl is being developed by Vincent Duchêne and Pierre Navaro.

Citing

The code is citable via zenodo. Please cite as:

V. Duchêne, P. Navaro. WaterWaves1D.jl (Version v0.1.0). Zenodo. https://doi.org/10.5281/zenodo.7142921

Publications

These preprints and publications use WaterWaves1D.jl.

  1. Vincent Duchêne and Christian Klein, Numerical study of the Serre-Green-Naghdi equations and a fully dispersive counterpart, Discrete Contin. Dyn. Syst. Ser. B, 27(10), pp. 5905–5933 (2022). DOI: 10.3934/dcdsb.2021300
  2. Vincent Duchêne and Benjamin Melinand, Rectification of a deep water model for surface gravity waves, Pure Appl. Anal. 6, No. 1, pp. 73–128 (2024). DOI: 10.2140/paa.2024.6.73
  3. Arnaud Debussche, Etienne Mémin, and Antoine Moneyron, Derivation of Stochastic Models for Coastal Waves, in B. Chapron et al. (eds.), Stochastic Transport in Upper Ocean Dynamics III, Mathematics of Planet Earth 13 (2025). DOI:10.1007/978-3-031-70660-8_9
  4. Duchêne, Vincent; Marstrander, Johanna Ulvedal, The Fourier spectral approach to the spatial discretization of quasilinear hyperbolic systems, Preprint, arXiv:2507.00516 (2025). DOI: 10.48550/arXiv.2507.00516

If you have a work that belongs to tis list, please open a pull request to add it or let us know!

Contributing

If you would like to contribute to the development of the package, please do not refrain from contacting us, for instance by opening an issue.

Related Julia packages

If this package does not fit your needs, you may consider

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: "Duchêne" 
    given-names: "Vincent"
    orcid: "https://orcid.org/0000-0002-8349-1284"
  - family-names: "Navaro" 
    given-names: "Pierre"
    orcid: "https://orcid.org/0000-0002-7372-3221"
url: "https://github.com/WaterWavesModels/WaterWaves1D.jl"
title: "WaterWaves1D.jl"
version: 0.1.0
doi: 10.5281/zenodo.7142921
date-released: 2022-10-04

GitHub Events

Total
  • Release event: 1
  • Watch event: 2
  • Delete event: 1
  • Issue comment event: 6
  • Push event: 41
  • Pull request event: 4
  • Create event: 3
Last Year
  • Release event: 1
  • Watch event: 2
  • Delete event: 1
  • Issue comment event: 6
  • Push event: 41
  • Pull request event: 4
  • Create event: 3

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 661
  • Total Committers: 5
  • Avg Commits per committer: 132.2
  • Development Distribution Score (DDS): 0.349
Past Year
  • Commits: 43
  • Committers: 4
  • Avg Commits per committer: 10.75
  • Development Distribution Score (DDS): 0.233
Top Committers
Name Email Commits
Vincent Duchene v****e@u****r 430
Pierre Navaro p****o@m****r 220
github-actions[bot] 4****] 5
dependabot[bot] 4****] 4
CompatHelper Julia c****y@j****g 2
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 10
  • Total pull requests: 22
  • Average time to close issues: 10 days
  • Average time to close pull requests: 3 days
  • Total issue authors: 3
  • Total pull request authors: 3
  • Average comments per issue: 2.1
  • Average comments per pull request: 0.95
  • Merged pull requests: 14
  • Bot issues: 0
  • Bot pull requests: 18
Past Year
  • Issues: 0
  • Pull requests: 7
  • Average time to close issues: N/A
  • Average time to close pull requests: about 4 hours
  • Issue authors: 0
  • Pull request authors: 3
  • Average comments per issue: 0
  • Average comments per pull request: 0.71
  • Merged pull requests: 6
  • Bot issues: 0
  • Bot pull requests: 6
Top Authors
Issue Authors
  • vybduchene (8)
  • pnavaro (1)
  • JuliaTagBot (1)
Pull Request Authors
  • github-actions[bot] (16)
  • dependabot[bot] (8)
  • pnavaro (6)
Top Labels
Issue Labels
enhancement (3)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • julia 2 total
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 2
juliahub.com: WaterWaves1D

Water wave models in one dimension

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 2 Total
Rankings
Dependent repos count: 9.9%
Average: 36.9%
Dependent packages count: 38.9%
Stargazers count: 45.1%
Forks count: 53.5%
Last synced: 6 months ago

Dependencies

.github/workflows/CompatHelper.yml actions
  • julia-actions/setup-julia v1 composite
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite
.github/workflows/ci.yml actions
  • actions/cache v1 composite
  • actions/checkout v3 composite
  • codecov/codecov-action v2 composite
  • julia-actions/julia-buildpkg latest composite
  • julia-actions/julia-docdeploy latest composite
  • julia-actions/julia-processcoverage v1 composite
  • julia-actions/julia-runtest latest composite
  • julia-actions/setup-julia v1 composite