#include <LOCA_Continuation_ArcLengthGroup.H>
Inheritance diagram for LOCA::Continuation::ArcLengthGroup:
Public Member Functions | |
| ArcLengthGroup (LOCA::Continuation::AbstractGroup &g, int paramID, NOX::Parameter::List ¶ms) | |
| Constructor with integer continuation parameter id. | |
| ArcLengthGroup (LOCA::Continuation::AbstractGroup &g, string paramID, NOX::Parameter::List ¶ms) | |
| Constructor with string continuation parameter id. | |
| ArcLengthGroup (const ArcLengthGroup &source, NOX::CopyType type=NOX::DeepCopy) | |
| Copy constructor. | |
| virtual | ~ArcLengthGroup () |
| Destructor. | |
| virtual LOCA::Continuation::ExtendedGroup & | operator= (const LOCA::Continuation::ExtendedGroup &source) |
| Assignment operator. | |
| virtual NOX::Abstract::Group & | operator= (const NOX::Abstract::Group &source) |
| Assignment operator. | |
| virtual ArcLengthGroup & | operator= (const ArcLengthGroup &source) |
| Assignment operator. | |
| virtual NOX::Abstract::Group * | clone (NOX::CopyType type=NOX::DeepCopy) const |
| Cloning function. | |
| virtual void | setStepSize (double deltaS) |
| Set step size for continuation constraint equation. | |
| virtual double | getStepSize () const |
| Get step size for continuation constraint equation. | |
| virtual void | setContinuationParameter (double val) |
| Sets the continuation parameter value. | |
| 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. | |
"Compute" functions. | |
| virtual void | setX (const NOX::Abstract::Vector &y) |
| Set the solution vector to y. | |
| virtual void | setX (const LOCA::Continuation::ExtendedVector &y) |
| Set the solution vector to y. | |
| virtual void | setPrevX (const NOX::Abstract::Vector &y) |
| Set the previous solution vector to y. | |
| virtual void | setPrevX (const LOCA::Continuation::ExtendedVector &y) |
| Set the previous solution vector to y. | |
| virtual const LOCA::Continuation::ExtendedVector & | getPrevX () const |
| Gets the previous solution vector. | |
| virtual bool | isPrevXVec () const |
| Returns true if the previous solution vector has been set. | |
| virtual void | scalePredictor (LOCA::Continuation::ExtendedVector &v) |
| Scale predictor direction. | |
| virtual void | computeX (const NOX::Abstract::Group &g, const NOX::Abstract::Vector &d, double step) |
| Compute and return solution vector, x, where this.x = grp.x + step * d. | |
| virtual void | computeX (const ArcLengthGroup &g, const LOCA::Continuation::ExtendedVector &d, double step) |
| Compute and return solution vector, x, where this.x = grp.x + step * d. | |
| virtual NOX::Abstract::Group::ReturnType | computeF () |
| Compute extended continuation equations. | |
| virtual NOX::Abstract::Group::ReturnType | computeJacobian () |
| Compute extended continuation jacobian. | |
| virtual NOX::Abstract::Group::ReturnType | computeGradient () |
| Gradient is not defined for this system. | |
| virtual NOX::Abstract::Group::ReturnType | computeNewton (NOX::Parameter::List ¶ms) |
| Compute Newton direction for extended continuation system. | |
Jacobian operations. | |
| virtual NOX::Abstract::Group::ReturnType | applyJacobian (const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const |
| Applies Jacobian for extended system. | |
| virtual NOX::Abstract::Group::ReturnType | applyJacobianTranspose (const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const |
| Jacobian transpose not defined for this system. | |
| virtual NOX::Abstract::Group::ReturnType | applyJacobianInverse (NOX::Parameter::List ¶ms, const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const |
| Applies Jacobian inverse for extended system. | |
"Is" functions. | |
Checks to see if various objects have been computed. Returns true if the corresponding "compute" function has been called since the last update to the solution vector (via instantiation or computeX). | |
| virtual bool | isF () const |
Return true if extended residual is valid. | |
| virtual bool | isJacobian () const |
Return true if the extended Jacobian is valid. | |
| virtual bool | isGradient () const |
| Always returns false. | |
| virtual bool | isNewton () const |
Return true if the extended Newton direction is valid. | |
"Get" functions. | |
Note that these function do not check whether or not the vectors are valid. Must use the "Is" functions for that purpose. | |
| virtual const NOX::Abstract::Vector & | getX () const |
| Return extended solution vector. | |
| virtual const NOX::Abstract::Vector & | getF () const |
| Return extended residual. | |
| virtual double | getNormF () const |
| Return 2-norm of extended residual. | |
| virtual const NOX::Abstract::Vector & | getGradient () const |
| Gradient is never valid. | |
| virtual const NOX::Abstract::Vector & | getNewton () const |
| Return extended Newton direction. | |
| virtual double | getNormNewtonSolveResidual () const |
| Returns 2-norm of extended Newton solve residual. | |
Protected Member Functions | |
| void | resetIsValid () |
| Resets all isValid flags. | |
Protected Attributes | |
| LOCA::Continuation::ExtendedVector | xVec |
| Stores the arclength solution vector. | |
| LOCA::Continuation::ExtendedVector | fVec |
| Stores the arclength residual vector. | |
| LOCA::Continuation::ExtendedVector | newtonVec |
| Stores the arclength Newton vector. | |
| LOCA::Continuation::ExtendedVector | gradientVec |
| Stores the arclength gradient vector. | |
| LOCA::Continuation::ExtendedVector | prevXVec |
| Stores the previous arclength solution vector. | |
| NOX::Abstract::Vector * | derivResidualParamPtr |
| Stores the derivative of the solution residual w.r.t. arcparam. | |
| double | arclengthStep |
| Stores the parameter index. | |
| bool | isValidF |
| Is residual vector valid. | |
| bool | isValidJacobian |
| Is Jacobian matrix valid. | |
| bool | isValidNewton |
| Is Newton vector valid. | |
| bool | isValidGradient |
| Is Gradient vector valid. | |
| bool | isValidPrevXVec |
| Is previous solution vector valid. | |
| bool | doArcLengthScaling |
| Flag indicating whether to do arc-length scaling. | |
| double | gGoal |
| Goal value of dp/ds squared. | |
| double | gMax |
| Minimum value for dp/ds for which rescaling is applied. | |
| double | thetaMin |
| Maximum value of scale factor. | |
| double | stepSizeScaleFactor |
| Scaling factor for step size. | |
| bool | isFirstRescale |
| Flag indicating whether this is the first rescaling of predictor. | |
Pseudo arc-length continuation corresponds to a continuation equation
with
given by
where
,
are the solution and parameter components of the predictor direction
respectively. This corresponds geometrically to constraining the nonlinear solver steps used in calculating
to be orthogonal to the predictor direction
.
This group is a complete implementation of a NOX::Abstract::Group for the extended set of equations
,
and defines all relevant methods for this set of equations (computeF, computeJacobian, computeNewton, etc).
1.3.9.1