LOCA::MultiContinuation::ConstraintInterfaceMVDX Class Reference

Abstract interface for the constraint portion of a constrained nonlinear system for constraints that support computing a solution component derivative as a multi-vector. More...

#include <LOCA_MultiContinuation_ConstraintInterfaceMVDX.H>

Inheritance diagram for LOCA::MultiContinuation::ConstraintInterfaceMVDX:

Inheritance graph
[legend]
Collaboration diagram for LOCA::MultiContinuation::ConstraintInterfaceMVDX:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ConstraintInterfaceMVDX ()
 Constructor.
virtual ~ConstraintInterfaceMVDX ()
 Destructor.
virtual const NOX::Abstract::MultiVectorgetDX () 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.

Detailed Description

Abstract interface for the constraint portion of a constrained nonlinear system for constraints that support computing a solution component derivative as a multi-vector.

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.


Member Function Documentation

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.

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.

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.


The documentation for this class was generated from the following files:
Generated on Wed May 12 21:41:57 2010 for NOX by  doxygen 1.4.7