LOCA::Hopf::MooreSpence::ExtendedGroup Class Reference

A group representing the Moore-Spence Hopf equations. More...

#include <LOCA_Hopf_MooreSpence_ExtendedGroup.H>

Inheritance diagram for LOCA::Hopf::MooreSpence::ExtendedGroup:

Inheritance graph
[legend]
Collaboration diagram for LOCA::Hopf::MooreSpence::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 > &hopfParams, const Teuchos::RCP< LOCA::Hopf::MooreSpence::AbstractGroup > &g)
 Constructor with initial data passed through parameter lists.
 ExtendedGroup (const ExtendedGroup &source, NOX::CopyType type=NOX::DeepCopy)
 Copy constructor.
virtual ~ExtendedGroup ()
 Destructor.
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
 Cloning function.
virtual void setX (const NOX::Abstract::Vector &y)
 Set the solution vector, x, to y.
virtual void computeX (const NOX::Abstract::Group &g, const NOX::Abstract::Vector &d, double step)
 Compute this.x = grp.x + step * d.
virtual
NOX::Abstract::Group::ReturnType 
computeF ()
 Compute the Hopf point equation residual $G$.
virtual
NOX::Abstract::Group::ReturnType 
computeJacobian ()
 Compute the blocks of the Jacobian derivative of $G$.
virtual
NOX::Abstract::Group::ReturnType 
computeGradient ()
 Gradient computation is not defined for this group.
virtual
NOX::Abstract::Group::ReturnType 
computeNewton (Teuchos::ParameterList &params)
 Compute Newton direction using applyJacobianInverse().
virtual
NOX::Abstract::Group::ReturnType 
applyJacobian (const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const
 Computes the extended Jacobian vector product.
virtual
NOX::Abstract::Group::ReturnType 
applyJacobianTranspose (const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const
 Jacobian transpose product is not defined by this group.
virtual
NOX::Abstract::Group::ReturnType 
applyJacobianInverse (Teuchos::ParameterList &params, const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const
 Applies the inverse of the extended Jacobian matrix using the bordering algorithm.
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 the extended residual $G$ 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 $z$.
virtual const
NOX::Abstract::Vector
getF () const
 Return extended equation residual $G(z)$.
virtual double getNormF () const
 Return 2-norm of $G(z)$.
virtual const
NOX::Abstract::Vector
getGradient () const
 Vector returned is not valid.
virtual const
NOX::Abstract::Vector
getNewton () const
 Return extended Newton direction.
virtual double getNormNewtonSolveResidual () const
 Return the norm of the 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

Teuchos::RCP< LOCA::GlobalDataglobalData
 Pointer LOCA global data object.
Teuchos::RCP
< LOCA::Parameter::SublistParser
parsedParams
 Parsed top-level parameters.
Teuchos::RCP
< Teuchos::ParameterList > 
hopfParams
 Bifurcation parameter list.
Teuchos::RCP
< LOCA::Hopf::MooreSpence::AbstractGroup
grpPtr
 Pointer to base group that defines $F$.
LOCA::Hopf::MooreSpence::ExtendedMultiVector xMultiVec
 Stores the extended solution vector.
LOCA::Hopf::MooreSpence::ExtendedMultiVector fMultiVec
 Stores the extended residual vector and df/dp.
LOCA::Hopf::MooreSpence::ExtendedMultiVector newtonMultiVec
 Stores the extended Newton vector.
Teuchos::RCP
< NOX::Abstract::MultiVector
lengthMultiVec
 Stores the length normalization vector.
Teuchos::RCP
< LOCA::Hopf::MooreSpence::ExtendedVector
xVec
 Stores view of first column of xMultiVec.
Teuchos::RCP
< LOCA::Hopf::MooreSpence::ExtendedVector
fVec
 Stores view of first column of fMultiVec.
Teuchos::RCP
< LOCA::Hopf::MooreSpence::ExtendedMultiVector
ffMultiVec
 Stores view of first column of fMultiVec as a multivec.
Teuchos::RCP
< LOCA::Hopf::MooreSpence::ExtendedMultiVector
dfdpMultiVec
 Stores view of df/dp columns of fMultiVec.
Teuchos::RCP
< LOCA::Hopf::MooreSpence::ExtendedVector
newtonVec
 Stores view of first column of newtonMultiVec.
Teuchos::RCP
< NOX::Abstract::Vector
lengthVec
 Stores view of first column of lengthMultiVec.
Teuchos::RCP
< NOX::Abstract::MultiVector
massTimesY
 Stores mass matrix times real component of eigenvector.
Teuchos::RCP
< NOX::Abstract::MultiVector
minusMassTimesZ
 Stores negative of mass matrix times imaginary component of eigenvector.
Teuchos::RCP
< LOCA::Hopf::MooreSpence::SolverStrategy
solverStrategy
 Stores bordering 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.
vector< 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.
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.
virtual void setParam (int paramID, double val)
 Set parameter indexed by paramID.
virtual void setParam (string paramID, double val)
 Set parameter indexed by paramID.
virtual const ParameterVectorgetParams () const
 Return a const reference to the paramter vector owned by the group.
virtual double getParam (int paramID) const
 Return copy of parameter indexed by paramID.
virtual double getParam (string paramID) const
 Return copy of parameter indexed by 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 void printSolution (const double conParam) const
 Function to print out extended solution and continuation parameter after successful continuation step.
virtual void printSolution (const NOX::Abstract::Vector &x_, const double conParam) const
 Function to print out extended solution and continuation parameter after successful continuation step.
double getBifParam () const
 Get bifurcation parameter.
double getFrequency () const
 Get bifurcation frequency.
double lTransNorm (const NOX::Abstract::Vector &z) const
 Defines null vector normalization $l^Tz$ equation.
void lTransNorm (const NOX::Abstract::MultiVector &z, NOX::Abstract::MultiVector::DenseMatrix &result) const
 null vector normalization for multivectors
void setBifParam (double param)
 Set bifurcation parameter.
void setupViews ()
 Sets up multivector views.
void init (bool perturbSoln=false, double perturbSize=0.0)
 Initializes group.
ExtendedGroupoperator= (const ExtendedGroup &)
 Prohibit generation and use of operator=().


Detailed Description

A group representing the Moore-Spence Hopf equations.

The LOCA::Hopf::MooreSpence::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 Hopf point:

\[ G(z) = \left[ \begin{array}{c} F(x,p) \\ Jy-\omega Bz \\ Jz+\omega By \\ l^Ty-1 \\ l^Tz \end{array} \right] = 0 \]

where $z = [x, y, z, \omega, p]\in\Re^{3n+2}$, $x$ is the solution vector, $y+i\omega z$ is the complex eigenvector of $J$ with corresponding eigenvalues $\pm i\omega$, $l$ is the length normalization vector and $J$ is the Jacobian of F w.r.t $x$.

The group stores an underlying group of type LOCA::Hopf::MooreSpence AbstractGroup to represent the equations $F(x,p) = 0$ and to manipulate the underlying Jacobian $J$. Note that the entire extended Jacobian $D_z G$ is not stored in memory, rather a block-elimination algorithm (bordering algorithm) is used to compute linear solves of the extended Jacobian (see LOCA::Hopf::MooreSpence::SolverFactory() for more details).

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 Hopf point or to the LOCA::Stepper to compute a family of Hopf points in a second parameter.

However, Jacobian-tranpose operations and gradient calculations cannot be implemented efficiently and therefore gradient-base nonlinear solvers such as steepest descent and Trust region methods cannot be used to solve the extended Hopf point equations.

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

Definition at line 143 of file LOCA_Hopf_MooreSpence_ExtendedGroup.H.


Constructor & Destructor Documentation

LOCA::Hopf::MooreSpence::ExtendedGroup::ExtendedGroup ( const Teuchos::RCP< LOCA::GlobalData > &  global_data,
const Teuchos::RCP< LOCA::Parameter::SublistParser > &  topParams,
const Teuchos::RCP< Teuchos::ParameterList > &  hopfParams,
const Teuchos::RCP< LOCA::Hopf::MooreSpence::AbstractGroup > &  g 
)

LOCA::Hopf::MooreSpence::ExtendedGroup::ExtendedGroup ( const ExtendedGroup source,
NOX::CopyType  type = NOX::DeepCopy 
)

LOCA::Hopf::MooreSpence::ExtendedGroup::~ExtendedGroup (  )  [virtual]

Destructor.

Definition at line 195 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.


Member Function Documentation

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

Assignment operator.

Implements NOX::Abstract::Group.

Definition at line 200 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

References copy().

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

Cloning function.

Implements NOX::Abstract::Group.

Definition at line 208 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

void LOCA::Hopf::MooreSpence::ExtendedGroup::setX ( const NOX::Abstract::Vector y  )  [virtual]

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

NOX::Abstract::Group::ReturnType LOCA::Hopf::MooreSpence::ExtendedGroup::computeF (  )  [virtual]

Compute the Hopf point equation residual $G$.

Implements NOX::Abstract::Group.

Definition at line 249 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

References fVec, globalData, grpPtr, isValidF, lTransNorm(), NOX::Abstract::Group::Ok, and xVec.

Referenced by computeNewton().

NOX::Abstract::Group::ReturnType LOCA::Hopf::MooreSpence::ExtendedGroup::computeJacobian (  )  [virtual]

NOX::Abstract::Group::ReturnType LOCA::Hopf::MooreSpence::ExtendedGroup::computeGradient (  )  [virtual]

Gradient computation is not defined for this group.

Reimplemented from NOX::Abstract::Group.

Definition at line 383 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

References NOX::Abstract::Group::NotDefined.

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

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

Computes the extended Jacobian vector product.

Reimplemented from NOX::Abstract::Group.

Definition at line 435 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

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

Referenced by getNormNewtonSolveResidual().

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

Jacobian transpose product is not defined by this group.

Reimplemented from NOX::Abstract::Group.

Definition at line 456 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

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

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

Applies the inverse of the extended Jacobian matrix using the bordering algorithm.

This method is a special case of applyJacobianInverseMultiVector() for a single right-hand-side.

Reimplemented from NOX::Abstract::Group.

Definition at line 477 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

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

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

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

Jacobian transpose not defined for this system.

Reimplemented from NOX::Abstract::Group.

Definition at line 610 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

References globalData, and NOX::Abstract::Group::NotDefined.

Referenced by applyJacobianTranspose().

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

Applies Jacobian inverse for extended system.

Uses a LOCA::Hopf::MooreSpence::SolverStrategy instantiated by the LOCA::Hopf::MooreSpence::SolverFactory to implement the solve.

Reimplemented from NOX::Abstract::Group.

Definition at line 622 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

References solverStrategy.

Referenced by applyJacobianInverse().

bool LOCA::Hopf::MooreSpence::ExtendedGroup::isF (  )  const [virtual]

Return true if the extended residual $G$ is valid.

Implements NOX::Abstract::Group.

Definition at line 637 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

References isValidF.

Referenced by computeNewton().

bool LOCA::Hopf::MooreSpence::ExtendedGroup::isJacobian (  )  const [virtual]

Return true if the extended Jacobian is valid.

Reimplemented from NOX::Abstract::Group.

Definition at line 643 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

References isValidJacobian.

Referenced by applyJacobianMultiVector(), and computeNewton().

bool LOCA::Hopf::MooreSpence::ExtendedGroup::isGradient (  )  const [virtual]

Always returns false.

Reimplemented from NOX::Abstract::Group.

Definition at line 649 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

bool LOCA::Hopf::MooreSpence::ExtendedGroup::isNewton (  )  const [virtual]

Return true if the extended Newton direction is valid.

Reimplemented from NOX::Abstract::Group.

Definition at line 655 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

References isValidNewton.

const NOX::Abstract::Vector & LOCA::Hopf::MooreSpence::ExtendedGroup::getX (  )  const [virtual]

Return extended solution vector $z$.

Implements NOX::Abstract::Group.

Definition at line 661 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

References xVec.

Referenced by computeX().

const NOX::Abstract::Vector & LOCA::Hopf::MooreSpence::ExtendedGroup::getF (  )  const [virtual]

Return extended equation residual $G(z)$.

Implements NOX::Abstract::Group.

Definition at line 667 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

References fVec.

double LOCA::Hopf::MooreSpence::ExtendedGroup::getNormF (  )  const [virtual]

Return 2-norm of $G(z)$.

Implements NOX::Abstract::Group.

Definition at line 673 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

References fVec.

const NOX::Abstract::Vector & LOCA::Hopf::MooreSpence::ExtendedGroup::getGradient (  )  const [virtual]

Vector returned is not valid.

Implements NOX::Abstract::Group.

Definition at line 679 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

References getNewton(), and globalData.

const NOX::Abstract::Vector & LOCA::Hopf::MooreSpence::ExtendedGroup::getNewton (  )  const [virtual]

Return extended Newton direction.

Implements NOX::Abstract::Group.

Definition at line 688 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

References newtonVec.

Referenced by getGradient().

double LOCA::Hopf::MooreSpence::ExtendedGroup::getNormNewtonSolveResidual (  )  const [virtual]

Return the norm of the Newton solve residual.

Definition at line 694 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

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

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

Return underlying group.

Implements LOCA::Extended::MultiAbstractGroup.

Definition at line 709 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

References grpPtr.

Teuchos::RCP< LOCA::MultiContinuation::AbstractGroup > LOCA::Hopf::MooreSpence::ExtendedGroup::getUnderlyingGroup (  )  [virtual]

Return underlying group.

Implements LOCA::Extended::MultiAbstractGroup.

Definition at line 715 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

References grpPtr.

void LOCA::Hopf::MooreSpence::ExtendedGroup::copy ( const NOX::Abstract::Group source  )  [virtual]

void LOCA::Hopf::MooreSpence::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 760 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

References bifParamID, grpPtr, and setBifParam().

void LOCA::Hopf::MooreSpence::ExtendedGroup::setParams ( const ParameterVector p  )  [virtual]

Set the parameter vector in the group to p.

Implements LOCA::MultiContinuation::AbstractGroup.

Definition at line 772 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

References bifParamID, grpPtr, isValidF, isValidJacobian, isValidNewton, and setBifParam().

void LOCA::Hopf::MooreSpence::ExtendedGroup::setParam ( int  paramID,
double  val 
) [virtual]

Set parameter indexed by paramID.

Implements LOCA::MultiContinuation::AbstractGroup.

Definition at line 784 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

References bifParamID, grpPtr, and setBifParam().

void LOCA::Hopf::MooreSpence::ExtendedGroup::setParam ( string  paramID,
double  val 
) [virtual]

Set parameter indexed by paramID.

Implements LOCA::MultiContinuation::AbstractGroup.

Definition at line 793 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

References bifParamID, LOCA::ParameterVector::getIndex(), grpPtr, and setBifParam().

const LOCA::ParameterVector & LOCA::Hopf::MooreSpence::ExtendedGroup::getParams (  )  const [virtual]

Return a const reference to the paramter vector owned by the group.

Implements LOCA::MultiContinuation::AbstractGroup.

Definition at line 803 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

References grpPtr.

double LOCA::Hopf::MooreSpence::ExtendedGroup::getParam ( int  paramID  )  const [virtual]

Return copy of parameter indexed by paramID.

Implements LOCA::MultiContinuation::AbstractGroup.

Definition at line 809 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

References grpPtr.

double LOCA::Hopf::MooreSpence::ExtendedGroup::getParam ( string  paramID  )  const [virtual]

Return copy of parameter indexed by paramID.

Implements LOCA::MultiContinuation::AbstractGroup.

Definition at line 815 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

References grpPtr.

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

void LOCA::Hopf::MooreSpence::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 868 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

References grpPtr.

void LOCA::Hopf::MooreSpence::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 875 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

References grpPtr.

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

int LOCA::Hopf::MooreSpence::ExtendedGroup::projectToDrawDimension (  )  const [virtual]

Returns the dimension of the project to draw array.

Reimplemented from LOCA::MultiContinuation::AbstractGroup.

Definition at line 895 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

References grpPtr.

void LOCA::Hopf::MooreSpence::ExtendedGroup::printSolution ( const double  conParam  )  const [virtual]

Function to print out extended solution and continuation parameter after successful continuation step.

This method prints the solution, null-vector, and parameter components of the extended solution vector using the printSolution method of the underlying group.

Reimplemented from LOCA::MultiContinuation::AbstractGroup.

Definition at line 901 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

References globalData, grpPtr, NOX::Utils::StepperDetails, and xVec.

void LOCA::Hopf::MooreSpence::ExtendedGroup::printSolution ( const NOX::Abstract::Vector x_,
const double  conParam 
) const [virtual]

Function to print out extended solution and continuation parameter after successful continuation step.

This method prints the solution, null-vector, and parameter components of the extended solution vector using the printSolution method of the underlying group.

Reimplemented from LOCA::MultiContinuation::AbstractGroup.

Definition at line 933 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

References LOCA::Hopf::MooreSpence::ExtendedVector::getBifParam(), LOCA::Hopf::MooreSpence::ExtendedVector::getFrequency(), LOCA::Hopf::MooreSpence::ExtendedVector::getImagEigenVec(), LOCA::Hopf::MooreSpence::ExtendedVector::getRealEigenVec(), LOCA::Hopf::MooreSpence::ExtendedVector::getXVec(), globalData, grpPtr, and NOX::Utils::StepperDetails.

double LOCA::Hopf::MooreSpence::ExtendedGroup::getBifParam (  )  const

Get bifurcation parameter.

Definition at line 969 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

References bifParamID, and grpPtr.

Referenced by init().

double LOCA::Hopf::MooreSpence::ExtendedGroup::getFrequency (  )  const

Get bifurcation frequency.

Definition at line 975 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

References xVec.

double LOCA::Hopf::MooreSpence::ExtendedGroup::lTransNorm ( const NOX::Abstract::Vector z  )  const

Defines null vector normalization $l^Tz$ equation.

Definition at line 981 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

References lengthVec.

Referenced by applyJacobianMultiVector(), computeDfDpMulti(), computeF(), and init().

void LOCA::Hopf::MooreSpence::ExtendedGroup::lTransNorm ( const NOX::Abstract::MultiVector z,
NOX::Abstract::MultiVector::DenseMatrix result 
) const

null vector normalization for multivectors

Note: result should have 1 row and z.numVectors() columns.

Definition at line 988 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

References lengthMultiVec, lengthVec, and NOX::Abstract::MultiVector::multiply().

void LOCA::Hopf::MooreSpence::ExtendedGroup::setBifParam ( double  param  )  [protected]

Set bifurcation parameter.

Definition at line 996 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

References bifParamID, grpPtr, isValidF, isValidJacobian, isValidNewton, and xVec.

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

void LOCA::Hopf::MooreSpence::ExtendedGroup::setupViews (  )  [protected]

void LOCA::Hopf::MooreSpence::ExtendedGroup::init ( bool  perturbSoln = false,
double  perturbSize = 0.0 
) [protected]

Initializes group.

Definition at line 1024 of file LOCA_Hopf_MooreSpence_ExtendedGroup.C.

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

Referenced by ExtendedGroup().

ExtendedGroup& LOCA::Hopf::MooreSpence::ExtendedGroup::operator= ( const ExtendedGroup  )  [private]

Prohibit generation and use of operator=().


Member Data Documentation

Parsed top-level parameters.

Definition at line 424 of file LOCA_Hopf_MooreSpence_ExtendedGroup.H.

Referenced by copy(), and ExtendedGroup().

Teuchos::RCP<Teuchos::ParameterList> LOCA::Hopf::MooreSpence::ExtendedGroup::hopfParams [protected]

Bifurcation parameter list.

Definition at line 427 of file LOCA_Hopf_MooreSpence_ExtendedGroup.H.

Referenced by copy(), and ExtendedGroup().

Stores the extended solution vector.

Definition at line 433 of file LOCA_Hopf_MooreSpence_ExtendedGroup.H.

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

Stores the extended residual vector and df/dp.

Definition at line 436 of file LOCA_Hopf_MooreSpence_ExtendedGroup.H.

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

Stores the extended Newton vector.

Definition at line 439 of file LOCA_Hopf_MooreSpence_ExtendedGroup.H.

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

Stores the length normalization vector.

Definition at line 442 of file LOCA_Hopf_MooreSpence_ExtendedGroup.H.

Referenced by copy(), ExtendedGroup(), lTransNorm(), and setupViews().

Stores view of first column of fMultiVec.

Definition at line 448 of file LOCA_Hopf_MooreSpence_ExtendedGroup.H.

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

Stores view of first column of fMultiVec as a multivec.

Definition at line 451 of file LOCA_Hopf_MooreSpence_ExtendedGroup.H.

Referenced by computeNewton(), and setupViews().

Stores view of df/dp columns of fMultiVec.

Definition at line 454 of file LOCA_Hopf_MooreSpence_ExtendedGroup.H.

Referenced by applyJacobianMultiVector(), and setupViews().

Stores view of first column of newtonMultiVec.

Definition at line 457 of file LOCA_Hopf_MooreSpence_ExtendedGroup.H.

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

Stores view of first column of lengthMultiVec.

Definition at line 460 of file LOCA_Hopf_MooreSpence_ExtendedGroup.H.

Referenced by lTransNorm(), and setupViews().

Stores mass matrix times real component of eigenvector.

Definition at line 463 of file LOCA_Hopf_MooreSpence_ExtendedGroup.H.

Referenced by applyJacobianMultiVector(), computeJacobian(), copy(), and ExtendedGroup().

Stores negative of mass matrix times imaginary component of eigenvector.

Definition at line 469 of file LOCA_Hopf_MooreSpence_ExtendedGroup.H.

Referenced by applyJacobianMultiVector(), computeJacobian(), copy(), and ExtendedGroup().

Stores bordering strategy.

Definition at line 472 of file LOCA_Hopf_MooreSpence_ExtendedGroup.H.

Referenced by applyJacobianInverseMultiVector(), computeJacobian(), computeNewton(), copy(), and ExtendedGroup().

Stores indices for getting f part of fMultiVec.

Definition at line 475 of file LOCA_Hopf_MooreSpence_ExtendedGroup.H.

Referenced by copy(), and setupViews().

Stores indices for getting df/dp part of fMultiVec.

Definition at line 478 of file LOCA_Hopf_MooreSpence_ExtendedGroup.H.

Referenced by copy(), and setupViews().

Stores the bifurcation parameter index.

Definition at line 481 of file LOCA_Hopf_MooreSpence_ExtendedGroup.H.

Referenced by computeJacobian(), copy(), ExtendedGroup(), getBifParam(), setBifParam(), setParam(), setParams(), and setParamsMulti().

Is residual vector valid.

Definition at line 484 of file LOCA_Hopf_MooreSpence_ExtendedGroup.H.

Referenced by computeF(), computeJacobian(), computeX(), copy(), ExtendedGroup(), isF(), setBifParam(), setParams(), and setX().

Is Jacobian matrix valid.

Definition at line 487 of file LOCA_Hopf_MooreSpence_ExtendedGroup.H.

Referenced by computeJacobian(), computeX(), copy(), ExtendedGroup(), isJacobian(), setBifParam(), setParams(), and setX().

Is Newton vector valid.

Definition at line 490 of file LOCA_Hopf_MooreSpence_ExtendedGroup.H.

Referenced by computeNewton(), computeX(), copy(), ExtendedGroup(), isNewton(), setBifParam(), setParams(), and setX().


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

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