|
NOX Development
|
LOCA's Homotopy Algorithm. More...
#include <LOCA_Homotopy_DeflatedGroup.H>


Public Member Functions | |
| DeflatedGroup (const Teuchos::RCP< LOCA::GlobalData > &global_data, const Teuchos::RCP< Teuchos::ParameterList > &topParams, const Teuchos::RCP< Teuchos::ParameterList > &hParams, const Teuchos::RCP< LOCA::Homotopy::AbstractGroup > &grp, const Teuchos::RCP< const NOX::Abstract::Vector > &start_vec, const std::vector< Teuchos::RCP< const NOX::Abstract::Vector > > &prev_solns, const double identity_sign=1.0) | |
| Constructor. | |
| DeflatedGroup (const DeflatedGroup &source, NOX::CopyType type=NOX::DeepCopy) | |
| Copy constructor. | |
| virtual | ~DeflatedGroup () |
| Destructor. | |
| double | getHomotopyParam () const |
| Get homotopy 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 Teuchos::RCP< NOX::Abstract::Group > | getNestedGroup () |
| Override from NOX::Abstract::Group base class. Calls getUnderlyingGroup() from this class. | |
| virtual Teuchos::RCP< const NOX::Abstract::Group > | getNestedGroup () const |
| Override from NOX::Abstract::Group base class. Calls getUnderlyingGroup() from this class. | |
| 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 > | homotopyParams |
| Pitchfork parameter list. | |
| Teuchos::RCP< LOCA::Homotopy::AbstractGroup > | grpPtr |
| Pointer to base group that defines | |
| Teuchos::RCP< LOCA::BorderedSystem::AbstractGroup > | bordered_grp |
| Pointer to base group as a bordered group. | |
| LOCA::MultiContinuation::ExtendedMultiVector | xMultiVec |
| Stores the extended solution vector. | |
| LOCA::MultiContinuation::ExtendedMultiVector | fMultiVec |
| Stores the extended residual vector. | |
| 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::ExtendedVector > | newtonVec |
| Stores view of first column of newtonMultiVec. | |
| Teuchos::RCP< LOCA::MultiContinuation::ExtendedVector > | gradientVec |
| Stores view of first column of gradientMultiVec. | |
| Teuchos::RCP< const NOX::Abstract::Vector > | startVec |
| Stores the starting vector, | |
| double | identitySign |
| std::vector< Teuchos::RCP< const NOX::Abstract::Vector > > | solns |
| Stores array of deflated solution vectors. | |
| Teuchos::RCP< NOX::Abstract::Vector > | distVec |
| Temporary vector for storing distance. | |
| Teuchos::RCP< NOX::Abstract::MultiVector > | totalDistMultiVec |
| Temporary vector for storing sum of distances. | |
| Teuchos::RCP< NOX::Abstract::Vector > | totalDistVec |
| Temporary vector for storing sum of distances. | |
| Teuchos::RCP< NOX::Abstract::MultiVector > | underlyingF |
| underlying group's F vector as a multivector | |
| Teuchos::RCP< LOCA::BorderedSolver::JacobianOperator > | jacOp |
| Teuchos::RCP< LOCA::BorderedSolver::AbstractStrategy > | borderedSolver |
| Stores bordered solver strategy. | |
| Teuchos::RCP< NOX::Abstract::MultiVector::DenseMatrix > | minusOne |
| Stores -1. | |
| int | numSolns |
| Number of previous solutions. | |
| std::vector< double > | distances |
| Array of distances from previous solutions. | |
| double | distProd |
| Product of distances. | |
| std::vector< int > | index_f |
| Stores indices for getting f part of fMultiVec. | |
| LOCA::ParameterVector | paramVec |
| Copy of the ParameterVector for the underlying grpPtr. | |
| double | conParam |
| Value of the homotopy continuation parameter. | |
| int | conParamID |
| Continuatioin parameter ID number from the ParameterVector. | |
| const std::string | conParamLabel |
| Contains the std::string used to identify the homotopy parameter in the ParameterVector object. | |
| bool | augmentJacForHomotopyNotImplemented |
| Tracks whether the LOCA::Homotopy::Group method augmentJacobianForHomotopy is implemented. If not, the augmentation is applied during the applyJacobian assuming a matrix-free implementation. | |
| 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 | setHomotopyParam (double param) |
| Set homotopy parameter. | |
| void | setStepperParameters (Teuchos::ParameterList &topParams) |
| Creates and sets the "Stepper" parameter sublist. | |
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... | |
LOCA's Homotopy Algorithm.
The HomotopyGroup is a concrete implementation of the LOCA::Continuation::AbstractGroup that modifies the set of nonlinear equations to be solved to allow for Homotopy to be applied to the system. This object should be used in conjunction with the LOCA::Stepper object to drive the continuation. This algorithm solves a system of nonlinear equations supplied by the user ( 





The modified system of equations, 
![\[ g(x, \lambda) = \lambda F(x) + (1.0 - \lambda)(x - a)(S) \]](form_478.png)
where 





This group requires the loca Stepper for continuation from 


References:
| LOCA::Homotopy::DeflatedGroup::DeflatedGroup | ( | const Teuchos::RCP< LOCA::GlobalData > & | global_data, |
| const Teuchos::RCP< Teuchos::ParameterList > & | topParams, | ||
| const Teuchos::RCP< Teuchos::ParameterList > & | hParams, | ||
| const Teuchos::RCP< LOCA::Homotopy::AbstractGroup > & | grp, | ||
| const Teuchos::RCP< const NOX::Abstract::Vector > & | start_vec, | ||
| const std::vector< Teuchos::RCP< const NOX::Abstract::Vector > > & | prev_solns, | ||
| const double | identity_sign = 1.0 ) |
Constructor.
| global_data | [in] Global data object |
| topParams | [in] Parsed top-level parameter list. |
| hParams | [in] Homotopy parameters |
| grp | [in] Group representing |
References augmentJacForHomotopyNotImplemented, bordered_grp, borderedSolver, clone(), conParam, conParamID, conParamLabel, distances, distProd, distVec, fMultiVec, fVec, getParams(), getX(), globalData, gradientMultiVec, gradientVec, grpPtr, homotopyParams, index_f, isBordered, isValidF, isValidGradient, isValidJacobian, isValidNewton, minusOne, newtonMultiVec, newtonVec, numSolns, paramVec, parsedParams, setStepperParameters(), setupViews(), solns, startVec, totalDistMultiVec, underlyingF, xMultiVec, and xVec.
Referenced by clone().
|
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, grpPtr, isJacobian(), and numSolns.
Referenced by applyJacobianInverse(), and computeNewton().
|
virtual |
Applies Jacobian for extended system.
Reimplemented from NOX::Abstract::Group.
References augmentJacForHomotopyNotImplemented, conParam, distProd, LOCA::Extended::MultiVector::getScalars(), LOCA::MultiContinuation::ExtendedMultiVector::getXMultiVec(), globalData, grpPtr, isJacobian(), numSolns, NOX::Abstract::MultiVector::numVectors(), totalDistMultiVec, and underlyingF.
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 augmentJacForHomotopyNotImplemented, conParam, distProd, LOCA::Extended::MultiVector::getScalars(), LOCA::MultiContinuation::ExtendedMultiVector::getXMultiVec(), globalData, grpPtr, isJacobian(), numSolns, NOX::Abstract::MultiVector::numVectors(), totalDistMultiVec, and underlyingF.
Referenced by applyJacobianTranspose().
|
virtual |
Clone function.
Implements NOX::Abstract::Group.
References DeflatedGroup().
Referenced by DeflatedGroup(), and DeflatedGroup().
|
virtual |
Compute 

Implements LOCA::MultiContinuation::AbstractGroup.
References conParam, conParamID, distProd, distVec, LOCA::Extended::MultiVector::getScalars(), LOCA::MultiContinuation::ExtendedMultiVector::getXMultiVec(), globalData, grpPtr, NOX::Abstract::Group::Ok, and startVec.
|
virtual |
Compute extended continuation equations.
Implements NOX::Abstract::Group.
References conParam, distances, distProd, distVec, fVec, globalData, grpPtr, isValidF, numSolns, NOX::Abstract::Group::Ok, solns, and startVec.
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 augmentJacForHomotopyNotImplemented, borderedSolver, conParam, distances, distProd, distVec, globalData, grpPtr, isValidJacobian, minusOne, NOX::Abstract::Group::NotDefined, numSolns, NOX::Abstract::Group::Ok, solns, totalDistMultiVec, totalDistVec, and underlyingF.
Referenced by computeGradient(), and computeNewton().
|
virtual |
Compute Newton direction for extended continuation system.
Reimplemented from NOX::Abstract::Group.
References applyJacobianInverseMultiVector(), computeF(), computeJacobian(), fMultiVec, 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 getX(), LOCA::MultiContinuation::ExtendedVector::getXVec(), grpPtr, resetIsValid(), and xVec.
|
virtual |
Assignment operator.
Implements LOCA::MultiContinuation::AbstractGroup.
References augmentJacForHomotopyNotImplemented, borderedSolver, conParam, conParamID, distances, distProd, distVec, fMultiVec, globalData, gradientMultiVec, grpPtr, homotopyParams, index_f, isValidF, isValidGradient, isValidJacobian, isValidNewton, minusOne, newtonMultiVec, numSolns, paramVec, parsedParams, setupViews(), solns, startVec, totalDistMultiVec, underlyingF, 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, isBordered, NOX::Abstract::MultiVector::subView(), and underlyingF.
|
virtual |
Fill the combined B block as described above.
Implements LOCA::BorderedSystem::AbstractGroup.
References bordered_grp, isBordered, NOX::Abstract::MultiVector::subView(), and totalDistMultiVec.
|
virtual |
Fill the combined C block as described above.
Implements LOCA::BorderedSystem::AbstractGroup.
References bordered_grp, isBordered, minusOne, totalDistMultiVec, and underlyingF.
|
virtual |
Return the total width of the bordered rows/columns.
Implements LOCA::BorderedSystem::AbstractGroup.
References bordered_grp, and isBordered.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Return copy of parameter indexed by (integer) paramID.
Implements LOCA::MultiContinuation::AbstractGroup.
References paramVec.
|
virtual |
Return copy of parameter indexed by (std::string) paramID.
Implements LOCA::MultiContinuation::AbstractGroup.
References paramVec.
|
virtual |
Return a const reference to the ParameterVector owned by the group.
Implements LOCA::MultiContinuation::AbstractGroup.
References paramVec.
Referenced by DeflatedGroup().
|
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 DeflatedGroup().
|
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 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 grpPtr.
|
virtual |
Function to print out solution and parameter after successful step.
Reimplemented from LOCA::MultiContinuation::AbstractGroup.
References globalData, grpPtr, and NOX::Utils::StepperDetails.
|
virtual |
Function to print out a vector and parameter after successful step.
Reimplemented from LOCA::MultiContinuation::AbstractGroup.
References 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.
|
virtual |
Scales a vector using scaling vector.
Reimplemented from LOCA::MultiContinuation::AbstractGroup.
References LOCA::MultiContinuation::ExtendedVector::getXVec(), and grpPtr.
|
virtual |
Set parameter indexed by (integer) paramID.
Implements LOCA::MultiContinuation::AbstractGroup.
References conParam, conParamID, grpPtr, paramVec, and resetIsValid().
Referenced by setParam().
|
virtual |
Set parameter indexed by (std::string) paramID.
Implements LOCA::MultiContinuation::AbstractGroup.
References paramVec, and setParam().
|
virtual |
Set the parameter vector in the group to p (pVector = p).
Implements LOCA::MultiContinuation::AbstractGroup.
References conParamID, grpPtr, resetIsValid(), and xVec.
|
virtual |
Set parameters indexed by (integer) paramIDs.
Implements LOCA::MultiContinuation::AbstractGroup.
References conParam, conParamID, grpPtr, paramVec, and resetIsValid().
|
virtual |
Set the solution vector to y.
Implements NOX::Abstract::Group.
References LOCA::MultiContinuation::ExtendedVector::getXVec(), grpPtr, resetIsValid(), and xVec.
|
protected |
Value of the homotopy continuation parameter.
Ranges from 0.0 (easy solution) to 1.0 (solution to the system of interest).
Referenced by applyJacobianMultiVector(), applyJacobianTransposeMultiVector(), computeDfDpMulti(), computeF(), computeJacobian(), copy(), DeflatedGroup(), DeflatedGroup(), getHomotopyParam(), setParam(), and setParamsMulti().
|
protected |
Copy of the ParameterVector for the underlying grpPtr.
We copy this and then add the homotopy parameter to the list.
Referenced by copy(), DeflatedGroup(), DeflatedGroup(), getParam(), getParam(), getParams(), setHomotopyParam(), setParam(), setParam(), and setParamsMulti().