#include <LOCA_MultiContinuation_ArcLengthConstraint.H>
Public Member Functions | |
ArcLengthConstraint (const Teuchos::RCP< LOCA::GlobalData > &global_data, const Teuchos::RCP< LOCA::MultiContinuation::ArcLengthGroup > &grp) | |
Constructor. | |
ArcLengthConstraint (const ArcLengthConstraint &source, NOX::CopyType type=NOX::DeepCopy) | |
Copy constructor. | |
~ArcLengthConstraint () | |
Destructor. | |
virtual void | setArcLengthGroup (const Teuchos::RCP< LOCA::MultiContinuation::ArcLengthGroup > &grp) |
Set pointer to arclength group. | |
Implementation of LOCA::MultiContinuation::ConstraintInterface | |
virtual methods | |
virtual void | copy (const ConstraintInterface &source) |
Copy. | |
virtual Teuchos::RCP < LOCA::MultiContinuation::ConstraintInterface > | clone (NOX::CopyType type=NOX::DeepCopy) const |
Cloning function. | |
virtual int | numConstraints () const |
Return number of constraints. | |
virtual void | setX (const NOX::Abstract::Vector &y) |
Set the solution vector to y. | |
virtual void | setParam (int paramID, double val) |
Sets parameter indexed by paramID. | |
virtual void | setParams (const vector< int > ¶mIDs, const NOX::Abstract::MultiVector::DenseMatrix &vals) |
Sets parameters indexed by paramIDs. | |
virtual NOX::Abstract::Group::ReturnType | computeConstraints () |
Compute continuation constraint equations. | |
virtual NOX::Abstract::Group::ReturnType | computeDX () |
Compute derivative of constraints w.r.t. solution vector x. | |
virtual NOX::Abstract::Group::ReturnType | computeDP (const vector< int > ¶mIDs, NOX::Abstract::MultiVector::DenseMatrix &dgdp, bool isValidG) |
Compute derivative of constraints w.r.t. supplied parameters. | |
virtual bool | isConstraints () const |
Return true if constraint residuals are valid. | |
virtual bool | isDX () const |
Return true if derivatives of constraints w.r.t. x are valid. | |
virtual const NOX::Abstract::MultiVector::DenseMatrix & | getConstraints () const |
Return constraint residuals. | |
virtual const NOX::Abstract::MultiVector * | getDX () const |
Return solution component of constraint derivatives. | |
virtual bool | isDXZero () const |
Return true if solution component of constraint derivatives is zero. | |
Protected Attributes | |
Teuchos::RCP< LOCA::GlobalData > | globalData |
LOCA global data object. | |
Teuchos::RCP < LOCA::MultiContinuation::ArcLengthGroup > | arcLengthGroup |
Pointer to arc-length group. | |
NOX::Abstract::MultiVector::DenseMatrix | constraints |
Constraint values. | |
bool | isValidConstraints |
Flag indicating whether constraints are valid. | |
vector< int > | conParamIDs |
Continuation parameter IDs. | |
Private Member Functions | |
ArcLengthConstraint & | operator= (const ArcLengthConstraint &source) |
Prohibit generation and use of operator=(). |
This class implements the arclength constraint equation for pseudo-arclength continuation:
where ,
are the solution and parameter components of the predictor direction
respectively. Since the derivative of
with respect to
is just
, the predictor tangent, this class implements the MVDX version of the constraint interface.
Definition at line 78 of file LOCA_MultiContinuation_ArcLengthConstraint.H.
LOCA::MultiContinuation::ArcLengthConstraint::ArcLengthConstraint | ( | const Teuchos::RCP< LOCA::GlobalData > & | global_data, | |
const Teuchos::RCP< LOCA::MultiContinuation::ArcLengthGroup > & | grp | |||
) |
Constructor.
Definition at line 47 of file LOCA_MultiContinuation_ArcLengthConstraint.C.
Referenced by clone().
LOCA::MultiContinuation::ArcLengthConstraint::ArcLengthConstraint | ( | const ArcLengthConstraint & | source, | |
NOX::CopyType | type = NOX::DeepCopy | |||
) |
Copy constructor.
Definition at line 58 of file LOCA_MultiContinuation_ArcLengthConstraint.C.
References NOX::DeepCopy, and isValidConstraints.
LOCA::MultiContinuation::ArcLengthConstraint::~ArcLengthConstraint | ( | ) |
void LOCA::MultiContinuation::ArcLengthConstraint::setArcLengthGroup | ( | const Teuchos::RCP< LOCA::MultiContinuation::ArcLengthGroup > & | grp | ) | [virtual] |
Set pointer to arclength group.
Definition at line 76 of file LOCA_MultiContinuation_ArcLengthConstraint.C.
References arcLengthGroup.
void LOCA::MultiContinuation::ArcLengthConstraint::copy | ( | const ConstraintInterface & | source | ) | [virtual] |
Copy.
Implements LOCA::MultiContinuation::ConstraintInterface.
Definition at line 82 of file LOCA_MultiContinuation_ArcLengthConstraint.C.
References conParamIDs, constraints, globalData, and isValidConstraints.
Teuchos::RCP< LOCA::MultiContinuation::ConstraintInterface > LOCA::MultiContinuation::ArcLengthConstraint::clone | ( | NOX::CopyType | type = NOX::DeepCopy |
) | const [virtual] |
Cloning function.
Implements LOCA::MultiContinuation::ConstraintInterface.
Definition at line 97 of file LOCA_MultiContinuation_ArcLengthConstraint.C.
References ArcLengthConstraint().
int LOCA::MultiContinuation::ArcLengthConstraint::numConstraints | ( | ) | const [virtual] |
Return number of constraints.
Implements LOCA::MultiContinuation::ConstraintInterface.
Definition at line 103 of file LOCA_MultiContinuation_ArcLengthConstraint.C.
References constraints.
void LOCA::MultiContinuation::ArcLengthConstraint::setX | ( | const NOX::Abstract::Vector & | y | ) | [virtual] |
Set the solution vector to y.
Implements LOCA::MultiContinuation::ConstraintInterface.
Definition at line 109 of file LOCA_MultiContinuation_ArcLengthConstraint.C.
References isValidConstraints.
void LOCA::MultiContinuation::ArcLengthConstraint::setParam | ( | int | paramID, | |
double | val | |||
) | [virtual] |
Sets parameter indexed by paramID.
Implements LOCA::MultiContinuation::ConstraintInterface.
Definition at line 116 of file LOCA_MultiContinuation_ArcLengthConstraint.C.
References isValidConstraints.
void LOCA::MultiContinuation::ArcLengthConstraint::setParams | ( | const vector< int > & | paramIDs, | |
const NOX::Abstract::MultiVector::DenseMatrix & | vals | |||
) | [virtual] |
Sets parameters indexed by paramIDs.
Implements LOCA::MultiContinuation::ConstraintInterface.
Definition at line 122 of file LOCA_MultiContinuation_ArcLengthConstraint.C.
References isValidConstraints.
NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::ArcLengthConstraint::computeConstraints | ( | ) | [virtual] |
Compute continuation constraint equations.
Implements LOCA::MultiContinuation::ConstraintInterface.
Definition at line 130 of file LOCA_MultiContinuation_ArcLengthConstraint.C.
References arcLengthGroup, LOCA::MultiContinuation::ExtendedMultiVector::clone(), constraints, globalData, isValidConstraints, and NOX::Abstract::Group::Ok.
Referenced by computeDP(), and computeDX().
NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::ArcLengthConstraint::computeDX | ( | ) | [virtual] |
Compute derivative of constraints w.r.t. solution vector x.
Implements LOCA::MultiContinuation::ConstraintInterface.
Definition at line 173 of file LOCA_MultiContinuation_ArcLengthConstraint.C.
References computeConstraints(), isValidConstraints, and NOX::Abstract::Group::Ok.
NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::ArcLengthConstraint::computeDP | ( | const vector< int > & | paramIDs, | |
NOX::Abstract::MultiVector::DenseMatrix & | dgdp, | |||
bool | isValidG | |||
) | [virtual] |
Compute derivative of constraints w.r.t. supplied parameters.
The first column of dgdp
should be filled with the constraint residuals if
isValidG
is false
. If isValidG
is true
, then the dgdp
contains on input.
Implements LOCA::MultiContinuation::ConstraintInterface.
Definition at line 182 of file LOCA_MultiContinuation_ArcLengthConstraint.C.
References arcLengthGroup, computeConstraints(), conParamIDs, constraints, LOCA::Extended::MultiVector::getScalar(), globalData, isValidConstraints, and NOX::Abstract::Group::Ok.
bool LOCA::MultiContinuation::ArcLengthConstraint::isConstraints | ( | ) | const [virtual] |
Return true
if constraint residuals are valid.
Implements LOCA::MultiContinuation::ConstraintInterface.
Definition at line 230 of file LOCA_MultiContinuation_ArcLengthConstraint.C.
References isValidConstraints.
bool LOCA::MultiContinuation::ArcLengthConstraint::isDX | ( | ) | const [virtual] |
Return true
if derivatives of constraints w.r.t. x are valid.
Implements LOCA::MultiContinuation::ConstraintInterface.
Definition at line 236 of file LOCA_MultiContinuation_ArcLengthConstraint.C.
References isValidConstraints.
const NOX::Abstract::MultiVector::DenseMatrix & LOCA::MultiContinuation::ArcLengthConstraint::getConstraints | ( | ) | const [virtual] |
Return constraint residuals.
Implements LOCA::MultiContinuation::ConstraintInterface.
Definition at line 242 of file LOCA_MultiContinuation_ArcLengthConstraint.C.
References constraints.
const NOX::Abstract::MultiVector * LOCA::MultiContinuation::ArcLengthConstraint::getDX | ( | ) | const [virtual] |
Return solution component of constraint derivatives.
Implements LOCA::MultiContinuation::ConstraintInterfaceMVDX.
Definition at line 248 of file LOCA_MultiContinuation_ArcLengthConstraint.C.
References arcLengthGroup, and LOCA::MultiContinuation::ExtendedMultiVector::getXMultiVec().
bool LOCA::MultiContinuation::ArcLengthConstraint::isDXZero | ( | ) | const [virtual] |
Return true
if solution component of constraint derivatives is zero.
Implements LOCA::MultiContinuation::ConstraintInterface.
Definition at line 258 of file LOCA_MultiContinuation_ArcLengthConstraint.C.
ArcLengthConstraint& LOCA::MultiContinuation::ArcLengthConstraint::operator= | ( | const ArcLengthConstraint & | source | ) | [private] |
Prohibit generation and use of operator=().
Teuchos::RCP<LOCA::GlobalData> LOCA::MultiContinuation::ArcLengthConstraint::globalData [protected] |
LOCA global data object.
Definition at line 175 of file LOCA_MultiContinuation_ArcLengthConstraint.H.
Referenced by computeConstraints(), computeDP(), and copy().
Teuchos::RCP< LOCA::MultiContinuation::ArcLengthGroup> LOCA::MultiContinuation::ArcLengthConstraint::arcLengthGroup [protected] |
Pointer to arc-length group.
Definition at line 179 of file LOCA_MultiContinuation_ArcLengthConstraint.H.
Referenced by computeConstraints(), computeDP(), getDX(), and setArcLengthGroup().
NOX::Abstract::MultiVector::DenseMatrix LOCA::MultiContinuation::ArcLengthConstraint::constraints [protected] |
Constraint values.
Definition at line 182 of file LOCA_MultiContinuation_ArcLengthConstraint.H.
Referenced by computeConstraints(), computeDP(), copy(), getConstraints(), and numConstraints().
bool LOCA::MultiContinuation::ArcLengthConstraint::isValidConstraints [protected] |
Flag indicating whether constraints are valid.
Definition at line 185 of file LOCA_MultiContinuation_ArcLengthConstraint.H.
Referenced by ArcLengthConstraint(), computeConstraints(), computeDP(), computeDX(), copy(), isConstraints(), isDX(), setParam(), setParams(), and setX().
vector<int> LOCA::MultiContinuation::ArcLengthConstraint::conParamIDs [protected] |
Continuation parameter IDs.
Definition at line 188 of file LOCA_MultiContinuation_ArcLengthConstraint.H.
Referenced by computeDP(), and copy().