svMultiPhysics
Public Member Functions | List of all members
TrilinosMatVec Class Reference

This class implements the pure virtual class Epetra_Operator for the AztecOO iterative solve which only uses the Apply() method to compute the matrix vector product. More...

#include <trilinos_impl.h>

Inheritance diagram for TrilinosMatVec:
[legend]

Public Member Functions

int Apply (const Epetra_MultiVector &x, Epetra_MultiVector &y) const
 
int SetUseTranspose (bool use_transpose)
 
int ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
 Computes A_inv*x. More...
 
double NormInf () const
 Infinity norm for global stiffness does not add in the boundary term. More...
 
const char * Label () const
 Returns a character string describing the operator. More...
 
bool UseTranspose () const
 Returns current UseTranspose setting. More...
 
bool HasNormInf () const
 Returns true if this object can provide an approx Inf-norm false otherwise. More...
 
const Epetra_Comm & Comm () const
 Returns pointer to Epetra_Comm communicator associated with this operator. More...
 
const Epetra_Map & OperatorDomainMap () const
 Returns Epetra_Map object assoicated with domain of this operator. More...
 
const Epetra_Map & OperatorRangeMap () const
 Returns the Epetra_Map object associated with teh range of this operator. More...
 

Detailed Description

This class implements the pure virtual class Epetra_Operator for the AztecOO iterative solve which only uses the Apply() method to compute the matrix vector product.

Member Function Documentation

◆ Apply()

int TrilinosMatVec::Apply ( const Epetra_MultiVector &  x,
Epetra_MultiVector &  y 
) const

Define matrix vector operation at each iteration of the linear solver adds on the coupled neuman boundary contribution to the matrix

Parameters
xvector to be applied on the operator
yresult of sprase matrix vector multiplication

Define the matrix vector multiplication operation to do at each iteration (K + v*v') x = K*x + v(v'*x), v = bdryVec

uses efficient vectorized operation rather than explicitly forming the rank 1 outer product matrix

Parameters
xvector to be applied on the operator
yresult of sprase matrix vector multiplication

scalar for Y

◆ ApplyInverse()

int TrilinosMatVec::ApplyInverse ( const Epetra_MultiVector &  X,
Epetra_MultiVector &  Y 
) const
inline

Computes A_inv*x.

◆ Comm()

const Epetra_Comm& TrilinosMatVec::Comm ( ) const
inline

Returns pointer to Epetra_Comm communicator associated with this operator.

◆ HasNormInf()

bool TrilinosMatVec::HasNormInf ( ) const
inline

Returns true if this object can provide an approx Inf-norm false otherwise.

◆ Label()

const char* TrilinosMatVec::Label ( ) const
inline

Returns a character string describing the operator.

◆ NormInf()

double TrilinosMatVec::NormInf ( ) const
inline

Infinity norm for global stiffness does not add in the boundary term.

◆ OperatorDomainMap()

const Epetra_Map& TrilinosMatVec::OperatorDomainMap ( ) const
inline

Returns Epetra_Map object assoicated with domain of this operator.

◆ OperatorRangeMap()

const Epetra_Map& TrilinosMatVec::OperatorRangeMap ( ) const
inline

Returns the Epetra_Map object associated with teh range of this operator.

◆ SetUseTranspose()

int TrilinosMatVec::SetUseTranspose ( bool  use_transpose)
inline

Tells whether to use the transpose of the matrix in each matrix vector product

◆ UseTranspose()

bool TrilinosMatVec::UseTranspose ( ) const
inline

Returns current UseTranspose setting.


The documentation for this class was generated from the following files: