LOCA::MultiContinuation::CompositeConstraintMVDX Class Reference

Implementation of LOCA::MultiContinuation::ConstraintInterfaceMVDX for composite constraints, i.e., a constraint comprised of multiple, separate constraints. More...

#include <LOCA_MultiContinuation_CompositeConstraintMVDX.H>

Inheritance diagram for LOCA::MultiContinuation::CompositeConstraintMVDX:

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

Collaboration graph
[legend]

List of all members.

Public Member Functions

 CompositeConstraintMVDX (const Teuchos::RCP< LOCA::GlobalData > &global_data, const 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

vector< Teuchos::RCP
< LOCA::MultiContinuation::ConstraintInterfaceMVDX > > 
constraintMVDXPtrs
 Array of constraintMVDX pointers.
Teuchos::RCP
< NOX::Abstract::MultiVector
compositeDX
 Composite constraint derivative.

Private Member Functions

CompositeConstraintMVDXoperator= (const CompositeConstraintMVDX &source)
 Prohibit generation and use of operator=().


Detailed Description

Implementation of LOCA::MultiContinuation::ConstraintInterfaceMVDX for composite constraints, i.e., a constraint comprised of multiple, separate constraints.

Definition at line 58 of file LOCA_MultiContinuation_CompositeConstraintMVDX.H.


Constructor & Destructor Documentation

LOCA::MultiContinuation::CompositeConstraintMVDX::CompositeConstraintMVDX ( const Teuchos::RCP< LOCA::GlobalData > &  global_data,
const vector< Teuchos::RCP< LOCA::MultiContinuation::ConstraintInterfaceMVDX > > &  constraintObjects 
)

LOCA::MultiContinuation::CompositeConstraintMVDX::CompositeConstraintMVDX ( const CompositeConstraintMVDX source,
NOX::CopyType  type = NOX::DeepCopy 
)

Copy constructor.

Definition at line 74 of file LOCA_MultiContinuation_CompositeConstraintMVDX.C.

References compositeDX.

LOCA::MultiContinuation::CompositeConstraintMVDX::~CompositeConstraintMVDX (  ) 

Destructor.

Definition at line 87 of file LOCA_MultiContinuation_CompositeConstraintMVDX.C.


Member Function Documentation

void LOCA::MultiContinuation::CompositeConstraintMVDX::copy ( const ConstraintInterface source  )  [virtual]

Teuchos::RCP< LOCA::MultiContinuation::ConstraintInterface > LOCA::MultiContinuation::CompositeConstraintMVDX::clone ( NOX::CopyType  type = NOX::DeepCopy  )  const [virtual]

Cloning function.

Reimplemented from LOCA::MultiContinuation::CompositeConstraint.

Definition at line 111 of file LOCA_MultiContinuation_CompositeConstraintMVDX.C.

References CompositeConstraintMVDX().

NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::CompositeConstraintMVDX::computeDX (  )  [virtual]

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.

Definition at line 153 of file LOCA_MultiContinuation_CompositeConstraintMVDX.C.

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.

Definition at line 165 of file LOCA_MultiContinuation_CompositeConstraintMVDX.C.

const NOX::Abstract::MultiVector * LOCA::MultiContinuation::CompositeConstraintMVDX::getDX (  )  const [virtual]

Return solution component of constraint derivatives.

Implements LOCA::MultiContinuation::ConstraintInterfaceMVDX.

Definition at line 178 of file LOCA_MultiContinuation_CompositeConstraintMVDX.C.

References compositeDX.

CompositeConstraintMVDX& LOCA::MultiContinuation::CompositeConstraintMVDX::operator= ( const CompositeConstraintMVDX source  )  [private]

Prohibit generation and use of operator=().


Member Data Documentation

Array of constraintMVDX pointers.

Definition at line 146 of file LOCA_MultiContinuation_CompositeConstraintMVDX.H.

Referenced by CompositeConstraintMVDX(), computeDX(), and copy().

Composite constraint derivative.

Definition at line 149 of file LOCA_MultiContinuation_CompositeConstraintMVDX.H.

Referenced by CompositeConstraintMVDX(), computeDX(), copy(), and getDX().


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

Generated on Wed Oct 21 14:28:36 2009 for Nonlinear Solver Project by  doxygen 1.5.9