Epetra Package Browser (Single Doxygen Collection) Development

Epetra_CrsGraph: A class for constructing and using sparse compressed row graphs. More...
#include <Epetra_CrsGraph.h>
Public Member Functions  
Epetra_CrsGraph &  operator= (const Epetra_CrsGraph &Source) 
Assignment operator.  
Protected Member Functions  
int *  All_Indices () const 
int *  IndexOffset () const 
int *  NumIndicesPerRow () const 
int *  NumAllocatedIndicesPerRow () const 
int **  Indices () const 
int *  Indices (int LocalRow) const 
bool  IndicesAreContiguous () const 
bool  StaticProfile () const 
bool  GlobalConstantsComputed () const 
bool  FindGlobalIndexLoc (int LocalRow, int Index, int Start, int &Loc) const 
bool  FindGlobalIndexLoc (int NumIndices, const int *Indices, int Index, int Start, int &Loc) const 
bool  FindMyIndexLoc (int LocalRow, int Index, int Start, int &Loc) const 
bool  FindMyIndexLoc (int NumIndices, const int *Indices, int Index, int Start, int &Loc) const 
int  InsertIndices (int Row, int NumIndices, int *Indices) 
int  InsertIndicesIntoSorted (int Row, int NumIndices, int *Indices) 
int  MakeIndicesLocal (const Epetra_BlockMap &DomainMap, const Epetra_BlockMap &RangeMap) 
void  SetIndicesAreLocal (bool Flag) 
void  SetIndicesAreGlobal (bool Flag) 
void  SetSorted (bool Flag) 
int  SortIndices () 
Sort column indices, rowbyrow, in ascending order.  
bool  Sorted () const 
If SortIndices() has been called, this query returns true, otherwise it returns false.  
int  RemoveRedundantIndices () 
Removes any redundant column indices in the rows of the graph.  
int  DetermineTriangular () 
bool  NoRedundancies () const 
If RemoveRedundantIndices() has been called, this query returns true, otherwise it returns false.  
Private Member Functions  
void  SetGlobalConstantsComputed (bool Flag) 
void  SetIndicesAreContiguous (bool Flag) 
void  SetNoRedundancies (bool Flag) 
void  ComputeIndexState () 
int  MakeColMap (const Epetra_BlockMap &DomainMap, const Epetra_BlockMap &RangeMap) 
int  Allocate (const int *NumIndicesPerRow, int Inc, bool StaticProfile) 
int  ComputeGlobalConstants () 
void  SetFilled (bool Flag) 
bool  Allocated () const 
void  SetAllocated (bool Flag) 
int  CheckSizes (const Epetra_SrcDistObject &A) 
Allows the source and target (this) objects to be compared for compatibility, return nonzero if not.  
int  CopyAndPermute (const Epetra_SrcDistObject &Source, int NumSameIDs, int NumPermuteIDs, int *PermuteToLIDs, int *PermuteFromLIDs, const Epetra_OffsetIndex *Indexor) 
Perform ID copies and permutations that are on processor.  
int  CopyAndPermuteRowMatrix (const Epetra_RowMatrix &A, int NumSameIDs, int NumPermuteIDs, int *PermuteToLIDs, int *PermuteFromLIDs, const Epetra_OffsetIndex *Indexor) 
int  CopyAndPermuteCrsGraph (const Epetra_CrsGraph &A, int NumSameIDs, int NumPermuteIDs, int *PermuteToLIDs, int *PermuteFromLIDs, const Epetra_OffsetIndex *Indexor) 
int  PackAndPrepare (const Epetra_SrcDistObject &Source, int NumExportIDs, int *ExportLIDs, int &LenExports, char *&Exports, int &SizeOfPacket, int *Sizes, bool &VarSizes, Epetra_Distributor &Distor) 
Perform any packing or preparation required for call to DoTransfer().  
int  PackAndPrepareCrsGraph (const Epetra_CrsGraph &A, int NumExportIDs, int *ExportLIDs, int &LenExports, char *&Exports, int &SizeOfPacket, int *Sizes, bool &VarSizes, Epetra_Distributor &Distor) 
int  PackAndPrepareRowMatrix (const Epetra_RowMatrix &A, int NumExportIDs, int *ExportLIDs, int &LenExports, char *&Exports, int &SizeOfPacket, int *Sizes, bool &VarSizes, Epetra_Distributor &Distor) 
int  UnpackAndCombine (const Epetra_SrcDistObject &Source, int NumImportIDs, int *ImportLIDs, int LenImports, char *Imports, int &SizeOfPacket, Epetra_Distributor &Distor, Epetra_CombineMode CombineMode, const Epetra_OffsetIndex *Indexor) 
Perform any unpacking and combining after call to DoTransfer().  
void  CleanupData () 
Private Attributes  
Epetra_CrsGraphData *  CrsGraphData_ 
Friends  
class  Epetra_CrsMatrix 
class  Epetra_VbrMatrix 
class  Epetra_FECrsGraph 
class  Epetra_FECrsMatrix 
class  Epetra_FEVbrMatrix 
class  Epetra_OffsetIndex 
Constructors/Destructor  
Epetra_CrsGraph (Epetra_DataAccess CV, const Epetra_BlockMap &RowMap, const int *NumIndicesPerRow, bool StaticProfile=false)  
Epetra_CrsGraph constuctor with variable number of indices per row.  
Epetra_CrsGraph (Epetra_DataAccess CV, const Epetra_BlockMap &RowMap, int NumIndicesPerRow, bool StaticProfile=false)  
Epetra_CrsGraph constuctor with fixed number of indices per row.  
Epetra_CrsGraph (Epetra_DataAccess CV, const Epetra_BlockMap &RowMap, const Epetra_BlockMap &ColMap, const int *NumIndicesPerRow, bool StaticProfile=false)  
Epetra_CrsGraph constuctor with variable number of indices per row.  
Epetra_CrsGraph (Epetra_DataAccess CV, const Epetra_BlockMap &RowMap, const Epetra_BlockMap &ColMap, int NumIndicesPerRow, bool StaticProfile=false)  
Epetra_CrsGraph constuctor with fixed number of indices per row.  
Epetra_CrsGraph (const Epetra_CrsGraph &Graph)  
Copy constructor.  
virtual  ~Epetra_CrsGraph () 
Epetra_CrsGraph Destructor.  
Insertion/Removal methods  
int  InsertGlobalIndices (int GlobalRow, int NumIndices, int *Indices) 
Enter a list of elements in a specified global row of the graph.  
int  RemoveGlobalIndices (int GlobalRow, int NumIndices, int *Indices) 
Remove a list of elements from a specified global row of the graph.  
int  RemoveGlobalIndices (int Row) 
Remove all indices from a specified global row of the graph.  
int  InsertMyIndices (int LocalRow, int NumIndices, int *Indices) 
Enter a list of elements in a specified local row of the graph.  
int  RemoveMyIndices (int LocalRow, int NumIndices, int *Indices) 
Remove a list of elements from a specified local row of the graph.  
int  RemoveMyIndices (int Row) 
Remove all indices from a specified local row of the graph.  
Transformation methods  
int  FillComplete () 
Tranform to local index space. Perform other operations to allow optimal matrix operations.  
int  FillComplete (const Epetra_BlockMap &DomainMap, const Epetra_BlockMap &RangeMap) 
Transform to local index space using specified Domain/Range maps. Perform other operations to allow optimal matrix operations.  
int  OptimizeStorage () 
Make consecutive row index sections contiguous, minimize internal storage used for constructing graph.  
Extraction methods  
int  ExtractGlobalRowCopy (int GlobalRow, int LenOfIndices, int &NumIndices, int *Indices) const 
Extract a list of elements in a specified global row of the graph. Put into storage allocated by calling routine.  
int  ExtractMyRowCopy (int LocalRow, int LenOfIndices, int &NumIndices, int *Indices) const 
Extract a list of elements in a specified local row of the graph. Put into storage allocated by calling routine.  
int  ExtractGlobalRowView (int GlobalRow, int &NumIndices, int *&Indices) const 
Get a view of the elements in a specified global row of the graph.  
int  ExtractMyRowView (int LocalRow, int &NumIndices, int *&Indices) const 
Get a view of the elements in a specified local row of the graph.  
Graph Properties Query Methods  
bool  Filled () const 
If FillComplete() has been called, this query returns true, otherwise it returns false.  
bool  StorageOptimized () const 
If OptimizeStorage() has been called, this query returns true, otherwise it returns false.  
bool  IndicesAreGlobal () const 
If column indices are in global range, this query returns true, otherwise it returns false.  
bool  IndicesAreLocal () const 
If column indices are in local range, this query returns true, otherwise it returns false.  
bool  LowerTriangular () const 
If graph is lower triangular in local index space, this query returns true, otherwise it returns false.  
bool  UpperTriangular () const 
If graph is upper triangular in local index space, this query returns true, otherwise it returns false.  
bool  NoDiagonal () const 
If graph has no diagonal entries in global index space, this query returns true, otherwise it returns false.  
bool  MyGlobalRow (int GID) const 
Returns true of GID is owned by the calling processor, otherwise it returns false.  
bool  HaveColMap () const 
Returns true if we have a welldefined ColMap, and returns false otherwise.  
Attribute access functions  
int  NumMyRows () const 
Returns the number of matrix rows on this processor.  
int  NumGlobalRows () const 
Returns the number of matrix rows in global matrix.  
int  NumMyCols () const 
Returns the number of entries in the set of columnindices that appear on this processor.  
int  NumGlobalCols () const 
Returns the number of matrix columns in global matrix.  
int  NumGlobalNonzeros () const 
Returns the number of indices in the global graph.  
int  NumGlobalDiagonals () const 
Returns the number of diagonal entries in the global graph, based on global row/column index comparisons.  
int  NumMyDiagonals () const 
Returns the number of diagonal entries in the local graph, based on global row/column index comparisons.  
int  NumMyBlockRows () const 
Returns the number of block matrix rows on this processor.  
int  NumGlobalBlockRows () const 
Returns the number of Block matrix rows in global matrix.  
int  NumMyBlockCols () const 
Returns the number of Block matrix columns on this processor.  
int  NumGlobalBlockCols () const 
Returns the number of Block matrix columns in global matrix.  
int  NumMyBlockDiagonals () const 
Returns the number of Block diagonal entries in the local graph, based on global row/column index comparisons.  
int  NumGlobalBlockDiagonals () const 
Returns the number of Block diagonal entries in the global graph, based on global row/column index comparisons.  
int  NumGlobalEntries () const 
Returns the number of entries in the global graph.  
int  NumMyEntries () const 
Returns the number of entries on this processor.  
int  MaxRowDim () const 
Returns the max row dimension of block entries on the processor.  
int  GlobalMaxRowDim () const 
Returns the max row dimension of block entries across all processors.  
int  MaxColDim () const 
Returns the max column dimension of block entries on the processor.  
int  GlobalMaxColDim () const 
Returns the max column dimension of block entries across all processors.  
int  NumMyNonzeros () const 
Returns the number of indices in the local graph.  
int  NumGlobalIndices (int Row) const 
Returns the current number of nonzero entries in specified global row on this processor.  
int  NumAllocatedGlobalIndices (int Row) const 
Returns the allocated number of nonzero entries in specified global row on this processor.  
int  MaxNumIndices () const 
Returns the maximum number of nonzero entries across all rows on this processor.  
int  GlobalMaxNumIndices () const 
Returns the maximun number of nonzero entries across all rows across all processors.  
int  MaxNumNonzeros () const 
Returns the maximum number of nonzero points across all rows on this processor.  
int  GlobalMaxNumNonzeros () const 
Returns the maximun number of nonzero points across all rows across all processors.  
int  NumMyIndices (int Row) const 
Returns the current number of nonzero entries in specified local row on this processor.  
int  NumAllocatedMyIndices (int Row) const 
Returns the allocated number of nonzero entries in specified local row on this processor.  
int  IndexBase () const 
Returns the index base for row and column indices for this graph.  
const Epetra_BlockMap &  RowMap () const 
Returns the RowMap associated with this graph.  
int  ReplaceRowMap (const Epetra_BlockMap &newmap) 
Replaces the current RowMap with the userspecified map object, but only if currentmap>PointSameAs(newmap) is true.  
int  ReplaceColMap (const Epetra_BlockMap &newmap) 
Replaces the current ColMap with the userspecified map object, but only if no entries have been inserted into the graph yet (both IndicesAreLocal() and IndicesAreGlobal() are false) or currentmap>PointSameAs(newmap) is true.  
const Epetra_BlockMap &  ColMap () const 
Returns the Column Map associated with this graph.  
const Epetra_BlockMap &  DomainMap () const 
Returns the DomainMap associated with this graph.  
const Epetra_BlockMap &  RangeMap () const 
Returns the RangeMap associated with this graph.  
const Epetra_Import *  Importer () const 
Returns the Importer associated with this graph.  
const Epetra_Export *  Exporter () const 
Returns the Exporter associated with this graph.  
const Epetra_Comm &  Comm () const 
Returns a pointer to the Epetra_Comm communicator associated with this graph.  
Local/Global ID methods  
int  LRID (int GRID_in) const 
Returns the local row index for given global row index, returns 1 if no local row for this global row.  
int  GRID (int LRID_in) const 
Returns the global row index for give local row index, returns IndexBase1 if we don't have this local row.  
int  LCID (int GCID_in) const 
Returns the local column index for given global column index, returns 1 if no local column for this global column.  
int  GCID (int LCID_in) const 
Returns the global column index for give local column index, returns IndexBase1 if we don't have this local column.  
bool  MyGRID (int GRID_in) const 
Returns true if the GRID passed in belongs to the calling processor in this map, otherwise returns false.  
bool  MyLRID (int LRID_in) const 
Returns true if the LRID passed in belongs to the calling processor in this map, otherwise returns false.  
bool  MyGCID (int GCID_in) const 
Returns true if the GCID passed in belongs to the calling processor in this map, otherwise returns false.  
bool  MyLCID (int LCID_in) const 
Returns true if the LRID passed in belongs to the calling processor in this map, otherwise returns false.  
Inlined Operator Methods  
int *  operator[] (int Loc) 
Inlined bracket operator for fast access to data. (Const and Nonconst versions)  
int *  operator[] (int Loc) const 
I/O Methods  
virtual void  Print (ostream &os) const 
Print method.  
void  PrintGraphData (ostream &os) const 
void  PrintGraphData (ostream &os, int level) const 
Deprecated methods: These methods still work, but will be removed in a future version  
const Epetra_BlockMap &  ImportMap () const 
Use ColMap() instead.  
int  TransformToLocal () 
Use FillComplete() instead.  
int  TransformToLocal (const Epetra_BlockMap *DomainMap, const Epetra_BlockMap *RangeMap) 
Use FillComplete(const Epetra_BlockMap& DomainMap, const Epetra_BlockMap& RangeMap) instead.  
Expert Users and Developers Only  
int  ReferenceCount () const 
Returns the reference count of CrsGraphData.  
const Epetra_CrsGraphData *  DataPtr () const 
Returns a pointer to the CrsGraphData instance this CrsGraph uses.  
void  SortGhostsAssociatedWithEachProcessor (bool Flag) 
Forces FillComplete() to locally order ghostnodes associated with each remote processor in ascending order. 
Epetra_CrsGraph: A class for constructing and using sparse compressed row graphs.
Epetra_CrsGraph enables the piecewise construction and use of sparse matrix graphs (the integer structure without values) where entries are intended for row access.
Epetra_CrsGraph is an attribute of all Epetra rowbased matrix classes, defining their nonzero structure and also holding their Epetra_Map attributes.
Constructing Epetra_CrsGraph objects
Constructing Epetra_CrsGraph objects is a multistep process. The basic steps are as follows:
Performance Enhancement Issues
The Epetra_CrsGraph class attempts to address four basic types of situations, depending on the user's primary concern:
Notes:
In all but the most advanced uses, users will typically not specify the column map. In other words, graph entries will be submitted using GIDs not LIDs and all entries that are submitted are intended to be inserted into the graph.
If a user is not particularly worried about performance, or really needs the flexibility associated with the first situation, then there is no need to explicitly manage the NumIndicesPerRow values or set StaticProfile to true. In this case, it is best to set NumIndicesPerRow to zero.
Users who are concerned about performance should carefully manage NumIndicesPerRow and set StaticProfile to true. This will give the best performance and use the least amount of memory.
Epetra_Map attributes
Epetra_CrsGraph objects have four Epetra_Map attributes.
The Epetra_Map attributes can be obtained via these accessor methods:
It is important to note that while the rowmap and the rangemap are often the same, the columnmap and the domainmap are almost never the same. The set of entries in a distributed columnmap almost always form overlapping sets, with entries being associated with more than one processor. A domainmap, on the other hand, must be a 1to1 map, with entries being associated with only a single processor.
Global versus Local indices
After creation and before FillComplete() has been called, the columnindices of the graph are in the global space as received from the user. One of the tasks performed by FillComplete() is to transform the indices to a local index space. The query methods IndicesAreGlobal() and IndicesAreLocal() return true or false depending on whether this transformation has been performed or not.
Note the behavior of several graph methods:
Note that even after a graph is constructed, it is possible to add or remove entries. However, FillComplete must then be called again to restore the graph to a consistent state.
Definition at line 213 of file Epetra_CrsGraph.h.
Epetra_CrsGraph::Epetra_CrsGraph  (  Epetra_DataAccess  CV, 
const Epetra_BlockMap &  RowMap,  
const int *  NumIndicesPerRow,  
bool  StaticProfile = false 

) 
Epetra_CrsGraph constuctor with variable number of indices per row.
Creates a Epetra_CrsGraph object and allocates storage.
CV   (In) A Epetra_DataAccess enumerated type set to Copy or View. 
RowMap   (In) An Epetra_BlockMap (or Epetra_Map or Epetra_LocalMap) listing the rows that this processor will contribute to.In 
NumIndicesPerRow   (In) An integer array of length NumMyRows such that NumIndicesPerRow[i] indicates the (approximate if StaticProfile=false) number of entries in the ith row. 
StaticProfile   (In) Optional argument that indicates whether or not NumIndicesPerRow should be interpreted as an exact count of nonzeros, or should be used as an approximation. By default this value is false, allowing the profile to be determined dynamically. If the user sets it to true, then the memory allocation for the Epetra_CrsGraph object will be done in one large block, saving on memory fragmentation and generally improving the performance of matrix multiplication and solve kernels. 
Definition at line 59 of file Epetra_CrsGraph.cpp.
Epetra_CrsGraph::Epetra_CrsGraph  (  Epetra_DataAccess  CV, 
const Epetra_BlockMap &  RowMap,  
int  NumIndicesPerRow,  
bool  StaticProfile = false 

) 
Epetra_CrsGraph constuctor with fixed number of indices per row.
Creates a Epetra_CrsGraph object and allocates storage.
CV   (In) A Epetra_DataAccess enumerated type set to Copy or View. 
RowMap   (In) An Epetra_BlockMap (or Epetra_Map or Epetra_LocalMap) listing the rows that this processor will contribute to. 
NumIndicesPerRow   (In) An integer that indicates the (approximate if StaticProfile=false) number of entries in the each row. Note that it is possible to use 0 for this value and let fill occur during the insertion phase. 
StaticProfile   (In) Optional argument that indicates whether or not NumIndicesPerRow should be interpreted as an exact count of nonzeros, or should be used as an approximation. By default this value is false, allowing the profile to be determined dynamically. If the user sets it to true, then the memory allocation for the Epetra_CrsGraph object will be done in one large block, saving on memory fragmentation and generally improving the performance of matrix multiplication and solve kernels. 
Definition at line 69 of file Epetra_CrsGraph.cpp.
Epetra_CrsGraph::Epetra_CrsGraph  (  Epetra_DataAccess  CV, 
const Epetra_BlockMap &  RowMap,  
const Epetra_BlockMap &  ColMap,  
const int *  NumIndicesPerRow,  
bool  StaticProfile = false 

) 
Epetra_CrsGraph constuctor with variable number of indices per row.
Creates a Epetra_CrsGraph object and allocates storage.
CV   (In) A Epetra_DataAccess enumerated type set to Copy or View. 
RowMap   (In) An Epetra_BlockMap (or Epetra_Map or Epetra_LocalMap) listing the rows that this processor will contribute to. 
ColMap   (In) An Epetra_BlockMap (or Epetra_Map or Epetra_LocalMap) listing the columns that this processor will contribute to. 
NumIndicesPerRow   (In) An integer array of length NumMyRows such that NumIndicesPerRow[i] indicates the (approximate if StaticProfile=false) number of entries in the ith row. 
StaticProfile   (In) Optional argument that indicates whether or not NumIndicesPerRow should be interpreted as an exact count of nonzeros, or should be used as an approximation. By default this value is false, allowing the profile to be determined dynamically. If the user sets it to true, then the memory allocation for the Epetra_CrsGraph object will be done in one large block, saving on memory fragmentation and generally improving the performance of matrix multiplication and solve kernels. 
Definition at line 79 of file Epetra_CrsGraph.cpp.
Epetra_CrsGraph::Epetra_CrsGraph  (  Epetra_DataAccess  CV, 
const Epetra_BlockMap &  RowMap,  
const Epetra_BlockMap &  ColMap,  
int  NumIndicesPerRow,  
bool  StaticProfile = false 

) 
Epetra_CrsGraph constuctor with fixed number of indices per row.
Creates a Epetra_CrsGraph object and allocates storage.
CV   (In) A Epetra_DataAccess enumerated type set to Copy or View. 
RowMap   (In) An Epetra_BlockMap (or Epetra_Map or Epetra_LocalMap) listing the rows that this processor will contribute to. 
ColMap   (In) An Epetra_BlockMap (or Epetra_Map or Epetra_LocalMap) listing the columns that this processor will contribute to. 
In  NumIndicesPerRow  An integer that indicates the (approximate if StaticProfile=false) number of entries in the each row. Note that it is possible to use 0 for this value and let fill occur during the insertion phase. 
StaticProfile   (In) Optional argument that indicates whether or not NumIndicesPerRow should be interpreted as an exact count of nonzeros, or should be used as an approximation. By default this value is false, allowing the profile to be determined dynamically. If the user sets it to true, then the memory allocation for the Epetra_CrsGraph object will be done in one large block, saving on memory fragmentation and generally improving the performance of matrix multiplication and solve kernels. 
Definition at line 90 of file Epetra_CrsGraph.cpp.
Epetra_CrsGraph::Epetra_CrsGraph  (  const Epetra_CrsGraph &  Graph  ) 
Copy constructor.
This will create a Level 1 deep copy. This Graph will share ownership of the CrsGraphData object with the right hand side Graph.
Definition at line 101 of file Epetra_CrsGraph.cpp.
Epetra_CrsGraph::~Epetra_CrsGraph  (  )  [virtual] 
Epetra_CrsGraph Destructor.
Definition at line 200 of file Epetra_CrsGraph.cpp.
int Epetra_CrsGraph::InsertGlobalIndices  (  int  GlobalRow, 
int  NumIndices,  
int *  Indices  
) 
Enter a list of elements in a specified global row of the graph.
Row   (In) Global row number of indices. 
NumIndices   (In) Number of Indices. 
Indices   (In) Global column indices to insert. 
Definition at line 217 of file Epetra_CrsGraph.cpp.
int Epetra_CrsGraph::RemoveGlobalIndices  (  int  GlobalRow, 
int  NumIndices,  
int *  Indices  
) 
Remove a list of elements from a specified global row of the graph.
Row   (In) Global row number of indices. 
NumIndices   (In) Number of Indices. 
Indices   (In) Global column indices to remove. 
Definition at line 427 of file Epetra_CrsGraph.cpp.
int Epetra_CrsGraph::RemoveGlobalIndices  (  int  Row  ) 
Remove all indices from a specified global row of the graph.
Row   (In) Global row number of indices. 
Definition at line 518 of file Epetra_CrsGraph.cpp.
int Epetra_CrsGraph::InsertMyIndices  (  int  LocalRow, 
int  NumIndices,  
int *  Indices  
) 
Enter a list of elements in a specified local row of the graph.
Row   (In) Local row number of indices. 
NumIndices   (In) Number of Indices. 
Indices   (In) Local column indices to insert. 
Definition at line 234 of file Epetra_CrsGraph.cpp.
int Epetra_CrsGraph::RemoveMyIndices  (  int  LocalRow, 
int  NumIndices,  
int *  Indices  
) 
Remove a list of elements from a specified local row of the graph.
Row   (In) Local row number of indices. 
NumIndices   (In) Number of Indices. 
Indices   (In) Local column indices to remove. 
Definition at line 473 of file Epetra_CrsGraph.cpp.
int Epetra_CrsGraph::RemoveMyIndices  (  int  Row  ) 
Remove all indices from a specified local row of the graph.
Row   (In) Local row number of indices. 
Definition at line 558 of file Epetra_CrsGraph.cpp.
int Epetra_CrsGraph::FillComplete  (  ) 
Tranform to local index space. Perform other operations to allow optimal matrix operations.
This overloading of the FillComplete method assumes that the domainmap and rangemap both equal the rowmap, and simply calls FillComplete(RowMap(), RowMap()).
Definition at line 724 of file Epetra_CrsGraph.cpp.
int Epetra_CrsGraph::FillComplete  (  const Epetra_BlockMap &  DomainMap, 
const Epetra_BlockMap &  RangeMap  
) 
Transform to local index space using specified Domain/Range maps. Perform other operations to allow optimal matrix operations.
Performs this sequence of operations:
Definition at line 730 of file Epetra_CrsGraph.cpp.
int Epetra_CrsGraph::OptimizeStorage  (  ) 
Make consecutive row index sections contiguous, minimize internal storage used for constructing graph.
After construction and during initialization (when indices are being added via InsertGlobalIndices() etc.), the column indices for each row are held in a separate piece of allocated memory. This method moves the columnindices for all rows into one large contiguous array and eliminates internal storage that is not needed after graph construction. Calling this method can have a significant impact on memory costs and machine performance.
If this object was constructed in View mode then this method can't make noncontiguous indices contiguous and will return a warning code of 1 if the viewed data isn't already contiguous.
Definition at line 1309 of file Epetra_CrsGraph.cpp.
int Epetra_CrsGraph::ExtractGlobalRowCopy  (  int  GlobalRow, 
int  LenOfIndices,  
int &  NumIndices,  
int *  Indices  
)  const 
Extract a list of elements in a specified global row of the graph. Put into storage allocated by calling routine.
Row   (In) Global row number to get indices. 
LenOfIndices   (In) Length of Indices array. 
NumIndices   (Out) Number of Indices. 
Indices   (Out) Global column indices corresponding to values. 
Definition at line 1442 of file Epetra_CrsGraph.cpp.
int Epetra_CrsGraph::ExtractMyRowCopy  (  int  LocalRow, 
int  LenOfIndices,  
int &  NumIndices,  
int *  Indices  
)  const 
Extract a list of elements in a specified local row of the graph. Put into storage allocated by calling routine.
Row   (In) Local row number to get indices. 
LenOfIndices   (In) Length of Indices array. 
NumIndices   (Out) Number of Indices. 
Indices   (Out) Local column indices corresponding to values. 
Definition at line 1467 of file Epetra_CrsGraph.cpp.
int Epetra_CrsGraph::ExtractGlobalRowView  (  int  GlobalRow, 
int &  NumIndices,  
int *&  Indices  
)  const 
Get a view of the elements in a specified global row of the graph.
This function requires that the graph not be completed (FillComplete() was not called).
Row   (In) Local row number to get indices. 
NumIndices   (Out) Number of Indices. 
Indices   (Out) Column indices corresponding to values. 
Definition at line 1489 of file Epetra_CrsGraph.cpp.
int Epetra_CrsGraph::ExtractMyRowView  (  int  LocalRow, 
int &  NumIndices,  
int *&  Indices  
)  const 
Get a view of the elements in a specified local row of the graph.
This function requires that the graph be completed FillComplete() was called).
Row   (In) Local row number to get indices. 
NumIndices   (Out) Number of Indices. 
Indices   (Out) Column indices corresponding to values. 
Definition at line 1507 of file Epetra_CrsGraph.cpp.
bool Epetra_CrsGraph::Filled  (  )  const [inline] 
If FillComplete() has been called, this query returns true, otherwise it returns false.
Definition at line 485 of file Epetra_CrsGraph.h.
bool Epetra_CrsGraph::StorageOptimized  (  )  const [inline] 
If OptimizeStorage() has been called, this query returns true, otherwise it returns false.
Definition at line 488 of file Epetra_CrsGraph.h.
bool Epetra_CrsGraph::IndicesAreGlobal  (  )  const [inline] 
If column indices are in global range, this query returns true, otherwise it returns false.
Definition at line 491 of file Epetra_CrsGraph.h.
bool Epetra_CrsGraph::IndicesAreLocal  (  )  const [inline] 
If column indices are in local range, this query returns true, otherwise it returns false.
Definition at line 494 of file Epetra_CrsGraph.h.
bool Epetra_CrsGraph::LowerTriangular  (  )  const [inline] 
If graph is lower triangular in local index space, this query returns true, otherwise it returns false.
Definition at line 500 of file Epetra_CrsGraph.h.
bool Epetra_CrsGraph::UpperTriangular  (  )  const [inline] 
If graph is upper triangular in local index space, this query returns true, otherwise it returns false.
Definition at line 506 of file Epetra_CrsGraph.h.
bool Epetra_CrsGraph::NoDiagonal  (  )  const [inline] 
If graph has no diagonal entries in global index space, this query returns true, otherwise it returns false.
Definition at line 512 of file Epetra_CrsGraph.h.
bool Epetra_CrsGraph::MyGlobalRow  (  int  GID  )  const [inline] 
Returns true of GID is owned by the calling processor, otherwise it returns false.
Definition at line 515 of file Epetra_CrsGraph.h.
bool Epetra_CrsGraph::HaveColMap  (  )  const [inline] 
Returns true if we have a welldefined ColMap, and returns false otherwise.
Definition at line 522 of file Epetra_CrsGraph.h.
int Epetra_CrsGraph::NumMyRows  (  )  const [inline] 
Returns the number of matrix rows on this processor.
Definition at line 529 of file Epetra_CrsGraph.h.
int Epetra_CrsGraph::NumGlobalRows  (  )  const [inline] 
Returns the number of matrix rows in global matrix.
Definition at line 532 of file Epetra_CrsGraph.h.
int Epetra_CrsGraph::NumMyCols  (  )  const [inline] 
Returns the number of entries in the set of columnindices that appear on this processor.
The set of columnindices that appear on this processor is the union of columnindices that appear in all local rows. The size of this set isn't available until FillComplete() has been called.
Definition at line 539 of file Epetra_CrsGraph.h.
int Epetra_CrsGraph::NumGlobalCols  (  )  const [inline] 
Returns the number of matrix columns in global matrix.
Definition at line 545 of file Epetra_CrsGraph.h.
int Epetra_CrsGraph::NumGlobalNonzeros  (  )  const [inline] 
Returns the number of indices in the global graph.
Note that if the graph's maps are defined such that some nonzeros appear on more than one processor, then those nonzeros will be counted more than once. If the user wishes to assemble a graph from overlapping data, they can use Epetra_FECrsGraph.
Definition at line 554 of file Epetra_CrsGraph.h.
int Epetra_CrsGraph::NumGlobalDiagonals  (  )  const [inline] 
Returns the number of diagonal entries in the global graph, based on global row/column index comparisons.
Definition at line 560 of file Epetra_CrsGraph.h.
int Epetra_CrsGraph::NumMyDiagonals  (  )  const [inline] 
Returns the number of diagonal entries in the local graph, based on global row/column index comparisons.
Definition at line 566 of file Epetra_CrsGraph.h.
int Epetra_CrsGraph::NumMyBlockRows  (  )  const [inline] 
Returns the number of block matrix rows on this processor.
Definition at line 569 of file Epetra_CrsGraph.h.
int Epetra_CrsGraph::NumGlobalBlockRows  (  )  const [inline] 
Returns the number of Block matrix rows in global matrix.
Definition at line 572 of file Epetra_CrsGraph.h.
int Epetra_CrsGraph::NumMyBlockCols  (  )  const [inline] 
Returns the number of Block matrix columns on this processor.
Definition at line 578 of file Epetra_CrsGraph.h.
int Epetra_CrsGraph::NumGlobalBlockCols  (  )  const [inline] 
Returns the number of Block matrix columns in global matrix.
Definition at line 584 of file Epetra_CrsGraph.h.
int Epetra_CrsGraph::NumMyBlockDiagonals  (  )  const [inline] 
Returns the number of Block diagonal entries in the local graph, based on global row/column index comparisons.
Definition at line 590 of file Epetra_CrsGraph.h.
int Epetra_CrsGraph::NumGlobalBlockDiagonals  (  )  const [inline] 
Returns the number of Block diagonal entries in the global graph, based on global row/column index comparisons.
Definition at line 596 of file Epetra_CrsGraph.h.
int Epetra_CrsGraph::NumGlobalEntries  (  )  const [inline] 
Returns the number of entries in the global graph.
Definition at line 602 of file Epetra_CrsGraph.h.
int Epetra_CrsGraph::NumMyEntries  (  )  const [inline] 
Returns the number of entries on this processor.
Definition at line 608 of file Epetra_CrsGraph.h.
int Epetra_CrsGraph::MaxRowDim  (  )  const [inline] 
Returns the max row dimension of block entries on the processor.
Definition at line 613 of file Epetra_CrsGraph.h.
int Epetra_CrsGraph::GlobalMaxRowDim  (  )  const [inline] 
Returns the max row dimension of block entries across all processors.
Definition at line 619 of file Epetra_CrsGraph.h.
int Epetra_CrsGraph::MaxColDim  (  )  const [inline] 
Returns the max column dimension of block entries on the processor.
Definition at line 625 of file Epetra_CrsGraph.h.
int Epetra_CrsGraph::GlobalMaxColDim  (  )  const [inline] 
Returns the max column dimension of block entries across all processors.
Definition at line 631 of file Epetra_CrsGraph.h.
int Epetra_CrsGraph::NumMyNonzeros  (  )  const [inline] 
Returns the number of indices in the local graph.
Definition at line 637 of file Epetra_CrsGraph.h.
int Epetra_CrsGraph::NumGlobalIndices  (  int  Row  )  const 
Returns the current number of nonzero entries in specified global row on this processor.
Definition at line 1523 of file Epetra_CrsGraph.cpp.
int Epetra_CrsGraph::NumAllocatedGlobalIndices  (  int  Row  )  const 
Returns the allocated number of nonzero entries in specified global row on this processor.
Definition at line 1532 of file Epetra_CrsGraph.cpp.
int Epetra_CrsGraph::MaxNumIndices  (  )  const [inline] 
Returns the maximum number of nonzero entries across all rows on this processor.
Definition at line 649 of file Epetra_CrsGraph.h.
int Epetra_CrsGraph::GlobalMaxNumIndices  (  )  const [inline] 
Returns the maximun number of nonzero entries across all rows across all processors.
Definition at line 655 of file Epetra_CrsGraph.h.
int Epetra_CrsGraph::MaxNumNonzeros  (  )  const [inline] 
Returns the maximum number of nonzero points across all rows on this processor.
For each entry in the graph, let i = the GRID of the entry and j = the CGID of the entry. Then the entry size is the product of the rowmap elementsize of i and the colmap elementsize of i. Let ki = sum of all entry sizes for the entries in the ith row. For example, if the ith block row had 5 block entries and the element size of each entry was 4by4, ki would be 80. Then this function returns the max over all ki for all row on this processor.
Definition at line 667 of file Epetra_CrsGraph.h.
int Epetra_CrsGraph::GlobalMaxNumNonzeros  (  )  const [inline] 
Returns the maximun number of nonzero points across all rows across all processors.
This function returns the max over all processor of MaxNumNonzeros().
Definition at line 674 of file Epetra_CrsGraph.h.
int Epetra_CrsGraph::NumMyIndices  (  int  Row  )  const [inline] 
Returns the current number of nonzero entries in specified local row on this processor.
Definition at line 677 of file Epetra_CrsGraph.h.
int Epetra_CrsGraph::NumAllocatedMyIndices  (  int  Row  )  const [inline] 
Returns the allocated number of nonzero entries in specified local row on this processor.
Definition at line 682 of file Epetra_CrsGraph.h.
int Epetra_CrsGraph::IndexBase  (  )  const [inline] 
Returns the index base for row and column indices for this graph.
Definition at line 687 of file Epetra_CrsGraph.h.
const Epetra_BlockMap& Epetra_CrsGraph::RowMap  (  )  const [inline] 
Returns the RowMap associated with this graph.
Definition at line 690 of file Epetra_CrsGraph.h.
int Epetra_CrsGraph::ReplaceRowMap  (  const Epetra_BlockMap &  newmap  ) 
Replaces the current RowMap with the userspecified map object, but only if currentmap>PointSameAs(newmap) is true.
This is a collective function. Returns 0 if map is replaced, 1 if not.
Definition at line 1541 of file Epetra_CrsGraph.cpp.
int Epetra_CrsGraph::ReplaceColMap  (  const Epetra_BlockMap &  newmap  ) 
Replaces the current ColMap with the userspecified map object, but only if no entries have been inserted into the graph yet (both IndicesAreLocal() and IndicesAreGlobal() are false) or currentmap>PointSameAs(newmap) is true.
This is a collective function. Returns 0 if map is replaced, 1 if not.
Definition at line 1554 of file Epetra_CrsGraph.cpp.
const Epetra_BlockMap& Epetra_CrsGraph::ColMap  (  )  const [inline] 
Returns the Column Map associated with this graph.
Definition at line 714 of file Epetra_CrsGraph.h.
const Epetra_BlockMap& Epetra_CrsGraph::DomainMap  (  )  const [inline] 
Returns the DomainMap associated with this graph.
Definition at line 720 of file Epetra_CrsGraph.h.
const Epetra_BlockMap& Epetra_CrsGraph::RangeMap  (  )  const [inline] 
Returns the RangeMap associated with this graph.
Definition at line 726 of file Epetra_CrsGraph.h.
const Epetra_Import* Epetra_CrsGraph::Importer  (  )  const [inline] 
Returns the Importer associated with this graph.
Definition at line 729 of file Epetra_CrsGraph.h.
const Epetra_Export* Epetra_CrsGraph::Exporter  (  )  const [inline] 
Returns the Exporter associated with this graph.
Definition at line 732 of file Epetra_CrsGraph.h.
const Epetra_Comm& Epetra_CrsGraph::Comm  (  )  const [inline] 
Returns a pointer to the Epetra_Comm communicator associated with this graph.
Reimplemented from Epetra_DistObject.
Definition at line 735 of file Epetra_CrsGraph.h.
int Epetra_CrsGraph::LRID  (  int  GRID_in  )  const [inline] 
Returns the local row index for given global row index, returns 1 if no local row for this global row.
Definition at line 742 of file Epetra_CrsGraph.h.
int Epetra_CrsGraph::GRID  (  int  LRID_in  )  const [inline] 
Returns the global row index for give local row index, returns IndexBase1 if we don't have this local row.
Definition at line 745 of file Epetra_CrsGraph.h.
int Epetra_CrsGraph::LCID  (  int  GCID_in  )  const [inline] 
Returns the local column index for given global column index, returns 1 if no local column for this global column.
Definition at line 751 of file Epetra_CrsGraph.h.
int Epetra_CrsGraph::GCID  (  int  LCID_in  )  const [inline] 
Returns the global column index for give local column index, returns IndexBase1 if we don't have this local column.
Definition at line 760 of file Epetra_CrsGraph.h.
bool Epetra_CrsGraph::MyGRID  (  int  GRID_in  )  const [inline] 
Returns true if the GRID passed in belongs to the calling processor in this map, otherwise returns false.
Definition at line 766 of file Epetra_CrsGraph.h.
bool Epetra_CrsGraph::MyLRID  (  int  LRID_in  )  const [inline] 
Returns true if the LRID passed in belongs to the calling processor in this map, otherwise returns false.
Definition at line 769 of file Epetra_CrsGraph.h.
bool Epetra_CrsGraph::MyGCID  (  int  GCID_in  )  const [inline] 
Returns true if the GCID passed in belongs to the calling processor in this map, otherwise returns false.
Definition at line 775 of file Epetra_CrsGraph.h.
bool Epetra_CrsGraph::MyLCID  (  int  LCID_in  )  const [inline] 
Returns true if the LRID passed in belongs to the calling processor in this map, otherwise returns false.
Definition at line 781 of file Epetra_CrsGraph.h.
int* Epetra_CrsGraph::operator[]  (  int  Loc  )  [inline] 
Inlined bracket operator for fast access to data. (Const and Nonconst versions)
No error checking and dangerous for optimization purposes.
Loc  (In)  Local row. 
Definition at line 794 of file Epetra_CrsGraph.h.
int* Epetra_CrsGraph::operator[]  (  int  Loc  )  const [inline] 
Definition at line 798 of file Epetra_CrsGraph.h.
Epetra_CrsGraph & Epetra_CrsGraph::operator=  (  const Epetra_CrsGraph &  Source  ) 
Assignment operator.
This will do a Level 1 deep copy. It will share ownership of the CrsGraphData with the right hand side Graph.
Definition at line 2061 of file Epetra_CrsGraph.cpp.
void Epetra_CrsGraph::Print  (  ostream &  os  )  const [virtual] 
Print method.
Reimplemented from Epetra_DistObject.
Definition at line 1991 of file Epetra_CrsGraph.cpp.
void Epetra_CrsGraph::PrintGraphData  (  ostream &  os  )  const [inline] 
Definition at line 816 of file Epetra_CrsGraph.h.
void Epetra_CrsGraph::PrintGraphData  (  ostream &  os, 
int  level  
)  const [inline] 
Definition at line 817 of file Epetra_CrsGraph.h.
const Epetra_BlockMap& Epetra_CrsGraph::ImportMap  (  )  const [inline] 
Use ColMap() instead.
Definition at line 824 of file Epetra_CrsGraph.h.
int Epetra_CrsGraph::TransformToLocal  (  ) 
Use FillComplete() instead.
Definition at line 749 of file Epetra_CrsGraph.cpp.
int Epetra_CrsGraph::TransformToLocal  (  const Epetra_BlockMap *  DomainMap, 
const Epetra_BlockMap *  RangeMap  
) 
Use FillComplete(const Epetra_BlockMap& DomainMap, const Epetra_BlockMap& RangeMap) instead.
Definition at line 754 of file Epetra_CrsGraph.cpp.
int Epetra_CrsGraph::ReferenceCount  (  )  const [inline] 
Returns the reference count of CrsGraphData.
(Intended for testing purposes.)
Definition at line 839 of file Epetra_CrsGraph.h.
const Epetra_CrsGraphData* Epetra_CrsGraph::DataPtr  (  )  const [inline] 
Returns a pointer to the CrsGraphData instance this CrsGraph uses.
(Intended for developer use only for testing purposes.)
Definition at line 843 of file Epetra_CrsGraph.h.
void Epetra_CrsGraph::SortGhostsAssociatedWithEachProcessor  (  bool  Flag  )  [inline] 
Forces FillComplete() to locally order ghostnodes associated with each remote processor in ascending order.
To be compliant with AztecOO, FillComplete() already locally orders ghostnodes such that information received from processor k has a lower local numbering than information received from processor j if k is less than j. SortGhostsAssociatedWithEachProcessor(True) further forces FillComplete() to locally number all ghostnodes received from processor k in ascending order. That is, the local numbering of b is less than c if the global numbering of b is less than c and if both b and c are owned by the same processor. This is done to be compliant with some limited block features within ML. In particular, some ML features require that a block structure of the matrix be maintained even within the ghost variables.
Definition at line 855 of file Epetra_CrsGraph.h.
int* Epetra_CrsGraph::All_Indices  (  )  const [inline, protected] 
Definition at line 870 of file Epetra_CrsGraph.h.
int* Epetra_CrsGraph::IndexOffset  (  )  const [inline, protected] 
Definition at line 873 of file Epetra_CrsGraph.h.
int* Epetra_CrsGraph::NumIndicesPerRow  (  )  const [inline, protected] 
Definition at line 876 of file Epetra_CrsGraph.h.
int* Epetra_CrsGraph::NumAllocatedIndicesPerRow  (  )  const [inline, protected] 
Definition at line 879 of file Epetra_CrsGraph.h.
int** Epetra_CrsGraph::Indices  (  )  const [inline, protected] 
Definition at line 882 of file Epetra_CrsGraph.h.
int* Epetra_CrsGraph::Indices  (  int  LocalRow  )  const [inline, protected] 
Definition at line 885 of file Epetra_CrsGraph.h.
bool Epetra_CrsGraph::IndicesAreContiguous  (  )  const [inline, protected] 
Definition at line 890 of file Epetra_CrsGraph.h.
bool Epetra_CrsGraph::StaticProfile  (  )  const [inline, protected] 
Definition at line 891 of file Epetra_CrsGraph.h.
bool Epetra_CrsGraph::GlobalConstantsComputed  (  )  const [protected] 
Definition at line 1964 of file Epetra_CrsGraph.cpp.
bool Epetra_CrsGraph::FindGlobalIndexLoc  (  int  LocalRow, 
int  Index,  
int  Start,  
int &  Loc  
)  const [protected] 
Definition at line 594 of file Epetra_CrsGraph.cpp.
bool Epetra_CrsGraph::FindGlobalIndexLoc  (  int  NumIndices, 
const int *  Indices,  
int  Index,  
int  Start,  
int &  Loc  
)  const [protected] 
Definition at line 628 of file Epetra_CrsGraph.cpp.
bool Epetra_CrsGraph::FindMyIndexLoc  (  int  LocalRow, 
int  Index,  
int  Start,  
int &  Loc  
)  const [protected] 
Definition at line 660 of file Epetra_CrsGraph.cpp.
bool Epetra_CrsGraph::FindMyIndexLoc  (  int  NumIndices, 
const int *  Indices,  
int  Index,  
int  Start,  
int &  Loc  
)  const [protected] 
Definition at line 693 of file Epetra_CrsGraph.cpp.
int Epetra_CrsGraph::InsertIndices  (  int  Row, 
int  NumIndices,  
int *  Indices  
)  [protected] 
Definition at line 260 of file Epetra_CrsGraph.cpp.
int Epetra_CrsGraph::InsertIndicesIntoSorted  (  int  Row, 
int  NumIndices,  
int *  Indices  
)  [protected] 
Definition at line 354 of file Epetra_CrsGraph.cpp.
int Epetra_CrsGraph::MakeIndicesLocal  (  const Epetra_BlockMap &  DomainMap, 
const Epetra_BlockMap &  RangeMap  
)  [protected] 
Definition at line 1253 of file Epetra_CrsGraph.cpp.
void Epetra_CrsGraph::SetIndicesAreLocal  (  bool  Flag  )  [inline, protected] 
Definition at line 900 of file Epetra_CrsGraph.h.
void Epetra_CrsGraph::SetIndicesAreGlobal  (  bool  Flag  )  [inline, protected] 
Definition at line 901 of file Epetra_CrsGraph.h.
void Epetra_CrsGraph::SetSorted  (  bool  Flag  )  [inline, protected] 
Definition at line 902 of file Epetra_CrsGraph.h.
int Epetra_CrsGraph::SortIndices  (  )  [protected] 
Sort column indices, rowbyrow, in ascending order.
Definition at line 883 of file Epetra_CrsGraph.cpp.
bool Epetra_CrsGraph::Sorted  (  )  const [inline, protected] 
If SortIndices() has been called, this query returns true, otherwise it returns false.
Definition at line 912 of file Epetra_CrsGraph.h.
int Epetra_CrsGraph::RemoveRedundantIndices  (  )  [protected] 
Removes any redundant column indices in the rows of the graph.
Definition at line 986 of file Epetra_CrsGraph.cpp.
int Epetra_CrsGraph::DetermineTriangular  (  )  [protected] 
Definition at line 1025 of file Epetra_CrsGraph.cpp.
bool Epetra_CrsGraph::NoRedundancies  (  )  const [inline, protected] 
If RemoveRedundantIndices() has been called, this query returns true, otherwise it returns false.
Definition at line 922 of file Epetra_CrsGraph.h.
void Epetra_CrsGraph::SetGlobalConstantsComputed  (  bool  Flag  )  [inline, private] 
Definition at line 925 of file Epetra_CrsGraph.h.
void Epetra_CrsGraph::SetIndicesAreContiguous  (  bool  Flag  )  [inline, private] 
Definition at line 926 of file Epetra_CrsGraph.h.
void Epetra_CrsGraph::SetNoRedundancies  (  bool  Flag  )  [inline, private] 
Definition at line 927 of file Epetra_CrsGraph.h.
void Epetra_CrsGraph::ComputeIndexState  (  )  [private] 
Definition at line 1975 of file Epetra_CrsGraph.cpp.
int Epetra_CrsGraph::MakeColMap  (  const Epetra_BlockMap &  DomainMap, 
const Epetra_BlockMap &  RangeMap  
)  [private] 
Definition at line 1075 of file Epetra_CrsGraph.cpp.
int Epetra_CrsGraph::Allocate  (  const int *  NumIndicesPerRow, 
int  Inc,  
bool  StaticProfile  
)  [private] 
Definition at line 109 of file Epetra_CrsGraph.cpp.
int Epetra_CrsGraph::ComputeGlobalConstants  (  )  [private] 
Definition at line 759 of file Epetra_CrsGraph.cpp.
void Epetra_CrsGraph::SetFilled  (  bool  Flag  )  [inline, private] 
Definition at line 933 of file Epetra_CrsGraph.h.
bool Epetra_CrsGraph::Allocated  (  )  const [inline, private] 
Definition at line 934 of file Epetra_CrsGraph.h.
void Epetra_CrsGraph::SetAllocated  (  bool  Flag  )  [inline, private] 
Definition at line 935 of file Epetra_CrsGraph.h.
int Epetra_CrsGraph::CheckSizes  (  const Epetra_SrcDistObject &  Source  )  [private, virtual] 
Allows the source and target (this) objects to be compared for compatibility, return nonzero if not.
Implements Epetra_DistObject.
Definition at line 1578 of file Epetra_CrsGraph.cpp.
int Epetra_CrsGraph::CopyAndPermute  (  const Epetra_SrcDistObject &  Source, 
int  NumSameIDs,  
int  NumPermuteIDs,  
int *  PermuteToLIDs,  
int *  PermuteFromLIDs,  
const Epetra_OffsetIndex *  Indexor  
)  [private, virtual] 
Perform ID copies and permutations that are on processor.
Implements Epetra_DistObject.
Definition at line 1591 of file Epetra_CrsGraph.cpp.
int Epetra_CrsGraph::CopyAndPermuteRowMatrix  (  const Epetra_RowMatrix &  A, 
int  NumSameIDs,  
int  NumPermuteIDs,  
int *  PermuteToLIDs,  
int *  PermuteFromLIDs,  
const Epetra_OffsetIndex *  Indexor  
)  [private] 
Definition at line 1618 of file Epetra_CrsGraph.cpp.
int Epetra_CrsGraph::CopyAndPermuteCrsGraph  (  const Epetra_CrsGraph &  A, 
int  NumSameIDs,  
int  NumPermuteIDs,  
int *  PermuteToLIDs,  
int *  PermuteFromLIDs,  
const Epetra_OffsetIndex *  Indexor  
)  [private] 
Definition at line 1669 of file Epetra_CrsGraph.cpp.
int Epetra_CrsGraph::PackAndPrepare  (  const Epetra_SrcDistObject &  Source, 
int  NumExportIDs,  
int *  ExportLIDs,  
int &  LenExports,  
char *&  Exports,  
int &  SizeOfPacket,  
int *  Sizes,  
bool &  VarSizes,  
Epetra_Distributor &  Distor  
)  [private, virtual] 
Perform any packing or preparation required for call to DoTransfer().
Implements Epetra_DistObject.
Definition at line 1740 of file Epetra_CrsGraph.cpp.
int Epetra_CrsGraph::PackAndPrepareCrsGraph  (  const Epetra_CrsGraph &  A, 
int  NumExportIDs,  
int *  ExportLIDs,  
int &  LenExports,  
char *&  Exports,  
int &  SizeOfPacket,  
int *  Sizes,  
bool &  VarSizes,  
Epetra_Distributor &  Distor  
)  [private] 
Definition at line 1802 of file Epetra_CrsGraph.cpp.
int Epetra_CrsGraph::PackAndPrepareRowMatrix  (  const Epetra_RowMatrix &  A, 
int  NumExportIDs,  
int *  ExportLIDs,  
int &  LenExports,  
char *&  Exports,  
int &  SizeOfPacket,  
int *  Sizes,  
bool &  VarSizes,  
Epetra_Distributor &  Distor  
)  [private] 
Definition at line 1848 of file Epetra_CrsGraph.cpp.
int Epetra_CrsGraph::UnpackAndCombine  (  const Epetra_SrcDistObject &  Source, 
int  NumImportIDs,  
int *  ImportLIDs,  
int  LenImports,  
char *  Imports,  
int &  SizeOfPacket,  
Epetra_Distributor &  Distor,  
Epetra_CombineMode  CombineMode,  
const Epetra_OffsetIndex *  Indexor  
)  [private, virtual] 
Perform any unpacking and combining after call to DoTransfer().
Implements Epetra_DistObject.
Definition at line 1902 of file Epetra_CrsGraph.cpp.
void Epetra_CrsGraph::CleanupData  (  )  [private] 
Definition at line 206 of file Epetra_CrsGraph.cpp.
friend class Epetra_CrsMatrix [friend] 
Definition at line 862 of file Epetra_CrsGraph.h.
friend class Epetra_VbrMatrix [friend] 
Definition at line 863 of file Epetra_CrsGraph.h.
friend class Epetra_FECrsGraph [friend] 
Definition at line 864 of file Epetra_CrsGraph.h.
friend class Epetra_FECrsMatrix [friend] 
Reimplemented in Epetra_FECrsGraph.
Definition at line 865 of file Epetra_CrsGraph.h.
friend class Epetra_FEVbrMatrix [friend] 
Definition at line 866 of file Epetra_CrsGraph.h.
friend class Epetra_OffsetIndex [friend] 
Definition at line 867 of file Epetra_CrsGraph.h.
Definition at line 998 of file Epetra_CrsGraph.h.