Oscillator: Add higher-order time stepping schemes.#388
Merged
BenjaminRodenberg merged 8 commits intoprecice:developfrom Jan 26, 2024
Merged
Conversation
* Add Runge Kutta 4 and Radau IIA scheme * Use subcycling to achieve higher order
BenjaminRodenberg
added a commit
to BenjaminRodenberg/oscillator-example
that referenced
this pull request
Nov 4, 2023
…ript for convergence studies.
| def rhs_eval_points(self, dt) -> List[float]: | ||
| return np.linspace(0, dt, 5) # will create an interpolant from this later | ||
|
|
||
| def do_step(self, u, v, a, f, dt) -> Tuple[float, float, float]: |
Contributor
Author
There was a problem hiding this comment.
Instead of f being an array of rhs values at the rhs evaluation points, we could also request a lambda function f. This makes oscillator.py slightly more complicated, but also allows us to skip the interpolation below by just wrapping precice.read_data
uekerman
approved these changes
Jan 26, 2024
Member
uekerman
left a comment
There was a problem hiding this comment.
Looks like a meaningful addition to me. For me, the oscillator is anyway more a numerical testcase for things in preCICE than a case that users copy to learn an adapter etc. So, having higher-order time integrators here is beneficial also in the long run.
Shouldn't we add something in the README about the choices?
…-stepping-schemes' into add-higher-order-time-stepping-schemes
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Moved some features from my research repository https://github.com/BenjaminRodenberg/oscillator-example over here. Question is similar to #30: Do we want to have these more advanced settings here or rather keep this PR until we have a proper solution?