Stokhos Development
Loading...
Searching...
No Matches
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:
Collaboration diagram for Stokhos::MPMeanBasedPreconditioner:

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.
Stokhos::MPPreconditioner methods
virtual void setupPreconditioner (const Teuchos::RCP< Stokhos::BlockDiagonalOperator > &mp_op, const Epetra_Vector &x)
 Setup preconditioner.
Public Member Functions inherited from Stokhos::MPPreconditioner
 MPPreconditioner ()
 Constructor.
virtual ~MPPreconditioner ()
 Destructor.

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_Map > base_map
 Stores base map.
Teuchos::RCP< const Epetra_Map > mp_map
 Stores MP map.
Teuchos::RCP< Stokhos::AbstractPreconditionerFactoryprec_factory
 Stores factory for building mean preconditioner.
Teuchos::RCP< Epetra_Operator > mean_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_Comm & Comm () const
 Returns a reference to the Epetra_Comm communicator associated with this operator.
virtual const Epetra_Map & OperatorDomainMap () const
 Returns the Epetra_Map object associated with the domain of this matrix operator.
virtual const Epetra_Map & OperatorRangeMap () const
 Returns the Epetra_Map object associated with the range of this matrix operator.

Detailed Description

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

Constructor & Destructor Documentation

◆ MPMeanBasedPreconditioner()

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 )

Member Function Documentation

◆ 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.

References base_map, mean_prec, and num_mp_blocks.

◆ 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.

References base_map, mean_prec, and num_mp_blocks.

◆ Comm()

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

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

References mp_comm.

◆ HasNormInf()

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

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

References mean_prec.

◆ Label()

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

Returns a character string describing the operator.

References label.

◆ NormInf()

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

Returns an approximate infinity norm of the operator matrix.

References mean_prec.

◆ OperatorDomainMap()

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

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

References mp_map.

◆ OperatorRangeMap()

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

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

References mp_map.

◆ setupPreconditioner()

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

Setup preconditioner.

Implements Stokhos::MPPreconditioner.

References label, mean_prec, num_mp_blocks, and prec_factory.

◆ SetUseTranspose()

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

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

References mean_prec, and useTranspose.

◆ UseTranspose()

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

Returns the current UseTranspose setting.

References useTranspose.

Member Data Documentation

◆ base_map

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

Stores base map.

Referenced by Apply(), ApplyInverse(), and MPMeanBasedPreconditioner().

◆ label

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

Label for operator.

Referenced by Label(), MPMeanBasedPreconditioner(), and setupPreconditioner().

◆ mean_prec

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

◆ mp_comm

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

Stores MP parallel communicator.

Referenced by Comm(), and MPMeanBasedPreconditioner().

◆ mp_map

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

◆ num_mp_blocks

int Stokhos::MPMeanBasedPreconditioner::num_mp_blocks
protected

Number of mp blocks.

Referenced by Apply(), ApplyInverse(), MPMeanBasedPreconditioner(), and setupPreconditioner().

◆ prec_factory

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

Stores factory for building mean preconditioner.

Referenced by MPMeanBasedPreconditioner(), and setupPreconditioner().

◆ useTranspose

bool Stokhos::MPMeanBasedPreconditioner::useTranspose
protected

Flag indicating whether transpose was selected.

Referenced by MPMeanBasedPreconditioner(), SetUseTranspose(), and UseTranspose().


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