NOX Development
Public Member Functions
LOCA::TimeDependent::AbstractGroup Class Reference

Interface to underlying groups for time dependent systems. More...

#include <LOCA_TimeDependent_AbstractGroup.H>

Inheritance diagram for LOCA::TimeDependent::AbstractGroup:
Inheritance graph
[legend]
Collaboration diagram for LOCA::TimeDependent::AbstractGroup:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 AbstractGroup ()
 Default constructor.
virtual ~AbstractGroup ()
 Destructor.
virtual
NOX::Abstract::Group::ReturnType 
computeSecondShiftedMatrix (double alpha, double beta)=0
 Compute the second shifted matrix. Can avoid recomputing if two are stored.
virtual
NOX::Abstract::Group::ReturnType 
applySecondShiftedMatrix (const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const =0
 Multiply the shifted matrix by a vector.
virtual
NOX::Abstract::Group::ReturnType 
applySecondShiftedMatrixMultiVector (const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const =0
 Multiply the shifted matrix by a multi-vector.
Pure virtual methods

These methods must be defined by any concrete implementation

virtual
NOX::Abstract::Group::ReturnType 
computeShiftedMatrix (double alpha, double beta)=0
 Compute the shifted matrix.
virtual
NOX::Abstract::Group::ReturnType 
applyShiftedMatrix (const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const =0
 Multiply the shifted matrix by a vector.
virtual
NOX::Abstract::Group::ReturnType 
applyShiftedMatrixMultiVector (const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const =0
 Multiply the shifted matrix by a multi-vector.
virtual
NOX::Abstract::Group::ReturnType 
applyShiftedMatrixInverseMultiVector (Teuchos::ParameterList &params, const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const =0
 Apply the inverse of the shifted matrix by a multi-vector, as needed by the shift-and-invert and generalized Cayley transformations.

Detailed Description

Interface to underlying groups for time dependent systems.

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 computing and manipulating the shifted matrix $\alpha J + \beta M$ where $J$ is the Jacobian matrix and $M$ is the mass matrix.


Member Function Documentation

virtual NOX::Abstract::Group::ReturnType LOCA::TimeDependent::AbstractGroup::applySecondShiftedMatrix ( const NOX::Abstract::Vector input,
NOX::Abstract::Vector result 
) const [pure virtual]

Multiply the shifted matrix by a vector.

Implementation here prints an error message and returns NOX::Abstract::Group::NotDefined.

Implemented in LOCA::Abstract::Group, and LOCA::Epetra::Group.

virtual NOX::Abstract::Group::ReturnType LOCA::TimeDependent::AbstractGroup::applySecondShiftedMatrixMultiVector ( const NOX::Abstract::MultiVector input,
NOX::Abstract::MultiVector result 
) const [pure virtual]

Multiply the shifted matrix by a multi-vector.

Implementation here prints an error message and returns NOX::Abstract::Group::NotDefined.

Implemented in LOCA::Abstract::Group, and LOCA::Epetra::Group.

virtual NOX::Abstract::Group::ReturnType LOCA::TimeDependent::AbstractGroup::computeSecondShiftedMatrix ( double  alpha,
double  beta 
) [pure virtual]

Compute the second shifted matrix. Can avoid recomputing if two are stored.

Implementation here prints an error message and returns NOX::Abstract::Group::NotDefined.

Implemented in LOCA::Abstract::Group, and LOCA::Epetra::Group.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends