Stokhos Development
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
Stokhos::KroneckerProductPreconditioner Class Reference

An Epetra operator representing applying the mean in a block stochastic Galerkin expansion. More...

#include <Stokhos_KroneckerProductPreconditioner.hpp>

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

List of all members.

Public Member Functions

 KroneckerProductPreconditioner (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 > &base_map, const Teuchos::RCP< const Epetra_Map > &sg_map, const Teuchos::RCP< Stokhos::AbstractPreconditionerFactory > &mean_prec_factory, const Teuchos::RCP< Stokhos::AbstractPreconditionerFactory > &G_prec_factory, const Teuchos::RCP< Teuchos::ParameterList > &params)
 Constructor.
virtual ~KroneckerProductPreconditioner ()
 Destructor.
Stokhos::SGPreconditioner methods
virtual void setupPreconditioner (const Teuchos::RCP< Stokhos::SGOperator > &sg_op, const Epetra_Vector &x)
 Setup preconditioner.
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.

Protected Types

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

Protected Member Functions

double MatrixTrace (const Epetra_CrsMatrix &A, const Epetra_CrsMatrix &B) const
 Compute trace of matrix A'B.

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 > base_map
 Stores base map.
Teuchos::RCP< const Epetra_Map > sg_map
 Stores SG map.
Teuchos::RCP
< Stokhos::AbstractPreconditionerFactory
mean_prec_factory
 Stores factory for building mean preconditioner.
Teuchos::RCP
< Stokhos::AbstractPreconditionerFactory
G_prec_factory
 Stores factory for building G preconditioner.
Teuchos::RCP
< Teuchos::ParameterList > 
params
 Preconditioner parameters.
Teuchos::RCP< Epetra_Operator > mean_prec
 Stores mean preconditioner.
Teuchos::RCP< Epetra_Operator > G_prec
 Stores G preconditioner.
bool useTranspose
 Flag indicating whether transpose was selected.
Teuchos::RCP< Stokhos::SGOperatorsg_op
 Pointer to the SG operator.
Teuchos::RCP
< Stokhos::EpetraOperatorOrthogPoly
sg_poly
 Pointer to the PCE expansion of Jacobian.
Teuchos::RCP< const Cijk_typeCijk
 Stores triple product tensor.
Teuchos::RCP< Epetra_CrsMatrix > G
 Pointer to CrsMatrix G.
bool scale_op
 Flag indicating whether operator be scaled with <^2>
bool only_use_linear
 Limit construction of G to linear terms.
Teuchos::RCP< Epetra_MultiVector > result_MVT

Detailed Description

An Epetra operator representing applying the mean in a block stochastic Galerkin expansion.


The documentation for this class was generated from the following files:
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator