-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
implement Serre-Green-Naghdi equations for flat bathymetry #127
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #127 +/- ##
==========================================
+ Coverage 96.88% 97.00% +0.12%
==========================================
Files 17 18 +1
Lines 1187 1369 +182
==========================================
+ Hits 1150 1328 +178
- Misses 37 41 +4 ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot for the PR! I left some questions, ideas, and comments below. Some more questions that are in a broader context:
- What is the plan regarding the full Serre-Green-Naghdi equations and the hyperbolic approximation? Having two separate equations, I guess? To what extend can they share code?
- One bigger question I already addressed in some places in the code review: What is the plan regarding the different bathymetries? I would like to have only one equation struct covering all types of bathymetry (in contrast to the current state for the BBM-BBM equations). I think in order to have a smooth generalization for other than constant bathymetries in the future, it already pays of to have a clear plan in mind how this generalization should look like. Especially, should we have another variable in the ODE representing the bathymetry? If we do, then this should already be present in the flat bathymetry case, right?
- From the paper I see there are several possible energy-conserving split forms. You only implemented one, right? I am totally fine with that, but I was only wondering whether you have some plans/ideas to be more flexible?
- In the paper you also include the possibility to add artificial diffusion? Do you have any plans for integrating this feature in DispersiveShallowWater.jl? If we want to include it, could this be a general (more or less) equations-independent choice and could be switched on/off on the
solver
side rather than theequation
side? This is definitely not something, we need to decide now, but I already wanted to hear your opinion on that. - To have a better impression on the dispersive behaviour of the equations, do you know of an expression for the dispersion relation of the Serre-Green-Naghdi equations (and the hyperbolic approximation). I would be interested in that.
- I think it would be good to add a test, which uses the relaxation callback and tests for exact entropy conservation (I think relaxation does not work out of the box with the current setup because
entropy
needs the whole vectorq
and therefore needs to be handled differently).
Generally, I think a subsequent PR (or more than one) that applies some of your ideas from this PR to the other equations can be useful. I can do that once this PR is merged.
Co-authored-by: Joshua Lampert <[email protected]>
Co-authored-by: Joshua Lampert <[email protected]>
examples/serre_green_naghdi_1d/serre_green_naghdi_soliton_upwind.jl
Outdated
Show resolved
Hide resolved
We discussed the following things (see also comments inside the code):
Yes, they are split into two equations that both inherit
We will have struct
For now, we focus on the one implemented since we see no big advantages of others.
Artificial dissipation is left for possible future work.
A linear dispersion relation for the hyperbolic approximation can be found in Favrie, Gavrilyuk, A rapid numerical method for solving Serre–Green–Naghdi equations describing long free surface gravity waves (2017).
This will be done once the naming convention of the |
Co-authored-by: Joshua Lampert <[email protected]>
Thanks for your review, @JoshuaLampert! I think we're close to the last iteration 🙂 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot @ranocha, also for the additional type stability tests. I think this is a big step forward!
I have one final iteration of minor comments/questions until this is good to merge.
Co-authored-by: Joshua Lampert <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks again.
I have implemented the semidiscretization of https://arxiv.org/abs/2408.02665 of the Serre-Green-Naghdi equations for flat bathymetry using central SBP operators. This is the first step and I plan to extend it in the future
I plan to do this in other PRs to make the individual steps easier to review.