Time integrator interface updates #4088
Merged
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.
Summary
Remove
const
on input state to time integrator right-hand side (RHS) functions to allow filling ghost cells within the RHS call. Remove theset_pre_rhs_action
andset_post_update
functions in the time integrator interface. Update documentation to reflect changes from #3984.Additional background
Before the updates in #3984 a
set_post_update
was used attach a function for filling ghost cells after computing a new stage or solution in a time integrator. #3984 expanded the time integrator interface with SUNDIALS to support implicit and ImEx methods which require updating the ghost cells for RHS evaluations inside iterative solvers. To support these methods, a newset_pre_rhs_action
function was added to attach a function for filling ghost cells. This created some confusion/inconsistencies in how to fill ghost cells between explicit and implicit methods. To simplify things, this PR removesconst
from the input state to a RHS function so its ghost cells can be filled as part of the RHS callback and removes thepre_rhs_action
/set_post_update
functions.Checklist
The proposed changes:
cc: @ajnonaka