LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup Class Reference

A group representing the minimally augemented pitchfork equations. More...

#include <LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.H>

Inheritance diagram for LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup:

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

Collaboration graph
[legend]

List of all members.

Public Member Functions

 ExtendedGroup (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 > &grp)
 Constructor.
 ExtendedGroup (const ExtendedGroup &source, NOX::CopyType type=NOX::DeepCopy)
 Copy constructor.
virtual ~ExtendedGroup ()
 Destructor.
double getBifParam () const
 Get bifurcation parameter.
Implementation of NOX::Abstract::Group virtual methods
virtual NOX::Abstract::Groupoperator= (const NOX::Abstract::Group &source)
 Assignment operator.
virtual Teuchos::RCP
< NOX::Abstract::Group
clone (NOX::CopyType type=NOX::DeepCopy) const
 Clone function.
virtual void setX (const NOX::Abstract::Vector &y)
 Set the solution vector to y.
virtual void computeX (const NOX::Abstract::Group &g, const NOX::Abstract::Vector &d, double step)
 Compute and return solution vector, x, where this.x = grp.x + step * d.
virtual
NOX::Abstract::Group::ReturnType 
computeF ()
 Compute extended continuation equations.
virtual
NOX::Abstract::Group::ReturnType 
computeJacobian ()
 Compute extended continuation jacobian.
virtual
NOX::Abstract::Group::ReturnType 
computeGradient ()
 Gradient is not defined for this system.
virtual
NOX::Abstract::Group::ReturnType 
computeNewton (Teuchos::ParameterList &params)
 Compute Newton direction for extended continuation system.
virtual
NOX::Abstract::Group::ReturnType 
applyJacobian (const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const
 Applies Jacobian for extended system.
virtual
NOX::Abstract::Group::ReturnType 
applyJacobianTranspose (const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const
 Jacobian transpose not defined for this system.
virtual
NOX::Abstract::Group::ReturnType 
applyJacobianInverse (Teuchos::ParameterList &params, const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const
 Applies Jacobian inverse for extended system.
virtual
NOX::Abstract::Group::ReturnType 
applyJacobianMultiVector (const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const
 Applies Jacobian for extended system.
virtual
NOX::Abstract::Group::ReturnType 
applyJacobianTransposeMultiVector (const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const
 Jacobian transpose not defined for this system.
virtual
NOX::Abstract::Group::ReturnType 
applyJacobianInverseMultiVector (Teuchos::ParameterList &params, const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const
 Applies Jacobian inverse for extended system.
virtual bool isF () const
 Return true if extended residual is valid.
virtual bool isJacobian () const
 Return true if the extended Jacobian is valid.
virtual bool isGradient () const
 Always returns false.
virtual bool isNewton () const
 Return true if the extended Newton direction is valid.
virtual const
NOX::Abstract::Vector
getX () const
 Return extended solution vector.
virtual const
NOX::Abstract::Vector
getF () const
 Return extended residual.
virtual double getNormF () const
 Return 2-norm of extended residual.
virtual const
NOX::Abstract::Vector
getGradient () const
 Gradient is never valid.
virtual const
NOX::Abstract::Vector
getNewton () const
 Return extended Newton direction.
virtual double getNormNewtonSolveResidual () const
 Returns 2-norm of extended Newton solve residual.
Implementation of LOCA::Extended::MultiAbstractGroup
virtual methods

virtual Teuchos::RCP< const
LOCA::MultiContinuation::AbstractGroup
getUnderlyingGroup () const
 Return underlying group.
virtual Teuchos::RCP
< LOCA::MultiContinuation::AbstractGroup
getUnderlyingGroup ()
 Return underlying group.
Implementation of LOCA::MultiContinuation::AbstractGroup
virtual methods

virtual void copy (const NOX::Abstract::Group &source)
 Assignment operator.
virtual void setParamsMulti (const vector< int > &paramIDs, const NOX::Abstract::MultiVector::DenseMatrix &vals)
 Set parameters indexed by (integer) paramIDs.
virtual void setParams (const ParameterVector &p)
 Set the parameter vector in the group to p (pVector = p).
virtual void setParam (int paramID, double val)
 Set parameter indexed by (integer) paramID.
virtual void setParam (string paramID, double val)
 Set parameter indexed by (string) paramID.
virtual const ParameterVectorgetParams () const
 Return a const reference to the ParameterVector owned by the group.
virtual double getParam (int paramID) const
 Return copy of parameter indexed by (integer) paramID.
virtual double getParam (string paramID) const
 Return copy of parameter indexed by (string) paramID.
virtual
NOX::Abstract::Group::ReturnType 
computeDfDpMulti (const vector< int > &paramIDs, NOX::Abstract::MultiVector &dfdp, bool isValidF)
virtual void preProcessContinuationStep (LOCA::Abstract::Iterator::StepStatus stepStatus)
 Perform any preprocessing before a continuation step starts.
virtual void postProcessContinuationStep (LOCA::Abstract::Iterator::StepStatus stepStatus)
 Perform any postprocessing after a continuation step finishes.
virtual void projectToDraw (const NOX::Abstract::Vector &x, double *px) const
 Projects solution to a few scalars for multiparameter continuation.
virtual int projectToDrawDimension () const
 Returns the dimension of the project to draw array.
virtual double computeScaledDotProduct (const NOX::Abstract::Vector &a, const NOX::Abstract::Vector &b) const
 Compute a scaled dot product.
virtual void printSolution (const double conParam) const
 Function to print out solution and parameter after successful step.
virtual void printSolution (const NOX::Abstract::Vector &x, const double conParam) const
 Function to print out a vector and parameter after successful step.
virtual void scaleVector (NOX::Abstract::Vector &x) const
 Scales a vector using scaling vector.
Implementation of
virtual int getBorderedWidth () const
 Return the total width of the bordered rows/columns.
virtual Teuchos::RCP< const
NOX::Abstract::Group
getUnborderedGroup () const
 Get bottom-level unbordered group.
virtual bool isCombinedAZero () const
 Indicates whether combined A block is zero.
virtual bool isCombinedBZero () const
 Indicates whether combined B block is zero.
virtual bool isCombinedCZero () const
 Indicates whether combined C block is zero.
virtual void extractSolutionComponent (const NOX::Abstract::MultiVector &v, NOX::Abstract::MultiVector &v_x) const
virtual void extractParameterComponent (bool use_transpose, const NOX::Abstract::MultiVector &v, NOX::Abstract::MultiVector::DenseMatrix &v_p) const
virtual void loadNestedComponents (const NOX::Abstract::MultiVector &v_x, const NOX::Abstract::MultiVector::DenseMatrix &v_p, NOX::Abstract::MultiVector &v) const
virtual void fillA (NOX::Abstract::MultiVector &A) const
 Fill the combined A block as described above.
virtual void fillB (NOX::Abstract::MultiVector &B) const
 Fill the combined B block as described above.
virtual void fillC (NOX::Abstract::MultiVector::DenseMatrix &C) const
 Fill the combined C block as described above.

Protected Member Functions

virtual void resetIsValid ()
 Resets all isValid flags to false.
virtual void setupViews ()
 Sets up multivector views.
void setBifParam (double param)
 Set bifurcation parameter.
void getInitialVectors (Teuchos::RCP< NOX::Abstract::Vector > &aVecPtr, Teuchos::RCP< NOX::Abstract::Vector > &bVecPtr, bool isSymmetric)
 Computes initial "a" and "b" vectors.

Protected Attributes

Teuchos::RCP< LOCA::GlobalDataglobalData
 Pointer LOCA global data object.
Teuchos::RCP
< LOCA::Parameter::SublistParser
parsedParams
 Parsed top-level parameters.
Teuchos::RCP
< Teuchos::ParameterList > 
pitchforkParams
 Pitchfork parameter list.
Teuchos::RCP
< LOCA::Pitchfork::MinimallyAugmented::AbstractGroup
grpPtr
 Pointer to base group that defines $F$.
Teuchos::RCP
< LOCA::BorderedSystem::AbstractGroup
bordered_grp
 Pointer to base group as a bordered group.
Teuchos::RCP
< LOCA::Pitchfork::MinimallyAugmented::Constraint
constraintsPtr
 Pointer to constraint object.
LOCA::MultiContinuation::ExtendedMultiVector xMultiVec
 Stores the extended solution vector.
LOCA::MultiContinuation::ExtendedMultiVector fMultiVec
 Stores the extended residual vector and df/dp.
LOCA::MultiContinuation::ExtendedMultiVector newtonMultiVec
 Stores the extended Newton vector.
LOCA::MultiContinuation::ExtendedMultiVector gradientMultiVec
 Stores the extended gradient vector.
Teuchos::RCP
< LOCA::MultiContinuation::ExtendedVector
xVec
 Stores view of first column of xMultiVec.
Teuchos::RCP
< NOX::Abstract::Vector
psiVec
 Vector for $\psi$.
Teuchos::RCP
< LOCA::MultiContinuation::ExtendedVector
fVec
 Stores view of first column of fMultiVec.
Teuchos::RCP
< LOCA::MultiContinuation::ExtendedMultiVector
ffMultiVec
 Stores view of first column of fMultiVec as a multivec.
Teuchos::RCP
< LOCA::MultiContinuation::ExtendedMultiVector
dfdpMultiVec
 Stores view of df/dp columns of fMultiVec.
Teuchos::RCP
< LOCA::MultiContinuation::ExtendedMultiVector
fBifMultiVec
 Stores view of f and first column of df/dp.
Teuchos::RCP
< LOCA::MultiContinuation::ExtendedVector
newtonVec
 Stores view of first column of newtonMultiVec.
Teuchos::RCP
< LOCA::MultiContinuation::ExtendedVector
gradientVec
 Stores view of first column of gradientMultiVec.
Teuchos::RCP
< LOCA::BorderedSolver::JacobianOperator
jacOp
Teuchos::RCP
< LOCA::BorderedSolver::AbstractStrategy
borderedSolver
 Stores bordered solver strategy.
vector< int > index_f
 Stores indices for getting f part of fMultiVec.
vector< int > index_dfdp
 Stores indices for getting df/dp part of fMultiVec.
int bifParamID
 Stores the bifurcation parameter index.
bool isValidF
 Is residual vector valid.
bool isValidJacobian
 Is Jacobian matrix valid.
bool isValidNewton
 Is Newton vector valid.
bool isValidGradient
 Is Gradient vector valid.
bool isBordered
 Flag that indicates whether underlying group is a bordered group.

Private Member Functions

ExtendedGroupoperator= (const ExtendedGroup &source)
 Prevent generation and use of operator=().


Detailed Description

A group representing the minimally augemented pitchfork equations.

The LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup is a concrete implementation of the NOX::Abstract::Group, LOCA::MultiContinuation::AbstractGroup and LOCA::Extended::MultiAbstractGroup that defines the following extended set of equations that are regular at a generic pitchfork:

\[ G(z) = \left[ \begin{array}{c} F(x,p)+s\psi\\ \sigma \\ \langle x,\psi \rangle \end{array} \right] = 0 \]

where $z = [x, p, s]\in\Re^{n+2}$, $x$ is the solution vector, $s$ is the slack variable representing the asymmetry, $p$ is the bifurcation parameter, $\psi$ is the asymmetric vector, and $\sigma\in\Re$ is a measure of the singularity of $F$ and 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 group stores an underlying group of type LOCA::Pitchfork::MinimallyAugmented::AbstractGroup to represent the equations $F(x,p) = 0$ and to manipulate the underlying Jacobian $J$. This interface defines methods for computing the derivatives $(w^T J v)_x$ and $(w^T J v)_p$ and computing the inner product $\langle \psi,x \rangle $ as well.

This class implements all of the NOX::Abstract::Group, LOCA::MultiContinuation::AbstractGroup, and LOCA::Extended::MultiAbstractGroup methods for this extended set of equations and therefore is a complete group which can be passed to most NOX solvers to locate a single pitchfork or to the LOCA::Stepper to compute a family of pitchforks in a second parameter.

The class is intialized via the pfParams parameter list argument to the constructor. The parameters this class recognizes are:

Definition at line 205 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.H.


Constructor & Destructor Documentation

LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::ExtendedGroup ( 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 > &  grp 
)

Constructor.

Parameters:
global_data [in] Global data object
topParams [in] Parsed top-level parameter list.
pfParams [in] Parameter list determining the bordered solver method.
grp [in] Group representing $f$.

Definition at line 58 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References bifParamID, bordered_grp, borderedSolver, constraintsPtr, LOCA::ParameterVector::getIndex(), getInitialVectors(), globalData, grpPtr, isBordered, parsedParams, pitchforkParams, psiVec, setupViews(), and xVec.

Referenced by clone().

LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::ExtendedGroup ( const ExtendedGroup source,
NOX::CopyType  type = NOX::DeepCopy 
)

LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::~ExtendedGroup (  )  [virtual]

Destructor.

Definition at line 230 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.


Member Function Documentation

double LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::getBifParam (  )  const

Get bifurcation parameter.

Definition at line 236 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References bifParamID, and grpPtr.

Referenced by printSolution().

NOX::Abstract::Group & LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::operator= ( const NOX::Abstract::Group source  )  [virtual]

Assignment operator.

Implements NOX::Abstract::Group.

Definition at line 243 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References copy().

Teuchos::RCP< NOX::Abstract::Group > LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::clone ( NOX::CopyType  type = NOX::DeepCopy  )  const [virtual]

Clone function.

Implements NOX::Abstract::Group.

Definition at line 251 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References ExtendedGroup().

void LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::setX ( const NOX::Abstract::Vector y  )  [virtual]

void LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::computeX ( const NOX::Abstract::Group g,
const NOX::Abstract::Vector d,
double  step 
) [virtual]

Compute and return solution vector, x, where this.x = grp.x + step * d.

Implements NOX::Abstract::Group.

Definition at line 274 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References bifParamID, constraintsPtr, getX(), LOCA::MultiContinuation::ExtendedVector::getXVec(), grpPtr, resetIsValid(), and xVec.

NOX::Abstract::Group::ReturnType LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::computeF (  )  [virtual]

Compute extended continuation equations.

Implements NOX::Abstract::Group.

Definition at line 294 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References constraintsPtr, fVec, globalData, grpPtr, isValidF, NOX::Abstract::Group::Ok, psiVec, and xVec.

Referenced by computeGradient(), and computeNewton().

NOX::Abstract::Group::ReturnType LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::computeJacobian (  )  [virtual]

NOX::Abstract::Group::ReturnType LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::computeGradient (  )  [virtual]

NOX::Abstract::Group::ReturnType LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::computeNewton ( Teuchos::ParameterList &  params  )  [virtual]

NOX::Abstract::Group::ReturnType LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::applyJacobian ( const NOX::Abstract::Vector input,
NOX::Abstract::Vector result 
) const [virtual]

Applies Jacobian for extended system.

Reimplemented from NOX::Abstract::Group.

Definition at line 497 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References applyJacobianMultiVector(), NOX::Abstract::Vector::createMultiVector(), and NOX::DeepCopy.

Referenced by getNormNewtonSolveResidual().

NOX::Abstract::Group::ReturnType LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::applyJacobianTranspose ( const NOX::Abstract::Vector input,
NOX::Abstract::Vector result 
) const [virtual]

Jacobian transpose not defined for this system.

Reimplemented from NOX::Abstract::Group.

Definition at line 518 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References applyJacobianTransposeMultiVector(), NOX::Abstract::Vector::createMultiVector(), and NOX::DeepCopy.

Referenced by computeGradient().

NOX::Abstract::Group::ReturnType LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::applyJacobianInverse ( Teuchos::ParameterList &  params,
const NOX::Abstract::Vector input,
NOX::Abstract::Vector result 
) const [virtual]

Applies Jacobian inverse for extended system.

Reimplemented from NOX::Abstract::Group.

Definition at line 539 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References applyJacobianInverseMultiVector(), NOX::Abstract::Vector::createMultiVector(), and NOX::DeepCopy.

NOX::Abstract::Group::ReturnType LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::applyJacobianMultiVector ( const NOX::Abstract::MultiVector input,
NOX::Abstract::MultiVector result 
) const [virtual]

NOX::Abstract::Group::ReturnType LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::applyJacobianTransposeMultiVector ( const NOX::Abstract::MultiVector input,
NOX::Abstract::MultiVector result 
) const [virtual]

NOX::Abstract::Group::ReturnType LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::applyJacobianInverseMultiVector ( Teuchos::ParameterList &  params,
const NOX::Abstract::MultiVector input,
NOX::Abstract::MultiVector result 
) const [virtual]

bool LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::isF (  )  const [virtual]

Return true if extended residual is valid.

Implements NOX::Abstract::Group.

Definition at line 675 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References isValidF.

Referenced by computeGradient(), and computeNewton().

bool LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::isJacobian (  )  const [virtual]

bool LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::isGradient (  )  const [virtual]

Always returns false.

Reimplemented from NOX::Abstract::Group.

Definition at line 689 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References isValidGradient.

bool LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::isNewton (  )  const [virtual]

Return true if the extended Newton direction is valid.

Reimplemented from NOX::Abstract::Group.

Definition at line 696 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References isValidNewton.

const NOX::Abstract::Vector & LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::getX (  )  const [virtual]

Return extended solution vector.

Implements NOX::Abstract::Group.

Definition at line 703 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References xVec.

Referenced by computeX().

const NOX::Abstract::Vector & LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::getF (  )  const [virtual]

Return extended residual.

Implements NOX::Abstract::Group.

Definition at line 710 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References fVec.

double LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::getNormF (  )  const [virtual]

Return 2-norm of extended residual.

Implements NOX::Abstract::Group.

Definition at line 717 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References fVec.

const NOX::Abstract::Vector & LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::getGradient (  )  const [virtual]

Gradient is never valid.

Implements NOX::Abstract::Group.

Definition at line 724 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References gradientVec.

const NOX::Abstract::Vector & LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::getNewton (  )  const [virtual]

Return extended Newton direction.

Implements NOX::Abstract::Group.

Definition at line 731 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References newtonVec.

double LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::getNormNewtonSolveResidual (  )  const [virtual]

Returns 2-norm of extended Newton solve residual.

Definition at line 738 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References applyJacobian(), fVec, globalData, newtonVec, LOCA::Extended::Vector::norm(), and LOCA::Extended::Vector::update().

Teuchos::RCP< const LOCA::MultiContinuation::AbstractGroup > LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::getUnderlyingGroup (  )  const [virtual]

Return underlying group.

Implements LOCA::Extended::MultiAbstractGroup.

Definition at line 754 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References grpPtr.

Teuchos::RCP< LOCA::MultiContinuation::AbstractGroup > LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::getUnderlyingGroup (  )  [virtual]

Return underlying group.

Implements LOCA::Extended::MultiAbstractGroup.

Definition at line 761 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References grpPtr.

void LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::copy ( const NOX::Abstract::Group source  )  [virtual]

void LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::setParamsMulti ( const vector< int > &  paramIDs,
const NOX::Abstract::MultiVector::DenseMatrix vals 
) [virtual]

Set parameters indexed by (integer) paramIDs.

Implements LOCA::MultiContinuation::AbstractGroup.

Definition at line 816 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References bifParamID, constraintsPtr, grpPtr, resetIsValid(), and xVec.

void LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::setParams ( const ParameterVector p  )  [virtual]

Set the parameter vector in the group to p (pVector = p).

Implements LOCA::MultiContinuation::AbstractGroup.

Definition at line 831 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References bifParamID, constraintsPtr, grpPtr, LOCA::ParameterVector::length(), resetIsValid(), and xVec.

void LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::setParam ( int  paramID,
double  val 
) [virtual]

Set parameter indexed by (integer) paramID.

Implements LOCA::MultiContinuation::AbstractGroup.

Definition at line 843 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References bifParamID, constraintsPtr, grpPtr, resetIsValid(), and xVec.

Referenced by setParam().

void LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::setParam ( string  paramID,
double  val 
) [virtual]

Set parameter indexed by (string) paramID.

Implements LOCA::MultiContinuation::AbstractGroup.

Definition at line 856 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References LOCA::ParameterVector::getIndex(), grpPtr, and setParam().

const LOCA::ParameterVector & LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::getParams (  )  const [virtual]

Return a const reference to the ParameterVector owned by the group.

Implements LOCA::MultiContinuation::AbstractGroup.

Definition at line 865 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References grpPtr.

double LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::getParam ( int  paramID  )  const [virtual]

Return copy of parameter indexed by (integer) paramID.

Implements LOCA::MultiContinuation::AbstractGroup.

Definition at line 872 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References grpPtr.

double LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::getParam ( string  paramID  )  const [virtual]

Return copy of parameter indexed by (string) paramID.

Implements LOCA::MultiContinuation::AbstractGroup.

Definition at line 879 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References grpPtr.

NOX::Abstract::Group::ReturnType LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::computeDfDpMulti ( const vector< int > &  paramIDs,
NOX::Abstract::MultiVector dfdp,
bool  isValidF 
) [virtual]

Compute $\partial F/\partial p$ for each parameter $p$ indexed by paramIDs. The first column of dfdp holds F, which is valid if isValidF is true. Otherwise F must be computed.

Implements LOCA::MultiContinuation::AbstractGroup.

Definition at line 886 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References constraintsPtr, LOCA::Extended::MultiVector::getScalars(), LOCA::MultiContinuation::ExtendedMultiVector::getXMultiVec(), globalData, grpPtr, and NOX::Abstract::Group::Ok.

void LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::preProcessContinuationStep ( LOCA::Abstract::Iterator::StepStatus  stepStatus  )  [virtual]

Perform any preprocessing before a continuation step starts.

The stepStatus argument indicates whether the previous step was successful.

Reimplemented from LOCA::MultiContinuation::AbstractGroup.

Definition at line 921 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References constraintsPtr, and grpPtr.

void LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::postProcessContinuationStep ( LOCA::Abstract::Iterator::StepStatus  stepStatus  )  [virtual]

Perform any postprocessing after a continuation step finishes.

The stepStatus argument indicates whether the step was successful.

Reimplemented from LOCA::MultiContinuation::AbstractGroup.

Definition at line 929 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References constraintsPtr, and grpPtr.

void LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::projectToDraw ( const NOX::Abstract::Vector x,
double *  px 
) const [virtual]

Projects solution to a few scalars for multiparameter continuation.

Reimplemented from LOCA::MultiContinuation::AbstractGroup.

Definition at line 937 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References LOCA::Extended::Vector::getScalar(), LOCA::MultiContinuation::ExtendedVector::getXVec(), and grpPtr.

int LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::projectToDrawDimension (  )  const [virtual]

Returns the dimension of the project to draw array.

Reimplemented from LOCA::MultiContinuation::AbstractGroup.

Definition at line 950 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References grpPtr.

double LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::computeScaledDotProduct ( const NOX::Abstract::Vector a,
const NOX::Abstract::Vector b 
) const [virtual]

void LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::printSolution ( const double  conParam  )  const [virtual]

Function to print out solution and parameter after successful step.

Reimplemented from LOCA::MultiContinuation::AbstractGroup.

Definition at line 975 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References constraintsPtr, getBifParam(), globalData, grpPtr, NOX::Utils::StepperDetails, and xVec.

void LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::printSolution ( const NOX::Abstract::Vector x,
const double  conParam 
) const [virtual]

void LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::scaleVector ( NOX::Abstract::Vector x  )  const [virtual]

Scales a vector using scaling vector.

Reimplemented from LOCA::MultiContinuation::AbstractGroup.

Definition at line 1053 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References LOCA::MultiContinuation::ExtendedVector::getXVec(), and grpPtr.

int LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::getBorderedWidth (  )  const [virtual]

Return the total width of the bordered rows/columns.

Implements LOCA::BorderedSystem::AbstractGroup.

Definition at line 1063 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References bordered_grp, and isBordered.

Teuchos::RCP< const NOX::Abstract::Group > LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::getUnborderedGroup (  )  const [virtual]

Get bottom-level unbordered group.

Implements LOCA::BorderedSystem::AbstractGroup.

Definition at line 1074 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References bordered_grp, grpPtr, and isBordered.

bool LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::isCombinedAZero (  )  const [virtual]

Indicates whether combined A block is zero.

Implements LOCA::BorderedSystem::AbstractGroup.

Definition at line 1084 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

bool LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::isCombinedBZero (  )  const [virtual]

Indicates whether combined B block is zero.

Implements LOCA::BorderedSystem::AbstractGroup.

Definition at line 1091 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

bool LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::isCombinedCZero (  )  const [virtual]

Indicates whether combined C block is zero.

Implements LOCA::BorderedSystem::AbstractGroup.

Definition at line 1098 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

void LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::extractSolutionComponent ( const NOX::Abstract::MultiVector v,
NOX::Abstract::MultiVector v_x 
) const [virtual]

Given the vector v, extract the underlying solution component corresponding to the unbordered group.

Implements LOCA::BorderedSystem::AbstractGroup.

Definition at line 1105 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References bordered_grp, LOCA::MultiContinuation::ExtendedMultiVector::getXMultiVec(), and isBordered.

void LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::extractParameterComponent ( bool  use_transpose,
const NOX::Abstract::MultiVector v,
NOX::Abstract::MultiVector::DenseMatrix v_p 
) const [virtual]

Given the vector v, extract the parameter components of all of the nested subvectors in v down to the solution component for the unbordered group.

Implements LOCA::BorderedSystem::AbstractGroup.

Definition at line 1128 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References bordered_grp, LOCA::Extended::MultiVector::getScalars(), LOCA::MultiContinuation::ExtendedMultiVector::getXMultiVec(), and isBordered.

void LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::loadNestedComponents ( const NOX::Abstract::MultiVector v_x,
const NOX::Abstract::MultiVector::DenseMatrix v_p,
NOX::Abstract::MultiVector v 
) const [virtual]

Given the solution component v_x and combined parameter components v_p, distribute these components through the nested sub-vectors in v.

Implements LOCA::BorderedSystem::AbstractGroup.

Definition at line 1186 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References bordered_grp, LOCA::Extended::MultiVector::getScalars(), LOCA::MultiContinuation::ExtendedMultiVector::getXMultiVec(), and isBordered.

void LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::fillA ( NOX::Abstract::MultiVector A  )  const [virtual]

Fill the combined A block as described above.

Implements LOCA::BorderedSystem::AbstractGroup.

Definition at line 1224 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References bordered_grp, dfdpMultiVec, isBordered, and NOX::Abstract::MultiVector::subView().

void LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::fillB ( NOX::Abstract::MultiVector B  )  const [virtual]

Fill the combined B block as described above.

Implements LOCA::BorderedSystem::AbstractGroup.

Definition at line 1262 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References bordered_grp, constraintsPtr, isBordered, and NOX::Abstract::MultiVector::subView().

void LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::fillC ( NOX::Abstract::MultiVector::DenseMatrix C  )  const [virtual]

Fill the combined C block as described above.

Implements LOCA::BorderedSystem::AbstractGroup.

Definition at line 1300 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References bordered_grp, constraintsPtr, dfdpMultiVec, and isBordered.

void LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::resetIsValid (  )  [protected, virtual]

Resets all isValid flags to false.

Definition at line 1348 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References isValidF, isValidGradient, isValidJacobian, and isValidNewton.

Referenced by computeX(), setBifParam(), setParam(), setParams(), setParamsMulti(), and setX().

void LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::setupViews (  )  [protected, virtual]

void LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::setBifParam ( double  param  )  [protected]

Set bifurcation parameter.

Definition at line 1381 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References bifParamID, constraintsPtr, grpPtr, resetIsValid(), and xVec.

void LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::getInitialVectors ( Teuchos::RCP< NOX::Abstract::Vector > &  aVecPtr,
Teuchos::RCP< NOX::Abstract::Vector > &  bVecPtr,
bool  isSymmetric 
) [protected]

Computes initial "a" and "b" vectors.

Definition at line 1392 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.C.

References bifParamID, globalData, grpPtr, NOX::Abstract::Group::Ok, parsedParams, pitchforkParams, and NOX::ShapeCopy.

Referenced by ExtendedGroup().

ExtendedGroup& LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::operator= ( const ExtendedGroup source  )  [private]

Prevent generation and use of operator=().


Member Data Documentation

Parsed top-level parameters.

Definition at line 534 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.H.

Referenced by copy(), ExtendedGroup(), and getInitialVectors().

Teuchos::RCP<Teuchos::ParameterList> LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::pitchforkParams [protected]

Pitchfork parameter list.

Definition at line 537 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.H.

Referenced by copy(), ExtendedGroup(), and getInitialVectors().

Stores the extended solution vector.

Definition at line 549 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.H.

Referenced by copy(), and setupViews().

Stores the extended residual vector and df/dp.

Definition at line 552 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.H.

Referenced by copy(), and setupViews().

Stores the extended Newton vector.

Definition at line 555 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.H.

Referenced by computeNewton(), copy(), and setupViews().

Stores the extended gradient vector.

Definition at line 558 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.H.

Referenced by copy(), and setupViews().

Vector for $\psi$.

Definition at line 564 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.H.

Referenced by computeF(), computeJacobian(), and ExtendedGroup().

Stores view of first column of fMultiVec.

Definition at line 567 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.H.

Referenced by computeF(), computeGradient(), computeJacobian(), getF(), getNormF(), getNormNewtonSolveResidual(), and setupViews().

Stores view of first column of fMultiVec as a multivec.

Definition at line 570 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.H.

Referenced by computeNewton(), and setupViews().

Stores view of df/dp columns of fMultiVec.

Definition at line 573 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.H.

Referenced by computeJacobian(), copy(), ExtendedGroup(), fillA(), fillC(), and setupViews().

Stores view of f and first column of df/dp.

Definition at line 576 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.H.

Referenced by computeJacobian(), and setupViews().

Stores view of first column of newtonMultiVec.

Definition at line 579 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.H.

Referenced by getNewton(), getNormNewtonSolveResidual(), and setupViews().

Stores view of first column of gradientMultiVec.

Definition at line 582 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.H.

Referenced by computeGradient(), getGradient(), and setupViews().

Stores indices for getting f part of fMultiVec.

Definition at line 591 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.H.

Referenced by copy(), and setupViews().

Stores indices for getting df/dp part of fMultiVec.

Definition at line 594 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.H.

Referenced by copy(), and setupViews().

Is residual vector valid.

Definition at line 600 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.H.

Referenced by computeF(), computeJacobian(), copy(), ExtendedGroup(), isF(), and resetIsValid().

Is Jacobian matrix valid.

Definition at line 603 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.H.

Referenced by computeJacobian(), copy(), ExtendedGroup(), isJacobian(), and resetIsValid().

Is Newton vector valid.

Definition at line 606 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.H.

Referenced by computeNewton(), copy(), ExtendedGroup(), isNewton(), and resetIsValid().

Is Gradient vector valid.

Definition at line 609 of file LOCA_Pitchfork_MinimallyAugmented_ExtendedGroup.H.

Referenced by computeGradient(), copy(), ExtendedGroup(), isGradient(), and resetIsValid().


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

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