Epetra Development
Public Member Functions | Friends
Epetra_FECrsGraph Class Reference

#include <Epetra_FECrsGraph.h>

Inheritance diagram for Epetra_FECrsGraph:
Inheritance graph
[legend]
Collaboration diagram for Epetra_FECrsGraph:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 Epetra_FECrsGraph (Epetra_DataAccess CV, const Epetra_BlockMap &RowMap, int *NumIndicesPerRow, bool ignoreNonLocalEntries=false, bool buildNonlocalGraph=false)
 Epetra_FECrsGraph (Epetra_DataAccess CV, const Epetra_BlockMap &RowMap, int NumIndicesPerRow, bool ignoreNonLocalEntries=false, bool buildNonlocalGraph=false)
 Epetra_FECrsGraph (Epetra_DataAccess CV, const Epetra_BlockMap &RowMap, const Epetra_BlockMap &ColMap, int *NumIndicesPerRow, bool ignoreNonLocalEntries=false, bool buildNonlocalGraph=false)
 Epetra_FECrsGraph (Epetra_DataAccess CV, const Epetra_BlockMap &RowMap, const Epetra_BlockMap &ColMap, int NumIndicesPerRow, bool ignoreNonLocalEntries=false, bool buildNonlocalGraph=false)
 Epetra_FECrsGraph (const Epetra_FECrsGraph &Graph)
virtual ~Epetra_FECrsGraph ()
int InsertGlobalIndices (int numRows, const int *rows, int numCols, const int *cols)
int GlobalAssemble (bool callFillComplete=true)
int GlobalAssemble (const Epetra_Map &domain_map, const Epetra_Map &range_map, bool callFillComplete=true)
bool UseNonlocalGraph () const

Friends

class Epetra_FECrsMatrix

Detailed Description

Epetra Finite-Element CrsGraph. This class provides the ability to insert indices into a matrix-graph, where the indices represent dense submatrices such as element-stiffnesses that might arise from a finite-element application.

In a parallel setting, indices may be submitted on the local processor for rows that do not reside in the local portion of the row-map. After all indices have been submitted, the GlobalAssemble method gathers all non-local graph rows to the appropriate 'owning' processors (an owning processor is a processor which has the row in its row-map).


Constructor & Destructor Documentation

Epetra_FECrsGraph::Epetra_FECrsGraph ( Epetra_DataAccess  CV,
const Epetra_BlockMap RowMap,
int *  NumIndicesPerRow,
bool  ignoreNonLocalEntries = false,
bool  buildNonlocalGraph = false 
)

Constructor

Epetra_FECrsGraph::Epetra_FECrsGraph ( Epetra_DataAccess  CV,
const Epetra_BlockMap RowMap,
int  NumIndicesPerRow,
bool  ignoreNonLocalEntries = false,
bool  buildNonlocalGraph = false 
)

Constructor

Epetra_FECrsGraph::Epetra_FECrsGraph ( Epetra_DataAccess  CV,
const Epetra_BlockMap RowMap,
const Epetra_BlockMap ColMap,
int *  NumIndicesPerRow,
bool  ignoreNonLocalEntries = false,
bool  buildNonlocalGraph = false 
)

Constructor

Epetra_FECrsGraph::Epetra_FECrsGraph ( Epetra_DataAccess  CV,
const Epetra_BlockMap RowMap,
const Epetra_BlockMap ColMap,
int  NumIndicesPerRow,
bool  ignoreNonLocalEntries = false,
bool  buildNonlocalGraph = false 
)

Constructor

Epetra_FECrsGraph::Epetra_FECrsGraph ( const Epetra_FECrsGraph Graph)

Constructor

virtual Epetra_FECrsGraph::~Epetra_FECrsGraph ( ) [virtual]

Destructor


Member Function Documentation

int Epetra_FECrsGraph::GlobalAssemble ( bool  callFillComplete = true)

Gather any overlapping/shared data into the non-overlapping partitioning defined by the Map that was passed to this matrix at construction time. Data imported from other processors is stored on the owning processor with a "sumInto" or accumulate operation. This is a collective method -- every processor must enter it before any will complete it.

NOTE***: When GlobalAssemble() calls FillComplete(), it passes the arguments 'DomainMap()' and 'RangeMap()', which are the map attributes held by the base-class CrsMatrix and its graph. If a rectangular matrix is being assembled, the domain-map and range-map must be specified by calling the other overloading of this method. Otherwise, GlobalAssemble() has no way of knowing what these maps should really be.

Parameters:
callFillCompleteoption argument, defaults to true. Determines whether GlobalAssemble() internally calls the FillComplete() method on this matrix.
Returns:
error-code 0 if successful, non-zero if some error occurs
int Epetra_FECrsGraph::GlobalAssemble ( const Epetra_Map domain_map,
const Epetra_Map range_map,
bool  callFillComplete = true 
)

Gather any overlapping/shared data into the non-overlapping partitioning defined by the Map that was passed to this matrix at construction time. Data imported from other processors is stored on the owning processor with a "sumInto" or accumulate operation. This is a collective method -- every processor must enter it before any will complete it.

NOTE***: When GlobalAssemble() (the other overloading of this method) calls FillComplete(), it passes the arguments 'DomainMap()' and 'RangeMap()', which are the map attributes already held by the base-class CrsMatrix and its graph. If a rectangular matrix is being assembled, the domain-map and range-map must be specified. Otherwise, GlobalAssemble() has no way of knowing what these maps should really be.

Parameters:
domain_mapuser-supplied domain map for this matrix
range_mapuser-supplied range map for this matrix
callFillCompleteoption argument, defaults to true. Determines whether GlobalAssemble() internally calls the FillComplete() method on this matrix.
Returns:
error-code 0 if successful, non-zero if some error occurs
int Epetra_FECrsGraph::InsertGlobalIndices ( int  numRows,
const int *  rows,
int  numCols,
const int *  cols 
)

Insert a rectangular, dense 'submatrix' of entries (matrix nonzero positions) into the graph.

Parameters:
numRowsNumber of rows in the submatrix.
rowsList of row-numbers for the submatrix.
numColsNumber of columns in the submatrix.
colsList of column-indices that will be used for each row in the 'rows' list.

The documentation for this class was generated from the following file:
 All Classes Files Functions Enumerations Enumerator