Xyce
6.1
|
Adaptive step size control strategy More...
#include <N_NLS_LOCA_StepSizeControl.h>
Public Member Functions | |
StepSizeControl () | |
Constructor. More... | |
virtual | ~StepSizeControl () |
Destructor. More... | |
virtual NOX::Abstract::Group::ReturnType | reset (NOX::Parameter::List ¶ms) |
virtual NOX::Abstract::Group::ReturnType | compute (LOCA::Continuation::ExtendedGroup &curGroup, const LOCA::Continuation::ExtendedVector &predictor, const NOX::Solver::Generic &solver, const LOCA::Abstract::Iterator::StepStatus &stepStatus, const LOCA::Stepper &stepper, double &stepSize) |
virtual NOX::Abstract::Group::ReturnType | compute (LOCA::MultiContinuation::AbstractStrategy &curGroup, const LOCA::MultiContinuation::ExtendedVector &predictor, const NOX::Solver::Generic &solver, const LOCA::Abstract::Iterator::StepStatus &stepStatus, const LOCA::NewStepper &stepper, double &stepSize) |
virtual double | getPrevStepSize () const |
virtual double | getStartStepSize () const |
Protected Member Functions | |
virtual NOX::Abstract::Group::ReturnType | clipStepSize (double &stepSize) |
Protected Attributes | |
double | maxStepSize |
Maximum step size. More... | |
double | minStepSize |
Minimum step size. More... | |
double | startStepSize |
Initial step size. More... | |
double | failedFactor |
Factor by which step size is reduced after a failed step. More... | |
double | successFactor |
Factor by which step size is increased after a successful step. More... | |
double | prevStepSize |
Previous step size. More... | |
bool | isFirstStep |
Flag indicating if this is the first step. More... | |
double | agrValue |
Stores the aggressiveness factor ![]() | |
Adaptive step size control strategy
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 or reset method are the same as used by the Constant class in addition to:
Definition at line 77 of file N_NLS_LOCA_StepSizeControl.h.
Xyce::Nonlinear::N_NLS_LOCA::StepSizeControl::StepSizeControl | ( | ) |
Constructor.
Definition at line 62 of file N_NLS_LOCA_StepSizeControl.C.
|
virtual |
Destructor.
Definition at line 70 of file N_NLS_LOCA_StepSizeControl.C.
|
protectedvirtual |
Definition at line 215 of file N_NLS_LOCA_StepSizeControl.C.
|
virtual |
Definition at line 90 of file N_NLS_LOCA_StepSizeControl.C.
|
virtual |
Definition at line 152 of file N_NLS_LOCA_StepSizeControl.C.
|
virtual |
Definition at line 242 of file N_NLS_LOCA_StepSizeControl.C.
|
virtual |
Definition at line 247 of file N_NLS_LOCA_StepSizeControl.C.
|
virtual |
Definition at line 75 of file N_NLS_LOCA_StepSizeControl.C.
|
protected |
Stores the aggressiveness factor .
Definition at line 138 of file N_NLS_LOCA_StepSizeControl.h.
|
protected |
Factor by which step size is reduced after a failed step.
Definition at line 126 of file N_NLS_LOCA_StepSizeControl.h.
|
protected |
Flag indicating if this is the first step.
Definition at line 135 of file N_NLS_LOCA_StepSizeControl.h.
|
protected |
Maximum step size.
Definition at line 117 of file N_NLS_LOCA_StepSizeControl.h.
|
protected |
Minimum step size.
Definition at line 120 of file N_NLS_LOCA_StepSizeControl.h.
|
protected |
Previous step size.
Definition at line 132 of file N_NLS_LOCA_StepSizeControl.h.
|
protected |
Initial step size.
Definition at line 123 of file N_NLS_LOCA_StepSizeControl.h.
|
protected |
Factor by which step size is increased after a successful step.
Definition at line 129 of file N_NLS_LOCA_StepSizeControl.h.