Stokhos Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
Public Member Functions | 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]

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

Epetra_Operator methods

typedef Stokhos::Sparse3Tensor< int, doubleCijk_type
 Short-hand for Cijk.
 
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::EpetraSparse3TensorepetraCijk
 Stores Epetra Cijk tensor.
 
Teuchos::RCP< const Epetra_Mapdomain_base_map
 Stores domain base map.
 
Teuchos::RCP< const Epetra_Maprange_base_map
 Stores range base map.
 
Teuchos::RCP< const Epetra_Mapdomain_sg_map
 Stores domain SG map.
 
Teuchos::RCP< const Epetra_Maprange_sg_map
 Stores range SG map.
 
bool is_stoch_parallel
 Whether we have parallelism over stochastic blocks.
 
Teuchos::RCP< Epetra_Mapglobal_col_map
 Stores operator column SG map.
 
Teuchos::RCP< Epetra_Mapglobal_col_map_trans
 Stores operator column SG map for transpose.
 
Teuchos::RCP< const Epetra_BlockMapstoch_col_map
 Stores stochastic part of column map.
 
Teuchos::RCP< Epetra_Importcol_importer
 Importer from domain map to column map.
 
Teuchos::RCP< Epetra_Importcol_importer_trans
 Importer from range map to column map.
 
Teuchos::RCP< const Cijk_typeCijk
 Stores triple product tensor.
 
Teuchos::RCP< Stokhos::EpetraOperatorOrthogPolyblock_ops
 Stores operators.
 
bool scale_op
 Flag indicating whether operator be scaled with <\psi_i^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_MultiVectorinput_col
 Temporary to store result of importing input into column map.
 
Teuchos::RCP< Epetra_MultiVectorinput_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_MultiVectortmp
 Temporary multivector used in Apply()
 
Teuchos::RCP< Epetra_MultiVectortmp_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.
 
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_CommComm () const
 Returns a reference to the Epetra_Comm communicator associated with this operator.
 
virtual const Epetra_MapOperatorDomainMap () const
 Returns the Epetra_Map object associated with the domain of this matrix operator.
 
virtual const Epetra_MapOperatorRangeMap () const
 Returns the Epetra_Map object associated with the range of this matrix operator.
 
 KLMatrixFreeOperator (const KLMatrixFreeOperator &)
 Private to prohibit copying.
 
KLMatrixFreeOperatoroperator= (const KLMatrixFreeOperator &)
 Private to prohibit copying.
 

Stokhos::SGOperator methods

virtual void setupOperator (const Teuchos::RCP< Stokhos::EpetraOperatorOrthogPoly > &poly)
 Setup operator.
 
virtual Teuchos::RCP< Stokhos::EpetraOperatorOrthogPolygetSGPolynomial ()
 Get SG polynomial.
 
virtual Teuchos::RCP< const Stokhos::EpetraOperatorOrthogPolygetSGPolynomial () const
 Get SG polynomial.
 

Detailed Description

An Epetra operator representing the block stochastic Galerkin operator.

Definition at line 62 of file Stokhos_KLMatrixFreeOperator.hpp.

Member Typedef Documentation

◆ Cijk_type

Short-hand for Cijk.

Definition at line 205 of file Stokhos_KLMatrixFreeOperator.hpp.

Constructor & Destructor Documentation

◆ KLMatrixFreeOperator() [1/2]

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

Definition at line 46 of file Stokhos_KLMatrixFreeOperator.cpp.

◆ ~KLMatrixFreeOperator()

Stokhos::KLMatrixFreeOperator::~KLMatrixFreeOperator ( )
virtual

Destructor.

Definition at line 133 of file Stokhos_KLMatrixFreeOperator.cpp.

◆ KLMatrixFreeOperator() [2/2]

Stokhos::KLMatrixFreeOperator::KLMatrixFreeOperator ( const KLMatrixFreeOperator & )
private

Private to prohibit copying.

Member Function Documentation

◆ setupOperator()

void Stokhos::KLMatrixFreeOperator::setupOperator ( const Teuchos::RCP< Stokhos::EpetraOperatorOrthogPoly > & poly)
virtual

Setup operator.

Implements Stokhos::SGOperator.

Definition at line 138 of file Stokhos_KLMatrixFreeOperator.cpp.

◆ getSGPolynomial() [1/2]

Teuchos::RCP< Stokhos::EpetraOperatorOrthogPoly > Stokhos::KLMatrixFreeOperator::getSGPolynomial ( )
virtual

Get SG polynomial.

Implements Stokhos::SGOperator.

Definition at line 147 of file Stokhos_KLMatrixFreeOperator.cpp.

◆ getSGPolynomial() [2/2]

Teuchos::RCP< const Stokhos::EpetraOperatorOrthogPoly > Stokhos::KLMatrixFreeOperator::getSGPolynomial ( ) const
virtual

Get SG polynomial.

Implements Stokhos::SGOperator.

Definition at line 154 of file Stokhos_KLMatrixFreeOperator.cpp.

◆ SetUseTranspose()

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

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

Implements Epetra_Operator.

Definition at line 161 of file Stokhos_KLMatrixFreeOperator.cpp.

◆ Apply()

int Stokhos::KLMatrixFreeOperator::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 172 of file Stokhos_KLMatrixFreeOperator.cpp.

◆ ApplyInverse()

int Stokhos::KLMatrixFreeOperator::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 316 of file Stokhos_KLMatrixFreeOperator.cpp.

◆ NormInf()

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

Returns an approximate infinity norm of the operator matrix.

Implements Epetra_Operator.

Definition at line 324 of file Stokhos_KLMatrixFreeOperator.cpp.

◆ Label()

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

Returns a character std::string describing the operator.

Implements Epetra_Operator.

Definition at line 332 of file Stokhos_KLMatrixFreeOperator.cpp.

◆ UseTranspose()

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

Returns the current UseTranspose setting.

Implements Epetra_Operator.

Definition at line 339 of file Stokhos_KLMatrixFreeOperator.cpp.

◆ HasNormInf()

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

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

Implements Epetra_Operator.

Definition at line 346 of file Stokhos_KLMatrixFreeOperator.cpp.

◆ Comm()

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

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

Implements Epetra_Operator.

Definition at line 353 of file Stokhos_KLMatrixFreeOperator.cpp.

◆ OperatorDomainMap()

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

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

Implements Epetra_Operator.

Definition at line 359 of file Stokhos_KLMatrixFreeOperator.cpp.

◆ OperatorRangeMap()

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

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

Implements Epetra_Operator.

Definition at line 368 of file Stokhos_KLMatrixFreeOperator.cpp.

◆ operator=()

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

Private to prohibit copying.

Member Data Documentation

◆ label

std::string Stokhos::KLMatrixFreeOperator::label
protected

Label for operator.

Definition at line 163 of file Stokhos_KLMatrixFreeOperator.hpp.

◆ sg_comm

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

Stores SG parallel communicator.

Definition at line 166 of file Stokhos_KLMatrixFreeOperator.hpp.

◆ sg_basis

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

Stochastic Galerking basis.

Definition at line 169 of file Stokhos_KLMatrixFreeOperator.hpp.

◆ epetraCijk

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

Stores Epetra Cijk tensor.

Definition at line 172 of file Stokhos_KLMatrixFreeOperator.hpp.

◆ domain_base_map

Teuchos::RCP<const Epetra_Map> Stokhos::KLMatrixFreeOperator::domain_base_map
protected

Stores domain base map.

Definition at line 175 of file Stokhos_KLMatrixFreeOperator.hpp.

◆ range_base_map

Teuchos::RCP<const Epetra_Map> Stokhos::KLMatrixFreeOperator::range_base_map
protected

Stores range base map.

Definition at line 178 of file Stokhos_KLMatrixFreeOperator.hpp.

◆ domain_sg_map

Teuchos::RCP<const Epetra_Map> Stokhos::KLMatrixFreeOperator::domain_sg_map
protected

Stores domain SG map.

Definition at line 181 of file Stokhos_KLMatrixFreeOperator.hpp.

◆ range_sg_map

Teuchos::RCP<const Epetra_Map> Stokhos::KLMatrixFreeOperator::range_sg_map
protected

Stores range SG map.

Definition at line 184 of file Stokhos_KLMatrixFreeOperator.hpp.

◆ is_stoch_parallel

bool Stokhos::KLMatrixFreeOperator::is_stoch_parallel
protected

Whether we have parallelism over stochastic blocks.

Definition at line 187 of file Stokhos_KLMatrixFreeOperator.hpp.

◆ global_col_map

Teuchos::RCP<Epetra_Map> Stokhos::KLMatrixFreeOperator::global_col_map
protected

Stores operator column SG map.

Definition at line 190 of file Stokhos_KLMatrixFreeOperator.hpp.

◆ global_col_map_trans

Teuchos::RCP<Epetra_Map> Stokhos::KLMatrixFreeOperator::global_col_map_trans
protected

Stores operator column SG map for transpose.

Definition at line 193 of file Stokhos_KLMatrixFreeOperator.hpp.

◆ stoch_col_map

Teuchos::RCP<const Epetra_BlockMap> Stokhos::KLMatrixFreeOperator::stoch_col_map
protected

Stores stochastic part of column map.

Definition at line 196 of file Stokhos_KLMatrixFreeOperator.hpp.

◆ col_importer

Teuchos::RCP<Epetra_Import> Stokhos::KLMatrixFreeOperator::col_importer
protected

Importer from domain map to column map.

Definition at line 199 of file Stokhos_KLMatrixFreeOperator.hpp.

◆ col_importer_trans

Teuchos::RCP<Epetra_Import> Stokhos::KLMatrixFreeOperator::col_importer_trans
protected

Importer from range map to column map.

Definition at line 202 of file Stokhos_KLMatrixFreeOperator.hpp.

◆ Cijk

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

Stores triple product tensor.

Definition at line 208 of file Stokhos_KLMatrixFreeOperator.hpp.

◆ block_ops

Teuchos::RCP<Stokhos::EpetraOperatorOrthogPoly > Stokhos::KLMatrixFreeOperator::block_ops
protected

Stores operators.

Definition at line 211 of file Stokhos_KLMatrixFreeOperator.hpp.

◆ scale_op

bool Stokhos::KLMatrixFreeOperator::scale_op
protected

Flag indicating whether operator be scaled with <\psi_i^2>

Definition at line 214 of file Stokhos_KLMatrixFreeOperator.hpp.

◆ include_mean

bool Stokhos::KLMatrixFreeOperator::include_mean
protected

Flag indicating whether to include mean term.

Definition at line 217 of file Stokhos_KLMatrixFreeOperator.hpp.

◆ useTranspose

bool Stokhos::KLMatrixFreeOperator::useTranspose
protected

Flag indicating whether transpose was selected.

Definition at line 220 of file Stokhos_KLMatrixFreeOperator.hpp.

◆ expansion_size

int Stokhos::KLMatrixFreeOperator::expansion_size
protected

Number of terms in expansion.

Definition at line 223 of file Stokhos_KLMatrixFreeOperator.hpp.

◆ num_blocks

int Stokhos::KLMatrixFreeOperator::num_blocks
protected

Number of Jacobian blocks (not necessarily equal to expansion_size)

Definition at line 226 of file Stokhos_KLMatrixFreeOperator.hpp.

◆ max_num_mat_vec

int Stokhos::KLMatrixFreeOperator::max_num_mat_vec
protected

Maximum number of matvecs in Apply.

Definition at line 229 of file Stokhos_KLMatrixFreeOperator.hpp.

◆ input_col

Teuchos::RCP<Epetra_MultiVector> Stokhos::KLMatrixFreeOperator::input_col
mutableprotected

Temporary to store result of importing input into column map.

Definition at line 232 of file Stokhos_KLMatrixFreeOperator.hpp.

◆ input_col_trans

Teuchos::RCP<Epetra_MultiVector> Stokhos::KLMatrixFreeOperator::input_col_trans
mutableprotected

Temporary to store result of importing input into column map (transpose)

Definition at line 235 of file Stokhos_KLMatrixFreeOperator.hpp.

◆ input_block

Teuchos::Array< Teuchos::RCP<const Epetra_MultiVector> > Stokhos::KLMatrixFreeOperator::input_block
mutableprotected

MultiVectors for each block for Apply() input.

Definition at line 238 of file Stokhos_KLMatrixFreeOperator.hpp.

◆ result_block

Teuchos::Array< Teuchos::RCP<Epetra_MultiVector> > Stokhos::KLMatrixFreeOperator::result_block
mutableprotected

MultiVectors for each block for Apply() result.

Definition at line 241 of file Stokhos_KLMatrixFreeOperator.hpp.

◆ tmp

Teuchos::RCP<Epetra_MultiVector> Stokhos::KLMatrixFreeOperator::tmp
mutableprotected

Temporary multivector used in Apply()

Definition at line 244 of file Stokhos_KLMatrixFreeOperator.hpp.

◆ tmp_trans

Teuchos::RCP<Epetra_MultiVector> Stokhos::KLMatrixFreeOperator::tmp_trans
mutableprotected

Temporary multivector used in Apply() for transpose.

Definition at line 247 of file Stokhos_KLMatrixFreeOperator.hpp.

◆ k_begin

Cijk_type::k_iterator Stokhos::KLMatrixFreeOperator::k_begin
protected

Starting k iterator.

Definition at line 250 of file Stokhos_KLMatrixFreeOperator.hpp.

◆ k_end

Cijk_type::k_iterator Stokhos::KLMatrixFreeOperator::k_end
protected

Ending k iterator.

Definition at line 253 of file Stokhos_KLMatrixFreeOperator.hpp.


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