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

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

#include <Stokhos_KLReducedMatrixFreeOperator.hpp>

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

Public Member Functions

 KLReducedMatrixFreeOperator (const Teuchos::RCP< const EpetraExt::MultiComm > &sg_comm, const Teuchos::RCP< const Stokhos::OrthogPolyBasis< int, double > > &sg_basis, const Teuchos::RCP< const Stokhos::EpetraSparse3Tensor > &epetraCijk, 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< Teuchos::ParameterList > &params)
 Constructor.
 
virtual ~KLReducedMatrixFreeOperator ()
 Destructor.
 
- Public Member Functions inherited from Stokhos::SGOperator
 SGOperator ()
 Constructor.
 
virtual ~SGOperator ()
 Destructor.
 
virtual void setupOperator (const Teuchos::RCP< Stokhos::EpetraOperatorOrthogPoly > &poly)=0
 Setup operator.
 
virtual Teuchos::RCP< Stokhos::EpetraOperatorOrthogPolygetSGPolynomial ()=0
 Get SG polynomial.
 
virtual Teuchos::RCP< const Stokhos::EpetraOperatorOrthogPolygetSGPolynomial () const =0
 Get SG polynomial.
 
- 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

typedef Stokhos::Sparse3Tensor< int, doubleCijk_type
 Short-hand for Cijk.
 
std::string label
 Label for operator.
 
Teuchos::RCP< const EpetraExt::MultiComm > sg_comm
 Stores SG parallel communicator.
 
Teuchos::RCP< const Stokhos::OrthogPolyBasis< int, double > > sg_basis
 Stochastic Galerking basis.
 
Teuchos::RCP< const Stokhos::EpetraSparse3TensorepetraCijk
 Stores Epetra Cijk tensor.
 
Teuchos::RCP< const Epetra_Mapdomain_base_map
 Stores domain base map.
 
Teuchos::RCP< const Epetra_Maprange_base_map
 Stores range base map.
 
Teuchos::RCP< const Epetra_Mapdomain_sg_map
 Stores domain SG map.
 
Teuchos::RCP< const Epetra_Maprange_sg_map
 Stores range SG map.
 
Teuchos::RCP< const Cijk_typeCijk
 Stores triple product tensor.
 
Teuchos::RCP< Stokhos::EpetraOperatorOrthogPolyblock_ops
 Stores operators.
 
Teuchos::RCP< Teuchos::ParameterList > params
 Algorithmic parameters.
 
bool useTranspose
 Flag indicating whether transpose was selected.
 
int expansion_size
 Number of terms in expansion.
 
int num_blocks
 Number of blocks.
 
int num_KL
 Number of KL terms.
 
int num_KL_computed
 Number of computed KL terms.
 
Teuchos::RCP< Epetra_CrsMatrixmean
 Mean block.
 
Teuchos::RCP< Epetra_Mapblock_vec_map
 Block map for vectorized-matrices.
 
Teuchos::RCP< Stokhos::EpetraVectorOrthogPolyblock_vec_poly
 Polynomial sorting vectorized matrix coefficients.
 
Teuchos::Array< Teuchos::Array< double > > dot_products
 Dot products of KL eigenvectors and Jacobian blocks.
 
Teuchos::RCP< Stokhos::Sparse3Tensor< int, double > > sparse_kl_coeffs
 Sparse KL coefficients.
 
Teuchos::Array< Teuchos::RCP< Epetra_CrsMatrix > > kl_blocks
 KL blocks.
 
Teuchos::RCP< Stokhos::EpetraOperatorOrthogPolykl_ops
 KL blocks as operators.
 
Teuchos::RCP< Stokhos::MatrixFreeOperatorkl_mat_free_op
 Matrix-Free operator using KL operators.
 
double drop_tolerance
 Tolerance for dropping entries in sparse 3 tensor.
 
bool do_error_tests
 Whether to do KL error tests (can be expensive)
 
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.
 
void setup ()
 Setup KL blocks.
 
 KLReducedMatrixFreeOperator (const KLReducedMatrixFreeOperator &)
 Private to prohibit copying.
 
KLReducedMatrixFreeOperatoroperator= (const KLReducedMatrixFreeOperator &)
 Private to prohibit copying.
 

Stokhos::SGOperator methods

virtual void setupOperator (const Teuchos::RCP< Stokhos::EpetraOperatorOrthogPoly > &poly)
 Setup operator.
 
virtual Teuchos::RCP< Stokhos::EpetraOperatorOrthogPolygetSGPolynomial ()
 Get SG polynomial.
 
virtual Teuchos::RCP< const Stokhos::EpetraOperatorOrthogPolygetSGPolynomial () const
 Get SG polynomial.
 

Detailed Description

An Epetra operator representing the block stochastic Galerkin operator.

Definition at line 67 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

Member Typedef Documentation

◆ Cijk_type

Short-hand for Cijk.

Definition at line 197 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

Constructor & Destructor Documentation

◆ KLReducedMatrixFreeOperator() [1/2]

Stokhos::KLReducedMatrixFreeOperator::KLReducedMatrixFreeOperator ( const Teuchos::RCP< const EpetraExt::MultiComm > &  sg_comm,
const Teuchos::RCP< const Stokhos::OrthogPolyBasis< int, double > > &  sg_basis,
const Teuchos::RCP< const Stokhos::EpetraSparse3Tensor > &  epetraCijk,
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< Teuchos::ParameterList > &  params 
)

Constructor.

Definition at line 52 of file Stokhos_KLReducedMatrixFreeOperator.cpp.

◆ ~KLReducedMatrixFreeOperator()

Stokhos::KLReducedMatrixFreeOperator::~KLReducedMatrixFreeOperator ( )
virtual

Destructor.

Definition at line 126 of file Stokhos_KLReducedMatrixFreeOperator.cpp.

◆ KLReducedMatrixFreeOperator() [2/2]

Stokhos::KLReducedMatrixFreeOperator::KLReducedMatrixFreeOperator ( const KLReducedMatrixFreeOperator )
private

Private to prohibit copying.

Member Function Documentation

◆ setupOperator()

void Stokhos::KLReducedMatrixFreeOperator::setupOperator ( const Teuchos::RCP< Stokhos::EpetraOperatorOrthogPoly > &  poly)
virtual

Setup operator.

Implements Stokhos::SGOperator.

Definition at line 91 of file Stokhos_KLReducedMatrixFreeOperator.cpp.

◆ getSGPolynomial() [1/2]

Teuchos::RCP< Stokhos::EpetraOperatorOrthogPoly > Stokhos::KLReducedMatrixFreeOperator::getSGPolynomial ( )
virtual

Get SG polynomial.

Implements Stokhos::SGOperator.

Definition at line 113 of file Stokhos_KLReducedMatrixFreeOperator.cpp.

◆ getSGPolynomial() [2/2]

Teuchos::RCP< const Stokhos::EpetraOperatorOrthogPoly > Stokhos::KLReducedMatrixFreeOperator::getSGPolynomial ( ) const
virtual

Get SG polynomial.

Implements Stokhos::SGOperator.

Definition at line 120 of file Stokhos_KLReducedMatrixFreeOperator.cpp.

◆ SetUseTranspose()

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

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

Implements Epetra_Operator.

Definition at line 132 of file Stokhos_KLReducedMatrixFreeOperator.cpp.

◆ Apply()

int Stokhos::KLReducedMatrixFreeOperator::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 144 of file Stokhos_KLReducedMatrixFreeOperator.cpp.

◆ ApplyInverse()

int Stokhos::KLReducedMatrixFreeOperator::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 151 of file Stokhos_KLReducedMatrixFreeOperator.cpp.

◆ NormInf()

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

Returns an approximate infinity norm of the operator matrix.

Implements Epetra_Operator.

Definition at line 159 of file Stokhos_KLReducedMatrixFreeOperator.cpp.

◆ Label()

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

Returns a character string describing the operator.

Implements Epetra_Operator.

Definition at line 167 of file Stokhos_KLReducedMatrixFreeOperator.cpp.

◆ UseTranspose()

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

Returns the current UseTranspose setting.

Implements Epetra_Operator.

Definition at line 174 of file Stokhos_KLReducedMatrixFreeOperator.cpp.

◆ HasNormInf()

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

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

Implements Epetra_Operator.

Definition at line 181 of file Stokhos_KLReducedMatrixFreeOperator.cpp.

◆ Comm()

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

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

Implements Epetra_Operator.

Definition at line 188 of file Stokhos_KLReducedMatrixFreeOperator.cpp.

◆ OperatorDomainMap()

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

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

Implements Epetra_Operator.

Definition at line 194 of file Stokhos_KLReducedMatrixFreeOperator.cpp.

◆ OperatorRangeMap()

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

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

Implements Epetra_Operator.

Definition at line 203 of file Stokhos_KLReducedMatrixFreeOperator.cpp.

◆ setup()

void Stokhos::KLReducedMatrixFreeOperator::setup ( )
protected

Setup KL blocks.

Definition at line 212 of file Stokhos_KLReducedMatrixFreeOperator.cpp.

◆ operator=()

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

Private to prohibit copying.

Member Data Documentation

◆ label

std::string Stokhos::KLReducedMatrixFreeOperator::label
protected

Label for operator.

Definition at line 173 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

◆ sg_comm

Teuchos::RCP<const EpetraExt::MultiComm> Stokhos::KLReducedMatrixFreeOperator::sg_comm
protected

Stores SG parallel communicator.

Definition at line 176 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

◆ sg_basis

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

Stochastic Galerking basis.

Definition at line 179 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

◆ epetraCijk

Teuchos::RCP<const Stokhos::EpetraSparse3Tensor> Stokhos::KLReducedMatrixFreeOperator::epetraCijk
protected

Stores Epetra Cijk tensor.

Definition at line 182 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

◆ domain_base_map

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

Stores domain base map.

Definition at line 185 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

◆ range_base_map

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

Stores range base map.

Definition at line 188 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

◆ domain_sg_map

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

Stores domain SG map.

Definition at line 191 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

◆ range_sg_map

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

Stores range SG map.

Definition at line 194 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

◆ Cijk

Teuchos::RCP<const Cijk_type> Stokhos::KLReducedMatrixFreeOperator::Cijk
protected

Stores triple product tensor.

Definition at line 200 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

◆ block_ops

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

Stores operators.

Definition at line 203 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

◆ params

Teuchos::RCP<Teuchos::ParameterList> Stokhos::KLReducedMatrixFreeOperator::params
protected

Algorithmic parameters.

Definition at line 206 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

◆ useTranspose

bool Stokhos::KLReducedMatrixFreeOperator::useTranspose
protected

Flag indicating whether transpose was selected.

Definition at line 209 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

◆ expansion_size

int Stokhos::KLReducedMatrixFreeOperator::expansion_size
protected

Number of terms in expansion.

Definition at line 212 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

◆ num_blocks

int Stokhos::KLReducedMatrixFreeOperator::num_blocks
protected

Number of blocks.

Definition at line 215 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

◆ num_KL

int Stokhos::KLReducedMatrixFreeOperator::num_KL
protected

Number of KL terms.

Definition at line 218 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

◆ num_KL_computed

int Stokhos::KLReducedMatrixFreeOperator::num_KL_computed
protected

Number of computed KL terms.

Definition at line 221 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

◆ mean

Teuchos::RCP<Epetra_CrsMatrix> Stokhos::KLReducedMatrixFreeOperator::mean
protected

Mean block.

Definition at line 224 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

◆ block_vec_map

Teuchos::RCP<Epetra_Map> Stokhos::KLReducedMatrixFreeOperator::block_vec_map
protected

Block map for vectorized-matrices.

Definition at line 227 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

◆ block_vec_poly

Teuchos::RCP< Stokhos::EpetraVectorOrthogPoly> Stokhos::KLReducedMatrixFreeOperator::block_vec_poly
protected

Polynomial sorting vectorized matrix coefficients.

Definition at line 230 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

◆ dot_products

Teuchos::Array< Teuchos::Array<double> > Stokhos::KLReducedMatrixFreeOperator::dot_products
protected

Dot products of KL eigenvectors and Jacobian blocks.

Definition at line 233 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

◆ sparse_kl_coeffs

Teuchos::RCP< Stokhos::Sparse3Tensor<int,double> > Stokhos::KLReducedMatrixFreeOperator::sparse_kl_coeffs
protected

Sparse KL coefficients.

Definition at line 236 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

◆ kl_blocks

Teuchos::Array< Teuchos::RCP<Epetra_CrsMatrix> > Stokhos::KLReducedMatrixFreeOperator::kl_blocks
protected

KL blocks.

Definition at line 239 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

◆ kl_ops

Teuchos::RCP< Stokhos::EpetraOperatorOrthogPoly > Stokhos::KLReducedMatrixFreeOperator::kl_ops
protected

KL blocks as operators.

Definition at line 242 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

◆ kl_mat_free_op

Teuchos::RCP< Stokhos::MatrixFreeOperator > Stokhos::KLReducedMatrixFreeOperator::kl_mat_free_op
protected

Matrix-Free operator using KL operators.

Definition at line 245 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

◆ drop_tolerance

double Stokhos::KLReducedMatrixFreeOperator::drop_tolerance
protected

Tolerance for dropping entries in sparse 3 tensor.

Definition at line 248 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

◆ do_error_tests

bool Stokhos::KLReducedMatrixFreeOperator::do_error_tests
protected

Whether to do KL error tests (can be expensive)

Definition at line 251 of file Stokhos_KLReducedMatrixFreeOperator.hpp.


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