LOCA::StepSize::Adaptive Class Reference

Adaptive step size control strategy More...

#include <LOCA_StepSize_Adaptive.H>

Inheritance diagram for LOCA::StepSize::Adaptive:

[legend]
Collaboration diagram for LOCA::StepSize::Adaptive:
[legend]
List of all members.

Public Member Functions

 Adaptive (NOX::Parameter::List &params)
 Constructor.
virtual ~Adaptive ()
 Destructor.
virtual NOX::Abstract::Group::ReturnType reset (NOX::Parameter::List &params)
 Reset parameters.
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)
 Compute the step size as described above.
virtual NOX::Abstract::Group::ReturnType compute (LOCA::MultiContinuation::ExtendedGroup &curGroup, const LOCA::MultiContinuation::ExtendedVector &predictor, const NOX::Solver::Generic &solver, const LOCA::Abstract::Iterator::StepStatus &stepStatus, const LOCA::NewStepper &stepper, double &stepSize)
 Compute the step size as described above.

Protected Attributes

double agrValue
 Stores the aggressiveness factor $a$.

Detailed Description

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 $\Delta s_{new}$ is given by

\[ \Delta s_{new} = \Delta s_{old}\left(1 + a\left(\frac{N_{max} - N}{N_{max}}\right)^2\right) \]

where $a\in[0,1]$ is an aggressiveness factor, $N$ is the number of nonlinear solver iterations in the previous step, and $N_{max}$ 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:


Member Function Documentation

NOX::Abstract::Group::ReturnType LOCA::StepSize::Adaptive::compute LOCA::MultiContinuation::ExtendedGroup curGroup,
const LOCA::MultiContinuation::ExtendedVector predictor,
const NOX::Solver::Generic solver,
const LOCA::Abstract::Iterator::StepStatus stepStatus,
const LOCA::NewStepper stepper,
double &  stepSize
[virtual]
 

Compute the step size as described above.

Returns NOX::Abstract::Group::Failed if the computed step size is smaller than the minimum step size

Reimplemented from LOCA::StepSize::Constant.

NOX::Abstract::Group::ReturnType LOCA::StepSize::Adaptive::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]
 

Compute the step size as described above.

Returns NOX::Abstract::Group::Failed if the computed step size is smaller than the minimum step size

Reimplemented from LOCA::StepSize::Constant.


The documentation for this class was generated from the following files:
Generated on Thu Sep 18 12:42:26 2008 for NOX by doxygen 1.3.9.1