#include <LOCA_TimeDependent_AbstractGroup.H>
Inheritance diagram for LOCA::TimeDependent::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 NOX::Abstract::Group::ReturnType | applyShiftedMatrixInverse (NOX::Parameter::List ¶ms, const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result, double shift)=0 |
| Apply the inverse of the shifted matrix by a vector, as needed by the shift-and-invert and generalized Cayley transformations. | |
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 | computeMassMatrix () |
| Compute the mass matrix of the system. | |
| virtual bool | isMassMatrix () const |
| Is mass matrix valid. | |
| virtual NOX::Abstract::Group::ReturnType | applyMassMatrix (const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const |
| Multiply the mass matrix by a vector. | |
| virtual NOX::Abstract::Group::ReturnType | applyShiftedMatrix (const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result, double shift) const |
| Multiply the shifted matrix by a vector. | |
This abstract class provides an interface for time dependent problems, i.e., problems with a mass matrix (typically used in eignvalue or Hopf calculations). It provides pure virtual methods for manipulating the mass matrix and adding the mass and Jacobian matrices.
Where possible, default implementations are provided assuming the mass matrix is the identity.
|
||||||||||||
|
Multiply the mass matrix by a vector. The default assumes the mass matrix is the identity, and therefore merely sets result = input. Reimplemented in LOCA::EpetraNew::Group, and LOCA::LAPACK::Group. |
|
||||||||||||||||
|
Multiply the shifted matrix by a vector. The default assumes the mass matrix is the identity, and therefore merely sets result = J * input + shift * input. Reimplemented in LOCA::EpetraNew::Group. |
|
||||||||||||||||||||
|
Apply the inverse of the shifted matrix by a vector, as needed by the shift-and-invert and generalized Cayley transformations. Note that because of the variety of ways this method can be implemented, the interface for this method is different than other applyInverse() methods. Namely, the method is not const, and there are no computeShiftMatrix(), isShiftedMatrix() methods. Rather, it is assumed the group will compute the shifted matrix if necessary, and then apply the solve. It is up to the implementing group to determine if the shifted matrix needs to be recomputed. Implemented in LOCA::Abstract::Group, and LOCA::EpetraNew::Group. |
|
|
Compute the mass matrix of the system. The default assumes the mass matrix is the identity, and therefore merely returns NOX::Abstract::Group::Ok. Reimplemented in LOCA::EpetraNew::Group, and LOCA::LAPACK::Group. |
|
|
Is mass matrix valid. The default assumes the mass matrix is the identity, and therefore merely returns true. Reimplemented in LOCA::EpetraNew::Group, and LOCA::LAPACK::Group. |
1.3.9.1