#include <LOCA_MultiContinuation_CompositeConstraintMVDX.H>
Public Member Functions | |
CompositeConstraintMVDX (const Teuchos::RCP< LOCA::GlobalData > &global_data, const vector< Teuchos::RCP< LOCA::MultiContinuation::ConstraintInterfaceMVDX > > &constraintObjects) | |
Constructor. | |
CompositeConstraintMVDX (const CompositeConstraintMVDX &source, NOX::CopyType type=NOX::DeepCopy) | |
Copy constructor. | |
~CompositeConstraintMVDX () | |
Destructor. | |
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 NOX::Abstract::Group::ReturnType | computeDX () |
Compute derivative of constraints w.r.t. solution vector x. | |
virtual NOX::Abstract::Group::ReturnType | multiplyDX (double alpha, const NOX::Abstract::MultiVector &input_x, NOX::Abstract::MultiVector::DenseMatrix &result_p) const |
Compute result_p = alpha * dg/dx * input_x. | |
virtual NOX::Abstract::Group::ReturnType | addDX (Teuchos::ETransp transb, double alpha, const NOX::Abstract::MultiVector::DenseMatrix &b, double beta, NOX::Abstract::MultiVector &result_x) const |
Compute result_x = alpha * dg/dx^T * op(b) + beta * result_x. | |
Implementation of LOCA::MultiContinuation::ConstraintInterfaceMVDX | |
virtual methods | |
virtual const NOX::Abstract::MultiVector * | getDX () const |
Return solution component of constraint derivatives. | |
Protected Attributes | |
vector< Teuchos::RCP < LOCA::MultiContinuation::ConstraintInterfaceMVDX > > | constraintMVDXPtrs |
Array of constraintMVDX pointers. | |
Teuchos::RCP < NOX::Abstract::MultiVector > | compositeDX |
Composite constraint derivative. | |
Private Member Functions | |
CompositeConstraintMVDX & | operator= (const CompositeConstraintMVDX &source) |
Prohibit generation and use of operator=(). |
Definition at line 58 of file LOCA_MultiContinuation_CompositeConstraintMVDX.H.
LOCA::MultiContinuation::CompositeConstraintMVDX::CompositeConstraintMVDX | ( | const Teuchos::RCP< LOCA::GlobalData > & | global_data, | |
const vector< Teuchos::RCP< LOCA::MultiContinuation::ConstraintInterfaceMVDX > > & | constraintObjects | |||
) |
Constructor.
Definition at line 46 of file LOCA_MultiContinuation_CompositeConstraintMVDX.C.
References compositeDX, constraintMVDXPtrs, LOCA::MultiContinuation::CompositeConstraint::constraintPtrs, LOCA::MultiContinuation::CompositeConstraint::init(), LOCA::MultiContinuation::CompositeConstraint::isDXZero(), LOCA::MultiContinuation::CompositeConstraint::numConstraintObjects, and LOCA::MultiContinuation::CompositeConstraint::totalNumConstraints.
Referenced by clone().
LOCA::MultiContinuation::CompositeConstraintMVDX::CompositeConstraintMVDX | ( | const CompositeConstraintMVDX & | source, | |
NOX::CopyType | type = NOX::DeepCopy | |||
) |
Copy constructor.
Definition at line 74 of file LOCA_MultiContinuation_CompositeConstraintMVDX.C.
References compositeDX.
LOCA::MultiContinuation::CompositeConstraintMVDX::~CompositeConstraintMVDX | ( | ) |
void LOCA::MultiContinuation::CompositeConstraintMVDX::copy | ( | const ConstraintInterface & | source | ) | [virtual] |
Copy.
Reimplemented from LOCA::MultiContinuation::CompositeConstraint.
Definition at line 92 of file LOCA_MultiContinuation_CompositeConstraintMVDX.C.
References compositeDX, constraintMVDXPtrs, and NOX::DeepCopy.
Teuchos::RCP< LOCA::MultiContinuation::ConstraintInterface > LOCA::MultiContinuation::CompositeConstraintMVDX::clone | ( | NOX::CopyType | type = NOX::DeepCopy |
) | const [virtual] |
Cloning function.
Reimplemented from LOCA::MultiContinuation::CompositeConstraint.
Definition at line 111 of file LOCA_MultiContinuation_CompositeConstraintMVDX.C.
References CompositeConstraintMVDX().
NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::CompositeConstraintMVDX::computeDX | ( | ) | [virtual] |
Compute derivative of constraints w.r.t. solution vector x.
Reimplemented from LOCA::MultiContinuation::CompositeConstraint.
Definition at line 117 of file LOCA_MultiContinuation_CompositeConstraintMVDX.C.
References compositeDX, constraintMVDXPtrs, LOCA::MultiContinuation::CompositeConstraint::globalData, LOCA::MultiContinuation::CompositeConstraint::indices, LOCA::MultiContinuation::CompositeConstraint::isDXZero(), LOCA::MultiContinuation::CompositeConstraint::isValidDX, LOCA::MultiContinuation::CompositeConstraint::numConstraintObjects, and NOX::Abstract::Group::Ok.
NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::CompositeConstraintMVDX::multiplyDX | ( | double | alpha, | |
const NOX::Abstract::MultiVector & | input_x, | |||
NOX::Abstract::MultiVector::DenseMatrix & | result_p | |||
) | const [virtual] |
Compute result_p = alpha * dg/dx * input_x.
Note that if there are n constraints and input_x has m columns, result_p should be a n by m matrix and is equivalent to
input_x.multiply(alpha, dgdx, result_p).
Reimplemented from LOCA::MultiContinuation::CompositeConstraint.
Definition at line 153 of file LOCA_MultiContinuation_CompositeConstraintMVDX.C.
NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::CompositeConstraintMVDX::addDX | ( | Teuchos::ETransp | transb, | |
double | alpha, | |||
const NOX::Abstract::MultiVector::DenseMatrix & | b, | |||
double | beta, | |||
NOX::Abstract::MultiVector & | result_x | |||
) | const [virtual] |
Compute result_x = alpha * dg/dx^T * op(b) + beta * result_x.
Note that this should be equivalent to
result_x.update(transb, alpha, dgdx, b, beta);
Reimplemented from LOCA::MultiContinuation::CompositeConstraint.
Definition at line 165 of file LOCA_MultiContinuation_CompositeConstraintMVDX.C.
const NOX::Abstract::MultiVector * LOCA::MultiContinuation::CompositeConstraintMVDX::getDX | ( | ) | const [virtual] |
Return solution component of constraint derivatives.
Implements LOCA::MultiContinuation::ConstraintInterfaceMVDX.
Definition at line 178 of file LOCA_MultiContinuation_CompositeConstraintMVDX.C.
References compositeDX.
CompositeConstraintMVDX& LOCA::MultiContinuation::CompositeConstraintMVDX::operator= | ( | const CompositeConstraintMVDX & | source | ) | [private] |
Prohibit generation and use of operator=().
vector< Teuchos::RCP< LOCA::MultiContinuation::ConstraintInterfaceMVDX> > LOCA::MultiContinuation::CompositeConstraintMVDX::constraintMVDXPtrs [protected] |
Array of constraintMVDX pointers.
Definition at line 146 of file LOCA_MultiContinuation_CompositeConstraintMVDX.H.
Referenced by CompositeConstraintMVDX(), computeDX(), and copy().
Teuchos::RCP<NOX::Abstract::MultiVector> LOCA::MultiContinuation::CompositeConstraintMVDX::compositeDX [protected] |
Composite constraint derivative.
Definition at line 149 of file LOCA_MultiContinuation_CompositeConstraintMVDX.H.
Referenced by CompositeConstraintMVDX(), computeDX(), copy(), and getDX().