Stokhos Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private 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. More...
 
virtual ~KLReducedMatrixFreeOperator ()
 Destructor. More...
 
- Public Member Functions inherited from Stokhos::SGOperator
 SGOperator ()
 Constructor. More...
 
virtual ~SGOperator ()
 Destructor. More...
 

Protected Types

typedef Stokhos::Sparse3Tensor
< int, double
Cijk_type
 Short-hand for Cijk. More...
 

Protected Member Functions

void setup ()
 Setup KL blocks. More...
 

Protected Attributes

std::string label
 Label for operator. More...
 
Teuchos::RCP< const
EpetraExt::MultiComm > 
sg_comm
 Stores SG parallel communicator. More...
 
Teuchos::RCP< const
Stokhos::OrthogPolyBasis< int,
double > > 
sg_basis
 Stochastic Galerking basis. More...
 
Teuchos::RCP< const
Stokhos::EpetraSparse3Tensor
epetraCijk
 Stores Epetra Cijk tensor. More...
 
Teuchos::RCP< const Epetra_Mapdomain_base_map
 Stores domain base map. More...
 
Teuchos::RCP< const Epetra_Maprange_base_map
 Stores range base map. More...
 
Teuchos::RCP< const Epetra_Mapdomain_sg_map
 Stores domain SG map. More...
 
Teuchos::RCP< const Epetra_Maprange_sg_map
 Stores range SG map. More...
 
Teuchos::RCP< const Cijk_typeCijk
 Stores triple product tensor. More...
 
Teuchos::RCP
< Stokhos::EpetraOperatorOrthogPoly
block_ops
 Stores operators. More...
 
Teuchos::RCP
< Teuchos::ParameterList
params
 Algorithmic parameters. More...
 
bool useTranspose
 Flag indicating whether transpose was selected. More...
 
int expansion_size
 Number of terms in expansion. More...
 
int num_blocks
 Number of blocks. More...
 
int num_KL
 Number of KL terms. More...
 
int num_KL_computed
 Number of computed KL terms. More...
 
Teuchos::RCP< Epetra_CrsMatrixmean
 Mean block. More...
 
Teuchos::RCP< Epetra_Mapblock_vec_map
 Block map for vectorized-matrices. More...
 
Teuchos::RCP
< Stokhos::EpetraVectorOrthogPoly
block_vec_poly
 Polynomial sorting vectorized matrix coefficients. More...
 
Teuchos::Array< Teuchos::Array
< double > > 
dot_products
 Dot products of KL eigenvectors and Jacobian blocks. More...
 
Teuchos::RCP
< Stokhos::Sparse3Tensor< int,
double > > 
sparse_kl_coeffs
 Sparse KL coefficients. More...
 
Teuchos::Array< Teuchos::RCP
< Epetra_CrsMatrix > > 
kl_blocks
 KL blocks. More...
 
Teuchos::RCP
< Stokhos::EpetraOperatorOrthogPoly
kl_ops
 KL blocks as operators. More...
 
Teuchos::RCP
< Stokhos::MatrixFreeOperator
kl_mat_free_op
 Matrix-Free operator using KL operators. More...
 
double drop_tolerance
 Tolerance for dropping entries in sparse 3 tensor. More...
 
bool do_error_tests
 Whether to do KL error tests (can be expensive) More...
 

Private Member Functions

 KLReducedMatrixFreeOperator (const KLReducedMatrixFreeOperator &)
 Private to prohibit copying. More...
 
KLReducedMatrixFreeOperatoroperator= (const KLReducedMatrixFreeOperator &)
 Private to prohibit copying. More...
 

Stokhos::SGOperator methods

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

Epetra_Operator methods

virtual int SetUseTranspose (bool UseTranspose)
 Set to true if the transpose of the operator is requested. More...
 
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. More...
 
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. More...
 
virtual double NormInf () const
 Returns an approximate infinity norm of the operator matrix. More...
 
virtual const char * Label () const
 Returns a character string describing the operator. More...
 
virtual bool UseTranspose () const
 Returns the current UseTranspose setting. More...
 
virtual bool HasNormInf () const
 Returns true if the this object can provide an approximate Inf-norm, false otherwise. More...
 
virtual const Epetra_CommComm () const
 Returns a reference to the Epetra_Comm communicator associated with this operator. More...
 
virtual const Epetra_MapOperatorDomainMap () const
 Returns the Epetra_Map object associated with the domain of this matrix operator. More...
 
virtual const Epetra_MapOperatorRangeMap () const
 Returns the Epetra_Map object associated with the range of this matrix operator. More...
 

Detailed Description

An Epetra operator representing the block stochastic Galerkin operator.

Definition at line 67 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

Member Typedef Documentation

Short-hand for Cijk.

Definition at line 197 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

Constructor & Destructor Documentation

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 53 of file Stokhos_KLReducedMatrixFreeOperator.cpp.

Stokhos::KLReducedMatrixFreeOperator::~KLReducedMatrixFreeOperator ( )
virtual

Destructor.

Definition at line 127 of file Stokhos_KLReducedMatrixFreeOperator.cpp.

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

Private to prohibit copying.

Member Function Documentation

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

Setup operator.

Implements Stokhos::SGOperator.

Definition at line 92 of file Stokhos_KLReducedMatrixFreeOperator.cpp.

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

Get SG polynomial.

Implements Stokhos::SGOperator.

Definition at line 114 of file Stokhos_KLReducedMatrixFreeOperator.cpp.

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

Get SG polynomial.

Implements Stokhos::SGOperator.

Definition at line 121 of file Stokhos_KLReducedMatrixFreeOperator.cpp.

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

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

Implements Epetra_Operator.

Definition at line 133 of file Stokhos_KLReducedMatrixFreeOperator.cpp.

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 145 of file Stokhos_KLReducedMatrixFreeOperator.cpp.

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 152 of file Stokhos_KLReducedMatrixFreeOperator.cpp.

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

Returns an approximate infinity norm of the operator matrix.

Implements Epetra_Operator.

Definition at line 160 of file Stokhos_KLReducedMatrixFreeOperator.cpp.

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

Returns a character string describing the operator.

Implements Epetra_Operator.

Definition at line 168 of file Stokhos_KLReducedMatrixFreeOperator.cpp.

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

Returns the current UseTranspose setting.

Implements Epetra_Operator.

Definition at line 175 of file Stokhos_KLReducedMatrixFreeOperator.cpp.

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 182 of file Stokhos_KLReducedMatrixFreeOperator.cpp.

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 189 of file Stokhos_KLReducedMatrixFreeOperator.cpp.

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 195 of file Stokhos_KLReducedMatrixFreeOperator.cpp.

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 204 of file Stokhos_KLReducedMatrixFreeOperator.cpp.

void Stokhos::KLReducedMatrixFreeOperator::setup ( )
protected

Setup KL blocks.

Definition at line 213 of file Stokhos_KLReducedMatrixFreeOperator.cpp.

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

Private to prohibit copying.

Member Data Documentation

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

Label for operator.

Definition at line 173 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

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

Stores SG parallel communicator.

Definition at line 176 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

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

Stochastic Galerking basis.

Definition at line 179 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

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

Stores Epetra Cijk tensor.

Definition at line 182 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

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

Stores domain base map.

Definition at line 185 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

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

Stores range base map.

Definition at line 188 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

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

Stores domain SG map.

Definition at line 191 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

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

Stores range SG map.

Definition at line 194 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

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

Stores triple product tensor.

Definition at line 200 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

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

Stores operators.

Definition at line 203 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

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

Algorithmic parameters.

Definition at line 206 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

bool Stokhos::KLReducedMatrixFreeOperator::useTranspose
protected

Flag indicating whether transpose was selected.

Definition at line 209 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

int Stokhos::KLReducedMatrixFreeOperator::expansion_size
protected

Number of terms in expansion.

Definition at line 212 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

int Stokhos::KLReducedMatrixFreeOperator::num_blocks
protected

Number of blocks.

Definition at line 215 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

int Stokhos::KLReducedMatrixFreeOperator::num_KL
protected

Number of KL terms.

Definition at line 218 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

int Stokhos::KLReducedMatrixFreeOperator::num_KL_computed
protected

Number of computed KL terms.

Definition at line 221 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

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

Mean block.

Definition at line 224 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

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

Block map for vectorized-matrices.

Definition at line 227 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

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

Polynomial sorting vectorized matrix coefficients.

Definition at line 230 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

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.

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

Sparse KL coefficients.

Definition at line 236 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

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

KL blocks.

Definition at line 239 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

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

KL blocks as operators.

Definition at line 242 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

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.

double Stokhos::KLReducedMatrixFreeOperator::drop_tolerance
protected

Tolerance for dropping entries in sparse 3 tensor.

Definition at line 248 of file Stokhos_KLReducedMatrixFreeOperator.hpp.

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: