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
perform only 1 residual calculation if solve_type=Linear #11760
Comments
I have no idea if this is the best way of addressing this issue, eg, this PR might have lots of side effects! Fixes idaholab#11760
I have no idea if this is the best way of addressing this issue, eg, this PR might have lots of side effects! Fixes idaholab#11760
I have no idea if this is the best way of addressing this issue, eg, this PR might have lots of side effects! Fixes idaholab#11760
I have no idea if this is the best way of addressing this issue, eg, this PR might have lots of side effects! Fixes idaholab#11760
I have no idea if this is the best way of addressing this issue, eg, this PR might have lots of side effects! Fixes idaholab#11760
OK. The second residual evaluation is added because we are asking PETSc to have a Nonlinear monitor by default. It is not necessary for linear problems. I think the simple solution is to use It does not work for you, please kindly let me know. |
Thanks @fdkong for that handy workaround. Is it worth adding an option to MOOSE for truly linear problems? Is there a wider framework change that might benefit people who know they are working with linear problems? I know that libMesh has different system types but you are correct we always assume nonlinear in MOOSE. I'm open to ideas here. |
|
if a linear solver is chosen Closes idaholab#11760 idaholab#11761
if a linear solver is chosen Closes idaholab#11760 idaholab#11761
Rationale
Only 1 residual calculation per timestep is needed if solve_type=Linear.
Description
At the moment two residual calculations are performed every timestep. One for the first nonlinear residual (this is required), then PETSc does its linear solve, and then another, redundant, nonlinear residual calculation. I do not know if it is PETSc, libmesh or MOOSE that is requesting this second residual calculation.
Impact
Computational efficiency. In the simple physics i happen to be modelling right now, just doing 1 residual calculation would speed up MOOSE by two times!
The text was updated successfully, but these errors were encountered: