Stokhos Development
Loading...
Searching...
No Matches
Stokhos::InterlacedOperator Class Reference

An Epetra operator representing the block stochastic Galerkin operator generated by fully assembling the matrix. The ordering of this operator is interlaced. That means that all stochastic degrees of freedom associated with a deterministic degree of freedom are interlaced. The result is a large sparse matrix that is composed of small (relatively) dense blocks. More...

#include <Stokhos_InterlacedOperator.hpp>

Inheritance diagram for Stokhos::InterlacedOperator:
Collaboration diagram for Stokhos::InterlacedOperator:

Public Member Functions

 InterlacedOperator (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_CrsGraph > &base_graph, const Teuchos::RCP< Teuchos::ParameterList > &params)
 Constructor.
virtual ~InterlacedOperator ()
 Destructor.
Public Member Functions inherited from Stokhos::SGOperator
 SGOperator ()
 Constructor.
virtual ~SGOperator ()
 Destructor.

Stokhos::SGOperator methods

typedef Stokhos::Sparse3Tensor< int, double > Cijk_type
 Short-hand for Cijk.
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 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 only_use_linear
 Flag indicating whether to only use linear terms.
int determOffset_
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.
void SumIntoGlobalBlock_Deterministic (double alpha, const Epetra_RowMatrix &determBlock, int Row, int Col)
 Sum into global matrix.

Detailed Description

An Epetra operator representing the block stochastic Galerkin operator generated by fully assembling the matrix. The ordering of this operator is interlaced. That means that all stochastic degrees of freedom associated with a deterministic degree of freedom are interlaced. The result is a large sparse matrix that is composed of small (relatively) dense blocks.

Constructor & Destructor Documentation

◆ InterlacedOperator()

Stokhos::InterlacedOperator::InterlacedOperator ( 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_CrsGraph > & base_graph,
const Teuchos::RCP< Teuchos::ParameterList > & params )

Member Function Documentation

◆ getSGPolynomial() [1/2]

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

Get SG polynomial.

Implements Stokhos::SGOperator.

References block_ops.

◆ getSGPolynomial() [2/2]

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

Get SG polynomial.

Implements Stokhos::SGOperator.

References block_ops.

◆ setupOperator()

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

◆ SumIntoGlobalBlock_Deterministic()

void Stokhos::InterlacedOperator::SumIntoGlobalBlock_Deterministic ( double alpha,
const Epetra_RowMatrix & determBlock,
int Row,
int Col )

Sum into global matrix.

Referenced by setupOperator().

Member Data Documentation

◆ block_ops

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

◆ Cijk

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

Stores triple product tensor.

Referenced by InterlacedOperator(), and setupOperator().

◆ epetraCijk

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

Stores Epetra Cijk tensor.

Referenced by InterlacedOperator(), and setupOperator().

◆ include_mean

bool Stokhos::InterlacedOperator::include_mean
protected

Flag indicating whether to include mean term.

Referenced by InterlacedOperator(), and setupOperator().

◆ only_use_linear

bool Stokhos::InterlacedOperator::only_use_linear
protected

Flag indicating whether to only use linear terms.

Referenced by InterlacedOperator(), and setupOperator().

◆ scale_op

bool Stokhos::InterlacedOperator::scale_op
protected

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

Referenced by InterlacedOperator(), and setupOperator().

◆ sg_basis

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

Stochastic Galerking basis.

Referenced by InterlacedOperator(), and setupOperator().

◆ sg_comm

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

Stores SG parallel communicator.

Referenced by InterlacedOperator().


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