#include <LOCA_MultiContinuation_ConstrainedGroup.H>
Inheritance diagram for LOCA::MultiContinuation::ConstrainedGroup:
Public Member Functions | |
| ConstrainedGroup (const Teuchos::RefCountPtr< LOCA::GlobalData > &global_data, const Teuchos::RefCountPtr< LOCA::Parameter::SublistParser > &topParams, const Teuchos::RefCountPtr< NOX::Parameter::List > &constraintParams, const Teuchos::RefCountPtr< LOCA::MultiContinuation::AbstractGroup > &grp, const Teuchos::RefCountPtr< LOCA::MultiContinuation::ConstraintInterface > &constraints, const vector< int > ¶mIDs) | |
| Constructor. | |
| ConstrainedGroup (const ConstrainedGroup &source, NOX::CopyType type=NOX::DeepCopy) | |
| Copy constructor. | |
| virtual | ~ConstrainedGroup () |
| Destructor. | |
| virtual ConstrainedGroup & | operator= (const ConstrainedGroup &source) |
| Assignment operator. | |
| virtual void | setConstraintParameter (int i, double val) |
Set constraint parameter i to value val. | |
| virtual double | getConstraintParameter (int i) const |
Get constraint parameter i. | |
|
virtual Teuchos::RefCountPtr< LOCA::MultiContinuation::AbstractGroup > | getGroup () const |
| Get group. | |
|
virtual Teuchos::RefCountPtr< LOCA::MultiContinuation::ConstraintInterface > | getConstraints () const |
| Get constraints. | |
| virtual const vector< int > & | getConstraintParamIDs () const |
| Get constraint parameter IDs. | |
Implementation of NOX::Abstract::Group virtual methods | |
| virtual NOX::Abstract::Group & | operator= (const NOX::Abstract::Group &source) |
| Assignment operator. | |
| virtual NOX::Abstract::Group * | clone (NOX::CopyType type=NOX::DeepCopy) const |
| Clone function. | |
| virtual void | setX (const NOX::Abstract::Vector &y) |
| Set the solution vector to y. | |
| 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 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. | |
| 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. | |
| virtual NOX::Abstract::Group::ReturnType | applyJacobianMultiVector (const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const |
| Applies Jacobian for extended system. | |
| virtual NOX::Abstract::Group::ReturnType | applyJacobianTransposeMultiVector (const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const |
| Jacobian transpose not defined for this system. | |
| virtual NOX::Abstract::Group::ReturnType | applyJacobianInverseMultiVector (NOX::Parameter::List ¶ms, const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const |
| Applies Jacobian inverse for extended system. | |
| 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. | |
| 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. | |
Implementation of LOCA::Extended::MultiAbstractGroup | |
virtual methods | |
| virtual LOCA::Extended::MultiAbstractGroup & | operator= (const LOCA::Extended::MultiAbstractGroup &source) |
| Assignment operator. | |
|
virtual Teuchos::RefCountPtr< const LOCA::MultiContinuation::AbstractGroup > | getUnderlyingGroup () const |
| Return underlying group. | |
|
virtual Teuchos::RefCountPtr< LOCA::MultiContinuation::AbstractGroup > | getUnderlyingGroup () |
| Return underlying group. | |
Implementation of LOCA::MultiContinuation::AbstractGroup | |
virtual methods | |
| virtual LOCA::MultiContinuation::AbstractGroup & | operator= (const LOCA::MultiContinuation::AbstractGroup &source) |
| Assignment operator. | |
| virtual void | setParamsMulti (const vector< int > ¶mIDs, const NOX::Abstract::MultiVector::DenseMatrix &vals) |
| Set parameters indexed by (integer) paramIDs. | |
| virtual NOX::Abstract::Group::ReturnType | computeDfDpMulti (const vector< int > ¶mIDs, NOX::Abstract::MultiVector &dfdp, bool isValidF) |
| virtual void | projectToDraw (const NOX::Abstract::Vector &x, double *px) const |
| Projects solution to a few scalars for multiparameter continuation. | |
| virtual int | projectToDrawDimension () const |
| Returns the dimension of the project to draw array. | |
Implementation of LOCA::Continuation::AbstractGroup | |
virtual methods | |
| virtual LOCA::Continuation::AbstractGroup & | operator= (const LOCA::Continuation::AbstractGroup &source) |
| Assignment operator. | |
| virtual void | setParams (const ParameterVector &p) |
| Set the parameter vector in the group to p (pVector = p). | |
| virtual void | setParam (int paramID, double val) |
| Set parameter indexed by (integer) paramID. | |
| virtual void | setParam (string paramID, double val) |
| Set parameter indexed by (string) paramID. | |
| virtual const ParameterVector & | getParams () const |
| Return a const reference to the ParameterVector owned by the group. | |
| virtual double | getParam (int paramID) const |
| Return copy of parameter indexed by (integer) paramID. | |
| virtual double | getParam (string paramID) const |
| Return copy of parameter indexed by (string) paramID. | |
| virtual NOX::Abstract::Group::ReturnType | computeDfDp (int paramID, NOX::Abstract::Vector &result) |
| virtual double | computeScaledDotProduct (const NOX::Abstract::Vector &a, const NOX::Abstract::Vector &b) const |
| Compute a scaled dot product. | |
| virtual void | printSolution (const double conParam) const |
| Function to print out solution and parameter after successful step. | |
| virtual void | printSolution (const NOX::Abstract::Vector &x, const double conParam) const |
| Function to print out a vector and parameter after successful step. | |
| virtual void | scaleVector (NOX::Abstract::Vector &x) const |
| Scales a vector using scaling vector. | |
Protected Member Functions | |
| virtual NOX::Abstract::Group::ReturnType | applyJacobianInverseNewton (NOX::Parameter::List ¶ms) |
| applyJacobianInverseMultiVector specialized to Newton solves | |
| virtual void | resetIsValid () |
| Resets all isValid flags to false. | |
| virtual void | setupViews () |
| Sets up multivector views. | |
Protected Attributes | |
| Teuchos::RefCountPtr< LOCA::GlobalData > | globalData |
| Pointer LOCA global data object. | |
| Teuchos::RefCountPtr< LOCA::Parameter::SublistParser > | parsedParams |
| Parsed top-level parameters. | |
| Teuchos::RefCountPtr< NOX::Parameter::List > | constraintParams |
| Constraint parameter list. | |
| Teuchos::RefCountPtr< LOCA::MultiContinuation::AbstractGroup > | grpPtr |
Pointer to base group that defines . | |
| Teuchos::RefCountPtr< LOCA::MultiContinuation::ConstraintInterface > | constraintsPtr |
| Pointer to constraint object. | |
| int | numParams |
| Number of parameters. | |
| LOCA::MultiContinuation::ExtendedMultiVector | xMultiVec |
| Stores the extended solution vector and J^-1 df/dp. | |
| LOCA::MultiContinuation::ExtendedMultiVector | fMultiVec |
| Stores the extended residual vector and df/dp. | |
| LOCA::MultiContinuation::ExtendedMultiVector | newtonMultiVec |
| Stores the extended Newton vector. | |
| LOCA::MultiContinuation::ExtendedMultiVector | gradientMultiVec |
| Stores the extended gradient vector. | |
| Teuchos::RefCountPtr< LOCA::MultiContinuation::ExtendedVector > | xVec |
| Stores view of first column of xMultiVec. | |
| Teuchos::RefCountPtr< LOCA::MultiContinuation::ExtendedVector > | fVec |
| Stores view of first column of fMultiVec. | |
| Teuchos::RefCountPtr< LOCA::MultiContinuation::ExtendedMultiVector > | ffMultiVec |
| Stores view of first column of fMultiVec as a multivec. | |
| Teuchos::RefCountPtr< LOCA::MultiContinuation::ExtendedMultiVector > | dfdpMultiVec |
| Stores view of df/dp columns of fMultiVec. | |
| Teuchos::RefCountPtr< LOCA::MultiContinuation::ExtendedVector > | newtonVec |
| Stores view of first column of newtonMultiVec. | |
| Teuchos::RefCountPtr< LOCA::MultiContinuation::ExtendedVector > | gradientVec |
| Stores view of first column of gradientMultiVec. | |
| Teuchos::RefCountPtr< LOCA::BorderedSystem::AbstractStrategy > | borderedSolver |
| Stores bordered solver strategy. | |
| vector< int > | index_f |
| Stores indices for getting f part of fMultiVec. | |
| vector< int > | index_dfdp |
| Stores indices for getting df/dp part of fMultiVec. | |
| vector< int > | constraintParamIDs |
| integer id of constraint parameters | |
| bool | isValidF |
| Is residual vector valid. | |
| bool | isValidJacobian |
| Is Jacobian matrix valid. | |
| bool | isValidNewton |
| Is Newton vector valid. | |
| bool | isValidGradient |
| Is Gradient vector valid. | |
This class represents a constrained system of nonlinear equations:
where
is the solution vector,
is a set of constraint parameters,
is represented by some LOCA::MultiContinuation::AbstractGroup, and
is a constraint represented by a LOCA::MultiContinuation::ConstraintInterface object. Newton steps for this system are computed via some LOCA::BorderedSystem::AbstractStrategy which is specified via the constraintParams argument to the constructor.
|
||||||||||||||||||||||||||||
|
Constructor.
|
|
||||||||||||
|
Compute Implements LOCA::Continuation::AbstractGroup. |
|
||||||||||||||||
|
Compute Implements LOCA::MultiContinuation::AbstractGroup. |
1.3.9.1