42 #ifndef STOKHOS_EPETRA_SPARSE_3_TENSOR_HPP 43 #define STOKHOS_EPETRA_SPARSE_3_TENSOR_HPP 45 #include "Teuchos_RCP.hpp" 46 #include "Teuchos_ParameterList.hpp" 49 #include "EpetraExt_MultiComm.h" 50 #include "Epetra_BlockMap.h" 51 #include "Epetra_CrsGraph.h" 76 int k_begin_ = 0,
int k_end_ = -1);
82 void rebalance(Teuchos::ParameterList& isorropia_params);
115 Teuchos::RCP<const EpetraExt::MultiComm>
119 Teuchos::RCP<const Epetra_Comm>
123 Teuchos::RCP<const Epetra_BlockMap>
127 Teuchos::RCP<const Epetra_BlockMap>
131 Teuchos::RCP<const Stokhos::Sparse3Tensor<int,double> >
135 Teuchos::RCP<const Stokhos::Sparse3Tensor<int,double> >
139 Teuchos::RCP<const Epetra_CrsGraph>
152 Teuchos::RCP<const Stokhos::OrthogPolyBasis<int,double> >
basis;
155 Teuchos::RCP<const Cijk_type>
Cijk;
191 #endif // STOKHOS_EPETRA_SPARSE_3_TENSOR_HPP Teuchos::RCP< const Epetra_CrsGraph > stoch_graph
Stochastic operator graph.
Teuchos::RCP< const Epetra_Comm > getStochasticComm() const
Get stochastic comm.
~EpetraSparse3Tensor()
Destructor.
void transformToLocal()
Transform Cijk to local i and j indices.
int getKEnd() const
Return k_end index.
Teuchos::RCP< const Epetra_BlockMap > stoch_col_map
Stochastic col-map.
int GCID(int lcid) const
Return global column id for given local column id.
bool myGCID(int gcid) const
Return true if global column id is on processor.
bool isStochasticParallel() const
Return whether stochastic blocks are parallel distributed.
int k_begin
Beginning of k index.
int GRID(int lrid) const
Return global row id for given local row id.
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 numMyCols() const
Return number of columns on this processor.
Teuchos::RCP< const Epetra_BlockMap > getStochasticColMap() const
Get stochastic column map.
Teuchos::RCP< const EpetraExt::MultiComm > getMultiComm() const
Get global comm.
Top-level namespace for Stokhos classes and functions.
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 Stokhos::Sparse3Tensor< int, double > > getParallelCijk() const
Get parallel Cijk.
Teuchos::RCP< const Epetra_BlockMap > stoch_row_map
Stochastic row-map.
void rebalance(Teuchos::ParameterList &isorropia_params)
Rebalance maps and graph using Isorropia.
bool myGRID(int grid) const
Return true if global row id is on processor.
Teuchos::RCP< const Epetra_CrsGraph > getStochasticGraph() const
Get stochastic graph.
Teuchos::RCP< const Stokhos::OrthogPolyBasis< int, double > > basis
Basis.
int getKBegin() const
Return k_begin index.
Teuchos::RCP< const Stokhos::Sparse3Tensor< int, double > > getCijk() const
Get Cijk.
Teuchos::RCP< Cijk_type > buildParallelCijk() const
Build parallel Cijk tensor from a parallel row map.
Teuchos::RCP< const Epetra_Comm > stoch_comm
Stochastic comm.
int num_global_stoch_blocks
Number of global stochastic blocks.
Stokhos::Sparse3Tensor< int, double > Cijk_type
Teuchos::RCP< const Epetra_BlockMap > getStochasticRowMap() const
Get stochastic row map.
int numMyRows() const
Return number of rows on this processor.
bool is_parallel
Whether stochastic blocks are parallel.