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

Public Member Functions

 EpetraSparse3Tensor (const Teuchos::RCP< const Stokhos::OrthogPolyBasis< int, double > > &basis, const Teuchos::RCP< const Stokhos::Sparse3Tensor< int, double > > &Cijk, const Teuchos::RCP< const EpetraExt::MultiComm > &globalMultiComm, int k_begin=0, int k_end=-1)
 Constructor from a full Cijk.
 EpetraSparse3Tensor (const Teuchos::RCP< const Stokhos::OrthogPolyBasis< int, double > > &basis, const Teuchos::RCP< const Stokhos::Sparse3Tensor< int, double > > &Cijk, const Teuchos::RCP< const EpetraExt::MultiComm > &globalMultiComm, const Teuchos::RCP< const Epetra_BlockMap > &stoch_row_map, const Teuchos::RCP< const Stokhos::Sparse3Tensor< int, double > > &Cijk_parallel=Teuchos::null, int k_begin=0, int k_end=-1)
 Constructor from an already parallelized Cijk.
 EpetraSparse3Tensor (const EpetraSparse3Tensor &epetraCijk, int k_begin_=0, int k_end_=-1)
 Copy constructor with possible change in scaling and k limits.
 ~EpetraSparse3Tensor ()
 Destructor.
void rebalance (Teuchos::ParameterList &isorropia_params)
 Rebalance maps and graph using Isorropia.
void transformToLocal ()
 Transform Cijk to local i and j indices.
int getKBegin () const
 Return k_begin index.
int getKEnd () const
 Return k_end index.
bool isStochasticParallel () const
 Return whether stochastic blocks are parallel distributed.
int GRID (int lrid) const
 Return global row id for given local row id.
int GCID (int lcid) const
 Return global column id for given local column id.
bool myGRID (int grid) const
 Return true if global row id is on processor.
bool myGCID (int gcid) const
 Return true if global column id is on processor.
int numMyRows () const
 Return number of rows on this processor.
int numMyCols () const
 Return number of columns on this processor.
Teuchos::RCP< const EpetraExt::MultiComm > getMultiComm () const
 Get global comm.
Teuchos::RCP< const Epetra_Comm > getStochasticComm () const
 Get stochastic comm.
Teuchos::RCP< const Epetra_BlockMap > getStochasticRowMap () const
 Get stochastic row map.
Teuchos::RCP< const Epetra_BlockMap > getStochasticColMap () const
 Get stochastic column map.
Teuchos::RCP< const Stokhos::Sparse3Tensor< int, double > > getCijk () const
 Get Cijk.
Teuchos::RCP< const Stokhos::Sparse3Tensor< int, double > > getParallelCijk () const
 Get parallel Cijk.
Teuchos::RCP< const Epetra_CrsGraph > getStochasticGraph () const
 Get stochastic graph.

Protected Types

typedef Stokhos::Sparse3Tensor< int, double > Cijk_type

Protected Member Functions

Teuchos::RCP< Cijk_type > buildParallelCijk () const
 Build parallel Cijk tensor from a parallel row map.

Protected Attributes

Teuchos::RCP< const Stokhos::OrthogPolyBasis< int, double > > basis
 Basis.
Teuchos::RCP< const Cijk_type > Cijk
 Triple product.
Teuchos::RCP< const EpetraExt::MultiComm > globalMultiComm
 Multi-comm.
int num_global_stoch_blocks
 Number of global stochastic blocks.
int k_begin
 Beginning of k index.
int k_end
 End of k index.
Teuchos::RCP< const Epetra_Comm > stoch_comm
 Stochastic comm.
bool is_parallel
 Whether stochastic blocks are parallel.
Teuchos::RCP< const Epetra_BlockMap > stoch_row_map
 Stochastic row-map.
Teuchos::RCP< const Epetra_BlockMap > stoch_col_map
 Stochastic col-map.
Teuchos::RCP< const Cijk_type > Cijk_parallel
 Cijk tensor parallel over i.
Teuchos::RCP< const Epetra_CrsGraph > stoch_graph
 Stochastic operator graph.

Constructor & Destructor Documentation

◆ EpetraSparse3Tensor() [1/3]

Stokhos::EpetraSparse3Tensor::EpetraSparse3Tensor ( const Teuchos::RCP< const Stokhos::OrthogPolyBasis< int, double > > & basis,
const Teuchos::RCP< const Stokhos::Sparse3Tensor< int, double > > & Cijk,
const Teuchos::RCP< const EpetraExt::MultiComm > & globalMultiComm,
int k_begin = 0,
int k_end = -1 )

◆ EpetraSparse3Tensor() [2/3]

Stokhos::EpetraSparse3Tensor::EpetraSparse3Tensor ( const Teuchos::RCP< const Stokhos::OrthogPolyBasis< int, double > > & basis,
const Teuchos::RCP< const Stokhos::Sparse3Tensor< int, double > > & Cijk,
const Teuchos::RCP< const EpetraExt::MultiComm > & globalMultiComm,
const Teuchos::RCP< const Epetra_BlockMap > & stoch_row_map,
const Teuchos::RCP< const Stokhos::Sparse3Tensor< int, double > > & Cijk_parallel = Teuchos::null,
int k_begin = 0,
int k_end = -1 )

◆ EpetraSparse3Tensor() [3/3]

Stokhos::EpetraSparse3Tensor::EpetraSparse3Tensor ( const EpetraSparse3Tensor & epetraCijk,
int k_begin_ = 0,
int k_end_ = -1 )

Member Function Documentation

◆ buildParallelCijk()

Teuchos::RCP< Stokhos::EpetraSparse3Tensor::Cijk_type > Stokhos::EpetraSparse3Tensor::buildParallelCijk ( ) const
protected

Build parallel Cijk tensor from a parallel row map.

References Cijk, k_begin, k_end, and stoch_row_map.

Referenced by EpetraSparse3Tensor(), EpetraSparse3Tensor(), EpetraSparse3Tensor(), and rebalance().

◆ GCID()

int Stokhos::EpetraSparse3Tensor::GCID ( int lcid) const
inline

Return global column id for given local column id.

References stoch_col_map.

◆ getCijk()

Teuchos::RCP< const Stokhos::Sparse3Tensor< int, double > > Stokhos::EpetraSparse3Tensor::getCijk ( ) const
inline

Get Cijk.

References Cijk.

◆ getKBegin()

int Stokhos::EpetraSparse3Tensor::getKBegin ( ) const
inline

Return k_begin index.

References k_begin.

◆ getKEnd()

int Stokhos::EpetraSparse3Tensor::getKEnd ( ) const
inline

Return k_end index.

References k_end.

◆ getMultiComm()

Teuchos::RCP< const EpetraExt::MultiComm > Stokhos::EpetraSparse3Tensor::getMultiComm ( ) const
inline

Get global comm.

References globalMultiComm.

◆ getParallelCijk()

Teuchos::RCP< const Stokhos::Sparse3Tensor< int, double > > Stokhos::EpetraSparse3Tensor::getParallelCijk ( ) const
inline

Get parallel Cijk.

References Cijk_parallel.

◆ getStochasticColMap()

Teuchos::RCP< const Epetra_BlockMap > Stokhos::EpetraSparse3Tensor::getStochasticColMap ( ) const
inline

Get stochastic column map.

References stoch_col_map.

◆ getStochasticComm()

Teuchos::RCP< const Epetra_Comm > Stokhos::EpetraSparse3Tensor::getStochasticComm ( ) const
inline

Get stochastic comm.

References stoch_comm.

◆ getStochasticGraph()

Teuchos::RCP< const Epetra_CrsGraph > Stokhos::EpetraSparse3Tensor::getStochasticGraph ( ) const
inline

Get stochastic graph.

References stoch_graph.

◆ getStochasticRowMap()

Teuchos::RCP< const Epetra_BlockMap > Stokhos::EpetraSparse3Tensor::getStochasticRowMap ( ) const
inline

Get stochastic row map.

References stoch_row_map.

◆ GRID()

int Stokhos::EpetraSparse3Tensor::GRID ( int lrid) const
inline

Return global row id for given local row id.

References stoch_row_map.

◆ isStochasticParallel()

bool Stokhos::EpetraSparse3Tensor::isStochasticParallel ( ) const
inline

Return whether stochastic blocks are parallel distributed.

References is_parallel.

◆ myGCID()

bool Stokhos::EpetraSparse3Tensor::myGCID ( int gcid) const
inline

Return true if global column id is on processor.

References stoch_col_map.

◆ myGRID()

bool Stokhos::EpetraSparse3Tensor::myGRID ( int grid) const
inline

Return true if global row id is on processor.

References stoch_row_map.

◆ numMyCols()

int Stokhos::EpetraSparse3Tensor::numMyCols ( ) const
inline

Return number of columns on this processor.

References stoch_col_map.

◆ numMyRows()

int Stokhos::EpetraSparse3Tensor::numMyRows ( ) const
inline

Return number of rows on this processor.

References stoch_row_map.

◆ rebalance()

void Stokhos::EpetraSparse3Tensor::rebalance ( Teuchos::ParameterList & isorropia_params)

Rebalance maps and graph using Isorropia.

References buildParallelCijk(), Cijk_parallel, stoch_col_map, stoch_graph, and stoch_row_map.

◆ transformToLocal()

void Stokhos::EpetraSparse3Tensor::transformToLocal ( )

Transform Cijk to local i and j indices.

References Cijk_parallel, globalMultiComm, stoch_col_map, and stoch_row_map.

Member Data Documentation

◆ basis

Teuchos::RCP<const Stokhos::OrthogPolyBasis<int,double> > Stokhos::EpetraSparse3Tensor::basis
protected

◆ Cijk

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

◆ Cijk_parallel

Teuchos::RCP<const Cijk_type> Stokhos::EpetraSparse3Tensor::Cijk_parallel
protected

◆ globalMultiComm

Teuchos::RCP<const EpetraExt::MultiComm> Stokhos::EpetraSparse3Tensor::globalMultiComm
protected

◆ is_parallel

bool Stokhos::EpetraSparse3Tensor::is_parallel
protected

Whether stochastic blocks are parallel.

Referenced by EpetraSparse3Tensor(), EpetraSparse3Tensor(), EpetraSparse3Tensor(), and isStochasticParallel().

◆ k_begin

int Stokhos::EpetraSparse3Tensor::k_begin
protected

◆ k_end

int Stokhos::EpetraSparse3Tensor::k_end
protected

◆ num_global_stoch_blocks

int Stokhos::EpetraSparse3Tensor::num_global_stoch_blocks
protected

Number of global stochastic blocks.

Referenced by EpetraSparse3Tensor(), EpetraSparse3Tensor(), and EpetraSparse3Tensor().

◆ stoch_col_map

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

◆ stoch_comm

Teuchos::RCP<const Epetra_Comm> Stokhos::EpetraSparse3Tensor::stoch_comm
protected

◆ stoch_graph

Teuchos::RCP<const Epetra_CrsGraph> Stokhos::EpetraSparse3Tensor::stoch_graph
protected

◆ stoch_row_map

Teuchos::RCP<const Epetra_BlockMap> Stokhos::EpetraSparse3Tensor::stoch_row_map
protected

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