|
NOX Development
|
A group representing the minimally augemented Hopf equations. More...
#include <LOCA_Hopf_MinimallyAugmented_ExtendedGroup.H>


Public Member Functions | |
| ExtendedGroup (const Teuchos::RCP< LOCA::GlobalData > &global_data, const Teuchos::RCP< LOCA::Parameter::SublistParser > &topParams, const Teuchos::RCP< Teuchos::ParameterList > &hpfParams, const Teuchos::RCP< LOCA::Hopf::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::Group & | operator= (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 ¶ms) |
| 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 ¶ms, 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 ¶ms, 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 Teuchos::RCP< const NOX::Abstract::Vector > | getXPtr () const |
| Return RCP to extended solution vector. | |
| virtual Teuchos::RCP< const NOX::Abstract::Vector > | getFPtr () const |
| Return RCP to extended residual. | |
| virtual Teuchos::RCP< const NOX::Abstract::Vector > | getGradientPtr () const |
| Gradient is never valid. | |
| virtual Teuchos::RCP< const NOX::Abstract::Vector > | getNewtonPtr () const |
| Return RCP to 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 std::vector< int > ¶mIDs, 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 (std::string paramID, double val) |
| Set parameter indexed by (std::string) paramID. | |
| virtual const ParameterVector & | getParams () 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 (std::string paramID) const |
| Return copy of parameter indexed by (std::string) paramID. | |
| virtual NOX::Abstract::Group::ReturnType | computeDfDpMulti (const std::vector< int > ¶mIDs, 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. | |
| Public Member Functions inherited from LOCA::Extended::MultiAbstractGroup | |
| MultiAbstractGroup () | |
| Default constructor. | |
| virtual | ~MultiAbstractGroup () |
| Destructor. | |
| virtual Teuchos::RCP< const LOCA::MultiContinuation::AbstractGroup > | getBaseLevelUnderlyingGroup () const |
| Return base-level underlying group. | |
| virtual Teuchos::RCP< LOCA::MultiContinuation::AbstractGroup > | getBaseLevelUnderlyingGroup () |
| Return base-level underlying group. | |
| virtual NOX::Abstract::Group & | operator= (const NOX::Abstract::Group &source)=0 |
| Bring NOX::Abstract::Group::operator=() into scope. | |
| Public Member Functions inherited from NOX::Abstract::Group | |
| Group () | |
| Constructor. | |
| virtual | ~Group () |
| Destructor. | |
| virtual NOX::Abstract::Group::ReturnType | applyRightPreconditioning (bool useTranspose, Teuchos::ParameterList ¶ms, const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const |
| Apply right preconditiong to the given input vector. | |
| virtual NOX::Abstract::Group::ReturnType | applyRightPreconditioningMultiVector (bool useTranspose, Teuchos::ParameterList ¶ms, const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const |
| applyRightPreconditioning for multiple right-hand sides | |
| virtual const NOX::Abstract::Vector & | getScaledX () const |
| virtual void | logLastLinearSolveStats (NOX::SolverStats &stats) const |
| Adds statistics from last linear solve to the SovlerStats object. | |
| virtual NOX::Abstract::Group::ReturnType | getNormLastLinearSolveResidual (double &residual) const |
| Return the norm of the last linear solve residual as the result of either a call to computeNewton() or applyJacobianInverse(). | |
| Public Member Functions inherited from LOCA::MultiContinuation::AbstractGroup | |
| AbstractGroup () | |
| Default constructor. | |
| virtual | ~AbstractGroup () |
| Destructor. | |
| Public Member Functions inherited from LOCA::BorderedSystem::AbstractGroup | |
| AbstractGroup () | |
| Constructor. | |
| virtual | ~AbstractGroup () |
| Destructor. | |
Implementation of | |
LOCA::BorderedSystem::AbstractGroup virtual methods | |
| Teuchos::RCP< LOCA::GlobalData > | globalData |
| Pointer LOCA global data object. | |
| Teuchos::RCP< LOCA::Parameter::SublistParser > | parsedParams |
| Parsed top-level parameters. | |
| Teuchos::RCP< Teuchos::ParameterList > | hopfParams |
| Hopf parameter list. | |
| Teuchos::RCP< LOCA::Hopf::MinimallyAugmented::AbstractGroup > | grpPtr |
Pointer to base group that defines ![]() | |
| Teuchos::RCP< LOCA::BorderedSystem::AbstractGroup > | bordered_grp |
| Pointer to base group as a bordered group. | |
| Teuchos::RCP< LOCA::Hopf::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< 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. | |
| std::vector< int > | index_f |
| Stores indices for getting f part of fMultiVec. | |
| std::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. | |
| 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. | |
| 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_real, Teuchos::RCP< NOX::Abstract::Vector > &aVecPtr_imag, Teuchos::RCP< NOX::Abstract::Vector > &bVecPtr_real, Teuchos::RCP< NOX::Abstract::Vector > &bVecPtr_imag, bool isSymmetric) |
| Computes initial "a" and "b" vectors. | |
Additional Inherited Members | |
| Public Types inherited from NOX::Abstract::Group | |
| enum | ReturnType { Ok , NotDefined , BadDependency , NotConverged , Failed } |
| The computation of, say, the Newton direction in computeNewton() may fail in many different ways, so we have included a variety of return codes to describe the failures. Of course, we also have a code for success. More... | |
A group representing the minimally augemented Hopf equations.
The LOCA::Hopf::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 Hopf:
![\[ G(z) = \left[
\begin{array}{c}
F(x,p)\\
\sigma
\end{array}
\right] = 0
\]](form_512.png)
where ![$ z = [x, p, \omega]\in\Re^{n+2}$](form_513.png)





![\[ \begin{bmatrix}
J+i\omega M & a \\
b^H & 0
\end{bmatrix}
\begin{bmatrix}
v \\
\sigma_1
\end{bmatrix} =
\begin{bmatrix}
0 \\
n
\end{bmatrix},
\]](form_503.png)
![\[ \begin{bmatrix}
J^T-i\omega M^T & b \\
a^H & 0
\end{bmatrix}
\begin{bmatrix}
w \\
\sigma_2
\end{bmatrix} =
\begin{bmatrix}
0 \\
n
\end{bmatrix},
\]](form_504.png)
![\[ \sigma = w^H J+i\omega M v/n
\]](form_505.png)
for any vectors 


![\[ \begin{split}
\sigma_x &= (w^H(J+i\omega M)v)_x/n = w^H(J+i\omega M)_x v/n \\
\sigma_p &= (w^H(J+i\omega M)v)_p/n = w^H(J+i\omega M)_p v/n
\end{split}
\]](form_508.png)
The group stores an underlying group of type LOCA::Hopf::MinimallyAugmented::AbstractGroup to represent the equations 



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 hpfParams parameter list argument to the constructor. The parameters this class recognizes are:






















| LOCA::Hopf::MinimallyAugmented::ExtendedGroup::ExtendedGroup | ( | const Teuchos::RCP< LOCA::GlobalData > & | global_data, |
| const Teuchos::RCP< LOCA::Parameter::SublistParser > & | topParams, | ||
| const Teuchos::RCP< Teuchos::ParameterList > & | hpfParams, | ||
| const Teuchos::RCP< LOCA::Hopf::MinimallyAugmented::AbstractGroup > & | grp ) |
Constructor.
| global_data | [in] Global data object |
| topParams | [in] Parsed top-level parameter list. |
| hpfParams | [in] Parameter list determining the bordered solver method. |
| grp | [in] Group representing ![]() |
References bifParamID, bordered_grp, borderedSolver, constraintsPtr, dfdpMultiVec, fBifMultiVec, ffMultiVec, fMultiVec, fVec, LOCA::ParameterVector::getIndex(), getInitialVectors(), getX(), globalData, gradientMultiVec, gradientVec, grpPtr, hopfParams, index_dfdp, index_f, isBordered, isValidF, isValidGradient, isValidJacobian, isValidNewton, newtonMultiVec, newtonVec, parsedParams, setupViews(), xMultiVec, and xVec.
Referenced by clone().
| LOCA::Hopf::MinimallyAugmented::ExtendedGroup::ExtendedGroup | ( | const ExtendedGroup & | source, |
| NOX::CopyType | type = NOX::DeepCopy ) |
Copy constructor.
References LOCA::BorderedSystem::AbstractGroup::AbstractGroup(), bifParamID, bordered_grp, borderedSolver, clone(), constraintsPtr, dfdpMultiVec, fBifMultiVec, ffMultiVec, fMultiVec, fVec, globalData, gradientMultiVec, gradientVec, grpPtr, hopfParams, index_dfdp, index_f, isBordered, isValidF, isValidGradient, isValidJacobian, isValidNewton, newtonMultiVec, newtonVec, parsedParams, setupViews(), NOX::ShapeCopy, xMultiVec, and xVec.
|
virtual |
Applies Jacobian for extended system.
Reimplemented from NOX::Abstract::Group.
References applyJacobianMultiVector(), NOX::Abstract::Vector::createMultiVector(), and NOX::DeepCopy.
Referenced by getNormNewtonSolveResidual().
|
virtual |
Applies Jacobian inverse for extended system.
Reimplemented from NOX::Abstract::Group.
References applyJacobianInverseMultiVector(), NOX::Abstract::Vector::createMultiVector(), and NOX::DeepCopy.
|
virtual |
Applies Jacobian inverse for extended system.
Reimplemented from NOX::Abstract::Group.
References borderedSolver, LOCA::Extended::MultiVector::getScalars(), LOCA::MultiContinuation::ExtendedMultiVector::getXMultiVec(), globalData, and isJacobian().
Referenced by applyJacobianInverse(), and computeNewton().
|
virtual |
Applies Jacobian for extended system.
Reimplemented from NOX::Abstract::Group.
References borderedSolver, LOCA::Extended::MultiVector::getScalars(), LOCA::MultiContinuation::ExtendedMultiVector::getXMultiVec(), globalData, and isJacobian().
Referenced by applyJacobian().
|
virtual |
Jacobian transpose not defined for this system.
Reimplemented from NOX::Abstract::Group.
References applyJacobianTransposeMultiVector(), NOX::Abstract::Vector::createMultiVector(), and NOX::DeepCopy.
Referenced by computeGradient().
|
virtual |
Jacobian transpose not defined for this system.
Reimplemented from NOX::Abstract::Group.
References borderedSolver, LOCA::Extended::MultiVector::getScalars(), LOCA::MultiContinuation::ExtendedMultiVector::getXMultiVec(), globalData, and isJacobian().
Referenced by applyJacobianTranspose().
|
virtual |
Clone function.
Implements NOX::Abstract::Group.
References ExtendedGroup().
Referenced by ExtendedGroup().
|
virtual |
Compute 

Implements LOCA::MultiContinuation::AbstractGroup.
References constraintsPtr, LOCA::Extended::MultiVector::getScalars(), LOCA::MultiContinuation::ExtendedMultiVector::getXMultiVec(), globalData, grpPtr, and NOX::Abstract::Group::Ok.
|
virtual |
Compute extended continuation equations.
Implements NOX::Abstract::Group.
References constraintsPtr, fVec, globalData, grpPtr, isValidF, and NOX::Abstract::Group::Ok.
Referenced by computeGradient(), and computeNewton().
|
virtual |
Gradient is not defined for this system.
Reimplemented from NOX::Abstract::Group.
References applyJacobianTranspose(), computeF(), computeJacobian(), fVec, globalData, gradientVec, isF(), isJacobian(), isValidGradient, and NOX::Abstract::Group::Ok.
|
virtual |
Compute extended continuation jacobian.
Reimplemented from NOX::Abstract::Group.
References bifParamID, borderedSolver, constraintsPtr, dfdpMultiVec, fBifMultiVec, globalData, grpPtr, isValidF, isValidJacobian, and NOX::Abstract::Group::Ok.
Referenced by computeGradient(), and computeNewton().
|
virtual |
Compute Newton direction for extended continuation system.
Reimplemented from NOX::Abstract::Group.
References applyJacobianInverseMultiVector(), computeF(), computeJacobian(), ffMultiVec, globalData, isF(), isJacobian(), isValidNewton, newtonMultiVec, and NOX::Abstract::Group::Ok.
|
virtual |
Compute a scaled dot product.
Reimplemented from LOCA::MultiContinuation::AbstractGroup.
References LOCA::Extended::Vector::getScalar(), LOCA::MultiContinuation::ExtendedVector::getXVec(), and grpPtr.
|
virtual |
Compute and return solution vector, x, where this.x = grp.x + step * d.
Implements NOX::Abstract::Group.
References bifParamID, constraintsPtr, getX(), LOCA::MultiContinuation::ExtendedVector::getXVec(), grpPtr, resetIsValid(), LOCA::Extended::Vector::update(), and xVec.
|
virtual |
Assignment operator.
Implements LOCA::MultiContinuation::AbstractGroup.
References bifParamID, borderedSolver, constraintsPtr, dfdpMultiVec, fMultiVec, globalData, gradientMultiVec, grpPtr, hopfParams, index_dfdp, index_f, isValidF, isValidGradient, isValidJacobian, isValidNewton, newtonMultiVec, parsedParams, setupViews(), and xMultiVec.
Referenced by operator=().
|
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.
References bordered_grp, LOCA::Extended::MultiVector::getScalars(), LOCA::MultiContinuation::ExtendedMultiVector::getXMultiVec(), and isBordered.
|
virtual |
Given the vector v, extract the underlying solution component corresponding to the unbordered group.
Implements LOCA::BorderedSystem::AbstractGroup.
References bordered_grp, LOCA::MultiContinuation::ExtendedMultiVector::getXMultiVec(), and isBordered.
|
virtual |
Fill the combined A block as described above.
Implements LOCA::BorderedSystem::AbstractGroup.
References bordered_grp, dfdpMultiVec, isBordered, and NOX::Abstract::MultiVector::subView().
|
virtual |
Fill the combined B block as described above.
Implements LOCA::BorderedSystem::AbstractGroup.
References bordered_grp, constraintsPtr, isBordered, and NOX::Abstract::MultiVector::subView().
|
virtual |
Fill the combined C block as described above.
Implements LOCA::BorderedSystem::AbstractGroup.
References bordered_grp, constraintsPtr, dfdpMultiVec, and isBordered.
| double LOCA::Hopf::MinimallyAugmented::ExtendedGroup::getBifParam | ( | ) | const |
Get bifurcation parameter.
References bifParamID, and grpPtr.
|
virtual |
Return the total width of the bordered rows/columns.
Implements LOCA::BorderedSystem::AbstractGroup.
References bordered_grp, and isBordered.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
protected |
Computes initial "a" and "b" vectors.
References globalData, and hopfParams.
Referenced by ExtendedGroup().
|
virtual |
|
virtual |
|
virtual |
Return 2-norm of extended residual.
Implements NOX::Abstract::Group.
References fVec, and NOX::Abstract::Vector::norm().
|
virtual |
Returns 2-norm of extended Newton solve residual.
References applyJacobian(), fVec, globalData, newtonVec, LOCA::Extended::Vector::norm(), and LOCA::Extended::Vector::update().
|
virtual |
Return copy of parameter indexed by (integer) paramID.
Implements LOCA::MultiContinuation::AbstractGroup.
References grpPtr.
|
virtual |
Return copy of parameter indexed by (std::string) paramID.
Implements LOCA::MultiContinuation::AbstractGroup.
References grpPtr.
|
virtual |
Return a const reference to the ParameterVector owned by the group.
Implements LOCA::MultiContinuation::AbstractGroup.
References grpPtr.
|
virtual |
Get bottom-level unbordered group.
Implements LOCA::BorderedSystem::AbstractGroup.
References bordered_grp, grpPtr, and isBordered.
|
virtual |
|
virtual |
|
virtual |
Return extended solution vector.
Implements NOX::Abstract::Group.
References xVec.
Referenced by computeX(), and ExtendedGroup().
|
virtual |
|
virtual |
Indicates whether combined A block is zero.
Implements LOCA::BorderedSystem::AbstractGroup.
|
virtual |
Indicates whether combined B block is zero.
Implements LOCA::BorderedSystem::AbstractGroup.
|
virtual |
Indicates whether combined C block is zero.
Implements LOCA::BorderedSystem::AbstractGroup.
|
virtual |
Return true if extended residual is valid.
Implements NOX::Abstract::Group.
References isValidF.
Referenced by computeGradient(), and computeNewton().
|
virtual |
|
virtual |
Return true if the extended Jacobian is valid.
Reimplemented from NOX::Abstract::Group.
References isValidJacobian.
Referenced by applyJacobianInverseMultiVector(), applyJacobianMultiVector(), applyJacobianTransposeMultiVector(), computeGradient(), and computeNewton().
|
virtual |
Return true if the extended Newton direction is valid.
Reimplemented from NOX::Abstract::Group.
References isValidNewton.
|
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.
References bordered_grp, LOCA::Extended::MultiVector::getScalars(), LOCA::MultiContinuation::ExtendedMultiVector::getXMultiVec(), and isBordered.
|
virtual |
|
virtual |
Perform any postprocessing after a continuation step finishes.
The stepStatus argument indicates whether the step was successful.
Reimplemented from LOCA::MultiContinuation::AbstractGroup.
References constraintsPtr, and grpPtr.
|
virtual |
Perform any preprocessing before a continuation step starts.
The stepStatus argument indicates whether the previous step was successful.
Reimplemented from LOCA::MultiContinuation::AbstractGroup.
References constraintsPtr, and grpPtr.
|
virtual |
Function to print out solution and parameter after successful step.
Reimplemented from LOCA::MultiContinuation::AbstractGroup.
References constraintsPtr, globalData, grpPtr, NOX::Utils::StepperDetails, and xVec.
|
virtual |
Function to print out a vector and parameter after successful step.
Reimplemented from LOCA::MultiContinuation::AbstractGroup.
References constraintsPtr, LOCA::Extended::Vector::getScalar(), LOCA::MultiContinuation::ExtendedVector::getXVec(), globalData, grpPtr, and NOX::Utils::StepperDetails.
|
virtual |
Projects solution to a few scalars for multiparameter continuation.
Reimplemented from LOCA::MultiContinuation::AbstractGroup.
References LOCA::Extended::Vector::getScalar(), LOCA::MultiContinuation::ExtendedVector::getXVec(), and grpPtr.
|
virtual |
Returns the dimension of the project to draw array.
Reimplemented from LOCA::MultiContinuation::AbstractGroup.
References grpPtr.
|
protectedvirtual |
Resets all isValid flags to false.
References isValidF, isValidGradient, isValidJacobian, and isValidNewton.
Referenced by computeX(), setBifParam(), setParam(), setParams(), setParamsMulti(), and setX().
|
virtual |
Scales a vector using scaling vector.
Reimplemented from LOCA::MultiContinuation::AbstractGroup.
References LOCA::MultiContinuation::ExtendedVector::getXVec(), and grpPtr.
|
protected |
Set bifurcation parameter.
References bifParamID, constraintsPtr, grpPtr, resetIsValid(), and xVec.
|
virtual |
Set parameter indexed by (integer) paramID.
Implements LOCA::MultiContinuation::AbstractGroup.
References bifParamID, constraintsPtr, grpPtr, resetIsValid(), and xVec.
Referenced by setParam().
|
virtual |
Set parameter indexed by (std::string) paramID.
Implements LOCA::MultiContinuation::AbstractGroup.
References LOCA::ParameterVector::getIndex(), grpPtr, and setParam().
|
virtual |
Set the parameter vector in the group to p (pVector = p).
Implements LOCA::MultiContinuation::AbstractGroup.
References bifParamID, constraintsPtr, grpPtr, LOCA::ParameterVector::length(), resetIsValid(), and xVec.
|
virtual |
Set parameters indexed by (integer) paramIDs.
Implements LOCA::MultiContinuation::AbstractGroup.
References bifParamID, constraintsPtr, grpPtr, resetIsValid(), setParamsMulti(), and xVec.
Referenced by setParamsMulti().
|
protectedvirtual |
Sets up multivector views.
References dfdpMultiVec, fBifMultiVec, ffMultiVec, fMultiVec, fVec, gradientMultiVec, gradientVec, index_dfdp, index_f, newtonMultiVec, newtonVec, xMultiVec, and xVec.
Referenced by copy(), ExtendedGroup(), and ExtendedGroup().
|
virtual |
Set the solution vector to y.
Implements NOX::Abstract::Group.
References bifParamID, constraintsPtr, LOCA::Extended::Vector::getScalar(), LOCA::MultiContinuation::ExtendedVector::getXVec(), grpPtr, resetIsValid(), and xVec.
|
protected |
Stores the bifurcation parameter index.
Referenced by computeJacobian(), computeX(), copy(), ExtendedGroup(), ExtendedGroup(), getBifParam(), setBifParam(), setParam(), setParams(), setParamsMulti(), and setX().
|
protected |
Pointer to base group as a bordered group.
Referenced by ExtendedGroup(), ExtendedGroup(), extractParameterComponent(), extractSolutionComponent(), fillA(), fillB(), fillC(), getBorderedWidth(), getUnborderedGroup(), and loadNestedComponents().
|
protected |
Stores bordered solver strategy.
Referenced by applyJacobianInverseMultiVector(), applyJacobianMultiVector(), applyJacobianTransposeMultiVector(), computeJacobian(), copy(), ExtendedGroup(), and ExtendedGroup().
|
protected |
Pointer to constraint object.
Referenced by computeDfDpMulti(), computeF(), computeJacobian(), computeX(), copy(), ExtendedGroup(), ExtendedGroup(), fillB(), fillC(), postProcessContinuationStep(), preProcessContinuationStep(), printSolution(), printSolution(), setBifParam(), setParam(), setParams(), setParamsMulti(), and setX().
|
protected |
Stores view of df/dp columns of fMultiVec.
Referenced by computeJacobian(), copy(), ExtendedGroup(), ExtendedGroup(), fillA(), fillC(), and setupViews().
|
protected |
Stores view of f and first column of df/dp.
Referenced by computeJacobian(), ExtendedGroup(), ExtendedGroup(), and setupViews().
|
protected |
Stores view of first column of fMultiVec as a multivec.
Referenced by computeNewton(), ExtendedGroup(), ExtendedGroup(), and setupViews().
|
protected |
Stores the extended residual vector and df/dp.
Referenced by copy(), ExtendedGroup(), ExtendedGroup(), and setupViews().
|
protected |
Stores view of first column of fMultiVec.
Referenced by computeF(), computeGradient(), ExtendedGroup(), ExtendedGroup(), getF(), getFPtr(), getNormF(), getNormNewtonSolveResidual(), and setupViews().
|
protected |
Pointer LOCA global data object.
Referenced by applyJacobianInverseMultiVector(), applyJacobianMultiVector(), applyJacobianTransposeMultiVector(), computeDfDpMulti(), computeF(), computeGradient(), computeJacobian(), computeNewton(), copy(), ExtendedGroup(), ExtendedGroup(), getInitialVectors(), getNormNewtonSolveResidual(), printSolution(), and printSolution().
|
protected |
Stores the extended gradient vector.
Referenced by copy(), ExtendedGroup(), ExtendedGroup(), and setupViews().
|
protected |
Stores view of first column of gradientMultiVec.
Referenced by computeGradient(), ExtendedGroup(), ExtendedGroup(), getGradient(), getGradientPtr(), and setupViews().
|
protected |
Pointer to base group that defines 
Referenced by computeDfDpMulti(), computeF(), computeJacobian(), computeScaledDotProduct(), computeX(), copy(), ExtendedGroup(), ExtendedGroup(), getBifParam(), getParam(), getParam(), getParams(), getUnborderedGroup(), getUnderlyingGroup(), getUnderlyingGroup(), postProcessContinuationStep(), preProcessContinuationStep(), printSolution(), printSolution(), projectToDraw(), projectToDrawDimension(), scaleVector(), setBifParam(), setParam(), setParam(), setParams(), setParamsMulti(), and setX().
|
protected |
Hopf parameter list.
Referenced by copy(), ExtendedGroup(), ExtendedGroup(), and getInitialVectors().
|
protected |
Stores indices for getting df/dp part of fMultiVec.
Referenced by copy(), ExtendedGroup(), ExtendedGroup(), and setupViews().
|
protected |
Stores indices for getting f part of fMultiVec.
Referenced by copy(), ExtendedGroup(), ExtendedGroup(), and setupViews().
|
protected |
Flag that indicates whether underlying group is a bordered group.
Referenced by ExtendedGroup(), ExtendedGroup(), extractParameterComponent(), extractSolutionComponent(), fillA(), fillB(), fillC(), getBorderedWidth(), getUnborderedGroup(), and loadNestedComponents().
|
protected |
Is residual vector valid.
Referenced by computeF(), computeJacobian(), copy(), ExtendedGroup(), ExtendedGroup(), isF(), and resetIsValid().
|
protected |
Is Gradient vector valid.
Referenced by computeGradient(), copy(), ExtendedGroup(), ExtendedGroup(), isGradient(), and resetIsValid().
|
protected |
Is Jacobian matrix valid.
Referenced by computeJacobian(), copy(), ExtendedGroup(), ExtendedGroup(), isJacobian(), and resetIsValid().
|
protected |
Is Newton vector valid.
Referenced by computeNewton(), copy(), ExtendedGroup(), ExtendedGroup(), isNewton(), and resetIsValid().
|
protected |
Stores the extended Newton vector.
Referenced by computeNewton(), copy(), ExtendedGroup(), ExtendedGroup(), and setupViews().
|
protected |
Stores view of first column of newtonMultiVec.
Referenced by ExtendedGroup(), ExtendedGroup(), getNewton(), getNewtonPtr(), getNormNewtonSolveResidual(), and setupViews().
|
protected |
Parsed top-level parameters.
Referenced by copy(), ExtendedGroup(), and ExtendedGroup().
|
protected |
Stores the extended solution vector.
Referenced by copy(), ExtendedGroup(), ExtendedGroup(), and setupViews().
|
protected |
Stores view of first column of xMultiVec.
Referenced by computeX(), ExtendedGroup(), ExtendedGroup(), getX(), getXPtr(), printSolution(), setBifParam(), setParam(), setParams(), setParamsMulti(), setupViews(), and setX().