#include <LOCA_MultiContinuation_ConstraintInterfaceMVDX.H>
Public Member Functions | |
| ConstraintInterfaceMVDX () | |
| Constructor. | |
| virtual | ~ConstraintInterfaceMVDX () |
| Destructor. | |
| virtual const NOX::Abstract::MultiVector * | getDX () const =0 |
| Return solution component of constraint derivatives. | |
| 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. | |
This class extends the LOCA::MultiContinuation::ConstraintInterface to support constraints that support computing the entire derivative with respect to the solution components (x) and storing the resulting derivative as a multivector. This interface adds one additional method, getConstraintDerivativesX(), that returns this derivative. Additionally, it implements the applyConstraintDerivativesX() methods using standard multi-vector operations.
Definition at line 65 of file LOCA_MultiContinuation_ConstraintInterfaceMVDX.H.
| LOCA::MultiContinuation::ConstraintInterfaceMVDX::ConstraintInterfaceMVDX | ( | ) | [inline] |
| virtual LOCA::MultiContinuation::ConstraintInterfaceMVDX::~ConstraintInterfaceMVDX | ( | ) | [inline, virtual] |
| virtual const NOX::Abstract::MultiVector* LOCA::MultiContinuation::ConstraintInterfaceMVDX::getDX | ( | ) | const [pure virtual] |
Return solution component of constraint derivatives.
May return NULL if constraint derivative is zero
Implemented in LOCA::Hopf::MinimallyAugmented::Constraint, LOCA::MultiContinuation::ArcLengthConstraint, LOCA::MultiContinuation::CompositeConstraintMVDX, LOCA::MultiContinuation::MultiVecConstraint, LOCA::MultiContinuation::NaturalConstraint, LOCA::Pitchfork::MinimallyAugmented::Constraint, and LOCA::TurningPoint::MinimallyAugmented::Constraint.
Referenced by addDX(), and multiplyDX().
| NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::ConstraintInterfaceMVDX::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.
This method is implemented using getConstraintDerivativesX() and the NOX::Abstract::MultiVector::multiply() method.
Implements LOCA::MultiContinuation::ConstraintInterface.
Reimplemented in LOCA::MultiContinuation::CompositeConstraintMVDX.
Definition at line 45 of file LOCA_MultiContinuation_ConstraintInterfaceMVDX.C.
References getDX(), LOCA::MultiContinuation::ConstraintInterface::isDXZero(), NOX::Abstract::MultiVector::multiply(), and NOX::Abstract::Group::Ok.
| NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::ConstraintInterfaceMVDX::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.
This method is implemented using getConstraintDerivativesX() and the NOX::Abstract::MultiVector::update() method.
Implements LOCA::MultiContinuation::ConstraintInterface.
Reimplemented in LOCA::MultiContinuation::CompositeConstraintMVDX.
Definition at line 63 of file LOCA_MultiContinuation_ConstraintInterfaceMVDX.C.
References getDX(), LOCA::MultiContinuation::ConstraintInterface::isDXZero(), NOX::Abstract::Group::Ok, NOX::Abstract::MultiVector::scale(), and NOX::Abstract::MultiVector::update().
1.5.9