#include <LOCA_Continuation_NaturalGroup.H>
Inheritance diagram for LOCA::Continuation::NaturalGroup:
Public Member Functions | |
| NaturalGroup (LOCA::Continuation::AbstractGroup &g, int paramID, NOX::Parameter::List ¶ms) | |
| Constructor with integer continuation parameter id. | |
| NaturalGroup (LOCA::Continuation::AbstractGroup &g, string paramID, NOX::Parameter::List ¶ms) | |
| Constructor with string continuation parameter id. | |
| NaturalGroup (const NaturalGroup &source, NOX::CopyType type=NOX::DeepCopy) | |
| Copy constructor. | |
| virtual | ~NaturalGroup () |
| 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 NaturalGroup & | operator= (const NaturalGroup &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. | |
"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 NaturalGroup &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 continuation solution vector. | |
| LOCA::Continuation::ExtendedVector | fVec |
| Stores the continuation residual vector. | |
| LOCA::Continuation::ExtendedVector | newtonVec |
| Stores the continuation 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 |
| Store the derivative of the residual w.r.t. continuation param. | |
| double | stepSize |
Stores step size . | |
| 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. | |
Natural continuation corresponds to a continuation equation
with
given by
where
is the parameter component of the predictor direction
. This corresponds geometrically to constraining the nonlinear solver steps used in calculating
to be orthogonal to the parameter axis.
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