Stokhos
Development
|
An Epetra operator representing the block stochastic Galerkin operator. More...
#include <Stokhos_KLReducedMatrixFreeOperator.hpp>
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 > ¶ms) | |
Constructor. | |
virtual | ~KLReducedMatrixFreeOperator () |
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 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 Member Functions | |
void | setup () |
Setup KL blocks. | |
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. | |
Teuchos::RCP< const Cijk_type > | Cijk |
Stores triple product tensor. | |
Teuchos::RCP < Stokhos::EpetraOperatorOrthogPoly > | block_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_CrsMatrix > | mean |
Mean block. | |
Teuchos::RCP< Epetra_Map > | block_vec_map |
Block map for vectorized-matrices. | |
Teuchos::RCP < Stokhos::EpetraVectorOrthogPoly > | 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. | |
Teuchos::RCP < Stokhos::EpetraOperatorOrthogPoly > | kl_ops |
KL blocks as operators. | |
Teuchos::RCP < Stokhos::MatrixFreeOperator > | kl_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) | |
An Epetra operator representing the block stochastic Galerkin operator.