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

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

#include <Stokhos_DiagEpetraOp.hpp>

Inheritance diagram for Stokhos::DiagEpetraOp:
Collaboration diagram for Stokhos::DiagEpetraOp:

Public Member Functions

 DiagEpetraOp (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_sg_map_, const Teuchos::RCP< const Epetra_Map > &range_sg_map_, const Teuchos::RCP< const Stokhos::OrthogPolyBasis< int, double > > &sg_basis, const Teuchos::RCP< const Stokhos::Sparse3Tensor< int, double > > &Cijk, const Teuchos::RCP< Stokhos::EpetraOperatorOrthogPoly > &ops)
 Constructor.
virtual ~DiagEpetraOp ()
 Destructor.
virtual void reset (const Teuchos::RCP< Stokhos::EpetraOperatorOrthogPoly > &ops)
 Reset operator blocks.
virtual Teuchos::RCP< const Stokhos::EpetraOperatorOrthogPolygetOperatorBlocks () const
 Get operator blocks.
virtual Teuchos::RCP< Stokhos::EpetraOperatorOrthogPolygetOperatorBlocks ()
 Get operator blocks.
virtual int SetUseTranspose (bool UseTranspose)
 Set to true if the transpose of the operator is requested.
virtual int Apply (std::vector< Teuchos::RCP< const Epetra_CrsMatrix > > &sg_J_all, std::vector< Teuchos::RCP< Epetra_CrsMatrix > > &sg_Kkk_all) const
 Returns Diagonal blocks of SG matrix when PC coefficients of the SG matrix are given.
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.
virtual const double ApplyTime () const
 Returns the time spent applying this operator.

Protected Attributes

std::string label
 Label for operator.
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_sg_map
 Stores domain SG map.
Teuchos::RCP< const Epetra_Map > range_sg_map
 Stores range SG map.
Teuchos::RCP< const Stokhos::OrthogPolyBasis< int, double > > sg_basis
 Stochastic Galerking basis.
Teuchos::RCP< const Stokhos::Sparse3Tensor< int, double > > Cijk
 Stores triple product tensor.
Teuchos::RCP< Stokhos::EpetraOperatorOrthogPolyblock_ops
 Stores operators.
bool useTranspose
 Flag indicating whether transpose was selected.
int expansion_size
 Number of terms in expansion.
int num_blocks
 Number of Jacobian blocks (not necessarily equal to expansion_size).
Teuchos::Array< Teuchos::RCP< const Epetra_MultiVector > > input_block
 MultiVectors for each block for Apply() input.
Teuchos::Array< Teuchos::RCP< Epetra_MultiVector > > result_block
 MultiVectors for each block for Apply() result.
Teuchos::RCP< Epetra_MultiVector > tmp
 Temporary multivector used in Apply().
Teuchos::RCP< Epetra_MultiVector > tmp_trans
 Temporary multivector used in Apply() for transpose.
Teuchos::RCP< Teuchos::Time > ApplyTimer
 Operation Timer.

Detailed Description

An Epetra operator representing the block stochastic Galerkin operator.

Constructor & Destructor Documentation

◆ DiagEpetraOp()

Stokhos::DiagEpetraOp::DiagEpetraOp ( 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_sg_map_,
const Teuchos::RCP< const Epetra_Map > & range_sg_map_,
const Teuchos::RCP< const Stokhos::OrthogPolyBasis< int, double > > & sg_basis,
const Teuchos::RCP< const Stokhos::Sparse3Tensor< int, double > > & Cijk,
const Teuchos::RCP< Stokhos::EpetraOperatorOrthogPoly > & ops )

Member Function Documentation

◆ Apply()

int Stokhos::DiagEpetraOp::Apply ( std::vector< Teuchos::RCP< const Epetra_CrsMatrix > > & sg_J_all,
std::vector< Teuchos::RCP< Epetra_CrsMatrix > > & sg_Kkk_all ) const
virtual

Returns Diagonal blocks of SG matrix when PC coefficients of the SG matrix are given.

References Cijk, expansion_size, and num_blocks.

◆ ApplyTime()

virtual const double Stokhos::DiagEpetraOp::ApplyTime ( ) const
inlinevirtual

Returns the time spent applying this operator.

References ApplyTimer.

◆ Comm()

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

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

References domain_base_map.

◆ getOperatorBlocks() [1/2]

Teuchos::RCP< Stokhos::EpetraOperatorOrthogPoly > Stokhos::DiagEpetraOp::getOperatorBlocks ( )
virtual

Get operator blocks.

References block_ops.

◆ getOperatorBlocks() [2/2]

Teuchos::RCP< const Stokhos::EpetraOperatorOrthogPoly > Stokhos::DiagEpetraOp::getOperatorBlocks ( ) const
virtual

Get operator blocks.

References block_ops.

◆ Label()

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

Returns a character string describing the operator.

References label.

◆ OperatorDomainMap()

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

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

References domain_sg_map.

◆ OperatorRangeMap()

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

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

References range_sg_map.

◆ reset()

void Stokhos::DiagEpetraOp::reset ( const Teuchos::RCP< Stokhos::EpetraOperatorOrthogPoly > & ops)
virtual

Reset operator blocks.

References block_ops.

◆ SetUseTranspose()

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

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

References block_ops, num_blocks, UseTranspose(), and useTranspose.

◆ UseTranspose()

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

Returns the current UseTranspose setting.

References useTranspose.

Referenced by SetUseTranspose().

Member Data Documentation

◆ ApplyTimer

Teuchos::RCP<Teuchos::Time> Stokhos::DiagEpetraOp::ApplyTimer
protected

Operation Timer.

Referenced by ApplyTime().

◆ block_ops

Teuchos::RCP<Stokhos::EpetraOperatorOrthogPoly > Stokhos::DiagEpetraOp::block_ops
protected

◆ Cijk

Teuchos::RCP<const Stokhos::Sparse3Tensor<int,double> > Stokhos::DiagEpetraOp::Cijk
protected

Stores triple product tensor.

Referenced by Apply(), and DiagEpetraOp().

◆ domain_base_map

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

Stores domain base map.

Referenced by Comm(), and DiagEpetraOp().

◆ domain_sg_map

Teuchos::RCP<const Epetra_Map> Stokhos::DiagEpetraOp::domain_sg_map
protected

Stores domain SG map.

Referenced by DiagEpetraOp(), and OperatorDomainMap().

◆ expansion_size

int Stokhos::DiagEpetraOp::expansion_size
protected

Number of terms in expansion.

Referenced by Apply(), and DiagEpetraOp().

◆ input_block

Teuchos::Array< Teuchos::RCP<const Epetra_MultiVector> > Stokhos::DiagEpetraOp::input_block
mutableprotected

MultiVectors for each block for Apply() input.

Referenced by DiagEpetraOp().

◆ label

std::string Stokhos::DiagEpetraOp::label
protected

Label for operator.

Referenced by DiagEpetraOp(), and Label().

◆ num_blocks

int Stokhos::DiagEpetraOp::num_blocks
protected

Number of Jacobian blocks (not necessarily equal to expansion_size).

Referenced by Apply(), DiagEpetraOp(), and SetUseTranspose().

◆ range_base_map

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

Stores range base map.

Referenced by DiagEpetraOp().

◆ range_sg_map

Teuchos::RCP<const Epetra_Map> Stokhos::DiagEpetraOp::range_sg_map
protected

Stores range SG map.

Referenced by DiagEpetraOp(), and OperatorRangeMap().

◆ result_block

Teuchos::Array< Teuchos::RCP<Epetra_MultiVector> > Stokhos::DiagEpetraOp::result_block
mutableprotected

MultiVectors for each block for Apply() result.

Referenced by DiagEpetraOp().

◆ sg_basis

Teuchos::RCP<const Stokhos::OrthogPolyBasis<int,double> > Stokhos::DiagEpetraOp::sg_basis
protected

Stochastic Galerking basis.

Referenced by DiagEpetraOp().

◆ tmp

Teuchos::RCP<Epetra_MultiVector> Stokhos::DiagEpetraOp::tmp
mutableprotected

Temporary multivector used in Apply().

Referenced by DiagEpetraOp().

◆ tmp_trans

Teuchos::RCP<Epetra_MultiVector> Stokhos::DiagEpetraOp::tmp_trans
mutableprotected

Temporary multivector used in Apply() for transpose.

Referenced by DiagEpetraOp().

◆ useTranspose

bool Stokhos::DiagEpetraOp::useTranspose
protected

Flag indicating whether transpose was selected.

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


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