Stokhos Package Browser (Single Doxygen Collection) Version of the Day
|
An Epetra operator representing the block stochastic Galerkin operator. More...
#include <Stokhos_KLMatrixFreeOperator.hpp>
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 > ¶ms) | |
Constructor. | |
virtual | ~KLMatrixFreeOperator () |
Destructor. | |
![]() | |
SGOperator () | |
Constructor. | |
virtual | ~SGOperator () |
Destructor. | |
virtual void | setupOperator (const Teuchos::RCP< Stokhos::EpetraOperatorOrthogPoly > &poly)=0 |
Setup operator. | |
virtual Teuchos::RCP< Stokhos::EpetraOperatorOrthogPoly > | getSGPolynomial ()=0 |
Get SG polynomial. | |
virtual Teuchos::RCP< const Stokhos::EpetraOperatorOrthogPoly > | getSGPolynomial () const =0 |
Get SG polynomial. | |
![]() | |
virtual | ~Epetra_Operator () |
virtual int | SetUseTranspose (bool UseTranspose)=0 |
virtual int | Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const=0 |
virtual int | ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const=0 |
virtual double | NormInf () const=0 |
virtual const char * | Label () const=0 |
virtual bool | UseTranspose () const=0 |
virtual bool | HasNormInf () const=0 |
virtual const Epetra_Comm & | Comm () const=0 |
virtual const Epetra_Map & | OperatorDomainMap () const=0 |
virtual const Epetra_Map & | OperatorRangeMap () const=0 |
Epetra_Operator methods | |
typedef Stokhos::Sparse3Tensor< int, double > | Cijk_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::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_type > | Cijk |
Stores triple product tensor. | |
Teuchos::RCP< Stokhos::EpetraOperatorOrthogPoly > | block_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_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. | |
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. | |
KLMatrixFreeOperator (const KLMatrixFreeOperator &) | |
Private to prohibit copying. | |
KLMatrixFreeOperator & | operator= (const KLMatrixFreeOperator &) |
Private to prohibit copying. | |
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. | |
An Epetra operator representing the block stochastic Galerkin operator.
Definition at line 62 of file Stokhos_KLMatrixFreeOperator.hpp.
|
protected |
Short-hand for Cijk.
Definition at line 205 of file Stokhos_KLMatrixFreeOperator.hpp.
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.
|
virtual |
Destructor.
Definition at line 133 of file Stokhos_KLMatrixFreeOperator.cpp.
|
private |
Private to prohibit copying.
|
virtual |
Setup operator.
Implements Stokhos::SGOperator.
Definition at line 138 of file Stokhos_KLMatrixFreeOperator.cpp.
|
virtual |
Get SG polynomial.
Implements Stokhos::SGOperator.
Definition at line 147 of file Stokhos_KLMatrixFreeOperator.cpp.
|
virtual |
Get SG polynomial.
Implements Stokhos::SGOperator.
Definition at line 154 of file Stokhos_KLMatrixFreeOperator.cpp.
|
virtual |
Set to true if the transpose of the operator is requested.
Implements Epetra_Operator.
Definition at line 161 of file Stokhos_KLMatrixFreeOperator.cpp.
|
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.
|
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.
|
virtual |
Returns an approximate infinity norm of the operator matrix.
Implements Epetra_Operator.
Definition at line 324 of file Stokhos_KLMatrixFreeOperator.cpp.
|
virtual |
Returns a character std::string describing the operator.
Implements Epetra_Operator.
Definition at line 332 of file Stokhos_KLMatrixFreeOperator.cpp.
|
virtual |
Returns the current UseTranspose setting.
Implements Epetra_Operator.
Definition at line 339 of file Stokhos_KLMatrixFreeOperator.cpp.
|
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.
|
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.
|
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.
|
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.
|
private |
Private to prohibit copying.
|
protected |
Label for operator.
Definition at line 163 of file Stokhos_KLMatrixFreeOperator.hpp.
|
protected |
Stores SG parallel communicator.
Definition at line 166 of file Stokhos_KLMatrixFreeOperator.hpp.
|
protected |
Stochastic Galerking basis.
Definition at line 169 of file Stokhos_KLMatrixFreeOperator.hpp.
|
protected |
Stores Epetra Cijk tensor.
Definition at line 172 of file Stokhos_KLMatrixFreeOperator.hpp.
|
protected |
Stores domain base map.
Definition at line 175 of file Stokhos_KLMatrixFreeOperator.hpp.
|
protected |
Stores range base map.
Definition at line 178 of file Stokhos_KLMatrixFreeOperator.hpp.
|
protected |
Stores domain SG map.
Definition at line 181 of file Stokhos_KLMatrixFreeOperator.hpp.
|
protected |
Stores range SG map.
Definition at line 184 of file Stokhos_KLMatrixFreeOperator.hpp.
|
protected |
Whether we have parallelism over stochastic blocks.
Definition at line 187 of file Stokhos_KLMatrixFreeOperator.hpp.
|
protected |
Stores operator column SG map.
Definition at line 190 of file Stokhos_KLMatrixFreeOperator.hpp.
|
protected |
Stores operator column SG map for transpose.
Definition at line 193 of file Stokhos_KLMatrixFreeOperator.hpp.
|
protected |
Stores stochastic part of column map.
Definition at line 196 of file Stokhos_KLMatrixFreeOperator.hpp.
|
protected |
Importer from domain map to column map.
Definition at line 199 of file Stokhos_KLMatrixFreeOperator.hpp.
|
protected |
Importer from range map to column map.
Definition at line 202 of file Stokhos_KLMatrixFreeOperator.hpp.
|
protected |
Stores triple product tensor.
Definition at line 208 of file Stokhos_KLMatrixFreeOperator.hpp.
|
protected |
Stores operators.
Definition at line 211 of file Stokhos_KLMatrixFreeOperator.hpp.
|
protected |
Flag indicating whether operator be scaled with <\psi_i^2>
Definition at line 214 of file Stokhos_KLMatrixFreeOperator.hpp.
|
protected |
Flag indicating whether to include mean term.
Definition at line 217 of file Stokhos_KLMatrixFreeOperator.hpp.
|
protected |
Flag indicating whether transpose was selected.
Definition at line 220 of file Stokhos_KLMatrixFreeOperator.hpp.
|
protected |
Number of terms in expansion.
Definition at line 223 of file Stokhos_KLMatrixFreeOperator.hpp.
|
protected |
Number of Jacobian blocks (not necessarily equal to expansion_size)
Definition at line 226 of file Stokhos_KLMatrixFreeOperator.hpp.
|
protected |
Maximum number of matvecs in Apply.
Definition at line 229 of file Stokhos_KLMatrixFreeOperator.hpp.
|
mutableprotected |
Temporary to store result of importing input into column map.
Definition at line 232 of file Stokhos_KLMatrixFreeOperator.hpp.
|
mutableprotected |
Temporary to store result of importing input into column map (transpose)
Definition at line 235 of file Stokhos_KLMatrixFreeOperator.hpp.
|
mutableprotected |
MultiVectors for each block for Apply() input.
Definition at line 238 of file Stokhos_KLMatrixFreeOperator.hpp.
|
mutableprotected |
MultiVectors for each block for Apply() result.
Definition at line 241 of file Stokhos_KLMatrixFreeOperator.hpp.
|
mutableprotected |
Temporary multivector used in Apply()
Definition at line 244 of file Stokhos_KLMatrixFreeOperator.hpp.
|
mutableprotected |
Temporary multivector used in Apply() for transpose.
Definition at line 247 of file Stokhos_KLMatrixFreeOperator.hpp.
|
protected |
Starting k iterator.
Definition at line 250 of file Stokhos_KLMatrixFreeOperator.hpp.
|
protected |
Ending k iterator.
Definition at line 253 of file Stokhos_KLMatrixFreeOperator.hpp.