#include <LOCA_Continuation_ExtendedGroup.H>
Inheritance diagram for LOCA::Continuation::ExtendedGroup:
Public Member Functions | |
| ExtendedGroup (LOCA::Continuation::AbstractGroup &grp, int paramID, NOX::Parameter::List ¶ms) | |
| Constructor with integer continuation parameter id. | |
| ExtendedGroup (const LOCA::Continuation::AbstractGroup &grp, int paramID, NOX::Parameter::List ¶ms) | |
| Constructor with const grp, integer continuation parameter id. | |
| ExtendedGroup (LOCA::Continuation::AbstractGroup &grp, string paramID, NOX::Parameter::List ¶ms) | |
| Constructor with string continuation parameter id. | |
| ExtendedGroup (const LOCA::Continuation::AbstractGroup &grp, string paramID, NOX::Parameter::List ¶ms) | |
| Constructor with const grp, string continuation parameter id. | |
| ExtendedGroup (const ExtendedGroup &source, NOX::CopyType type=NOX::DeepCopy) | |
| Copy constructor. | |
| virtual | ~ExtendedGroup () |
| Destructor. | |
| virtual NOX::Abstract::Group & | operator= (const NOX::Abstract::Group &source) |
| Assignment operator. | |
| virtual LOCA::Extended::AbstractGroup & | operator= (const LOCA::Extended::AbstractGroup &source) |
| Assignment operator. | |
| virtual ExtendedGroup & | operator= (const ExtendedGroup &source) |
| Assignment operator. | |
| virtual void | setPrevX (const NOX::Abstract::Vector &y)=0 |
| Set the previous solution vector y. | |
| virtual void | setPrevX (const LOCA::Continuation::ExtendedVector &y)=0 |
| Set the previous solution vector y. | |
| virtual const LOCA::Continuation::ExtendedVector & | getPrevX () const =0 |
| Gets the previous solution vector. | |
| virtual bool | isPrevXVec () const =0 |
| Returns true if the previous solution vector has been set. | |
| virtual void | setStepSize (double deltaS)=0 |
| Set step size for continuation constraint equation. | |
| virtual double | getStepSize () const =0 |
| Get step size for continuation constraint equation. | |
| virtual void | scalePredictor (LOCA::Continuation::ExtendedVector &v)=0 |
| Scale predictor direction. | |
| virtual const LOCA::Continuation::ExtendedVector & | getPredictorDirection () const |
| Get predictor direction (tangent or secant). | |
| virtual void | setPredictorDirection (const LOCA::Continuation::ExtendedVector &) |
| Set predictor direction (tangent or secant). | |
| virtual bool | isPredictorDirection () const |
| Returns true if a predictor direction has been computed. | |
| virtual void | setContinuationParameter (double val) |
| Sets the continuation parameter value. | |
| virtual double | getContinuationParameter () const |
| Returns the continuation parameter value. | |
| virtual int | getContinuationParameterID () const |
| Get the continuation parameter id. | |
| virtual void | setScaleFactor (double theta) |
Sets the scale factor . | |
| virtual double | getScaleFactor () const |
Returns the scale factor . | |
| virtual void | recalculateScaleFactor (double dpds) |
| Calculates scale factor as described in the loca v1.0 manual. | |
| virtual double | getStepSizeScaleFactor () const |
| Returns step size scale factor. | |
| virtual void | printSolution () const |
| Prints the group. | |
| virtual double | computeScaledDotProduct (const NOX::Abstract::Vector &x, const NOX::Abstract::Vector &y) const |
| Computes a scaled dot product between two continuation vectors. | |
| virtual double | computeScaledDotProduct (const LOCA::Continuation::ExtendedVector &x, const LOCA::Continuation::ExtendedVector &y) const |
| Computes a scaled dot product between two continuation vectors. | |
| virtual const LOCA::Continuation::AbstractGroup & | getUnderlyingGroup () const |
| Return underlying group. | |
| virtual LOCA::Continuation::AbstractGroup & | getUnderlyingGroup () |
| Return underlying group. | |
Protected Member Functions | |
| void | resetIsValid () |
| Resets all isValid flags to false. | |
Protected Attributes | |
| LOCA::Continuation::AbstractGroup * | grpPtr |
Pointer to base group that defines . | |
| int | conParamID |
| integer id of continuatin parameter | |
| LOCA::Continuation::ExtendedVector | predictorVec |
| Vector to hold predictor direction. | |
| bool | ownsGroup |
| Flag indicating whether we have our own copy of the underlying group. | |
| bool | isValidPredictor |
| True if predictor has been calculated. | |
| double | theta |
| Stores scaling factor. | |
Continuation is defined as computing some curve
such that
for some parameterization
. Given some point
on the curve, another nearby point on the curve is calculated by first computing a predictor direction
and the approximate point
where
is the step size. Then the next point on the curve is computed by solving the extended set of equations
for
. The equation
is called the continuation equation and different choices of
yield different continuation methods.
This group, derived from the LOCA::Extended::AbstractGroup, defines an additional interface that continuation groups should implement so that all continuation groups can be manipulated by the LOCA::Stepper and LOCA::StepSize objects in a consistent fashion. This group also defines some generic algorithms for commom computations among continuation groups and manages some of the data needed by all continuation groups.. It stores a pointer to the underlying group (representing
), a class of the type LOCA::Continuation::AbstractGroup.
Ofter duing a continuation run, the continuation path must be reparameterized due to changing relative magnitudes of the solution component
and parameter component
. Since any reparameterization will impact step size control, this group defines an interface for computing a "scale factor" for the continuation equation
and a step size scale factor which can be multiplied by the step size to have a consitent step size across reparameterizations. See LOCA::Continuation::ArcLengthGroup for an example on how this can be used. The default implementation here is for no reparameterization (scale factors are identically 1).
These parameters relavant to this group are:
|
||||||||||||||||
|
Constructor with integer continuation parameter id.
The argument grp is the underlying group which implements The grp argument is a non-const reference and may be modified. |
|
||||||||||||||||
|
Constructor with const grp, integer continuation parameter id.
The argument grp is the underlying group which implements |
|
||||||||||||||||
|
Constructor with string continuation parameter id.
The argument grp is the underlying group which implements The grp argument is a non-const reference and may be modified. |
|
||||||||||||||||
|
Constructor with const grp, string continuation parameter id.
The argument grp is the underlying group which implements |
1.3.9.1