Skip to content
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

Refactor of RK implementation #499

Merged
merged 3 commits into from
Nov 6, 2024

Conversation

brownbaerchen
Copy link
Contributor

This PR includes a few things:

  • Collocation matrix now includes only the Runge-Kutta matrix and no longer the weights for computing the solution at the end point
  • compute_end_point now computes the solution at the end point. For stiffly accurate methods, the solution at the last node is copied
  • IMEX RKM can now have different weights for explicit and implicit methods. This is crucial for stiffly accurate IMEX methods, which can be applied to DAEs. If only the implicit part is stiffly accurate, a collocation update is still needed.
  • Added the second order stiffly accurate IMEX RK method (ARK2) that Dedalus use as well as IMEX Euler. The ARK2 method is the only one we have atm that works for DAEs like Rayleigh-Benard.
  • Refactor for Runge-Kutta Nyström: This is still using the old Butcher tableau implementation that does not need a collocation update because of the particle datatype and velocity verlet scheme. I removed a lot of code that can be inherited from the parent class. I removed the parameter Velocity_verlet because I didn't find where this was used. @ikrom96git, maybe you want to double check that this still works as you want.

I will search for higher order stiffly accurate IMEX RK methods to use with RBC in the mean time. But it is fair to say that IMEX SDC with no collocation update being stiffly accurate is quite an advantage. I do not think I will find high order embedded stiffly accurate IMEX RK methods.

@pancetta pancetta merged commit 31a65ac into Parallel-in-Time:master Nov 6, 2024
86 checks passed
@brownbaerchen brownbaerchen deleted the RK_refactor branch November 6, 2024 12:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants