Stokhos Development
Loading...
Searching...
No Matches
Stokhos::BlockDiagonalOperator Class Reference

An Epetra operator representing the block stochastic Galerkin operator. More...

#include <Stokhos_BlockDiagonalOperator.hpp>

Inheritance diagram for Stokhos::BlockDiagonalOperator:
Collaboration diagram for Stokhos::BlockDiagonalOperator:

Public Member Functions

 BlockDiagonalOperator (const Teuchos::RCP< const EpetraExt::MultiComm > &mp_comm, int num_mp_blocks, const Teuchos::RCP< const Epetra_Map > &domain_base_map, const Teuchos::RCP< const Epetra_Map > &range_base_map, const Teuchos::RCP< const Epetra_Map > &domain_mp_map, const Teuchos::RCP< const Epetra_Map > &range_mp_map)
 Constructor.
virtual ~BlockDiagonalOperator ()
 Destructor.
virtual void setupOperator (const Teuchos::RCP< Stokhos::ProductEpetraOperator > &ops)
 Setup operator.
virtual Teuchos::RCP< Stokhos::ProductEpetraOperatorgetMPOps ()
 Get multi-point ops.
virtual Teuchos::RCP< const Stokhos::ProductEpetraOperatorgetMPOps () const
 Get multi-point ops.

Epetra_Operator methods

std::string label
 Label for operator.
Teuchos::RCP< const EpetraExt::MultiComm > mp_comm
 Stores MP parallel communicator.
int num_mp_blocks
 Stores number of blocks.
Teuchos::RCP< const Epetra_Map > domain_base_map
 Stores domain base map.
Teuchos::RCP< const Epetra_Map > range_base_map
 Stores range base map.
Teuchos::RCP< const Epetra_Map > domain_mp_map
 Stores domain MP map.
Teuchos::RCP< const Epetra_Map > range_mp_map
 Stores range MP map.
Teuchos::RCP< Stokhos::ProductEpetraOperatorblock_ops
 Stores operators.
bool useTranspose
 Whether to use transpose.
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

An Epetra operator representing the block stochastic Galerkin operator.

Constructor & Destructor Documentation

◆ BlockDiagonalOperator()

Stokhos::BlockDiagonalOperator::BlockDiagonalOperator ( const Teuchos::RCP< const EpetraExt::MultiComm > & mp_comm,
int num_mp_blocks,
const Teuchos::RCP< const Epetra_Map > & domain_base_map,
const Teuchos::RCP< const Epetra_Map > & range_base_map,
const Teuchos::RCP< const Epetra_Map > & domain_mp_map,
const Teuchos::RCP< const Epetra_Map > & range_mp_map )

Member Function Documentation

◆ Apply()

int Stokhos::BlockDiagonalOperator::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 domain_base_map, num_mp_blocks, range_base_map, and useTranspose.

◆ ApplyInverse()

int Stokhos::BlockDiagonalOperator::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 domain_base_map, num_mp_blocks, range_base_map, and useTranspose.

◆ Comm()

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

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

References mp_comm.

◆ getMPOps() [1/2]

Teuchos::RCP< Stokhos::ProductEpetraOperator > Stokhos::BlockDiagonalOperator::getMPOps ( )
virtual

Get multi-point ops.

References block_ops.

◆ getMPOps() [2/2]

Teuchos::RCP< const Stokhos::ProductEpetraOperator > Stokhos::BlockDiagonalOperator::getMPOps ( ) const
virtual

Get multi-point ops.

References block_ops.

◆ HasNormInf()

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

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

References block_ops, and num_mp_blocks.

◆ Label()

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

Returns a character string describing the operator.

References label.

◆ NormInf()

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

Returns an approximate infinity norm of the operator matrix.

References num_mp_blocks.

◆ OperatorDomainMap()

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

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

References domain_mp_map, range_mp_map, and useTranspose.

◆ OperatorRangeMap()

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

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

References domain_mp_map, range_mp_map, and useTranspose.

◆ setupOperator()

void Stokhos::BlockDiagonalOperator::setupOperator ( const Teuchos::RCP< Stokhos::ProductEpetraOperator > & ops)
virtual

Setup operator.

References block_ops.

◆ SetUseTranspose()

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

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

References block_ops, num_mp_blocks, and useTranspose.

◆ UseTranspose()

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

Returns the current UseTranspose setting.

References useTranspose.

Member Data Documentation

◆ block_ops

Teuchos::RCP<Stokhos::ProductEpetraOperator > Stokhos::BlockDiagonalOperator::block_ops
protected

◆ domain_base_map

Teuchos::RCP<const Epetra_Map> Stokhos::BlockDiagonalOperator::domain_base_map
protected

Stores domain base map.

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

◆ domain_mp_map

Teuchos::RCP<const Epetra_Map> Stokhos::BlockDiagonalOperator::domain_mp_map
protected

Stores domain MP map.

Referenced by BlockDiagonalOperator(), OperatorDomainMap(), and OperatorRangeMap().

◆ label

std::string Stokhos::BlockDiagonalOperator::label
protected

Label for operator.

Referenced by BlockDiagonalOperator(), and Label().

◆ mp_comm

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

Stores MP parallel communicator.

Referenced by BlockDiagonalOperator(), and Comm().

◆ num_mp_blocks

int Stokhos::BlockDiagonalOperator::num_mp_blocks
protected

Stores number of blocks.

Referenced by Apply(), ApplyInverse(), BlockDiagonalOperator(), HasNormInf(), NormInf(), and SetUseTranspose().

◆ range_base_map

Teuchos::RCP<const Epetra_Map> Stokhos::BlockDiagonalOperator::range_base_map
protected

Stores range base map.

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

◆ range_mp_map

Teuchos::RCP<const Epetra_Map> Stokhos::BlockDiagonalOperator::range_mp_map
protected

Stores range MP map.

Referenced by BlockDiagonalOperator(), OperatorDomainMap(), and OperatorRangeMap().

◆ useTranspose

bool Stokhos::BlockDiagonalOperator::useTranspose
protected

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