42 #ifndef EPETRAEXT_BLOCKUTILITY_H 43 #define EPETRAEXT_BLOCKUTILITY_H 47 #include <Epetra_ConfigDefs.h> 48 #include <Epetra_CrsGraph.h> 49 #include <Epetra_RowMatrix.h> 65 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES 68 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES 79 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES 82 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES 105 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES 108 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES 113 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES 117 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES 125 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES 128 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES 133 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES 141 template<
typename int_type>
144 template<
typename int_type>
147 template<
typename int_type>
148 static Epetra_CrsGraph * TGenerateBlockGraph(
const Epetra_CrsGraph & BaseGraph,
const std::vector< std::vector<int_type> > & RowStencil,
const std::vector<int_type> & RowIndices,
const Epetra_Comm & GlobalComm );
150 template<
typename int_type>
151 static Epetra_CrsGraph * TGenerateBlockGraph(
const Epetra_RowMatrix & BaseMatrix,
const std::vector< std::vector<int_type> > & RowStencil,
const std::vector<int_type> & RowIndices,
const Epetra_Comm & GlobalComm );
153 template<
typename int_type>
156 template<
typename int_type>
157 static void TGenerateRowStencil(
const Epetra_CrsGraph& LocalBlockGraph, std::vector<int_type> RowIndices, std::vector< std::vector<int_type> >& RowStencil);
static void GenerateRowStencil(const Epetra_CrsGraph &LocalBlockGraph, std::vector< int > RowIndices, std::vector< std::vector< int > > &RowStencil)
Generate stencil arrays from a local block graph.
EpetraExt::BlockCrsMatrix: A class for constructing a distributed block matrix.
static long long CalculateOffset64(const Epetra_BlockMap &BaseMap)
static int CalculateOffset(const Epetra_BlockMap &BaseMap)
Routine for calculating Offset for creating unique global IDs for Block representation.
static Epetra_Map * GenerateBlockMap(const Epetra_BlockMap &BaseMap, const int *RowIndices, int num_indices, const Epetra_Comm &GlobalComm, int Offset=0)
static Epetra_CrsGraph * GenerateBlockGraph(const Epetra_CrsGraph &BaseGraph, const std::vector< std::vector< int > > &RowStencil, const std::vector< int > &RowIndices, const Epetra_Comm &GlobalComm)
BlockCrsMatrix constuctor.