The IterationBased strategy for adaptive step sizing. More...
#include <ikarus/controlroutines/adaptivestepsizing.hh>
Public Member Functions | |
template<typename NLO > | |
void | operator() (const NonLinearSolverInformation &solverInfo, SubsidiaryArgs &subsidiaryArgs, const NLO &nonLinearOperator) |
Call operator of the IterationBased strategy. More... | |
int | targetIterations () const |
Get the target iterations. More... | |
void | setTargetIterations (int targetIterations) |
Set the target iterations. More... | |
This strategy adjusts the step size based on the ratio of target iterations to previous iterations.
The step size is changed according to the number of iterations of the previous step
\[ \hat{s}_{k+1} = \sqrt{\frac{\hat{i}}{i_k}}\hat{s}_k, \]
where \(\hat{s}_{k+1} \) is the new stesize and \(\hat{i}\) is the desired number of iterations and \(i_k\) is the number of iterations of the previous step.
|
inline |
Adjusts the step size based on the ratio of target iterations to previous iterations.
solverInfo | Information about the nonlinear solver. |
subsidiaryArgs | Subsidiary arguments for adaptive step sizing. |
nonLinearOperator | The nonlinear operator. |
NLO | The nonlinear operator. |
|
inline |
targetIterations | The number of target iterations. |
|
inline |