.
More...
#include <LOCA_Continuation_AbstractGroup.H>
Inheritance diagram for LOCA::Continuation::AbstractGroup:
Public Member Functions | |
| AbstractGroup () | |
| Default constructor. | |
| virtual | ~AbstractGroup () |
| Destructor. | |
Pure virtual methods | |
These methods must be defined by any concrete implementation | |
| virtual AbstractGroup & | operator= (const AbstractGroup &source)=0 |
| Assignment operator. | |
| virtual void | setParams (const 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 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 | computeDfDp (int paramID, NOX::Abstract::Vector &result)=0 |
Virtual methods with default implementations | |
These methods should be overloaded in a concrete implementation if more appropriate/efficient approaches are available. | |
| virtual NOX::Abstract::Group::ReturnType | applyJacobianInverseMulti (NOX::Parameter::List ¶ms, const NOX::Abstract::Vector *const *inputs, NOX::Abstract::Vector **outputs, int nVecs) const |
| applyJacobianInverse for multiple right-hand sides | |
| 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 NOX::Abstract::Group::ReturnType | computeEigenvalues (NOX::Parameter::List ¶ms) |
| Compute eigenvalues/eigenvectors. | |
| 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 NOX::Abstract::Group::ReturnType | applyHouseholderJacobianInverse (NOX::Parameter::List ¶ms, const NOX::Abstract::Vector &f, const NOX::Abstract::Vector &dfdp, const NOX::Abstract::Vector &ux, double up, double beta, NOX::Abstract::Vector &result_x, double &result_p) const |
| Solve arclength continuation equations using Householder projection. | |
| 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.
|
||||||||||||||||||||||||||||||||||||
|
Solve arclength continuation equations using Householder projection. This method should compute a solution to the following system of equations
where
Here The default implementation here is to throw an error. This method is only called by the Householder continuation group, and should be implemented to use this continuation method. Reimplemented in LOCA::Epetra::Group, and LOCA::EpetraNew::Group. |
|
||||||||||||||||||||
|
applyJacobianInverse for multiple right-hand sides The default implementation here calls applyJacobianInverse() for each right hand side serially but should be overloaded if a block solver is available. Reimplemented in LOCA::Bifurcation::HopfBord::ExtendedGroup, LOCA::Bifurcation::PitchforkBord::ExtendedGroup, LOCA::Bifurcation::TPBord::ExtendedGroup, LOCA::Bifurcation::TPBord::ModifiedBorderingGroup, and LOCA::LAPACK::Group. |
|
||||||||||||
|
Compute Implemented in LOCA::Bifurcation::HopfBord::ExtendedGroup, LOCA::Bifurcation::PitchforkBord::ExtendedGroup, LOCA::Bifurcation::TPBord::ExtendedGroup, LOCA::Continuation::FiniteDifferenceGroup, and LOCA::Homotopy::Group. |
|
|
Compute eigenvalues/eigenvectors. Default implementation prints an error message and throws an error string. Reimplemented in LOCA::Continuation::AnasaziGroup, and LOCA::LAPACK::Group. |
|
||||||||||||
|
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::Epetra::Group, LOCA::EpetraNew::Group, and LOCA::LAPACK::Group. |
|
||||||||||||
|
Function to print out a vector and parameter after successful step. Empty default definition. Reimplemented in LOCA::Bifurcation::HopfBord::ExtendedGroup, LOCA::Bifurcation::PitchforkBord::ExtendedGroup, LOCA::Bifurcation::TPBord::ExtendedGroup, LOCA::Homotopy::Group, LOCA::Epetra::Group, LOCA::EpetraNew::Group, and LOCA::LAPACK::Group. |
|
|
Function to print out solution and parameter after successful step. Empty default definition. Reimplemented in LOCA::Bifurcation::HopfBord::ExtendedGroup, LOCA::Bifurcation::PitchforkBord::ExtendedGroup, LOCA::Bifurcation::TPBord::ExtendedGroup, LOCA::Homotopy::Group, LOCA::Epetra::Group, LOCA::EpetraNew::Group, and LOCA::LAPACK::Group. |
|
|
Scales a vector using scaling vector. The default definition here is to do nothing, i.e., no scaling Reimplemented in LOCA::Epetra::Group, LOCA::EpetraNew::Group, and LOCA::LAPACK::Group. |
1.3.9.1