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::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]

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. More...
 
virtual ~KroneckerProductPreconditioner ()
 Destructor. More...
 
- Public Member Functions inherited from Stokhos::SGPreconditioner
 SGPreconditioner ()
 Constructor. More...
 
virtual ~SGPreconditioner ()
 Destructor. More...
 

Protected Types

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

Protected Member Functions

double MatrixTrace (const Epetra_CrsMatrix &A, const Epetra_CrsMatrix &B) const
 Compute trace of matrix A'B. 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_Mapbase_map
 Stores base map. More...
 
Teuchos::RCP< const Epetra_Mapsg_map
 Stores SG map. More...
 
Teuchos::RCP
< Stokhos::AbstractPreconditionerFactory
mean_prec_factory
 Stores factory for building mean preconditioner. More...
 
Teuchos::RCP
< Stokhos::AbstractPreconditionerFactory
G_prec_factory
 Stores factory for building G preconditioner. More...
 
Teuchos::RCP
< Teuchos::ParameterList
params
 Preconditioner parameters. More...
 
Teuchos::RCP< Epetra_Operatormean_prec
 Stores mean preconditioner. More...
 
Teuchos::RCP< Epetra_OperatorG_prec
 Stores G preconditioner. More...
 
bool useTranspose
 Flag indicating whether transpose was selected. More...
 
Teuchos::RCP< Stokhos::SGOperatorsg_op
 Pointer to the SG operator. More...
 
Teuchos::RCP
< Stokhos::EpetraOperatorOrthogPoly
sg_poly
 Pointer to the PCE expansion of Jacobian. More...
 
Teuchos::RCP< const Cijk_typeCijk
 Stores triple product tensor. More...
 
Teuchos::RCP< Epetra_CrsMatrixG
 Pointer to CrsMatrix G. More...
 
bool scale_op
 Flag indicating whether operator be scaled with <^2> More...
 
bool only_use_linear
 Limit construction of G to linear terms. More...
 
Teuchos::RCP< Epetra_MultiVectorresult_MVT
 

Private Member Functions

 KroneckerProductPreconditioner (const KroneckerProductPreconditioner &)
 Private to prohibit copying. More...
 
KroneckerProductPreconditioneroperator= (const KroneckerProductPreconditioner &)
 Private to prohibit copying. More...
 

Stokhos::SGPreconditioner methods

virtual void setupPreconditioner (const Teuchos::RCP< Stokhos::SGOperator > &sg_op, const Epetra_Vector &x)
 Setup preconditioner. 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 applying the mean in a block stochastic Galerkin expansion.

Definition at line 29 of file Stokhos_KroneckerProductPreconditioner.hpp.

Member Typedef Documentation

Short-hand for Cijk.

Definition at line 171 of file Stokhos_KroneckerProductPreconditioner.hpp.

Constructor & Destructor Documentation

Stokhos::KroneckerProductPreconditioner::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.

Definition at line 17 of file Stokhos_KroneckerProductPreconditioner.cpp.

Stokhos::KroneckerProductPreconditioner::~KroneckerProductPreconditioner ( )
virtual

Destructor.

Definition at line 59 of file Stokhos_KroneckerProductPreconditioner.cpp.

Stokhos::KroneckerProductPreconditioner::KroneckerProductPreconditioner ( const KroneckerProductPreconditioner )
private

Private to prohibit copying.

Member Function Documentation

void Stokhos::KroneckerProductPreconditioner::setupPreconditioner ( const Teuchos::RCP< Stokhos::SGOperator > &  sg_op,
const Epetra_Vector x 
)
virtual

Setup preconditioner.

Implements Stokhos::SGPreconditioner.

Definition at line 65 of file Stokhos_KroneckerProductPreconditioner.cpp.

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

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

Implements Epetra_Operator.

Definition at line 123 of file Stokhos_KroneckerProductPreconditioner.cpp.

int Stokhos::KroneckerProductPreconditioner::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 137 of file Stokhos_KroneckerProductPreconditioner.cpp.

int Stokhos::KroneckerProductPreconditioner::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 185 of file Stokhos_KroneckerProductPreconditioner.cpp.

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

Returns an approximate infinity norm of the operator matrix.

Implements Epetra_Operator.

Definition at line 249 of file Stokhos_KroneckerProductPreconditioner.cpp.

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

Returns a character string describing the operator.

Implements Epetra_Operator.

Definition at line 258 of file Stokhos_KroneckerProductPreconditioner.cpp.

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

Returns the current UseTranspose setting.

Implements Epetra_Operator.

Definition at line 265 of file Stokhos_KroneckerProductPreconditioner.cpp.

bool Stokhos::KroneckerProductPreconditioner::HasNormInf ( ) const
virtual

Returns true if the this object can provide an approximate Inf-norm, false otherwise.

Implements Epetra_Operator.

Definition at line 272 of file Stokhos_KroneckerProductPreconditioner.cpp.

const Epetra_Comm & Stokhos::KroneckerProductPreconditioner::Comm ( ) const
virtual

Returns a reference to the Epetra_Comm communicator associated with this operator.

Implements Epetra_Operator.

Definition at line 279 of file Stokhos_KroneckerProductPreconditioner.cpp.

const Epetra_Map & Stokhos::KroneckerProductPreconditioner::OperatorDomainMap ( ) const
virtual

Returns the Epetra_Map object associated with the domain of this matrix operator.

Implements Epetra_Operator.

Definition at line 285 of file Stokhos_KroneckerProductPreconditioner.cpp.

const Epetra_Map & Stokhos::KroneckerProductPreconditioner::OperatorRangeMap ( ) const
virtual

Returns the Epetra_Map object associated with the range of this matrix operator.

Implements Epetra_Operator.

Definition at line 292 of file Stokhos_KroneckerProductPreconditioner.cpp.

double Stokhos::KroneckerProductPreconditioner::MatrixTrace ( const Epetra_CrsMatrix A,
const Epetra_CrsMatrix B 
) const
protected

Compute trace of matrix A'B.

Definition at line 299 of file Stokhos_KroneckerProductPreconditioner.cpp.

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

Private to prohibit copying.

Member Data Documentation

std::string Stokhos::KroneckerProductPreconditioner::label
protected

Label for operator.

Definition at line 129 of file Stokhos_KroneckerProductPreconditioner.hpp.

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

Stores SG parallel communicator.

Definition at line 132 of file Stokhos_KroneckerProductPreconditioner.hpp.

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

Stochastic Galerking basis.

Definition at line 135 of file Stokhos_KroneckerProductPreconditioner.hpp.

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

Stores Epetra Cijk tensor.

Definition at line 138 of file Stokhos_KroneckerProductPreconditioner.hpp.

Teuchos::RCP<const Epetra_Map> Stokhos::KroneckerProductPreconditioner::base_map
protected

Stores base map.

Definition at line 141 of file Stokhos_KroneckerProductPreconditioner.hpp.

Teuchos::RCP<const Epetra_Map> Stokhos::KroneckerProductPreconditioner::sg_map
protected

Stores SG map.

Definition at line 144 of file Stokhos_KroneckerProductPreconditioner.hpp.

Teuchos::RCP<Stokhos::AbstractPreconditionerFactory> Stokhos::KroneckerProductPreconditioner::mean_prec_factory
protected

Stores factory for building mean preconditioner.

Definition at line 147 of file Stokhos_KroneckerProductPreconditioner.hpp.

Teuchos::RCP<Stokhos::AbstractPreconditionerFactory> Stokhos::KroneckerProductPreconditioner::G_prec_factory
protected

Stores factory for building G preconditioner.

Definition at line 150 of file Stokhos_KroneckerProductPreconditioner.hpp.

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

Preconditioner parameters.

Definition at line 153 of file Stokhos_KroneckerProductPreconditioner.hpp.

Teuchos::RCP<Epetra_Operator> Stokhos::KroneckerProductPreconditioner::mean_prec
protected

Stores mean preconditioner.

Definition at line 156 of file Stokhos_KroneckerProductPreconditioner.hpp.

Teuchos::RCP<Epetra_Operator> Stokhos::KroneckerProductPreconditioner::G_prec
protected

Stores G preconditioner.

Definition at line 159 of file Stokhos_KroneckerProductPreconditioner.hpp.

bool Stokhos::KroneckerProductPreconditioner::useTranspose
protected

Flag indicating whether transpose was selected.

Definition at line 162 of file Stokhos_KroneckerProductPreconditioner.hpp.

Teuchos::RCP<Stokhos::SGOperator> Stokhos::KroneckerProductPreconditioner::sg_op
protected

Pointer to the SG operator.

Definition at line 165 of file Stokhos_KroneckerProductPreconditioner.hpp.

Teuchos::RCP<Stokhos::EpetraOperatorOrthogPoly > Stokhos::KroneckerProductPreconditioner::sg_poly
protected

Pointer to the PCE expansion of Jacobian.

Definition at line 168 of file Stokhos_KroneckerProductPreconditioner.hpp.

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

Stores triple product tensor.

Definition at line 174 of file Stokhos_KroneckerProductPreconditioner.hpp.

Teuchos::RCP<Epetra_CrsMatrix> Stokhos::KroneckerProductPreconditioner::G
protected

Pointer to CrsMatrix G.

Definition at line 177 of file Stokhos_KroneckerProductPreconditioner.hpp.

bool Stokhos::KroneckerProductPreconditioner::scale_op
protected

Flag indicating whether operator be scaled with <^2>

Definition at line 180 of file Stokhos_KroneckerProductPreconditioner.hpp.

bool Stokhos::KroneckerProductPreconditioner::only_use_linear
protected

Limit construction of G to linear terms.

Definition at line 183 of file Stokhos_KroneckerProductPreconditioner.hpp.

Teuchos::RCP<Epetra_MultiVector> Stokhos::KroneckerProductPreconditioner::result_MVT
mutableprotected

Definition at line 185 of file Stokhos_KroneckerProductPreconditioner.hpp.


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