Stokhos  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Public Member Functions | Protected Types | Protected Attributes | List of all members
Stokhos::KLMatrixFreeOperator Class Reference

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

#include <Stokhos_KLMatrixFreeOperator.hpp>

Inheritance diagram for Stokhos::KLMatrixFreeOperator:
Inheritance graph
[legend]
Collaboration diagram for Stokhos::KLMatrixFreeOperator:
Collaboration graph
[legend]

Public Member Functions

 KLMatrixFreeOperator (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 ~KLMatrixFreeOperator ()
 Destructor.
 
Stokhos::SGOperator methods
virtual void setupOperator (const Teuchos::RCP< Stokhos::EpetraOperatorOrthogPoly > &poly)
 Setup operator.
 
virtual Teuchos::RCP
< Stokhos::EpetraOperatorOrthogPoly
getSGPolynomial ()
 Get SG polynomial.
 
virtual Teuchos::RCP< const
Stokhos::EpetraOperatorOrthogPoly
getSGPolynomial () const
 Get SG polynomial.
 
Epetra_Operator methods
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 std::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.
 
- Public Member Functions inherited from Stokhos::SGOperator
 SGOperator ()
 Constructor.
 
virtual ~SGOperator ()
 Destructor.
 

Protected Types

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

Protected Attributes

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::EpetraSparse3Tensor
epetraCijk
 Stores Epetra Cijk tensor.
 
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.
 
bool is_stoch_parallel
 Whether we have parallelism over stochastic blocks.
 
Teuchos::RCP< Epetra_Map > global_col_map
 Stores operator column SG map.
 
Teuchos::RCP< Epetra_Map > global_col_map_trans
 Stores operator column SG map for transpose.
 
Teuchos::RCP< const
Epetra_BlockMap > 
stoch_col_map
 Stores stochastic part of column map.
 
Teuchos::RCP< Epetra_Import > col_importer
 Importer from domain map to column map.
 
Teuchos::RCP< Epetra_Import > col_importer_trans
 Importer from range map to column map.
 
Teuchos::RCP< const Cijk_typeCijk
 Stores triple product tensor.
 
Teuchos::RCP
< Stokhos::EpetraOperatorOrthogPoly
block_ops
 Stores operators.
 
bool scale_op
 Flag indicating whether operator be scaled with <^2>
 
bool include_mean
 Flag indicating whether to include mean term.
 
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)
 
int max_num_mat_vec
 Maximum number of matvecs in Apply.
 
Teuchos::RCP< Epetra_MultiVector > input_col
 Temporary to store result of importing input into column map.
 
Teuchos::RCP< Epetra_MultiVector > input_col_trans
 Temporary to store result of importing input into column map (transpose)
 
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.
 
Cijk_type::k_iterator k_begin
 Starting k iterator.
 
Cijk_type::k_iterator k_end
 Ending k iterator.
 

Detailed Description

An Epetra operator representing the block stochastic Galerkin operator.


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