-
-
Notifications
You must be signed in to change notification settings - Fork 410
Timestep regridding for 1D solver #2074
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
Open
wandadars
wants to merge
12
commits into
Cantera:main
Choose a base branch
from
wandadars:timestep_regridding
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
12 commits
Select commit
Hold shift + click to select a range
0eba358
first commit for feature
wandadars 0fe8f72
address broken steady state tests, add options for time step regriddi…
wandadars 0cd58e1
updates to improve documentation and test coverage
wandadars 757088f
better handling/naming of timestep growth factors
wandadars 8dd0652
reverted max damp iterations variable to original value
wandadars 7d8315f
lowered default max number of timestep regridding
wandadars 5431a57
interface update
wandadars 3a18dfe
update to time step growth factor and regrid coding to handle cases w…
wandadars 31bf66c
updates to tests for timestep regridding.
wandadars bef5d55
sample cases exercising the time step regridding and growth features
wandadars 2acc865
fixed incorrect tags in examples
wandadars 655642e
update to sample script to illustrate different heuristics for high p…
wandadars File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -337,6 +337,25 @@ class Sim1D : public OneDim | |
| m_steady_callback = callback; | ||
| } | ||
|
|
||
| //! Set the maximum number of regrid attempts after a timestep failure. | ||
| //! | ||
| //! This fallback is used during solve(loglevel, refine_grid=true). Set to `0` | ||
| //! to disable regrid-on-timestep-failure retries. | ||
| //! | ||
| //! @param nmax Maximum retry attempts; must be >= 0. | ||
| void setTimeStepRegridMax(int nmax) { | ||
| if (nmax < 0) { | ||
| throw CanteraError("Sim1D::setTimeStepRegridMax", | ||
| "Time step regrid retry count must be >= 0. Got {}.", nmax); | ||
| } | ||
| m_ts_regrid_max = nmax; | ||
| } | ||
|
|
||
| //! Get the maximum number of regrid attempts after a timestep failure. | ||
| int timeStepRegridMax() const { | ||
| return m_ts_regrid_max; | ||
| } | ||
|
|
||
|
wandadars marked this conversation as resolved.
|
||
| protected: | ||
| //! the solution vector after the last successful steady-state solve (stored | ||
| //! before grid refinement) | ||
|
|
@@ -349,6 +368,9 @@ class Sim1D : public OneDim | |
| //! User-supplied function called after a successful steady-state solve. | ||
| Func1* m_steady_callback; | ||
|
|
||
| //! 0 disables regrid-on-timestep-failure retries | ||
| int m_ts_regrid_max = 3; | ||
|
|
||
|
Comment on lines
+371
to
+373
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This seems like a lot as a default. Are there actually cases where it helps to regrid this many times in a row? |
||
| private: | ||
| //! Calls method _finalize in each domain. | ||
| void finalize(); | ||
|
|
||
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.