Allow forcing N nonlinear iteration and add an absolute divergence tolerance #16474
Labels
C: Framework
P: normal
A defect affecting operation with a low possibility of significantly affects.
T: task
An enhancement to the software.
Reason
Sometimes is useful to allow for a few nonlinear iterations before checking for the divergence of the nonlinear solver via the usual tests (nl_divtol, nl_pinpong,...). Speaking with @fdkong this seems a feature most advanced users would like to have.
Also, the current implementation of divergence tolerance is the relative value with respect to the residual at nonlinear iteration 0:
fnorm > the_residual * divtol
Sometimes is useful to check against an absolute divergence tolerance
Design
add two input parameter to FEProbelmSolve:
nl_forced_its
, andabs_nl_divtol
.Modify
FEProbelmBase::CheckNonlinearConvergence
to account for the minimum number of required nonlinear iterations, and to check for the absolute divergence tolerance.Impact
nothing as we default parameters will be set to not change MOOSE default behavior:
nl_forced_its default value will be 0
abs_nl_divtol default value will be 1e30
The text was updated successfully, but these errors were encountered: