Stokhos::KLReducedMatrixFreeEpetraOp Class Reference

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

#include <Stokhos_KLReducedMatrixFreeEpetraOp.hpp>

List of all members.

Public Member Functions

 KLReducedMatrixFreeEpetraOp (const Teuchos::RCP< const Epetra_Map > &base_map, const Teuchos::RCP< const Epetra_Map > &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::VectorOrthogPoly< Epetra_Operator > > &ops, const Teuchos::RCP< Teuchos::ParameterList > &params)
 Constructor.
virtual ~KLReducedMatrixFreeEpetraOp ()
 Destructor.
virtual void reset (const Teuchos::RCP< Stokhos::VectorOrthogPoly< Epetra_Operator > > &ops)
 Reset operator blocks.
virtual const
Stokhos::VectorOrthogPoly
< Epetra_Operator > & 
getOperatorBlocks ()
 Get operator blocks.
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.
virtual const double ApplyTime () const
 Returns the time spent applying this operator.

Protected Member Functions

void setup ()
 Setup KL blocks.

Protected Attributes

std::string label
 Label for operator.
Teuchos::RCP< const Epetra_Map > base_map
 Stores base map.
Teuchos::RCP< const Epetra_Map > sg_map
 Stores 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::VectorOrthogPoly
< Epetra_Operator > > 
block_ops
 Stores operators.
Teuchos::RCP
< Teuchos::ParameterList > 
params
 Algorithmic parameters.
bool useTranspose
 Flag indicating whether transpose was selected.
int num_blocks
 Number of blocks.
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.
Teuchos::RCP< Epetra_MultiVector > tmp2
 Temporary multivector.
Teuchos::RCP< Teuchos::Time > ApplyTimer
 Operation Timer.
int num_KL
 Number of KL terms.
int num_KL_computed
 Number of computed KL terms.
Teuchos::RCP< Epetra_CrsMatrix > mean
 Mean block.
Teuchos::RCP< Epetra_Map > block_vec_map
 Block map for vectorized-matrices.
Teuchos::RCP
< Stokhos::VectorOrthogPoly
< Epetra_Vector > > 
block_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.
double drop_tolerance
 Tolerance for dropping entries in sparse 3 tensor.
bool do_error_tests
 Whether to do KL error tests (can be expensive).

Detailed Description

An Epetra operator representing the block stochastic Galerkin operator.


The documentation for this class was generated from the following files:
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator
Generated on Wed Apr 13 09:58:15 2011 for Stokhos by  doxygen 1.6.3