10 #ifndef STOKHOS_EPETRA_SPARSE_3_TENSOR_HPP
11 #define STOKHOS_EPETRA_SPARSE_3_TENSOR_HPP
17 #include "EpetraExt_MultiComm.h"
44 int k_begin_ = 0,
int k_end_ = -1);
65 int GRID(
int lrid)
const {
return stoch_row_map->
GID(lrid); }
71 bool myGRID(
int grid)
const {
return stoch_row_map->
MyGID(grid); }
159 #endif // STOKHOS_EPETRA_SPARSE_3_TENSOR_HPP
Teuchos::RCP< const Epetra_CrsGraph > stoch_graph
Stochastic operator graph.
int getKBegin() const
Return k_begin index.
int GRID(int lrid) const
Return global row id for given local row id.
~EpetraSparse3Tensor()
Destructor.
Teuchos::RCP< const Epetra_BlockMap > getStochasticColMap() const
Get stochastic column map.
void transformToLocal()
Transform Cijk to local i and j indices.
Teuchos::RCP< const Epetra_CrsGraph > getStochasticGraph() const
Get stochastic graph.
int getKEnd() const
Return k_end index.
Teuchos::RCP< const Epetra_BlockMap > stoch_col_map
Stochastic col-map.
bool isStochasticParallel() const
Return whether stochastic blocks are parallel distributed.
int k_begin
Beginning of k index.
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.
int NumMyElements() const
Teuchos::RCP< const Epetra_BlockMap > getStochasticRowMap() const
Get stochastic row map.
Teuchos::RCP< const Stokhos::Sparse3Tensor< int, double > > getCijk() const
Get Cijk.
Teuchos::RCP< const Cijk_type > Cijk
Triple product.
Teuchos::RCP< const EpetraExt::MultiComm > globalMultiComm
Multi-comm.
Teuchos::RCP< const Cijk_type > Cijk_parallel
Cijk tensor parallel over i.
Teuchos::RCP< const EpetraExt::MultiComm > getMultiComm() const
Get global comm.
bool MyGID(int GID_in) const
bool myGCID(int gcid) const
Return true if global column id is on processor.
Teuchos::RCP< const Epetra_BlockMap > stoch_row_map
Stochastic row-map.
void rebalance(Teuchos::ParameterList &isorropia_params)
Rebalance maps and graph using Isorropia.
Teuchos::RCP< const Stokhos::Sparse3Tensor< int, double > > getParallelCijk() const
Get parallel Cijk.
Teuchos::RCP< const Stokhos::OrthogPolyBasis< int, double > > basis
Basis.
int numMyRows() const
Return number of rows on this processor.
Teuchos::RCP< const Epetra_Comm > getStochasticComm() const
Get stochastic comm.
Teuchos::RCP< const Epetra_Comm > stoch_comm
Stochastic comm.
bool myGRID(int grid) const
Return true if global row id is on processor.
Teuchos::RCP< Cijk_type > buildParallelCijk() const
Build parallel Cijk tensor from a parallel row map.
int num_global_stoch_blocks
Number of global stochastic blocks.
Stokhos::Sparse3Tensor< int, double > Cijk_type
int GCID(int lcid) const
Return global column id for given local column id.
int numMyCols() const
Return number of columns on this processor.
bool is_parallel
Whether stochastic blocks are parallel.