NOX  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | List of all members
LOCA::MultiContinuation::ConstraintInterfaceMVDX Class Referenceabstract

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]

Public Member Functions

 ConstraintInterfaceMVDX ()
 Constructor.
 
virtual ~ConstraintInterfaceMVDX ()
 Destructor.
 
virtual const
NOX::Abstract::MultiVector
getDX () const =0
 Return solution component of constraint derivatives. More...
 
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. More...
 
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. More...
 
- Public Member Functions inherited from LOCA::MultiContinuation::ConstraintInterface
 ConstraintInterface ()
 Constructor.
 
virtual ~ConstraintInterface ()
 Destructor.
 
virtual void copy (const ConstraintInterface &source)=0
 Copy.
 
virtual Teuchos::RCP
< LOCA::MultiContinuation::ConstraintInterface
clone (NOX::CopyType type=NOX::DeepCopy) const =0
 Cloning function.
 
virtual int numConstraints () const =0
 Return number of constraints.
 
virtual void setX (const NOX::Abstract::Vector &x)=0
 Set the solution vector to x.
 
virtual void setParam (int paramID, double val)=0
 Sets parameter indexed by paramID.
 
virtual void setParams (const std::vector< int > &paramIDs, const NOX::Abstract::MultiVector::DenseMatrix &vals)=0
 Sets parameters indexed by paramIDs.
 
virtual
NOX::Abstract::Group::ReturnType 
computeConstraints ()=0
 Compute constraint residuals.
 
virtual
NOX::Abstract::Group::ReturnType 
computeDX ()=0
 Compute derivative of constraints w.r.t. solution vector x.
 
virtual
NOX::Abstract::Group::ReturnType 
computeDP (const std::vector< int > &paramIDs, NOX::Abstract::MultiVector::DenseMatrix &dgdp, bool isValidG)=0
 Compute derivative of constraints w.r.t. supplied parameters. More...
 
virtual bool isConstraints () const =0
 Return true if constraint residuals are valid.
 
virtual bool isDX () const =0
 Return true if derivative of constraint w.r.t. x is valid.
 
virtual const
NOX::Abstract::MultiVector::DenseMatrix
getConstraints () const =0
 Return constraint residuals.
 
virtual bool isDXZero () const =0
 Return true if solution component of constraint derivatives is zero.
 
virtual void preProcessContinuationStep (LOCA::Abstract::Iterator::StepStatus)
 Perform any preprocessing before a continuation step starts. More...
 
virtual void postProcessContinuationStep (LOCA::Abstract::Iterator::StepStatus)
 Perform any postprocessing after a continuation step finishes. More...
 

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.

References NOX::Abstract::Group::Ok, NOX::Abstract::MultiVector::scale(), and NOX::Abstract::MultiVector::update().

Referenced by LOCA::MultiContinuation::CompositeConstraintMVDX::addDX().

virtual const NOX::Abstract::MultiVector* LOCA::MultiContinuation::ConstraintInterfaceMVDX::getDX ( ) const
pure virtual
NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::ConstraintInterfaceMVDX::multiplyDX ( double  alpha,
const NOX::Abstract::MultiVector input_x,
NOX::Abstract::MultiVector::DenseMatrix result_p 
) const
virtual

The documentation for this class was generated from the following files: