LifeV
CompositeOperator Class Reference

#include <CompositeOperator.hpp>

+ Inheritance diagram for CompositeOperator:
+ Collaboration diagram for CompositeOperator:

Public Member Functions

 CompositeOperator ()
 
virtual ~CompositeOperator ()
 
virtual int SetUseTranspose (bool)
 
int pushBack (const operatorPtr_Type &op, const bool inverted)
 The first operator we push is the first to be applied. More...
 
void DefineAlreadyInverted ()
 set whenever we want to define Apply or ApplyInverse More...
 
- Public Member Functions inherited from LinearOperatorAlgebra
virtual ~LinearOperatorAlgebra ()
 Destructor. More...
 
int apply (const VectorEpetra &X, VectorEpetra &Y) const
 Returns the result of a LinearOperator applied to a VectorEpetra X in Y. More...
 
int applyInverse (const VectorEpetra &X, VectorEpetra &Y)
 Returns the result of a LinearOperator inverse applied to an VectorEpetra X in Y. More...
 

Private Member Functions

int allocateTmpVects (const vector_Type &X, vector_Type &Y) const
 
void deleteTmpVects () const
 

Private Attributes

std::vector< operatorPtr_Typeops
 
std::vector< bool > inverted
 
std::vector< Epetra_MultiVector * > vects
 
int nAllocatedVectorsInMultVect
 
bool isAlreadyInverted
 

Mathematical functions

virtual int Apply (const vector_Type &X, vector_Type &Y) const
 Applies all the operator (with their flags) starting from the first that was pushed. More...
 
virtual int ApplyInverse (const vector_Type &X, vector_Type &Y) const
 Applies all the operator (with their flags) starting from the first that was pushed. More...
 
virtual double NormInf () const
 Returns the infinity norm of the global matrix. More...
 

Attribute access functions

virtual const char * Label () const
 Returns a character string describing the operator. More...
 
virtual bool UseTranspose () const
 Returns the current UseTranspose setting. More...
 
virtual bool HasNormInf () const
 Returns true if the this object can provide an approximate Inf-norm, false otherwise. More...
 
virtual const comm_TypeComm () const
 Returns a pointer to the Epetra_Comm communicator associated with this operator. More...
 
virtual const map_TypeOperatorDomainMap () const
 Returns the raw_map object associated with the domain of this operator. More...
 
virtual const map_TypeOperatorRangeMap () const
 Returns the raw_map object associated with the range of this operator. More...
 

Additional Inherited Members

- Public Types inherited from LinearOperatorAlgebra
typedef Epetra_Comm comm_Type
 
typedef std::shared_ptr< comm_TypecommPtr_Type
 
typedef Epetra_Map map_Type
 
typedef std::shared_ptr< map_TypemapPtr_Type
 
typedef std::shared_ptr< const map_TypeconstMapPtr_Type
 
typedef Epetra_Operator operator_Type
 
typedef std::shared_ptr< operator_TypeoperatorPtr_Type
 
typedef Epetra_MultiVector vector_Type
 
typedef std::shared_ptr< vector_TypevectorPtr_Type
 

Detailed Description

Definition at line 19 of file CompositeOperator.hpp.

Constructor & Destructor Documentation

◆ CompositeOperator()

Definition at line 13 of file CompositeOperator.cpp.

◆ ~CompositeOperator()

~CompositeOperator ( )
virtual

Definition at line 20 of file CompositeOperator.cpp.

Member Function Documentation

◆ SetUseTranspose()

virtual int SetUseTranspose ( bool  )
inlinevirtual
Warning
Transpose is not supported yet.

Implements LinearOperatorAlgebra.

Definition at line 27 of file CompositeOperator.hpp.

◆ pushBack()

int pushBack ( const operatorPtr_Type op,
const bool  inverted 
)

The first operator we push is the first to be applied.

Definition at line 26 of file CompositeOperator.cpp.

◆ DefineAlreadyInverted()

void DefineAlreadyInverted ( )
inline

set whenever we want to define Apply or ApplyInverse

Definition at line 33 of file CompositeOperator.hpp.

◆ Apply()

int Apply ( const vector_Type X,
vector_Type Y 
) const
virtual

Applies all the operator (with their flags) starting from the first that was pushed.

Implements LinearOperatorAlgebra.

Definition at line 41 of file CompositeOperator.cpp.

◆ ApplyInverse()

int ApplyInverse ( const vector_Type X,
vector_Type Y 
) const
virtual

Applies all the operator (with their flags) starting from the first that was pushed.

Implements LinearOperatorAlgebra.

Definition at line 72 of file CompositeOperator.cpp.

◆ NormInf()

virtual double NormInf ( ) const
inlinevirtual

Returns the infinity norm of the global matrix.

Implements LinearOperatorAlgebra.

Definition at line 45 of file CompositeOperator.hpp.

◆ Label()

virtual const char* Label ( ) const
inlinevirtual

Returns a character string describing the operator.

Implements LinearOperatorAlgebra.

Definition at line 52 of file CompositeOperator.hpp.

◆ UseTranspose()

virtual bool UseTranspose ( ) const
inlinevirtual

Returns the current UseTranspose setting.

Implements LinearOperatorAlgebra.

Definition at line 55 of file CompositeOperator.hpp.

◆ HasNormInf()

virtual bool HasNormInf ( ) const
inlinevirtual

Returns true if the this object can provide an approximate Inf-norm, false otherwise.

Implements LinearOperatorAlgebra.

Definition at line 58 of file CompositeOperator.hpp.

◆ Comm()

virtual const comm_Type& Comm ( ) const
inlinevirtual

Returns a pointer to the Epetra_Comm communicator associated with this operator.

Implements LinearOperatorAlgebra.

Definition at line 61 of file CompositeOperator.hpp.

◆ OperatorDomainMap()

virtual const map_Type& OperatorDomainMap ( ) const
inlinevirtual

Returns the raw_map object associated with the domain of this operator.

Implements LinearOperatorAlgebra.

Definition at line 64 of file CompositeOperator.hpp.

◆ OperatorRangeMap()

virtual const map_Type& OperatorRangeMap ( ) const
inlinevirtual

Returns the raw_map object associated with the range of this operator.

Implements LinearOperatorAlgebra.

Definition at line 67 of file CompositeOperator.hpp.

◆ allocateTmpVects()

int allocateTmpVects ( const vector_Type X,
vector_Type Y 
) const
private

Definition at line 100 of file CompositeOperator.cpp.

◆ deleteTmpVects()

void deleteTmpVects ( ) const
private

Definition at line 121 of file CompositeOperator.cpp.

+ Here is the caller graph for this function:

Field Documentation

◆ ops

std::vector<operatorPtr_Type> ops
private

Definition at line 75 of file CompositeOperator.hpp.

◆ inverted

std::vector<bool> inverted
private

Definition at line 76 of file CompositeOperator.hpp.

◆ vects

std::vector<Epetra_MultiVector *> vects
mutableprivate

Definition at line 77 of file CompositeOperator.hpp.

◆ nAllocatedVectorsInMultVect

int nAllocatedVectorsInMultVect
mutableprivate

Definition at line 78 of file CompositeOperator.hpp.

◆ isAlreadyInverted

bool isAlreadyInverted
private

Definition at line 79 of file CompositeOperator.hpp.


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