#include <LOCA_MultiContinuation_AbstractGroup.H>
Public Member Functions | |
AbstractGroup () | |
Default constructor. | |
virtual | ~AbstractGroup () |
Destructor. | |
Pure virtual methods | |
These methods must be defined by any concrete implementation | |
virtual void | copy (const NOX::Abstract::Group &source)=0 |
Copy the group (replaces operator = ). | |
virtual void | setParamsMulti (const vector< int > ¶mIDs, const NOX::Abstract::MultiVector::DenseMatrix &vals)=0 |
Set parameters indexed by (integer) paramIDs. | |
virtual void | setParams (const LOCA::ParameterVector &p)=0 |
Set the parameter vector in the group to p (pVector = p). | |
virtual void | setParam (int paramID, double val)=0 |
Set parameter indexed by (integer) paramID. | |
virtual void | setParam (string paramID, double val)=0 |
Set parameter indexed by (string) paramID. | |
virtual const LOCA::ParameterVector & | getParams () const =0 |
Return a const reference to the ParameterVector owned by the group. | |
virtual double | getParam (int paramID) const =0 |
Return copy of parameter indexed by (integer) paramID. | |
virtual double | getParam (string paramID) const =0 |
Return copy of parameter indexed by (string) paramID. | |
virtual NOX::Abstract::Group::ReturnType | computeDfDpMulti (const vector< int > ¶mIDs, NOX::Abstract::MultiVector &dfdp, bool isValidF)=0 |
Virtual methods with default implementations | |
These methods should be overloaded in a concrete implementation if more appropriate/efficient approaches are available. | |
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 methods with empty or trivial implementations | |
These methods should be overloaded in a concrete implementation but their implementation is not critical to the rest of LOCA and therefore have empty or trivial implementations. | |
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. |
Concrete implemenations of this interface must provide implementations of all of the methods in the NOX::Abstract::Group interface as well as the additional interface defined here.
Definition at line 70 of file LOCA_MultiContinuation_AbstractGroup.H.
LOCA::MultiContinuation::AbstractGroup::AbstractGroup | ( | ) | [inline] |
Default constructor.
Reimplemented in LOCA::Homotopy::AbstractGroup, LOCA::Hopf::MinimallyAugmented::AbstractGroup, LOCA::Hopf::MooreSpence::AbstractGroup, LOCA::Pitchfork::MinimallyAugmented::AbstractGroup, LOCA::Pitchfork::MooreSpence::AbstractGroup, LOCA::TimeDependent::AbstractGroup, LOCA::TurningPoint::MinimallyAugmented::AbstractGroup, and LOCA::TurningPoint::MooreSpence::AbstractGroup.
Definition at line 75 of file LOCA_MultiContinuation_AbstractGroup.H.
virtual LOCA::MultiContinuation::AbstractGroup::~AbstractGroup | ( | ) | [inline, virtual] |
Destructor.
Reimplemented in LOCA::Homotopy::AbstractGroup, LOCA::Hopf::MinimallyAugmented::AbstractGroup, LOCA::Hopf::MooreSpence::AbstractGroup, LOCA::Pitchfork::MinimallyAugmented::AbstractGroup, LOCA::Pitchfork::MooreSpence::AbstractGroup, LOCA::TimeDependent::AbstractGroup, LOCA::TurningPoint::MinimallyAugmented::AbstractGroup, and LOCA::TurningPoint::MooreSpence::AbstractGroup.
Definition at line 78 of file LOCA_MultiContinuation_AbstractGroup.H.
virtual void LOCA::MultiContinuation::AbstractGroup::copy | ( | const NOX::Abstract::Group & | source | ) | [pure virtual] |
Copy the group (replaces operator = ).
Implemented in LOCA::Abstract::Group, LOCA::Homotopy::DeflatedGroup, LOCA::Homotopy::Group, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::Hopf::MooreSpence::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::MultiContinuation::FiniteDifferenceGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, LOCA::Pitchfork::MooreSpence::ExtendedGroup, LOCA::TurningPoint::MinimallyAugmented::ExtendedGroup, LOCA::TurningPoint::MooreSpence::ExtendedGroup, LOCA::LAPACK::Group, LOCA::Thyra::Group, and LOCA::Epetra::Group.
virtual void LOCA::MultiContinuation::AbstractGroup::setParamsMulti | ( | const vector< int > & | paramIDs, | |
const NOX::Abstract::MultiVector::DenseMatrix & | vals | |||
) | [pure virtual] |
Set parameters indexed by (integer) paramIDs.
Implemented in LOCA::Abstract::Group, LOCA::Homotopy::DeflatedGroup, LOCA::Homotopy::Group, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::Hopf::MooreSpence::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, LOCA::Pitchfork::MooreSpence::ExtendedGroup, LOCA::TurningPoint::MinimallyAugmented::ExtendedGroup, and LOCA::TurningPoint::MooreSpence::ExtendedGroup.
virtual void LOCA::MultiContinuation::AbstractGroup::setParams | ( | const LOCA::ParameterVector & | p | ) | [pure virtual] |
Set the parameter vector in the group to p (pVector = p).
Implemented in LOCA::Homotopy::DeflatedGroup, LOCA::Homotopy::Group, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::Hopf::MooreSpence::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, LOCA::Pitchfork::MooreSpence::ExtendedGroup, LOCA::TurningPoint::MinimallyAugmented::ExtendedGroup, LOCA::TurningPoint::MooreSpence::ExtendedGroup, LOCA::LAPACK::Group, LOCA::Thyra::Group, and LOCA::Epetra::Group.
virtual void LOCA::MultiContinuation::AbstractGroup::setParam | ( | int | paramID, | |
double | val | |||
) | [pure virtual] |
Set parameter indexed by (integer) paramID.
Implemented in LOCA::Homotopy::DeflatedGroup, LOCA::Homotopy::Group, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::Hopf::MooreSpence::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, LOCA::Pitchfork::MooreSpence::ExtendedGroup, LOCA::TurningPoint::MinimallyAugmented::ExtendedGroup, LOCA::TurningPoint::MooreSpence::ExtendedGroup, LOCA::LAPACK::Group, LOCA::Thyra::Group, and LOCA::Epetra::Group.
Referenced by LOCA::DerivUtils::computeDCeDp(), LOCA::DerivUtils::computeDfDp(), LOCA::DerivUtils::computeDJnDp(), LOCA::DerivUtils::computeDwtCeDp(), LOCA::DerivUtils::computeDwtJDp(), LOCA::DerivUtils::computeDwtJnDp(), LOCA::DerivUtils::perturbParam(), and LOCA::Abstract::Group::setParamsMulti().
virtual void LOCA::MultiContinuation::AbstractGroup::setParam | ( | string | paramID, | |
double | val | |||
) | [pure virtual] |
Set parameter indexed by (string) paramID.
Implemented in LOCA::Homotopy::DeflatedGroup, LOCA::Homotopy::Group, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::Hopf::MooreSpence::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, LOCA::Pitchfork::MooreSpence::ExtendedGroup, LOCA::TurningPoint::MinimallyAugmented::ExtendedGroup, LOCA::TurningPoint::MooreSpence::ExtendedGroup, LOCA::LAPACK::Group, LOCA::Thyra::Group, and LOCA::Epetra::Group.
virtual const LOCA::ParameterVector& LOCA::MultiContinuation::AbstractGroup::getParams | ( | ) | const [pure virtual] |
Return a const reference to the ParameterVector owned by the group.
Implemented in LOCA::Homotopy::DeflatedGroup, LOCA::Homotopy::Group, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::Hopf::MooreSpence::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, LOCA::Pitchfork::MooreSpence::ExtendedGroup, LOCA::TurningPoint::MinimallyAugmented::ExtendedGroup, LOCA::TurningPoint::MooreSpence::ExtendedGroup, LOCA::LAPACK::Group, LOCA::Thyra::Group, and LOCA::Epetra::Group.
virtual double LOCA::MultiContinuation::AbstractGroup::getParam | ( | int | paramID | ) | const [pure virtual] |
Return copy of parameter indexed by (integer) paramID.
Implemented in LOCA::Homotopy::DeflatedGroup, LOCA::Homotopy::Group, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::Hopf::MooreSpence::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, LOCA::Pitchfork::MooreSpence::ExtendedGroup, LOCA::TurningPoint::MinimallyAugmented::ExtendedGroup, LOCA::TurningPoint::MooreSpence::ExtendedGroup, LOCA::LAPACK::Group, LOCA::Thyra::Group, and LOCA::Epetra::Group.
Referenced by LOCA::DerivUtils::perturbParam().
virtual double LOCA::MultiContinuation::AbstractGroup::getParam | ( | string | paramID | ) | const [pure virtual] |
Return copy of parameter indexed by (string) paramID.
Implemented in LOCA::Homotopy::DeflatedGroup, LOCA::Homotopy::Group, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::Hopf::MooreSpence::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, LOCA::Pitchfork::MooreSpence::ExtendedGroup, LOCA::TurningPoint::MinimallyAugmented::ExtendedGroup, LOCA::TurningPoint::MooreSpence::ExtendedGroup, LOCA::LAPACK::Group, LOCA::Thyra::Group, and LOCA::Epetra::Group.
virtual NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::AbstractGroup::computeDfDpMulti | ( | const vector< int > & | paramIDs, | |
NOX::Abstract::MultiVector & | dfdp, | |||
bool | isValidF | |||
) | [pure virtual] |
Compute for each parameter
indexed by paramIDs. The first column of dfdp holds F, which is valid if isValidF is true. Otherwise F must be computed.
Implemented in LOCA::Homotopy::DeflatedGroup, LOCA::Homotopy::Group, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::Hopf::MooreSpence::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::MultiContinuation::FiniteDifferenceGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, LOCA::Pitchfork::MooreSpence::ExtendedGroup, LOCA::TurningPoint::MinimallyAugmented::ExtendedGroup, LOCA::TurningPoint::MooreSpence::ExtendedGroup, and LOCA::Thyra::Group.
void LOCA::MultiContinuation::AbstractGroup::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. The default implementation to empty.
Reimplemented in LOCA::Homotopy::DeflatedGroup, LOCA::Homotopy::Group, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::Hopf::MooreSpence::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, LOCA::Pitchfork::MooreSpence::ExtendedGroup, LOCA::TurningPoint::MinimallyAugmented::ExtendedGroup, LOCA::TurningPoint::MooreSpence::ExtendedGroup, LOCA::Thyra::Group, and LOCA::Epetra::Group.
Definition at line 45 of file LOCA_MultiContinuation_AbstractGroup.C.
void LOCA::MultiContinuation::AbstractGroup::postProcessContinuationStep | ( | LOCA::Abstract::Iterator::StepStatus | stepStatus | ) | [virtual] |
Perform any postprocessing after a continuation step finishes.
The stepStatus
argument indicates whether the step was successful. The default implementation to empty.
Reimplemented in LOCA::Homotopy::DeflatedGroup, LOCA::Homotopy::Group, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::Hopf::MooreSpence::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, LOCA::Pitchfork::MooreSpence::ExtendedGroup, LOCA::TurningPoint::MinimallyAugmented::ExtendedGroup, LOCA::TurningPoint::MooreSpence::ExtendedGroup, LOCA::Thyra::Group, and LOCA::Epetra::Group.
Definition at line 51 of file LOCA_MultiContinuation_AbstractGroup.C.
void LOCA::MultiContinuation::AbstractGroup::projectToDraw | ( | const NOX::Abstract::Vector & | x, | |
double * | px | |||
) | const [virtual] |
Projects solution to a few scalars for multiparameter continuation.
This method is called every time a solution is saved by the multiparameter continuation code MF for later visualization and should project the solution vector down to a few scalars. The array px
will be preallocated to the proper length given by projectToDrawDimension().
The default implementation is the max norm of the vector.
Reimplemented in LOCA::Homotopy::DeflatedGroup, LOCA::Homotopy::Group, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::Hopf::MooreSpence::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, LOCA::Pitchfork::MooreSpence::ExtendedGroup, LOCA::TurningPoint::MinimallyAugmented::ExtendedGroup, LOCA::TurningPoint::MooreSpence::ExtendedGroup, LOCA::LAPACK::Group, LOCA::Thyra::Group, and LOCA::Epetra::Group.
Definition at line 57 of file LOCA_MultiContinuation_AbstractGroup.C.
References NOX::Abstract::Vector::MaxNorm, and NOX::Abstract::Vector::norm().
int LOCA::MultiContinuation::AbstractGroup::projectToDrawDimension | ( | ) | const [virtual] |
Returns the dimension of the project to draw array.
The default implementation is to return 1 since the default projection is the max norm of the vector (a scalar).
Reimplemented in LOCA::Homotopy::DeflatedGroup, LOCA::Homotopy::Group, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::Hopf::MooreSpence::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, LOCA::Pitchfork::MooreSpence::ExtendedGroup, LOCA::TurningPoint::MinimallyAugmented::ExtendedGroup, LOCA::TurningPoint::MooreSpence::ExtendedGroup, LOCA::LAPACK::Group, LOCA::Thyra::Group, and LOCA::Epetra::Group.
Definition at line 65 of file LOCA_MultiContinuation_AbstractGroup.C.
double LOCA::MultiContinuation::AbstractGroup::computeScaledDotProduct | ( | const NOX::Abstract::Vector & | a, | |
const NOX::Abstract::Vector & | b | |||
) | const [virtual] |
Compute a scaled dot product.
The default implementation here just computes a.dot(b) but should be overloaded for any problem that his difficult scaling.
Reimplemented in LOCA::Homotopy::DeflatedGroup, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, LOCA::LAPACK::Group, LOCA::Thyra::Group, and LOCA::Epetra::Group.
Definition at line 71 of file LOCA_MultiContinuation_AbstractGroup.C.
References NOX::Abstract::Vector::innerProduct().
virtual void LOCA::MultiContinuation::AbstractGroup::printSolution | ( | const double | conParam | ) | const [inline, virtual] |
Function to print out solution and parameter after successful step.
Empty default definition.
Reimplemented in LOCA::Homotopy::DeflatedGroup, LOCA::Homotopy::Group, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::Hopf::MooreSpence::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, LOCA::Pitchfork::MooreSpence::ExtendedGroup, LOCA::TurningPoint::MinimallyAugmented::ExtendedGroup, LOCA::TurningPoint::MooreSpence::ExtendedGroup, LOCA::LAPACK::Group, LOCA::Thyra::Group, and LOCA::Epetra::Group.
Definition at line 194 of file LOCA_MultiContinuation_AbstractGroup.H.
virtual void LOCA::MultiContinuation::AbstractGroup::printSolution | ( | const NOX::Abstract::Vector & | x_, | |
const double | conParam | |||
) | const [inline, virtual] |
Function to print out a vector and parameter after successful step.
Empty default definition.
Reimplemented in LOCA::Homotopy::DeflatedGroup, LOCA::Homotopy::Group, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::Hopf::MooreSpence::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, LOCA::Pitchfork::MooreSpence::ExtendedGroup, LOCA::TurningPoint::MinimallyAugmented::ExtendedGroup, LOCA::TurningPoint::MooreSpence::ExtendedGroup, LOCA::LAPACK::Group, LOCA::Thyra::Group, and LOCA::Epetra::Group.
Definition at line 200 of file LOCA_MultiContinuation_AbstractGroup.H.
void LOCA::MultiContinuation::AbstractGroup::scaleVector | ( | NOX::Abstract::Vector & | x | ) | const [virtual] |
Scales a vector using scaling vector.
The default definition here is to do nothing, i.e., no scaling
Reimplemented in LOCA::Homotopy::DeflatedGroup, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, LOCA::LAPACK::Group, LOCA::Thyra::Group, and LOCA::Epetra::Group.
Definition at line 79 of file LOCA_MultiContinuation_AbstractGroup.C.