|
NOX
Development
|
LOCA abstract interface for continuation, derived from the NOX::Abstract::Group. This abstract class provides the interface necessary to perform continuation, i.e., compute families of solutions to
.
More...
#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 std::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 (std::string paramID, double val)=0 |
| Set parameter indexed by (std::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 (std::string paramID) const =0 |
| 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)=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. | |
LOCA abstract interface for continuation, derived from the NOX::Abstract::Group. This abstract class provides the interface necessary to perform continuation, i.e., compute families of solutions to
.
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.
| virtual NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::AbstractGroup::computeDfDpMulti | ( | const std::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::TurningPoint::MinimallyAugmented::ExtendedGroup, LOCA::TurningPoint::MooreSpence::ExtendedGroup, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::Pitchfork::MooreSpence::ExtendedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, LOCA::Hopf::MooreSpence::ExtendedGroup, LOCA::Homotopy::Group, LOCA::Homotopy::DeflatedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::PhaseTransition::ExtendedGroup, LOCA::Thyra::Group, and LOCA::MultiContinuation::FiniteDifferenceGroup.
Referenced by LOCA::MultiPredictor::Tangent::compute(), and LOCA::Thyra::Group::computeDfDpMulti().
| 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::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, LOCA::Epetra::Group, LOCA::Homotopy::DeflatedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::LAPACK::Group, and LOCA::Thyra::Group.
References NOX::Abstract::Vector::innerProduct().
| 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::TurningPoint::MinimallyAugmented::ExtendedGroup, LOCA::TurningPoint::MooreSpence::ExtendedGroup, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::Pitchfork::MooreSpence::ExtendedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, LOCA::Hopf::MooreSpence::ExtendedGroup, LOCA::Homotopy::Group, LOCA::Homotopy::DeflatedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::Epetra::Group, 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::TurningPoint::MinimallyAugmented::ExtendedGroup, LOCA::TurningPoint::MooreSpence::ExtendedGroup, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::Pitchfork::MooreSpence::ExtendedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, LOCA::Hopf::MooreSpence::ExtendedGroup, LOCA::Homotopy::Group, LOCA::Homotopy::DeflatedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::Epetra::Group, and LOCA::Thyra::Group.
| 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::TurningPoint::MinimallyAugmented::ExtendedGroup, LOCA::TurningPoint::MooreSpence::ExtendedGroup, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::Pitchfork::MooreSpence::ExtendedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, LOCA::Hopf::MooreSpence::ExtendedGroup, LOCA::Homotopy::Group, LOCA::Epetra::Group, LOCA::Homotopy::DeflatedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::LAPACK::Group, LOCA::PhaseTransition::ExtendedGroup, and LOCA::Thyra::Group.
| 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::TurningPoint::MinimallyAugmented::ExtendedGroup, LOCA::TurningPoint::MooreSpence::ExtendedGroup, LOCA::Pitchfork::MooreSpence::ExtendedGroup, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, LOCA::Hopf::MooreSpence::ExtendedGroup, LOCA::Homotopy::Group, LOCA::Epetra::Group, LOCA::Homotopy::DeflatedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::LAPACK::Group, LOCA::PhaseTransition::ExtendedGroup, and LOCA::Thyra::Group.
| 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::TurningPoint::MinimallyAugmented::ExtendedGroup, LOCA::TurningPoint::MooreSpence::ExtendedGroup, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::Pitchfork::MooreSpence::ExtendedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, LOCA::Hopf::MooreSpence::ExtendedGroup, LOCA::Homotopy::Group, LOCA::Homotopy::DeflatedGroup, LOCA::Epetra::Group, LOCA::MultiContinuation::ConstrainedGroup, LOCA::LAPACK::Group, and LOCA::Thyra::Group.
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::TurningPoint::MinimallyAugmented::ExtendedGroup, LOCA::TurningPoint::MooreSpence::ExtendedGroup, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::Pitchfork::MooreSpence::ExtendedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, LOCA::Hopf::MooreSpence::ExtendedGroup, LOCA::Homotopy::Group, LOCA::Homotopy::DeflatedGroup, LOCA::Epetra::Group, LOCA::MultiContinuation::ConstrainedGroup, LOCA::LAPACK::Group, and LOCA::Thyra::Group.
| 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::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, LOCA::Epetra::Group, LOCA::Homotopy::DeflatedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::LAPACK::Group, and LOCA::Thyra::Group.
1.7.6.1