LOCA::StepSize::Constant Class Reference

Constant step size control strategy More...

#include <LOCA_StepSize_Constant.H>

Inheritance diagram for LOCA::StepSize::Constant:

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

Public Member Functions

 Constant (NOX::Parameter::List &params)
 Constructor.
virtual ~Constant ()
 Destructor.
virtual NOX::Abstract::Group::ReturnType reset (NOX::Parameter::List &params)
 Reset parameters given above.
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.
virtual double getPrevStepSize () const
 Returns previous step size.
virtual double getStartStepSize () const
 Returns initial step size.

Protected Member Functions

virtual NOX::Abstract::Group::ReturnType clipStepSize (double &stepSize)
 Clip the computed step size to the bounds given by the maximum and minimum step sizes.

Protected Attributes

double maxStepSize
 Maximum step size.
double minStepSize
 Minimum step size.
double startStepSize
 Initial step size.
double failedFactor
 Factor by which step size is reduced after a failed step.
double successFactor
 Factor by which step size is increased after a successful step.
double prevStepSize
 Previous step size.
bool isFirstStep
 Flag indicating if this is the first step.

Detailed Description

Constant step size control strategy

This class implements a roughly constant step size control strategy. If the previous step was sucessful, the new step size is set equal to the old, otherwise the step size is cut by a supplied factor. Once a sucessful step is made, the step size is increased by a supplied factor until the initial step size is reached.

This class also incorporates rescaling of the continuation parameter when calculating a step size (common in arc-length continuation). For the first continuation step, the step size is chosen so that step size times the parameter component of the predictor is equal to the initial step size. From then on, the step size is multiplied by the step size scale factor (see LOCA::Continuation::ExtendedGroup) which incorporates rescaling of the continuation parameter.

The parameters used by this class supplied in the constructor or reset method are:


Member Function Documentation

NOX::Abstract::Group::ReturnType LOCA::StepSize::Constant::clipStepSize double &  stepSize  )  [protected, virtual]
 

Clip the computed step size to the bounds given by the maximum and minimum step sizes.

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

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

Implements LOCA::StepSize::Generic.

Reimplemented in LOCA::StepSize::Adaptive.

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

Implements LOCA::StepSize::Generic.

Reimplemented in LOCA::StepSize::Adaptive.


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