-
Notifications
You must be signed in to change notification settings - Fork 10
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
Bounds-preserving time integration #48
Conversation
Does not work with adaptive time control atm!
… 3/8 rule. Added RK6, but explodes numerically.
I guess I know why it was not passing the regression, we turned off the clipping of the values here to see the undershoots 🤔 . |
Aaaaa yes, that's why it failed only for RK2. |
Ahh, ok, it is clear to me what is happening with mass. It is not a bug 🐛 , but design 😄 The thing is HO solution is being combined to get HO update, which is then limited by a single forward Euler step of LO solution. So LO solution is LO time integrated. If we want it HO integrated, we need to combine it too, but that complicates the design quite a bit 🤔 . I thought there is no gain from LO solution being HO integrated, but I forgot it is non-conservative, so the mass convergence is affected. |
But a question is: is HO time-integrated LO solution bounds-preserving? 🤔 And can be the previous limited solution interchanged with the LO one for calculation of the new (kind of) LO solution? |
MassBasedAvgLOSolver can work with prescribed HO solution.
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.
Thank you for the new method @najlkin!
This PR adds invariant domain preserving (IDP) time integrators based on explicit Runge-Kutta (ERK) methods. The implementation is general, where
RKIDPSolver
class converts any ERK scheme with non-decreasing time levels to the IDP form following the methodology of Alexandre Ern and Jean-Luc Guermond, Invariant-Domain-Preserving High-Order Time Stepping: I. Explicit Runge--Kutta Schemes, SIAM Journal on Scientific Computing, 44:5, A3366-A3392, 2022. The idea is that updates between consecutive stages are performed instead of a linear combination of the states, which enables sequential limiting for each new stage. Due to this kind of sub-stepping, the CFL criterion is also relaxed to these stage differences.