#include <LOCA_MultiContinuation_ExtendedGroup.H>
Public Member Functions | |
ExtendedGroup (const ExtendedGroup &source, NOX::CopyType type=NOX::DeepCopy) | |
Copy constructor. | |
virtual | ~ExtendedGroup () |
Destructor. | |
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 |
Cloning 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 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::AbstractStrategy | |
virtual methods | |
virtual void | copy (const NOX::Abstract::Group &source) |
Assignment operator. | |
virtual int | getNumParams () const |
Returns number of parameters. | |
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 NOX::Abstract::Group::ReturnType | computePredictor () |
Compute predictor directions. | |
virtual bool | isPredictor () const |
Is Predictor valid. | |
virtual void | scaleTangent () |
Scales tangent to predictor. | |
virtual void | setPredictorTangentDirection (const LOCA::MultiContinuation::ExtendedVector &v, int i) |
Sets tangent to predictor. | |
virtual const LOCA::MultiContinuation::ExtendedMultiVector & | getPredictorTangent () const |
Returns tangent to predictor. | |
virtual const LOCA::MultiContinuation::ExtendedMultiVector & | getScaledPredictorTangent () const |
Returns scaled tangent to predictor. | |
virtual void | setPrevX (const NOX::Abstract::Vector &y) |
Set the previous solution vector y. | |
virtual const LOCA::MultiContinuation::ExtendedVector & | getPrevX () const |
Gets the previous solution vector. | |
virtual void | setStepSize (double deltaS, int i=0) |
Set step size for continuation constraint equation i. | |
virtual double | getStepSize (int i=0) const |
Get step size for continuation constraint equation i. | |
virtual void | setContinuationParameter (double val, int i=0) |
Sets the value for continuation parameter i. | |
virtual double | getContinuationParameter (int i=0) const |
Returns the value for continuation parameter i. | |
virtual int | getContinuationParameterID (int i=0) const |
Get the continuation parameter id for parameter i. | |
virtual const vector< int > & | getContinuationParameterIDs () const |
Get the continuation parameter ids. | |
virtual string | getContinuationParameterName (int i=0) const |
Get the continuation parameter id for parameter i. | |
virtual double | getStepSizeScaleFactor (int i=0) const |
Returns step size scale factor for constraint equation i. | |
virtual void | printSolution () const |
Prints the group. | |
virtual double | computeScaledDotProduct (const NOX::Abstract::Vector &x, const NOX::Abstract::Vector &y) const |
Computes a scaled dot product between two continuation vectors. | |
virtual int | projectToDrawDimension () const |
Returns dimension of project to draw array. | |
virtual void | projectToDraw (const LOCA::MultiContinuation::ExtendedVector &x, double *px) const |
Fills the project to draw array. | |
Implementation of | |
virtual int | getBorderedWidth () const |
Return the total width of the bordered rows/columns. | |
virtual Teuchos::RCP< const NOX::Abstract::Group > | getUnborderedGroup () const |
Get bottom-level unbordered group. | |
virtual bool | isCombinedAZero () const |
Indicates whether combined A block is zero. | |
virtual bool | isCombinedBZero () const |
Indicates whether combined B block is zero. | |
virtual bool | isCombinedCZero () const |
Indicates whether combined C block is zero. | |
virtual void | extractSolutionComponent (const NOX::Abstract::MultiVector &v, NOX::Abstract::MultiVector &v_x) const |
virtual void | extractParameterComponent (bool use_transpose, const NOX::Abstract::MultiVector &v, NOX::Abstract::MultiVector::DenseMatrix &v_p) const |
virtual void | loadNestedComponents (const NOX::Abstract::MultiVector &v_x, const NOX::Abstract::MultiVector::DenseMatrix &v_p, NOX::Abstract::MultiVector &v) const |
virtual void | fillA (NOX::Abstract::MultiVector &A) const |
Fill the combined A block as described above. | |
virtual void | fillB (NOX::Abstract::MultiVector &B) const |
Fill the combined B block as described above. | |
virtual void | fillC (NOX::Abstract::MultiVector::DenseMatrix &C) const |
Fill the combined C block as described above. | |
Protected Member Functions | |
ExtendedGroup (const Teuchos::RCP< LOCA::GlobalData > &global_data, const Teuchos::RCP< LOCA::Parameter::SublistParser > &topParams, const Teuchos::RCP< Teuchos::ParameterList > &continuationParams, const Teuchos::RCP< LOCA::MultiContinuation::AbstractGroup > &grp, const Teuchos::RCP< LOCA::MultiPredictor::AbstractStrategy > &pred, const vector< int > ¶mIDs) | |
Constructor used by derived classes. | |
virtual void | setConstraints (const Teuchos::RCP< LOCA::MultiContinuation::ConstraintInterface > &constraints, bool skip_dfdp) |
Set constraint object. | |
Protected Attributes | |
Teuchos::RCP< LOCA::GlobalData > | globalData |
Pointer LOCA global data object. | |
Teuchos::RCP < LOCA::Parameter::SublistParser > | parsedParams |
Parsed top-level parameters. | |
Teuchos::RCP < Teuchos::ParameterList > | continuationParams |
Continuation parameter list. | |
Teuchos::RCP < LOCA::MultiContinuation::AbstractGroup > | grpPtr |
Pointer to underlying group. | |
Teuchos::RCP < LOCA::MultiPredictor::AbstractStrategy > | predictor |
Pointer to predictor object. | |
Teuchos::RCP < LOCA::MultiContinuation::ConstrainedGroup > | conGroup |
Pointer to constrained group implementation. | |
int | numParams |
Number of parameters. | |
LOCA::MultiContinuation::ExtendedMultiVector | tangentMultiVec |
Stores the tangent to the predictor. | |
LOCA::MultiContinuation::ExtendedMultiVector | scaledTangentMultiVec |
Stores the scaled tangent to the predictor. | |
LOCA::MultiContinuation::ExtendedVector | prevXVec |
Stores the previous extended solution vector. | |
vector< int > | conParamIDs |
integer id of continuation parameters | |
vector< double > | stepSize |
continuation step size | |
vector< double > | stepSizeScaleFactor |
step size scale factors | |
bool | isValidPredictor |
Is Predictor vector valid. | |
bool | baseOnSecant |
Flag indicating whether to base predictor direction on secant. | |
Private Member Functions | |
ExtendedGroup & | operator= (const ExtendedGroup &source) |
Prohibit generation and use of operator=(). |
Continuation is defined as computing some curve such that
for some parameterization
. Given some point
on the curve, another nearby point on the curve is calculated by first computing a predictor direction
and the approximate point
where
is the step size. Then the next point on the curve is computed by solving the extended set of equations
for . The equation
is called the continuation equation and different choices of
yield different continuation methods.
Mathematically, this computation amounts to repeatedly computing solutions to a constrained nonlinear system. This class provides a common implementation for all continuation groups in terms of the LOCA::MultiContinuation::ConstrainedGroup using a supplied group to represent and an implementation of LOCA::MultiContinuation::ConstraintInterface to represent
.
Note that this class has no public constructor other than the copy constructor since it is intended to only provide an implemenation of much of the continuation work. Each derived class that implements a specific continuation strategy should provide its own public constructor.
Definition at line 111 of file LOCA_MultiContinuation_ExtendedGroup.H.
LOCA::MultiContinuation::ExtendedGroup::ExtendedGroup | ( | const ExtendedGroup & | source, | |
NOX::CopyType | type = NOX::DeepCopy | |||
) |
Copy constructor.
Definition at line 54 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup, NOX::DeepCopy, grpPtr, isValidPredictor, and predictor.
Referenced by clone().
LOCA::MultiContinuation::ExtendedGroup::~ExtendedGroup | ( | ) | [virtual] |
LOCA::MultiContinuation::ExtendedGroup::ExtendedGroup | ( | const Teuchos::RCP< LOCA::GlobalData > & | global_data, | |
const Teuchos::RCP< LOCA::Parameter::SublistParser > & | topParams, | |||
const Teuchos::RCP< Teuchos::ParameterList > & | continuationParams, | |||
const Teuchos::RCP< LOCA::MultiContinuation::AbstractGroup > & | grp, | |||
const Teuchos::RCP< LOCA::MultiPredictor::AbstractStrategy > & | pred, | |||
const vector< int > & | paramIDs | |||
) | [protected] |
Constructor used by derived classes.
Definition at line 577 of file LOCA_MultiContinuation_ExtendedGroup.C.
NOX::Abstract::Group & LOCA::MultiContinuation::ExtendedGroup::operator= | ( | const NOX::Abstract::Group & | source | ) | [virtual] |
Assignment operator.
Implements NOX::Abstract::Group.
Reimplemented in LOCA::MultiContinuation::ArcLengthGroup, and LOCA::MultiContinuation::NaturalGroup.
Definition at line 86 of file LOCA_MultiContinuation_ExtendedGroup.C.
References copy().
Teuchos::RCP< NOX::Abstract::Group > LOCA::MultiContinuation::ExtendedGroup::clone | ( | NOX::CopyType | type = NOX::DeepCopy |
) | const [virtual] |
Cloning function.
Implements NOX::Abstract::Group.
Reimplemented in LOCA::MultiContinuation::ArcLengthGroup, and LOCA::MultiContinuation::NaturalGroup.
Definition at line 94 of file LOCA_MultiContinuation_ExtendedGroup.C.
References ExtendedGroup().
void LOCA::MultiContinuation::ExtendedGroup::setX | ( | const NOX::Abstract::Vector & | y | ) | [virtual] |
Set the solution vector to y.
Implements NOX::Abstract::Group.
Definition at line 100 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
void LOCA::MultiContinuation::ExtendedGroup::computeX | ( | const NOX::Abstract::Group & | g, | |
const NOX::Abstract::Vector & | d, | |||
double | step | |||
) | [virtual] |
Compute and return solution vector, x, where this.x = grp.x + step * d.
Implements NOX::Abstract::Group.
Definition at line 106 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::ExtendedGroup::computeF | ( | ) | [virtual] |
Compute extended continuation equations.
Implements NOX::Abstract::Group.
Definition at line 118 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::ExtendedGroup::computeJacobian | ( | ) | [virtual] |
Compute extended continuation jacobian.
Reimplemented from NOX::Abstract::Group.
Definition at line 124 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::ExtendedGroup::computeGradient | ( | ) | [virtual] |
Gradient is not defined for this system.
Reimplemented from NOX::Abstract::Group.
Definition at line 130 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::ExtendedGroup::computeNewton | ( | Teuchos::ParameterList & | params | ) | [virtual] |
Compute Newton direction for extended continuation system.
Reimplemented from NOX::Abstract::Group.
Definition at line 136 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::ExtendedGroup::applyJacobian | ( | const NOX::Abstract::Vector & | input, | |
NOX::Abstract::Vector & | result | |||
) | const [virtual] |
Applies Jacobian for extended system.
Reimplemented from NOX::Abstract::Group.
Definition at line 143 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::ExtendedGroup::applyJacobianTranspose | ( | const NOX::Abstract::Vector & | input, | |
NOX::Abstract::Vector & | result | |||
) | const [virtual] |
Jacobian transpose not defined for this system.
Reimplemented from NOX::Abstract::Group.
Definition at line 151 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::ExtendedGroup::applyJacobianInverse | ( | Teuchos::ParameterList & | params, | |
const NOX::Abstract::Vector & | input, | |||
NOX::Abstract::Vector & | result | |||
) | const [virtual] |
Applies Jacobian inverse for extended system.
Reimplemented from NOX::Abstract::Group.
Definition at line 159 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::ExtendedGroup::applyJacobianMultiVector | ( | const NOX::Abstract::MultiVector & | input, | |
NOX::Abstract::MultiVector & | result | |||
) | const [virtual] |
Applies Jacobian for extended system.
Reimplemented from NOX::Abstract::Group.
Definition at line 168 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::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 176 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::ExtendedGroup::applyJacobianInverseMultiVector | ( | Teuchos::ParameterList & | params, | |
const NOX::Abstract::MultiVector & | input, | |||
NOX::Abstract::MultiVector & | result | |||
) | const [virtual] |
Applies Jacobian inverse for extended system.
Reimplemented from NOX::Abstract::Group.
Definition at line 184 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
bool LOCA::MultiContinuation::ExtendedGroup::isF | ( | ) | const [virtual] |
Return true
if extended residual is valid.
Implements NOX::Abstract::Group.
Definition at line 193 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
bool LOCA::MultiContinuation::ExtendedGroup::isJacobian | ( | ) | const [virtual] |
Return true
if the extended Jacobian is valid.
Reimplemented from NOX::Abstract::Group.
Definition at line 199 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
bool LOCA::MultiContinuation::ExtendedGroup::isGradient | ( | ) | const [virtual] |
Always returns false.
Reimplemented from NOX::Abstract::Group.
Definition at line 205 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
bool LOCA::MultiContinuation::ExtendedGroup::isNewton | ( | ) | const [virtual] |
Return true
if the extended Newton direction is valid.
Reimplemented from NOX::Abstract::Group.
Definition at line 211 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
const NOX::Abstract::Vector & LOCA::MultiContinuation::ExtendedGroup::getX | ( | ) | const [virtual] |
Return extended solution vector.
Implements NOX::Abstract::Group.
Definition at line 217 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
Referenced by computePredictor().
const NOX::Abstract::Vector & LOCA::MultiContinuation::ExtendedGroup::getF | ( | ) | const [virtual] |
Return extended residual.
Implements NOX::Abstract::Group.
Definition at line 223 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
double LOCA::MultiContinuation::ExtendedGroup::getNormF | ( | ) | const [virtual] |
Return 2-norm of extended residual.
Implements NOX::Abstract::Group.
Definition at line 229 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
const NOX::Abstract::Vector & LOCA::MultiContinuation::ExtendedGroup::getGradient | ( | ) | const [virtual] |
Gradient is never valid.
Implements NOX::Abstract::Group.
Definition at line 235 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
const NOX::Abstract::Vector & LOCA::MultiContinuation::ExtendedGroup::getNewton | ( | ) | const [virtual] |
Return extended Newton direction.
Implements NOX::Abstract::Group.
Definition at line 241 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
double LOCA::MultiContinuation::ExtendedGroup::getNormNewtonSolveResidual | ( | ) | const [virtual] |
Returns 2-norm of extended Newton solve residual.
Definition at line 247 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
Teuchos::RCP< const LOCA::MultiContinuation::AbstractGroup > LOCA::MultiContinuation::ExtendedGroup::getUnderlyingGroup | ( | ) | const [virtual] |
Return underlying group.
Implements LOCA::Extended::MultiAbstractGroup.
Definition at line 253 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
Referenced by LOCA::MultiPredictor::Tangent::compute(), and LOCA::Stepper::start().
Teuchos::RCP< LOCA::MultiContinuation::AbstractGroup > LOCA::MultiContinuation::ExtendedGroup::getUnderlyingGroup | ( | ) | [virtual] |
Return underlying group.
Implements LOCA::Extended::MultiAbstractGroup.
Definition at line 259 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
void LOCA::MultiContinuation::ExtendedGroup::copy | ( | const NOX::Abstract::Group & | source | ) | [virtual] |
Assignment operator.
Implements LOCA::MultiContinuation::AbstractStrategy.
Reimplemented in LOCA::MultiContinuation::ArcLengthGroup, and LOCA::MultiContinuation::NaturalGroup.
Definition at line 265 of file LOCA_MultiContinuation_ExtendedGroup.C.
References baseOnSecant, conGroup, conParamIDs, continuationParams, globalData, grpPtr, isValidPredictor, numParams, parsedParams, predictor, prevXVec, scaledTangentMultiVec, stepSize, stepSizeScaleFactor, and tangentMultiVec.
Referenced by operator=().
int LOCA::MultiContinuation::ExtendedGroup::getNumParams | ( | ) | const [virtual] |
Returns number of parameters.
Implements LOCA::MultiContinuation::AbstractStrategy.
Definition at line 292 of file LOCA_MultiContinuation_ExtendedGroup.C.
References numParams.
void LOCA::MultiContinuation::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.
Implements LOCA::MultiContinuation::AbstractStrategy.
Definition at line 298 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
void LOCA::MultiContinuation::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.
Implements LOCA::MultiContinuation::AbstractStrategy.
Definition at line 305 of file LOCA_MultiContinuation_ExtendedGroup.C.
References baseOnSecant, conGroup, isValidPredictor, and LOCA::Abstract::Iterator::Successful.
NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::ExtendedGroup::computePredictor | ( | ) | [virtual] |
Compute predictor directions.
Implements LOCA::MultiContinuation::AbstractStrategy.
Definition at line 316 of file LOCA_MultiContinuation_ExtendedGroup.C.
References baseOnSecant, conGroup, getX(), globalData, isValidPredictor, NOX::Abstract::Group::Ok, predictor, prevXVec, scaleTangent(), stepSize, and tangentMultiVec.
bool LOCA::MultiContinuation::ExtendedGroup::isPredictor | ( | ) | const [virtual] |
Is Predictor valid.
Implements LOCA::MultiContinuation::AbstractStrategy.
Definition at line 347 of file LOCA_MultiContinuation_ExtendedGroup.C.
References isValidPredictor.
void LOCA::MultiContinuation::ExtendedGroup::scaleTangent | ( | ) | [virtual] |
Scales tangent to predictor.
Implements LOCA::MultiContinuation::AbstractStrategy.
Reimplemented in LOCA::MultiContinuation::ArcLengthGroup.
Definition at line 353 of file LOCA_MultiContinuation_ExtendedGroup.C.
References LOCA::MultiContinuation::ExtendedVector::getXVec(), grpPtr, numParams, predictor, scaledTangentMultiVec, and tangentMultiVec.
Referenced by computePredictor().
void LOCA::MultiContinuation::ExtendedGroup::setPredictorTangentDirection | ( | const LOCA::MultiContinuation::ExtendedVector & | v, | |
int | i | |||
) | [virtual] |
Sets tangent to predictor.
This is required by MF which takes the tangent space, orthogonalizes it, and then sets it back in the group.
Implements LOCA::MultiContinuation::AbstractStrategy.
Definition at line 373 of file LOCA_MultiContinuation_ExtendedGroup.C.
References tangentMultiVec.
const LOCA::MultiContinuation::ExtendedMultiVector & LOCA::MultiContinuation::ExtendedGroup::getPredictorTangent | ( | ) | const [virtual] |
Returns tangent to predictor.
Implements LOCA::MultiContinuation::AbstractStrategy.
Definition at line 381 of file LOCA_MultiContinuation_ExtendedGroup.C.
References tangentMultiVec.
const LOCA::MultiContinuation::ExtendedMultiVector & LOCA::MultiContinuation::ExtendedGroup::getScaledPredictorTangent | ( | ) | const [virtual] |
Returns scaled tangent to predictor.
Implements LOCA::MultiContinuation::AbstractStrategy.
Definition at line 388 of file LOCA_MultiContinuation_ExtendedGroup.C.
References scaledTangentMultiVec.
void LOCA::MultiContinuation::ExtendedGroup::setPrevX | ( | const NOX::Abstract::Vector & | y | ) | [virtual] |
Set the previous solution vector y.
Implements LOCA::MultiContinuation::AbstractStrategy.
Definition at line 394 of file LOCA_MultiContinuation_ExtendedGroup.C.
References prevXVec.
const LOCA::MultiContinuation::ExtendedVector & LOCA::MultiContinuation::ExtendedGroup::getPrevX | ( | ) | const [virtual] |
Gets the previous solution vector.
Implements LOCA::MultiContinuation::AbstractStrategy.
Definition at line 401 of file LOCA_MultiContinuation_ExtendedGroup.C.
References prevXVec.
void LOCA::MultiContinuation::ExtendedGroup::setStepSize | ( | double | deltaS, | |
int | i = 0 | |||
) | [virtual] |
Set step size for continuation constraint equation i.
Implements LOCA::MultiContinuation::AbstractStrategy.
Definition at line 407 of file LOCA_MultiContinuation_ExtendedGroup.C.
References stepSize.
double LOCA::MultiContinuation::ExtendedGroup::getStepSize | ( | int | i = 0 |
) | const [virtual] |
Get step size for continuation constraint equation i.
Implements LOCA::MultiContinuation::AbstractStrategy.
Definition at line 413 of file LOCA_MultiContinuation_ExtendedGroup.C.
References stepSize.
void LOCA::MultiContinuation::ExtendedGroup::setContinuationParameter | ( | double | val, | |
int | i = 0 | |||
) | [virtual] |
Sets the value for continuation parameter i.
Implements LOCA::MultiContinuation::AbstractStrategy.
Definition at line 419 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
double LOCA::MultiContinuation::ExtendedGroup::getContinuationParameter | ( | int | i = 0 |
) | const [virtual] |
Returns the value for continuation parameter i.
Implements LOCA::MultiContinuation::AbstractStrategy.
Definition at line 426 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
Referenced by printSolution().
int LOCA::MultiContinuation::ExtendedGroup::getContinuationParameterID | ( | int | i = 0 |
) | const [virtual] |
Get the continuation parameter id for parameter i.
Implements LOCA::MultiContinuation::AbstractStrategy.
Definition at line 432 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conParamIDs.
const vector< int > & LOCA::MultiContinuation::ExtendedGroup::getContinuationParameterIDs | ( | ) | const [virtual] |
Get the continuation parameter ids.
Implements LOCA::MultiContinuation::AbstractStrategy.
Definition at line 438 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conParamIDs.
Referenced by LOCA::MultiPredictor::Tangent::compute().
string LOCA::MultiContinuation::ExtendedGroup::getContinuationParameterName | ( | int | i = 0 |
) | const [virtual] |
Get the continuation parameter id for parameter i.
Implements LOCA::MultiContinuation::AbstractStrategy.
Definition at line 444 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conParamIDs, LOCA::ParameterVector::getLabel(), and grpPtr.
Referenced by LOCA::MultiContinuation::ArcLengthGroup::scaleTangent().
double LOCA::MultiContinuation::ExtendedGroup::getStepSizeScaleFactor | ( | int | i = 0 |
) | const [virtual] |
Returns step size scale factor for constraint equation i.
Implements LOCA::MultiContinuation::AbstractStrategy.
Definition at line 452 of file LOCA_MultiContinuation_ExtendedGroup.C.
References stepSizeScaleFactor.
void LOCA::MultiContinuation::ExtendedGroup::printSolution | ( | ) | const [virtual] |
Prints the group.
Implements LOCA::MultiContinuation::AbstractStrategy.
Definition at line 458 of file LOCA_MultiContinuation_ExtendedGroup.C.
References getContinuationParameter(), grpPtr, and numParams.
double LOCA::MultiContinuation::ExtendedGroup::computeScaledDotProduct | ( | const NOX::Abstract::Vector & | x, | |
const NOX::Abstract::Vector & | y | |||
) | const [virtual] |
Computes a scaled dot product between two continuation vectors.
Implements LOCA::MultiContinuation::AbstractStrategy.
Reimplemented in LOCA::MultiContinuation::ArcLengthGroup.
Definition at line 465 of file LOCA_MultiContinuation_ExtendedGroup.C.
References LOCA::Extended::Vector::getScalar(), LOCA::MultiContinuation::ExtendedVector::getXVec(), grpPtr, and numParams.
Referenced by LOCA::MultiPredictor::AbstractStrategy::setPredictorOrientation().
int LOCA::MultiContinuation::ExtendedGroup::projectToDrawDimension | ( | ) | const [virtual] |
Returns dimension of project to draw array.
Implements LOCA::MultiContinuation::AbstractStrategy.
Definition at line 482 of file LOCA_MultiContinuation_ExtendedGroup.C.
void LOCA::MultiContinuation::ExtendedGroup::projectToDraw | ( | const LOCA::MultiContinuation::ExtendedVector & | x, | |
double * | px | |||
) | const [virtual] |
Fills the project to draw array.
Implements LOCA::MultiContinuation::AbstractStrategy.
Definition at line 488 of file LOCA_MultiContinuation_ExtendedGroup.C.
References LOCA::Extended::Vector::getScalar(), LOCA::MultiContinuation::ExtendedVector::getXVec(), grpPtr, and numParams.
int LOCA::MultiContinuation::ExtendedGroup::getBorderedWidth | ( | ) | const [virtual] |
Return the total width of the bordered rows/columns.
Implements LOCA::BorderedSystem::AbstractGroup.
Definition at line 501 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
Teuchos::RCP< const NOX::Abstract::Group > LOCA::MultiContinuation::ExtendedGroup::getUnborderedGroup | ( | ) | const [virtual] |
Get bottom-level unbordered group.
Implements LOCA::BorderedSystem::AbstractGroup.
Definition at line 507 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
bool LOCA::MultiContinuation::ExtendedGroup::isCombinedAZero | ( | ) | const [virtual] |
Indicates whether combined A block is zero.
Implements LOCA::BorderedSystem::AbstractGroup.
Definition at line 513 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
bool LOCA::MultiContinuation::ExtendedGroup::isCombinedBZero | ( | ) | const [virtual] |
Indicates whether combined B block is zero.
Implements LOCA::BorderedSystem::AbstractGroup.
Definition at line 519 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
bool LOCA::MultiContinuation::ExtendedGroup::isCombinedCZero | ( | ) | const [virtual] |
Indicates whether combined C block is zero.
Implements LOCA::BorderedSystem::AbstractGroup.
Definition at line 525 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
void LOCA::MultiContinuation::ExtendedGroup::extractSolutionComponent | ( | const NOX::Abstract::MultiVector & | v, | |
NOX::Abstract::MultiVector & | v_x | |||
) | const [virtual] |
Given the vector v
, extract the underlying solution component corresponding to the unbordered group.
Implements LOCA::BorderedSystem::AbstractGroup.
Definition at line 531 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
void LOCA::MultiContinuation::ExtendedGroup::extractParameterComponent | ( | bool | use_transpose, | |
const NOX::Abstract::MultiVector & | v, | |||
NOX::Abstract::MultiVector::DenseMatrix & | v_p | |||
) | const [virtual] |
Given the vector v
, extract the parameter components of all of the nested subvectors in v
down to the solution component for the unbordered group.
Implements LOCA::BorderedSystem::AbstractGroup.
Definition at line 539 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
void LOCA::MultiContinuation::ExtendedGroup::loadNestedComponents | ( | const NOX::Abstract::MultiVector & | v_x, | |
const NOX::Abstract::MultiVector::DenseMatrix & | v_p, | |||
NOX::Abstract::MultiVector & | v | |||
) | const [virtual] |
Given the solution component v_x
and combined parameter components v_p
, distribute these components through the nested sub-vectors in v
.
Implements LOCA::BorderedSystem::AbstractGroup.
Definition at line 548 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
void LOCA::MultiContinuation::ExtendedGroup::fillA | ( | NOX::Abstract::MultiVector & | A | ) | const [virtual] |
Fill the combined A block as described above.
Implements LOCA::BorderedSystem::AbstractGroup.
Definition at line 557 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
void LOCA::MultiContinuation::ExtendedGroup::fillB | ( | NOX::Abstract::MultiVector & | B | ) | const [virtual] |
Fill the combined B block as described above.
Implements LOCA::BorderedSystem::AbstractGroup.
Definition at line 564 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
void LOCA::MultiContinuation::ExtendedGroup::fillC | ( | NOX::Abstract::MultiVector::DenseMatrix & | C | ) | const [virtual] |
Fill the combined C block as described above.
Implements LOCA::BorderedSystem::AbstractGroup.
Definition at line 571 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup.
void LOCA::MultiContinuation::ExtendedGroup::setConstraints | ( | const Teuchos::RCP< LOCA::MultiContinuation::ConstraintInterface > & | constraints, | |
bool | skip_dfdp | |||
) | [protected, virtual] |
Set constraint object.
This allows the constraint object to be set after the group is constructed using the above constructor.
Definition at line 605 of file LOCA_MultiContinuation_ExtendedGroup.C.
References conGroup, conParamIDs, continuationParams, globalData, grpPtr, and parsedParams.
Referenced by LOCA::MultiContinuation::ArcLengthGroup::ArcLengthGroup(), and LOCA::MultiContinuation::NaturalGroup::NaturalGroup().
ExtendedGroup& LOCA::MultiContinuation::ExtendedGroup::operator= | ( | const ExtendedGroup & | source | ) | [private] |
Prohibit generation and use of operator=().
Teuchos::RCP<LOCA::GlobalData> LOCA::MultiContinuation::ExtendedGroup::globalData [protected] |
Pointer LOCA global data object.
Definition at line 440 of file LOCA_MultiContinuation_ExtendedGroup.H.
Referenced by LOCA::MultiContinuation::ArcLengthGroup::ArcLengthGroup(), computePredictor(), copy(), LOCA::MultiContinuation::NaturalGroup::NaturalGroup(), LOCA::MultiContinuation::ArcLengthGroup::scaleTangent(), and setConstraints().
Teuchos::RCP<LOCA::Parameter::SublistParser> LOCA::MultiContinuation::ExtendedGroup::parsedParams [protected] |
Parsed top-level parameters.
Definition at line 443 of file LOCA_MultiContinuation_ExtendedGroup.H.
Referenced by copy(), and setConstraints().
Teuchos::RCP<Teuchos::ParameterList> LOCA::MultiContinuation::ExtendedGroup::continuationParams [protected] |
Continuation parameter list.
Definition at line 446 of file LOCA_MultiContinuation_ExtendedGroup.H.
Referenced by copy(), and setConstraints().
Teuchos::RCP<LOCA::MultiContinuation::AbstractGroup> LOCA::MultiContinuation::ExtendedGroup::grpPtr [protected] |
Pointer to underlying group.
Definition at line 449 of file LOCA_MultiContinuation_ExtendedGroup.H.
Referenced by computeScaledDotProduct(), LOCA::MultiContinuation::ArcLengthGroup::computeScaledDotProduct(), copy(), ExtendedGroup(), getContinuationParameterName(), printSolution(), projectToDraw(), projectToDrawDimension(), scaleTangent(), LOCA::MultiContinuation::ArcLengthGroup::scaleTangent(), and setConstraints().
Teuchos::RCP<LOCA::MultiPredictor::AbstractStrategy> LOCA::MultiContinuation::ExtendedGroup::predictor [protected] |
Pointer to predictor object.
Definition at line 452 of file LOCA_MultiContinuation_ExtendedGroup.H.
Referenced by computePredictor(), copy(), ExtendedGroup(), scaleTangent(), and LOCA::MultiContinuation::ArcLengthGroup::scaleTangent().
Teuchos::RCP<LOCA::MultiContinuation::ConstrainedGroup> LOCA::MultiContinuation::ExtendedGroup::conGroup [protected] |
Pointer to constrained group implementation.
Definition at line 455 of file LOCA_MultiContinuation_ExtendedGroup.H.
Referenced by applyJacobian(), applyJacobianInverse(), applyJacobianInverseMultiVector(), applyJacobianMultiVector(), applyJacobianTranspose(), applyJacobianTransposeMultiVector(), LOCA::MultiContinuation::ArcLengthGroup::ArcLengthGroup(), computeF(), computeGradient(), computeJacobian(), computeNewton(), computePredictor(), computeX(), copy(), ExtendedGroup(), extractParameterComponent(), extractSolutionComponent(), fillA(), fillB(), fillC(), getBorderedWidth(), getContinuationParameter(), getF(), getGradient(), getNewton(), getNormF(), getNormNewtonSolveResidual(), getUnborderedGroup(), getUnderlyingGroup(), getX(), isCombinedAZero(), isCombinedBZero(), isCombinedCZero(), isF(), isGradient(), isJacobian(), isNewton(), loadNestedComponents(), LOCA::MultiContinuation::NaturalGroup::NaturalGroup(), postProcessContinuationStep(), preProcessContinuationStep(), setConstraints(), setContinuationParameter(), and setX().
int LOCA::MultiContinuation::ExtendedGroup::numParams [protected] |
Number of parameters.
Definition at line 458 of file LOCA_MultiContinuation_ExtendedGroup.H.
Referenced by LOCA::MultiContinuation::ArcLengthGroup::ArcLengthGroup(), computeScaledDotProduct(), LOCA::MultiContinuation::ArcLengthGroup::computeScaledDotProduct(), copy(), getNumParams(), printSolution(), projectToDraw(), projectToDrawDimension(), scaleTangent(), and LOCA::MultiContinuation::ArcLengthGroup::scaleTangent().
LOCA::MultiContinuation::ExtendedMultiVector LOCA::MultiContinuation::ExtendedGroup::tangentMultiVec [protected] |
Stores the tangent to the predictor.
Definition at line 461 of file LOCA_MultiContinuation_ExtendedGroup.H.
Referenced by computePredictor(), copy(), getPredictorTangent(), scaleTangent(), LOCA::MultiContinuation::ArcLengthGroup::scaleTangent(), and setPredictorTangentDirection().
LOCA::MultiContinuation::ExtendedMultiVector LOCA::MultiContinuation::ExtendedGroup::scaledTangentMultiVec [protected] |
Stores the scaled tangent to the predictor.
Definition at line 464 of file LOCA_MultiContinuation_ExtendedGroup.H.
Referenced by copy(), getScaledPredictorTangent(), scaleTangent(), and LOCA::MultiContinuation::ArcLengthGroup::scaleTangent().
LOCA::MultiContinuation::ExtendedVector LOCA::MultiContinuation::ExtendedGroup::prevXVec [protected] |
Stores the previous extended solution vector.
Definition at line 468 of file LOCA_MultiContinuation_ExtendedGroup.H.
Referenced by computePredictor(), copy(), getPrevX(), and setPrevX().
vector<int> LOCA::MultiContinuation::ExtendedGroup::conParamIDs [protected] |
integer id of continuation parameters
Definition at line 471 of file LOCA_MultiContinuation_ExtendedGroup.H.
Referenced by copy(), getContinuationParameterID(), getContinuationParameterIDs(), getContinuationParameterName(), and setConstraints().
vector<double> LOCA::MultiContinuation::ExtendedGroup::stepSize [protected] |
continuation step size
Definition at line 474 of file LOCA_MultiContinuation_ExtendedGroup.H.
Referenced by computePredictor(), copy(), getStepSize(), and setStepSize().
vector<double> LOCA::MultiContinuation::ExtendedGroup::stepSizeScaleFactor [protected] |
step size scale factors
Definition at line 477 of file LOCA_MultiContinuation_ExtendedGroup.H.
Referenced by copy(), getStepSizeScaleFactor(), and LOCA::MultiContinuation::ArcLengthGroup::scaleTangent().
bool LOCA::MultiContinuation::ExtendedGroup::isValidPredictor [protected] |
Is Predictor vector valid.
Definition at line 480 of file LOCA_MultiContinuation_ExtendedGroup.H.
Referenced by computePredictor(), copy(), ExtendedGroup(), isPredictor(), and postProcessContinuationStep().
bool LOCA::MultiContinuation::ExtendedGroup::baseOnSecant [protected] |
Flag indicating whether to base predictor direction on secant.
Definition at line 483 of file LOCA_MultiContinuation_ExtendedGroup.H.
Referenced by computePredictor(), copy(), and postProcessContinuationStep().