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

Add option in Predictor to skip prediction after a failed time step #16796

Closed
matthiasneuner opened this issue Jan 23, 2021 · 0 comments · Fixed by #16797
Closed

Add option in Predictor to skip prediction after a failed time step #16796

matthiasneuner opened this issue Jan 23, 2021 · 0 comments · Fixed by #16797
Labels
C: Framework P: normal A defect affecting operation with a low possibility of significantly affects. T: task An enhancement to the software.

Comments

@matthiasneuner
Copy link
Contributor

matthiasneuner commented Jan 23, 2021

Reason

Predictors like SimplePredictor are a great tools for increasing the simulation speed.
However, in certain situations it should be possible to omit a prediction.

For instance, if a time step is reduced according to a request by a material model (e.g., plasticity requires a smaller time step),
no prediction should be made in the new, reduced time step. Currently, the prediction is also applied in the new, reduced time step. If the direction of the prediction is not reasonable, this can be the death of a simulation since it may result in an (infinite) request of smaller time steps by the material. See also #16628 (comment)

Predictors should have an option to skip a prediction in a repeated time step after a failed time step.

Design

Predictor parent class needs to track repeated time steps and should offer a possibility to skip a prediction via shouldApply().

Impact

Improved capabilities in particular for solid mechanics; No breaking of any backward compatibility.

@matthiasneuner matthiasneuner added P: normal A defect affecting operation with a low possibility of significantly affects. T: task An enhancement to the software. labels Jan 23, 2021
matthiasneuner added a commit to matthiasneuner/moose that referenced this issue Jan 23, 2021
- Moved tracking of repeated timesteps from AdamsPredictor to Predictor
- Invoke shouldApply() of parent class (Predictor) in AdamsPredictor to consider correctly option "skip_after_failed_timestep"

Closes idaholab#16796
matthiasneuner added a commit to matthiasneuner/moose that referenced this issue Jan 23, 2021
jain651 pushed a commit to jain651/moose that referenced this issue Apr 19, 2021
- Moved tracking of repeated timesteps from AdamsPredictor to Predictor
- Invoke shouldApply() of parent class (Predictor) in AdamsPredictor to consider correctly option "skip_after_failed_timestep"

Closes idaholab#16796
jain651 pushed a commit to jain651/moose that referenced this issue Apr 19, 2021
aeslaughter pushed a commit to aeslaughter/moose that referenced this issue Jun 2, 2021
- Moved tracking of repeated timesteps from AdamsPredictor to Predictor
- Invoke shouldApply() of parent class (Predictor) in AdamsPredictor to consider correctly option "skip_after_failed_timestep"

Closes idaholab#16796
aeslaughter pushed a commit to aeslaughter/moose that referenced this issue Jun 2, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: Framework P: normal A defect affecting operation with a low possibility of significantly affects. T: task An enhancement to the software.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants