NOX Development
Public Member Functions | Protected Attributes
LOCA::Pitchfork::MinimallyAugmented::Constraint Class Reference

Implementation of LOCA::MultiContinuation::ConstraintInterfaceMVDX for computing pitchforks for the minimally augmented pitchfork formulation. More...

#include <LOCA_Pitchfork_MinimallyAugmented_Constraint.H>

Inheritance diagram for LOCA::Pitchfork::MinimallyAugmented::Constraint:
Inheritance graph
[legend]
Collaboration diagram for LOCA::Pitchfork::MinimallyAugmented::Constraint:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 Constraint (const Teuchos::RCP< LOCA::GlobalData > &global_data, const Teuchos::RCP< LOCA::Parameter::SublistParser > &topParams, const Teuchos::RCP< Teuchos::ParameterList > &pfParams, const Teuchos::RCP< LOCA::Pitchfork::MinimallyAugmented::AbstractGroup > &g, const Teuchos::RCP< const NOX::Abstract::Vector > &psi, int bif_param)
 Constructor.
 Constraint (const Constraint &source, NOX::CopyType type=NOX::DeepCopy)
 Copy constructor.
virtual ~Constraint ()
 Destructor.
virtual void setGroup (const Teuchos::RCP< LOCA::TurningPoint::MinimallyAugmented::AbstractGroup > &g)
 Set the group pointer.
Implementation of LOCA::MultiContinuation::ConstraintInterface

virtual methods

virtual void copy (const LOCA::MultiContinuation::ConstraintInterface &source)
 Copy.
virtual Teuchos::RCP
< LOCA::MultiContinuation::ConstraintInterface
clone (NOX::CopyType type=NOX::DeepCopy) const
 Cloning function.
virtual int numConstraints () const
 Return number of constraints.
virtual
NOX::Abstract::Group::ReturnType 
computeConstraints ()
 Compute continuation constraint equations.
virtual
NOX::Abstract::Group::ReturnType 
computeDX ()
 Compute derivative of constraints w.r.t. solution vector x.
virtual
NOX::Abstract::Group::ReturnType 
computeDP (const vector< int > &paramIDs, NOX::Abstract::MultiVector::DenseMatrix &dgdp, bool isValidG)
 Compute derivative of constraints w.r.t. supplied parameters.
virtual const
NOX::Abstract::MultiVector::DenseMatrix
getConstraints () const
 Return constraint residuals.
virtual const
NOX::Abstract::MultiVector
getDX () const
 Return solution component of constraint derivatives.

Protected Attributes

Teuchos::RCP
< LOCA::Pitchfork::MinimallyAugmented::AbstractGroup
pf_grp
 Pointer to pitchfork group.
Teuchos::RCP< const
NOX::Abstract::Vector
psi_vector
 Vector for $\psi$.
Teuchos::RCP
< NOX::Abstract::MultiVector
dgdx
 Stores dg/dx.
NOX::Abstract::MultiVector::DenseMatrix pf_constraints
 Constraint values.

Detailed Description

Implementation of LOCA::MultiContinuation::ConstraintInterfaceMVDX for computing pitchforks for the minimally augmented pitchfork formulation.

This class implements the pitchfork constraint equations $\sigma(x,p) = 0$, $\langle \psi,x \rangle = 0$ for the minimally augmented pitchfork formulation where $\sigma$ is defined via

\[ \begin{bmatrix} J & a \\ b^T & 0 \end{bmatrix} \begin{bmatrix} v \\ \sigma_1 \end{bmatrix} = \begin{bmatrix} 0 \\ n \end{bmatrix}, \]

\[ \begin{bmatrix} J^T & b \\ a^T & 0 \end{bmatrix} \begin{bmatrix} w \\ \sigma_2 \end{bmatrix} = \begin{bmatrix} 0 \\ n \end{bmatrix}, \]

\[ \sigma = -w^T J v/n \]

for any vectors $a$ and $b$ in $\Re^n$. Using these relationships, it is easy to show

\[ \begin{split} \sigma_x &= -(w^T J v)_x/n = -w^T J_x v/n \\ \sigma_p &= -(w^T J v)_p/n = -w^T J_p v/n \end{split} \]

The class is derived from LOCA::TurningPoint::MinimallyAugmented::Constraint. See this class for a description of available parameters.


Member Function Documentation

NOX::Abstract::Group::ReturnType LOCA::Pitchfork::MinimallyAugmented::Constraint::computeDP ( const vector< int > &  paramIDs,
NOX::Abstract::MultiVector::DenseMatrix dgdp,
bool  isValidG 
) [virtual]

Compute derivative of constraints w.r.t. supplied parameters.

The first column of dgdp should be filled with the constraint residuals $g$ if isValidG is false. If isValidG is true, then the dgdp contains $g$ on input.

Reimplemented from LOCA::TurningPoint::MinimallyAugmented::Constraint.

References LOCA::TurningPoint::MinimallyAugmented::Constraint::computeDP(), and Teuchos::View.

void LOCA::Pitchfork::MinimallyAugmented::Constraint::setGroup ( const Teuchos::RCP< LOCA::TurningPoint::MinimallyAugmented::AbstractGroup > &  g) [virtual]

Set the group pointer.

This method should be called when ever the constrained group is copied, since we don't explicitly copy the underlying group here.

Reimplemented from LOCA::TurningPoint::MinimallyAugmented::Constraint.

References LOCA::TurningPoint::MinimallyAugmented::Constraint::setGroup().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends