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:

[legend]
Collaboration diagram for LOCA::MultiContinuation::ConstraintInterfaceMVDX:
[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::MultiContinuation::ArcLengthConstraint, LOCA::MultiContinuation::CompositeConstraintMVDX, LOCA::MultiContinuation::MultiVecConstraint, LOCA::MultiContinuation::NaturalConstraint, 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 Thu Sep 18 12:38:34 2008 for NOX by doxygen 1.3.9.1