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
Collaboration diagram for LOCA::Pitchfork::MinimallyAugmented::Constraint:
Collaboration graph

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

Protected Attributes

< LOCA::Pitchfork::MinimallyAugmented::AbstractGroup
 Pointer to pitchfork group.
Teuchos::RCP< const
 Vector for $\psi$.
< NOX::Abstract::MultiVector
 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