#include <LOCA_Epetra_Group.H>
Inheritance diagram for LOCA::Epetra::Group:
Public Member Functions | |
| Group (NOX::Parameter::List &printParams, NOX::Parameter::List &linearSolverParams, Interface &i, const ParameterVector &p, NOX::Epetra::Vector &x, Epetra_Operator &J) | |
| Constructor with Jacobian Operator only. | |
| Group (NOX::Parameter::List &printParams, NOX::Parameter::List &linearSolverParams, Interface &i, const ParameterVector &p, NOX::Epetra::Vector &x, Epetra_Operator &J, Epetra_Operator &M) | |
| Constructor with a separate Jacobian (J) and Preconditioner (M). | |
| Group (const Group &source, NOX::CopyType type=NOX::DeepCopy) | |
| Copy constructor. If type is DeepCopy, takes ownership of valid shared Jacobian and shared preconditioning matrix. | |
| virtual | ~Group () |
| Destructor. | |
| virtual Group & | operator= (const Group &source) |
| Assignment operator. | |
| virtual NOX::Epetra::Interface & | getUserInterface () |
| Return the userInterface. | |
| virtual void | printSolution (const NOX::Epetra::Vector &x, const double conParam) const |
| Call the user interface print() routine, any vector. | |
| void | setScaleVector (const NOX::Abstract::Vector &s) |
| Sets the scale vector. | |
Overloaded NOX::Epetra::Group methods. | |
| virtual NOX::Abstract::Group & | operator= (const NOX::Abstract::Group &source) |
| Assignment operator. | |
| virtual NOX::Abstract::Group * | clone (NOX::CopyType type=NOX::DeepCopy) const |
| Cloning function. | |
| virtual NOX::Abstract::Group::ReturnType | computeF () |
| Overloaded computeF(). | |
| virtual NOX::Abstract::Group::ReturnType | computeJacobian () |
| Overloaded computeJacobian(). | |
Implementation of LOCA::Abstract::Group virtual methods. | |
| virtual LOCA::Abstract::Group & | operator= (const LOCA::Abstract::Group &source) |
| Assignment operator. | |
Implementation of LOCA::Continuation::AbstractGroup virtual methods. | |
| virtual void | setParams (const ParameterVector &p) |
| Set the parameters. | |
| virtual void | setParam (int paramID, double val) |
| Set parameter indexed by paramID. | |
| virtual void | setParam (string paramID, double val) |
| Set parameter indexed by paramID. | |
| const LOCA::ParameterVector & | getParams () const |
| Return a const reference to the ParameterVector owned by the group. | |
| virtual double | getParam (int paramID) const |
| Return copy of parameter indexed by paramID. | |
| virtual double | getParam (string paramID) const |
| Return copy of parameter indexed by paramID. | |
| virtual double | computeScaledDotProduct (const NOX::Abstract::Vector &a, const NOX::Abstract::Vector &b) const |
| Compute a scaled dot product. | |
| virtual void | printSolution (const double conParam) const |
| Call the user interface print() routine, solution vector. | |
| virtual void | printSolution (const NOX::Abstract::Vector &x, const double conParam) const |
| Call the user interface print() routine, any vector. | |
| 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. | |
Implementation of LOCA::Bifurcation::TPBord::AbstractGroup virtual methods. | |
| virtual NOX::Abstract::Group::ReturnType | applyBorderedJacobianInverse (bool trans, NOX::Parameter::List ¶ms, const NOX::Abstract::Vector &a, const NOX::Abstract::Vector &b, const NOX::Abstract::Vector &vInput, double sInput, NOX::Abstract::Vector &vResult, double &sResult) const |
| Solve a bordered system of equations. | |
Implementation of LOCA::Homotopy::AbstractGroup virtual methods. | |
| virtual NOX::Abstract::Group::ReturnType | augmentJacobianForHomotopy (double conParamValue) |
Replace Jacobian by where is the identity matrix and is a scalar (conParamValue). | |
Protected Member Functions | |
| void | setBorderedAztecOptions (const NOX::Parameter::List &p, AztecOO &aztec) const |
| Sets aztec solver options for matrix-free bordered system. | |
Protected Attributes | |
| LOCA::ParameterVector | params |
| Parameter vector. | |
| Interface & | userInterface |
| Reference to the user supplied interface functions. | |
| Epetra_Vector * | tmpVectorPtr2 |
| Extra vector needed for intermediate calculations of LOCA routines. | |
| NOX::Abstract::Vector * | scaleVecPtr |
| Stores a pointer to the scale vector. | |
This class is derived both from the NOX::Epetra::Group and LOCA::Abstract::Group classes and therefore inherits the implementation of the NOX::Abstract::Group interface provided by NOX::Epetra::Group.
This class provides implementations of LOCA AbstractGroup virtual methods specific to the Epetra group. It stores a parameter vector for setting/retrieving parameter values (LOCA::Continuation::AbstractGroup), provides a facility for computing eigenvalues (LOCA::Continuation::AbstractGroup) using the Anasazi package, and augements the Jacobian matrix for homotopy (LOCA::Homotopy::AbstractGroup), It currently has no support for storing a mass matrix and therefore cannot be used in Hopf or generalized eigenvalue computations. Since it is derived from the LOCA::Abstract::Group (which is in-turn derived from all FiniteDifference groups), this group implicitly uses the finite-difference implementations of parameter and second derivatives provided by the FiniteDifference groups.
The computeF() and computeJacobian() methods of the NOX::Epetra::Group parent class are overloaded here. They both set the entire contents of the parameter vector in the problem interface before calling the NOX::Epetra::Group computeF() and computeJacobian().
|
||||||||||||||||||||||||||||
|
Constructor with Jacobian Operator only. Either there is no preconditioning or the Jacobian will be used for preconditioning. An Epetra_Operator must be supplied for the Jacobian even in Matrix-Free mode. linearSolverParams is the "Linear Solver" sublist of parameter list. The scaling vector is set to a default of all one's |
|
||||||||||||||||||||||||||||||||
|
Constructor with a separate Jacobian (J) and Preconditioner (M). linearSolverParams is the "Linear %Solver" sublist of parameter list. The scaling vector is set to a default of all one's |
|
||||||||||||||||||||||||||||||||||||
|
Solve a bordered system of equations. Compute the solution to the bordered system of equations
Reimplemented from LOCA::Abstract::Group. |
|
||||||||||||||||||||||||||||||||||||
|
Solve arclength continuation equations using Householder projection. This method computes a solution to the following system of equations
where
Here
The implementation here uses Aztec with an Ifpack preconditioner for Reimplemented from LOCA::Continuation::AbstractGroup. |
|
|
Overloaded computeF(). Calls LOCA::Epetra::Interface::setParams before evalulating F. Reimplemented from NOX::Epetra::Group. |
|
|
Overloaded computeJacobian(). Calls LOCA::Epetra::Interface::setParams before evalulating J. Reimplemented from NOX::Epetra::Group. |
|
||||||||||||
|
Compute a scaled dot product.
The implementation here uses the scaling vector
If the scaling vector is not provided, the standard dot product is used. Reimplemented from LOCA::Continuation::AbstractGroup. |
|
|
Extra vector needed for intermediate calculations of LOCA routines. NOTE: there already is a tmpVectorPtr in the NOX::Epetra::Group. This is a second temporary vector if that one extra isn't enough. |
1.3.9.1