-
Notifications
You must be signed in to change notification settings - Fork 189
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
Redesign step/slab size changing #5999
Merged
nilsdeppe
merged 16 commits into
sxs-collaboration:develop
from
wthrowe:TimeStepRequest
Jul 11, 2024
Merged
Redesign step/slab size changing #5999
nilsdeppe
merged 16 commits into
sxs-collaboration:develop
from
wthrowe:TimeStepRequest
Jul 11, 2024
Conversation
This file contains 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
nilsdeppe
previously approved these changes
Jul 7, 2024
@wthrowe this has conflicts now that need to be resolved :( |
Using powers of two also matches what we do in almost all cases in an actual evolution.
The detailed roundoff behavior shouldn't matter in the regimes we care about, but the symmetric form is convenient for tests where negating all the inputs now exactly negates the output.
This does not change the StepChoosers to use new features of the interface, although the new slab-size goal can come into effect with the LimitTimeStep control system action (as desired).
Instead of making people figure out which to pass for backwards evolutions, just accept either.
* Do nothing when not active * Don't set limit as a new goal
StepToTimes no longer has roundoff problems.
Much more common operation than an unconditional size increase.
Like Constant, but will not increase the step size if it is not being changed for other reasons. Most appearances of Constant in the examples were not useful, so removed instead of kept or replaced.
Always clearly indicate whether the class provides a goal or a limit.
nilsdeppe
approved these changes
Jul 11, 2024
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.
The biggest improvements are completely avoiding roundoff error in some portions of the algorithm (mainly StepToTimes), and fixing the annoyance of things like control system limits gradually decreasing the time step over time in GTS mode.
Proposed changes
Upgrade instructions
When changing slab sizes, including step size with global time-stepping, some effects now only change the size for a single step, after which the step will revert to the previous value. These include the StepChoosers documented as limiting the step (as opposed to setting a goal) and the GTS control-system step limit.
The "Increase" StepChooser has been renamed to "LimitIncrease" to reflect this change, and "Constant" has been split into "Constant", which sets a goal, and "Maximum", which does not. Check the documentation or help text to see which type of change other StepChoosers now apply.
Code review checklist
make doc
to generate the documentation locally intoBUILD_DIR/docs/html
.Then open
index.html
.code review guide.
bugfix
ornew feature
if appropriate.Further comments