|
Epetra Package Browser (Single Doxygen Collection)
Development
|
Go to the documentation of this file.
44 #ifndef EPETRA_CRSGRAPHDATA_H
45 #define EPETRA_CRSGRAPHDATA_H
53 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
98 void Print(std::ostream& os,
int level = 3)
const;
116 template<
typename int_type>
131 void AddEntry (
const int_type col_num);
136 void AddEntries (
const int n_cols,
137 const int_type *col_nums);
141 int MakeImportExport();
144 int ReAllocateAndCast(
char*& UserPtr,
int& Length,
const int IntPacketSizeTimesNumTrans);
209 template<
typename int_type>
213 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
217 template<
typename int_type>
221 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
235 TempColIndices_(NULL),
238 Allocate(NumMyBlockRows, AllocSorted);
246 void Allocate(
int NumMyBlockRows,
bool AllocSorted)
251 SortedEntries_.resize(NumMyBlockRows);
252 if(NumMyBlockRows > 0)
253 Indices_ =
new long long *[NumMyBlockRows];
261 std::vector< EntriesInOneRow<long long> > empty;
262 SortedEntries_.swap(empty);
264 delete [] TempColIndices_;
286 TempColIndices_(NULL),
290 Allocate(NumMyBlockRows, AllocSorted);
293 void Allocate(
int NumMyBlockRows,
bool AllocSorted)
298 SortedEntries_.resize(NumMyBlockRows);
300 if(NumMyBlockRows > 0)
301 Indices_ =
new int *[NumMyBlockRows];
309 std::vector< EntriesInOneRow<int> > empty;
310 SortedEntries_.swap(empty);
312 delete [] TempColIndices_;
316 All_IndicesPlus1_.
Resize(0);
320 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
327 throw "Epetra_CrsGraphData::Data<long long>: Map indices not long long or are local";
337 throw "Epetra_CrsGraphData::Data<int>: Map indices not int or are global long long";
const Epetra_Export * Exporter_
long long NumGlobalBlockCols_
long long NumGlobalBlockDiagonals_
Epetra_CrsMatrix & operator=(const Epetra_CrsMatrix &src)
Assignment operator.
bool GlobalIndicesInt() const
Returns true if map create with int NumGlobalElements.
Epetra_Data: The Epetra Base Data Class.
IndexData< long long > * LL_data
long long NumGlobalNonzeros_
Epetra_IntSerialDenseVector All_Indices_
bool GlobalConstantsComputed_
void Allocate(int NumMyBlockRows, bool AllocSorted)
void Allocate(int NumMyBlockRows, bool AllocSorted)
Epetra_BlockMap DomainMap_
long long NumGlobalBlockRows_
long long NumGlobalEntries_
Epetra_IntSerialDenseVector All_IndicesPlus1_
Epetra_IntSerialDenseVector NumIndicesPerRow_
Epetra_LongLongSerialDenseVector: A class for constructing and using dense vectors.
Epetra_IntSerialDenseVector IndexOffset_
bool GlobalIndicesLongLong() const
Returns true if map create with long long NumGlobalElements.
Epetra_CrsGraphData: The Epetra CrsGraph Data Class.
Epetra_CrsMatrix: A class for constructing and using real-valued double-precision sparse compressed r...
Epetra_DataAccess Mode enumerable type.
const Epetra_Map & ColMap() const
Returns the Epetra_Map object that describes the set of column-indices that appear in each processor'...
int Resize(int Length_in)
Resize a Epetra_LongLongSerialDenseVector object.
const Epetra_Import * Importer_
Epetra_BlockMap: A class for partitioning block element vectors and matrices.
int Resize(int Length_in)
Resize a Epetra_IntSerialDenseVector object.
Store some data for each row describing which entries of this row are nonzero.
long long * TempColIndices_
Epetra Finite-Element CrsGraph.
Epetra_IntSerialDenseVector: A class for constructing and using dense vectors.
std::vector< EntriesInOneRow< int > > SortedEntries_
Epetra_CrsGraph: A class for constructing and using sparse compressed row graphs.
int GlobalMaxNumNonzeros_
IndexData(int NumMyBlockRows, bool AllocSorted)
std::vector< int_type > entries_
Storage for the column indices of this row.
Epetra_LongLongSerialDenseVector All_Indices_
const Epetra_Map & RowMap() const
Returns the Epetra_Map object associated with the rows of this matrix.
Epetra_BlockMap RangeMap_
Epetra_IntSerialDenseVector NumAllocatedIndicesPerRow_
std::vector< EntriesInOneRow< long long > > SortedEntries_
Epetra_Export: This class builds an export object for efficient exporting of off-processor elements.
virtual void Print(std::ostream &os) const
Print method.
long long NumGlobalDiagonals_
Epetra_Import: This class builds an import object for efficient importing of off-processor elements.
bool IndicesAreContiguous_
IndexData(int NumMyBlockRows, bool AllocSorted)
bool SortGhostsAssociatedWithEachProcessor_