#include <LOCA_MultiContinuation_AbstractStrategy.H>
Public Member Functions | |
| AbstractStrategy () | |
| Constructor. | |
| virtual | ~AbstractStrategy () |
| Destructor. | |
| virtual void | copy (const NOX::Abstract::Group &source)=0 |
| Copy. | |
| virtual int | getNumParams () const =0 |
| Returns number of parameters. | |
| virtual void | preProcessContinuationStep (LOCA::Abstract::Iterator::StepStatus stepStatus)=0 |
| Perform any preprocessing before a continuation step starts. | |
| virtual void | postProcessContinuationStep (LOCA::Abstract::Iterator::StepStatus stepStatus)=0 |
| Perform any postprocessing after a continuation step finishes. | |
| virtual NOX::Abstract::Group::ReturnType | computePredictor ()=0 |
| Compute predictor directions. | |
| virtual bool | isPredictor () const =0 |
| Is Predictor valid. | |
| virtual void | scaleTangent ()=0 |
| Scales tangent to predictor. | |
| virtual void | setPredictorTangentDirection (const LOCA::MultiContinuation::ExtendedVector &v, int i)=0 |
| Sets tangent to predictor. | |
| virtual const LOCA::MultiContinuation::ExtendedMultiVector & | getPredictorTangent () const =0 |
| Returns tangent to predictor. | |
| virtual const LOCA::MultiContinuation::ExtendedMultiVector & | getScaledPredictorTangent () const =0 |
| Returns scaled tangent to predictor. | |
| virtual void | setPrevX (const NOX::Abstract::Vector &y)=0 |
| Set the previous solution vector y. | |
| virtual const LOCA::MultiContinuation::ExtendedVector & | getPrevX () const =0 |
| Gets the previous solution vector. | |
| virtual void | setStepSize (double deltaS, int i=0)=0 |
| Set step size for continuation constraint equation i. | |
| virtual double | getStepSize (int i=0) const =0 |
| Get step size for continuation constraint equation i. | |
| virtual void | setContinuationParameter (double val, int i=0)=0 |
| Sets the value for continuation parameter i. | |
| virtual double | getContinuationParameter (int i=0) const =0 |
| Returns the value for continuation parameter i. | |
| virtual int | getContinuationParameterID (int i=0) const =0 |
| Get the continuation parameter id for parameter i. | |
| virtual const vector< int > & | getContinuationParameterIDs () const =0 |
| Get the continuation parameter ids. | |
| virtual string | getContinuationParameterName (int i=0) const =0 |
| Get the continuation parameter id for parameter i. | |
| virtual double | getStepSizeScaleFactor (int i=0) const =0 |
| Returns step size scale factor for constraint equation i. | |
| virtual void | printSolution () const =0 |
| Prints the group. | |
| virtual double | computeScaledDotProduct (const NOX::Abstract::Vector &x, const NOX::Abstract::Vector &y) const =0 |
| Computes a scaled dot product between two continuation vectors. | |
| virtual int | projectToDrawDimension () const =0 |
| Returns dimension of project to draw array. | |
| virtual void | projectToDraw (const LOCA::MultiContinuation::ExtendedVector &x, double *px) const =0 |
| Fills the project to draw array. | |
AbstractStrategy defines an abstract interface for continuation strategies. This interface is used by the LOCA::Stepper to manipulate continuation groups in a consistent manner. It defines a number pure virtual methods that all continuation groups must implement.
Definition at line 69 of file LOCA_MultiContinuation_AbstractStrategy.H.
| LOCA::MultiContinuation::AbstractStrategy::AbstractStrategy | ( | ) | [inline] |
| virtual LOCA::MultiContinuation::AbstractStrategy::~AbstractStrategy | ( | ) | [inline, virtual] |
| virtual void LOCA::MultiContinuation::AbstractStrategy::copy | ( | const NOX::Abstract::Group & | source | ) | [pure virtual] |
Copy.
Implemented in LOCA::MultiContinuation::ArcLengthGroup, LOCA::MultiContinuation::ExtendedGroup, and LOCA::MultiContinuation::NaturalGroup.
| virtual int LOCA::MultiContinuation::AbstractStrategy::getNumParams | ( | ) | const [pure virtual] |
| virtual void LOCA::MultiContinuation::AbstractStrategy::preProcessContinuationStep | ( | LOCA::Abstract::Iterator::StepStatus | stepStatus | ) | [pure virtual] |
Perform any preprocessing before a continuation step starts.
The stepStatus argument indicates whether the previous step was successful.
Implemented in LOCA::MultiContinuation::ExtendedGroup.
| virtual void LOCA::MultiContinuation::AbstractStrategy::postProcessContinuationStep | ( | LOCA::Abstract::Iterator::StepStatus | stepStatus | ) | [pure virtual] |
Perform any postprocessing after a continuation step finishes.
The stepStatus argument indicates whether the step was successful.
Implemented in LOCA::MultiContinuation::ExtendedGroup.
| virtual NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::AbstractStrategy::computePredictor | ( | ) | [pure virtual] |
| virtual bool LOCA::MultiContinuation::AbstractStrategy::isPredictor | ( | ) | const [pure virtual] |
| virtual void LOCA::MultiContinuation::AbstractStrategy::scaleTangent | ( | ) | [pure virtual] |
Scales tangent to predictor.
Implemented in LOCA::MultiContinuation::ArcLengthGroup, and LOCA::MultiContinuation::ExtendedGroup.
| virtual void LOCA::MultiContinuation::AbstractStrategy::setPredictorTangentDirection | ( | const LOCA::MultiContinuation::ExtendedVector & | v, | |
| int | i | |||
| ) | [pure 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.
Implemented in LOCA::MultiContinuation::ExtendedGroup.
| virtual const LOCA::MultiContinuation::ExtendedMultiVector& LOCA::MultiContinuation::AbstractStrategy::getPredictorTangent | ( | ) | const [pure virtual] |
| virtual const LOCA::MultiContinuation::ExtendedMultiVector& LOCA::MultiContinuation::AbstractStrategy::getScaledPredictorTangent | ( | ) | const [pure virtual] |
| virtual void LOCA::MultiContinuation::AbstractStrategy::setPrevX | ( | const NOX::Abstract::Vector & | y | ) | [pure virtual] |
| virtual const LOCA::MultiContinuation::ExtendedVector& LOCA::MultiContinuation::AbstractStrategy::getPrevX | ( | ) | const [pure virtual] |
| virtual void LOCA::MultiContinuation::AbstractStrategy::setStepSize | ( | double | deltaS, | |
| int | i = 0 | |||
| ) | [pure virtual] |
Set step size for continuation constraint equation i.
Implemented in LOCA::MultiContinuation::ExtendedGroup.
| virtual double LOCA::MultiContinuation::AbstractStrategy::getStepSize | ( | int | i = 0 |
) | const [pure virtual] |
Get step size for continuation constraint equation i.
Implemented in LOCA::MultiContinuation::ExtendedGroup.
| virtual void LOCA::MultiContinuation::AbstractStrategy::setContinuationParameter | ( | double | val, | |
| int | i = 0 | |||
| ) | [pure virtual] |
| virtual double LOCA::MultiContinuation::AbstractStrategy::getContinuationParameter | ( | int | i = 0 |
) | const [pure virtual] |
Returns the value for continuation parameter i.
Implemented in LOCA::MultiContinuation::ExtendedGroup.
| virtual int LOCA::MultiContinuation::AbstractStrategy::getContinuationParameterID | ( | int | i = 0 |
) | const [pure virtual] |
Get the continuation parameter id for parameter i.
Implemented in LOCA::MultiContinuation::ExtendedGroup.
| virtual const vector<int>& LOCA::MultiContinuation::AbstractStrategy::getContinuationParameterIDs | ( | ) | const [pure virtual] |
| virtual string LOCA::MultiContinuation::AbstractStrategy::getContinuationParameterName | ( | int | i = 0 |
) | const [pure virtual] |
Get the continuation parameter id for parameter i.
Implemented in LOCA::MultiContinuation::ExtendedGroup.
| virtual double LOCA::MultiContinuation::AbstractStrategy::getStepSizeScaleFactor | ( | int | i = 0 |
) | const [pure virtual] |
Returns step size scale factor for constraint equation i.
Implemented in LOCA::MultiContinuation::ExtendedGroup.
Referenced by LOCA::StepSize::Constant::computeStepSize(), and LOCA::StepSize::Adaptive::computeStepSize().
| virtual void LOCA::MultiContinuation::AbstractStrategy::printSolution | ( | ) | const [pure virtual] |
| virtual double LOCA::MultiContinuation::AbstractStrategy::computeScaledDotProduct | ( | const NOX::Abstract::Vector & | x, | |
| const NOX::Abstract::Vector & | y | |||
| ) | const [pure virtual] |
Computes a scaled dot product between two continuation vectors.
Implemented in LOCA::MultiContinuation::ArcLengthGroup, and LOCA::MultiContinuation::ExtendedGroup.
| virtual int LOCA::MultiContinuation::AbstractStrategy::projectToDrawDimension | ( | ) | const [pure virtual] |
| virtual void LOCA::MultiContinuation::AbstractStrategy::projectToDraw | ( | const LOCA::MultiContinuation::ExtendedVector & | x, | |
| double * | px | |||
| ) | const [pure virtual] |
1.5.9