|
NOX
Development
|
Implementation of LOCA::MultiContinuation::ConstraintInterfaceMVDX for composite constraints, i.e., a constraint comprised of multiple, separate constraints. More...
#include <LOCA_MultiContinuation_CompositeConstraintMVDX.H>
Public Member Functions | |
| CompositeConstraintMVDX (const Teuchos::RCP< LOCA::GlobalData > &global_data, const std::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 | |
|
std::vector< Teuchos::RCP < LOCA::MultiContinuation::ConstraintInterfaceMVDX > > | constraintMVDXPtrs |
| Array of constraintMVDX pointers. | |
|
Teuchos::RCP < NOX::Abstract::MultiVector > | compositeDX |
| Composite constraint derivative. | |
Implementation of LOCA::MultiContinuation::ConstraintInterfaceMVDX for composite constraints, i.e., a constraint comprised of multiple, separate constraints.
| 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.
References LOCA::MultiContinuation::ConstraintInterfaceMVDX::addDX().
| 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.
References LOCA::MultiContinuation::ConstraintInterfaceMVDX::multiplyDX().
1.7.6.1