|
NOX
Development
|
LOCA abstract interface for extended groups, derived from the NOX::Abstract::Group, i.e., an abstract interface for "super" groups that have an underlying group component. More...
#include <LOCA_Extended_MultiAbstractGroup.H>


Public Member Functions | |
| MultiAbstractGroup () | |
| Default constructor. | |
| virtual | ~MultiAbstractGroup () |
| Destructor. | |
Pure virtual methods | |
These methods must be defined by any concrete implementation | |
| virtual Teuchos::RCP< const LOCA::MultiContinuation::AbstractGroup > | getUnderlyingGroup () const =0 |
| Return underlying group. More... | |
| virtual Teuchos::RCP < LOCA::MultiContinuation::AbstractGroup > | getUnderlyingGroup ()=0 |
| Return underlying group. More... | |
Virtual methods with default implementations | |
These methods should be overloaded in a concrete implementation if more appropriate/efficient approaches are available. | |
| virtual Teuchos::RCP< const LOCA::MultiContinuation::AbstractGroup > | getBaseLevelUnderlyingGroup () const |
| Return base-level underlying group. More... | |
| virtual Teuchos::RCP < LOCA::MultiContinuation::AbstractGroup > | getBaseLevelUnderlyingGroup () |
| Return base-level underlying group. More... | |
Public Member Functions inherited from NOX::Abstract::Group | |
| Group () | |
| Constructor. More... | |
| virtual | ~Group () |
| Destructor. | |
| virtual NOX::Abstract::Group & | operator= (const NOX::Abstract::Group &source)=0 |
| Copies the source group into this group. More... | |
| virtual void | setX (const NOX::Abstract::Vector &y)=0 |
| Set the solution vector x to y. More... | |
| virtual void | computeX (const NOX::Abstract::Group &grp, const NOX::Abstract::Vector &d, double step)=0 |
| Compute x = grp.x + step * d. More... | |
| virtual NOX::Abstract::Group::ReturnType | computeF ()=0 |
| Compute and store F(x). More... | |
| virtual NOX::Abstract::Group::ReturnType | computeJacobian () |
| Compute and store Jacobian. More... | |
| virtual NOX::Abstract::Group::ReturnType | computeGradient () |
| Compute and store gradient. More... | |
| virtual NOX::Abstract::Group::ReturnType | computeNewton (Teuchos::ParameterList ¶ms) |
| Compute the Newton direction, using parameters for the linear solve. More... | |
| virtual NOX::Abstract::Group::ReturnType | applyJacobian (const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const |
| Applies Jacobian to the given input vector and puts the answer in the result. More... | |
| virtual NOX::Abstract::Group::ReturnType | applyJacobianTranspose (const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const |
| Applies Jacobian-Transpose to the given input vector and puts the answer in the result. More... | |
| virtual NOX::Abstract::Group::ReturnType | applyJacobianInverse (Teuchos::ParameterList ¶ms, const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const |
| Applies the inverse of the Jacobian matrix to the given input vector and puts the answer in result. More... | |
| virtual NOX::Abstract::Group::ReturnType | applyRightPreconditioning (bool useTranspose, Teuchos::ParameterList ¶ms, const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const |
| Apply right preconditiong to the given input vector. More... | |
| virtual NOX::Abstract::Group::ReturnType | applyJacobianMultiVector (const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const |
| applyJacobian for multiple right-hand sides More... | |
| virtual NOX::Abstract::Group::ReturnType | applyJacobianTransposeMultiVector (const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const |
| applyJacobianTranspose for multiple right-hand sides More... | |
| virtual NOX::Abstract::Group::ReturnType | applyJacobianInverseMultiVector (Teuchos::ParameterList ¶ms, const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const |
| applyJacobianInverse for multiple right-hand sides More... | |
| virtual NOX::Abstract::Group::ReturnType | applyRightPreconditioningMultiVector (bool useTranspose, Teuchos::ParameterList ¶ms, const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const |
| applyRightPreconditioning for multiple right-hand sides More... | |
| virtual bool | isF () const =0 |
| Return true if F is valid. | |
| virtual bool | isJacobian () const |
| Return true if the Jacobian is valid. More... | |
| virtual bool | isGradient () const |
| Return true if the gradient is valid. More... | |
| virtual bool | isNewton () const |
| Return true if the Newton direction is valid. More... | |
|
virtual const NOX::Abstract::Vector & | getX () const =0 |
| Return solution vector. | |
| virtual const NOX::Abstract::Vector & | getScaledX () const |
|
virtual const NOX::Abstract::Vector & | getF () const =0 |
| Return F(x) | |
| virtual double | getNormF () const =0 |
| Return 2-norm of F(x). More... | |
|
virtual const NOX::Abstract::Vector & | getGradient () const =0 |
| Return gradient. | |
|
virtual const NOX::Abstract::Vector & | getNewton () const =0 |
| Return Newton direction. | |
|
virtual Teuchos::RCP< const NOX::Abstract::Vector > | getXPtr () const =0 |
| Return RCP to solution vector. | |
|
virtual Teuchos::RCP< const NOX::Abstract::Vector > | getFPtr () const =0 |
| Return RCP to F(x) | |
|
virtual Teuchos::RCP< const NOX::Abstract::Vector > | getGradientPtr () const =0 |
| Return RCP to gradient. | |
|
virtual Teuchos::RCP< const NOX::Abstract::Vector > | getNewtonPtr () const =0 |
| Return RCP to Newton direction. | |
| virtual void | logLastLinearSolveStats (NOX::SolverStats &stats) const |
| Adds statistics from last linear solve to the SovlerStats object. | |
| virtual NOX::Abstract::Group::ReturnType | getNormLastLinearSolveResidual (double &residual) const |
| Return the norm of the last linear solve residual as the result of either a call to computeNewton() or applyJacobianInverse(). More... | |
| virtual Teuchos::RCP < NOX::Abstract::Group > | clone (NOX::CopyType type=NOX::DeepCopy) const =0 |
| Create a new Group of the same derived type as this one by cloning this one, and return a ref count pointer to the new group. More... | |
Additional Inherited Members | |
Public Types inherited from NOX::Abstract::Group | |
| enum | ReturnType { Ok, NotDefined, BadDependency, NotConverged, Failed } |
| The computation of, say, the Newton direction in computeNewton() may fail in many different ways, so we have included a variety of return codes to describe the failures. Of course, we also have a code for success. More... | |
LOCA abstract interface for extended groups, derived from the NOX::Abstract::Group, i.e., an abstract interface for "super" groups that have an underlying group component.
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 |
Return base-level underlying group.
This method is intended for composite groups (such as extended bifurcation groups) which have an underlying group as a data member. This method is supposed to return the base level group and has a default recursive implementation that should work in most cases.
References Teuchos::RCP< T >::get(), getBaseLevelUnderlyingGroup(), and getUnderlyingGroup().
Referenced by getBaseLevelUnderlyingGroup().
|
virtual |
Return base-level underlying group.
This method is intended for composite groups (such as extended bifurcation groups) which have an underlying group as a data member. This method is supposed to return the base level group and has a default recursive implementation that should work in most cases.
References Teuchos::RCP< T >::get(), and getBaseLevelUnderlyingGroup().
|
pure virtual |
Return underlying group.
This method should the underlying group data member.
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::MultiContinuation::ExtendedGroup, and LOCA::PhaseTransition::ExtendedGroup.
Referenced by getBaseLevelUnderlyingGroup(), and LOCA::Solver::Wrapper::resetWrapper().
|
pure virtual |
Return underlying group.
This method should the underlying group data member.
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::MultiContinuation::ExtendedGroup, and LOCA::PhaseTransition::ExtendedGroup.
1.8.5