Stokhos Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
Public Member Functions | List of all members
Stokhos::MPMeanBasedPreconditioner Class Reference

A multi-point preconditioner based on applying the inverse of the mean. More...

#include <Stokhos_MPMeanBasedPreconditioner.hpp>

Inheritance diagram for Stokhos::MPMeanBasedPreconditioner:
Inheritance graph
[legend]

Public Member Functions

 MPMeanBasedPreconditioner (const Teuchos::RCP< const EpetraExt::MultiComm > &mp_comm, int num_mp_blocks, const Teuchos::RCP< const Epetra_Map > &base_map, const Teuchos::RCP< const Epetra_Map > &mp_map, const Teuchos::RCP< Stokhos::AbstractPreconditionerFactory > &prec_factory, const Teuchos::RCP< Teuchos::ParameterList > &params)
 Constructor.
 
virtual ~MPMeanBasedPreconditioner ()
 Destructor.
 
- Public Member Functions inherited from Stokhos::MPPreconditioner
 MPPreconditioner ()
 Constructor.
 
virtual ~MPPreconditioner ()
 Destructor.
 
virtual void setupPreconditioner (const Teuchos::RCP< Stokhos::BlockDiagonalOperator > &mp_op, const Epetra_Vector &x)=0
 Setup preconditioner.
 
- Public Member Functions inherited from Epetra_Operator
virtual ~Epetra_Operator ()
 
virtual int SetUseTranspose (bool UseTranspose)=0
 
virtual int Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const=0
 
virtual int ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const=0
 
virtual double NormInf () const=0
 
virtual const char * Label () const=0
 
virtual bool UseTranspose () const=0
 
virtual bool HasNormInf () const=0
 
virtual const Epetra_CommComm () const=0
 
virtual const Epetra_MapOperatorDomainMap () const=0
 
virtual const Epetra_MapOperatorRangeMap () const=0
 

Epetra_Operator methods

std::string label
 Label for operator.
 
Teuchos::RCP< const EpetraExt::MultiComm > mp_comm
 Stores MP parallel communicator.
 
int num_mp_blocks
 Number of mp blocks.
 
Teuchos::RCP< const Epetra_Mapbase_map
 Stores base map.
 
Teuchos::RCP< const Epetra_Mapmp_map
 Stores MP map.
 
Teuchos::RCP< Stokhos::AbstractPreconditionerFactoryprec_factory
 Stores factory for building mean preconditioner.
 
Teuchos::RCP< Epetra_Operatormean_prec
 Stores preconditioner for each block.
 
bool useTranspose
 Flag indicating whether transpose was selected.
 
virtual int SetUseTranspose (bool UseTranspose)
 Set to true if the transpose of the operator is requested.
 
virtual int Apply (const Epetra_MultiVector &Input, Epetra_MultiVector &Result) const
 Returns the result of a Epetra_Operator applied to a Epetra_MultiVector Input in Result as described above.
 
virtual int ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
 Returns the result of the inverse of the operator applied to a Epetra_MultiVector Input in Result as described above.
 
virtual double NormInf () const
 Returns an approximate infinity norm of the operator matrix.
 
virtual const char * Label () const
 Returns a character string describing the operator.
 
virtual bool UseTranspose () const
 Returns the current UseTranspose setting.
 
virtual bool HasNormInf () const
 Returns true if the this object can provide an approximate Inf-norm, false otherwise.
 
virtual const Epetra_CommComm () const
 Returns a reference to the Epetra_Comm communicator associated with this operator.
 
virtual const Epetra_MapOperatorDomainMap () const
 Returns the Epetra_Map object associated with the domain of this matrix operator.
 
virtual const Epetra_MapOperatorRangeMap () const
 Returns the Epetra_Map object associated with the range of this matrix operator.
 
 MPMeanBasedPreconditioner (const MPMeanBasedPreconditioner &)
 Private to prohibit copying.
 
MPMeanBasedPreconditioneroperator= (const MPMeanBasedPreconditioner &)
 Private to prohibit copying.
 

Stokhos::MPPreconditioner methods

virtual void setupPreconditioner (const Teuchos::RCP< Stokhos::BlockDiagonalOperator > &mp_op, const Epetra_Vector &x)
 Setup preconditioner.
 

Detailed Description

A multi-point preconditioner based on applying the inverse of the mean.

Definition at line 60 of file Stokhos_MPMeanBasedPreconditioner.hpp.

Constructor & Destructor Documentation

◆ MPMeanBasedPreconditioner() [1/2]

Stokhos::MPMeanBasedPreconditioner::MPMeanBasedPreconditioner ( const Teuchos::RCP< const EpetraExt::MultiComm > &  mp_comm,
int  num_mp_blocks,
const Teuchos::RCP< const Epetra_Map > &  base_map,
const Teuchos::RCP< const Epetra_Map > &  mp_map,
const Teuchos::RCP< Stokhos::AbstractPreconditionerFactory > &  prec_factory,
const Teuchos::RCP< Teuchos::ParameterList > &  params 
)

Constructor.

Definition at line 45 of file Stokhos_MPMeanBasedPreconditioner.cpp.

◆ ~MPMeanBasedPreconditioner()

Stokhos::MPMeanBasedPreconditioner::~MPMeanBasedPreconditioner ( )
virtual

Destructor.

Definition at line 64 of file Stokhos_MPMeanBasedPreconditioner.cpp.

◆ MPMeanBasedPreconditioner() [2/2]

Stokhos::MPMeanBasedPreconditioner::MPMeanBasedPreconditioner ( const MPMeanBasedPreconditioner )
private

Private to prohibit copying.

Member Function Documentation

◆ setupPreconditioner()

void Stokhos::MPMeanBasedPreconditioner::setupPreconditioner ( const Teuchos::RCP< Stokhos::BlockDiagonalOperator > &  mp_op,
const Epetra_Vector x 
)
virtual

Setup preconditioner.

Implements Stokhos::MPPreconditioner.

Definition at line 70 of file Stokhos_MPMeanBasedPreconditioner.cpp.

◆ SetUseTranspose()

int Stokhos::MPMeanBasedPreconditioner::SetUseTranspose ( bool  UseTranspose)
virtual

Set to true if the transpose of the operator is requested.

Implements Epetra_Operator.

Definition at line 89 of file Stokhos_MPMeanBasedPreconditioner.cpp.

◆ Apply()

int Stokhos::MPMeanBasedPreconditioner::Apply ( const Epetra_MultiVector Input,
Epetra_MultiVector Result 
) const
virtual

Returns the result of a Epetra_Operator applied to a Epetra_MultiVector Input in Result as described above.

Implements Epetra_Operator.

Definition at line 99 of file Stokhos_MPMeanBasedPreconditioner.cpp.

◆ ApplyInverse()

int Stokhos::MPMeanBasedPreconditioner::ApplyInverse ( const Epetra_MultiVector X,
Epetra_MultiVector Y 
) const
virtual

Returns the result of the inverse of the operator applied to a Epetra_MultiVector Input in Result as described above.

Implements Epetra_Operator.

Definition at line 112 of file Stokhos_MPMeanBasedPreconditioner.cpp.

◆ NormInf()

double Stokhos::MPMeanBasedPreconditioner::NormInf ( ) const
virtual

Returns an approximate infinity norm of the operator matrix.

Implements Epetra_Operator.

Definition at line 125 of file Stokhos_MPMeanBasedPreconditioner.cpp.

◆ Label()

const char * Stokhos::MPMeanBasedPreconditioner::Label ( ) const
virtual

Returns a character string describing the operator.

Implements Epetra_Operator.

Definition at line 133 of file Stokhos_MPMeanBasedPreconditioner.cpp.

◆ UseTranspose()

bool Stokhos::MPMeanBasedPreconditioner::UseTranspose ( ) const
virtual

Returns the current UseTranspose setting.

Implements Epetra_Operator.

Definition at line 140 of file Stokhos_MPMeanBasedPreconditioner.cpp.

◆ HasNormInf()

bool Stokhos::MPMeanBasedPreconditioner::HasNormInf ( ) const
virtual

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

Implements Epetra_Operator.

Definition at line 147 of file Stokhos_MPMeanBasedPreconditioner.cpp.

◆ Comm()

const Epetra_Comm & Stokhos::MPMeanBasedPreconditioner::Comm ( ) const
virtual

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

Implements Epetra_Operator.

Definition at line 154 of file Stokhos_MPMeanBasedPreconditioner.cpp.

◆ OperatorDomainMap()

const Epetra_Map & Stokhos::MPMeanBasedPreconditioner::OperatorDomainMap ( ) const
virtual

Returns the Epetra_Map object associated with the domain of this matrix operator.

Implements Epetra_Operator.

Definition at line 160 of file Stokhos_MPMeanBasedPreconditioner.cpp.

◆ OperatorRangeMap()

const Epetra_Map & Stokhos::MPMeanBasedPreconditioner::OperatorRangeMap ( ) const
virtual

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

Implements Epetra_Operator.

Definition at line 167 of file Stokhos_MPMeanBasedPreconditioner.cpp.

◆ operator=()

MPMeanBasedPreconditioner & Stokhos::MPMeanBasedPreconditioner::operator= ( const MPMeanBasedPreconditioner )
private

Private to prohibit copying.

Member Data Documentation

◆ label

std::string Stokhos::MPMeanBasedPreconditioner::label
protected

Label for operator.

Definition at line 153 of file Stokhos_MPMeanBasedPreconditioner.hpp.

◆ mp_comm

Teuchos::RCP<const EpetraExt::MultiComm> Stokhos::MPMeanBasedPreconditioner::mp_comm
protected

Stores MP parallel communicator.

Definition at line 156 of file Stokhos_MPMeanBasedPreconditioner.hpp.

◆ num_mp_blocks

int Stokhos::MPMeanBasedPreconditioner::num_mp_blocks
protected

Number of mp blocks.

Definition at line 159 of file Stokhos_MPMeanBasedPreconditioner.hpp.

◆ base_map

Teuchos::RCP<const Epetra_Map> Stokhos::MPMeanBasedPreconditioner::base_map
protected

Stores base map.

Definition at line 162 of file Stokhos_MPMeanBasedPreconditioner.hpp.

◆ mp_map

Teuchos::RCP<const Epetra_Map> Stokhos::MPMeanBasedPreconditioner::mp_map
protected

Stores MP map.

Definition at line 165 of file Stokhos_MPMeanBasedPreconditioner.hpp.

◆ prec_factory

Teuchos::RCP<Stokhos::AbstractPreconditionerFactory> Stokhos::MPMeanBasedPreconditioner::prec_factory
protected

Stores factory for building mean preconditioner.

Definition at line 168 of file Stokhos_MPMeanBasedPreconditioner.hpp.

◆ mean_prec

Teuchos::RCP<Epetra_Operator> Stokhos::MPMeanBasedPreconditioner::mean_prec
protected

Stores preconditioner for each block.

Definition at line 171 of file Stokhos_MPMeanBasedPreconditioner.hpp.

◆ useTranspose

bool Stokhos::MPMeanBasedPreconditioner::useTranspose
protected

Flag indicating whether transpose was selected.

Definition at line 174 of file Stokhos_MPMeanBasedPreconditioner.hpp.


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