#include <LOCA_StepSize_Adaptive.H>
Inheritance diagram for LOCA::StepSize::Adaptive:
Public Member Functions | |
Adaptive (const Teuchos::RCP< LOCA::GlobalData > &global_data, const Teuchos::RCP< LOCA::Parameter::SublistParser > &topParams, const Teuchos::RCP< Teuchos::ParameterList > &stepsizeParams) | |
Constructor. | |
virtual | ~Adaptive () |
Destructor. | |
virtual NOX::Abstract::Group::ReturnType | computeStepSize (LOCA::MultiContinuation::AbstractStrategy &curGroup, const LOCA::MultiContinuation::ExtendedVector &predictor, const NOX::Solver::Generic &solver, const LOCA::Abstract::Iterator::StepStatus &stepStatus, const LOCA::Stepper &stepper, double &stepSize) |
Compute the step size as described above. | |
Protected Attributes | |
double | agrValue |
Stores the aggressiveness factor . | |
double | maxNonlinearSteps |
Maximum number of nonlinear iterations. |
This class implements an adaptive step size control strategy derived from the strategy implemented in the LOCA::StepSize::Constant class. If the previous step was unsucessful, the step size is cut in half as in the constant strategy, but if the step was sucessful this strategy increases the step size based on the number of nonlinear solver iterations required in the previous step. In particular, the new step size is given by
where is an aggressiveness factor, is the number of nonlinear solver iterations in the previous step, and is the maximum number of nonlinear solver iterations.
The parameters used by this class supplied in the constructor are the same as used by the Constant class in addition to:
NOX::Abstract::Group::ReturnType LOCA::StepSize::Adaptive::computeStepSize | ( | LOCA::MultiContinuation::AbstractStrategy & | curGroup, | |
const LOCA::MultiContinuation::ExtendedVector & | predictor, | |||
const NOX::Solver::Generic & | solver, | |||
const LOCA::Abstract::Iterator::StepStatus & | stepStatus, | |||
const LOCA::Stepper & | stepper, | |||
double & | stepSize | |||
) | [virtual] |
Compute the step size as described above.
curGroup | [in] Current continuation group | |
predictor | [in] Current predictor direction | |
solver | [in] Solver from previous step | |
stepStatus | [in] Status of previous step | |
stepper | [in] Stepper | |
stepSize | [out] Computed step size |
Reimplemented from LOCA::StepSize::Constant.