#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] |