FEI  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | List of all members
fei::Graph_Impl Class Reference

#include <fei_Graph_Impl.hpp>

Inheritance diagram for fei::Graph_Impl:
Inheritance graph
[legend]

Public Member Functions

 Graph_Impl (MPI_Comm comm, int firstLocalRow, int lastLocalRow)
 
virtual ~Graph_Impl ()
 
int addIndices (int row, int len, const int *indices)
 
int addSymmetricIndices (int numIndices, int *indices, bool diagonal=false)
 
int gatherFromOverlap ()
 
table_typegetLocalGraph ()
 
std::vector< remote_table_type * > & getRemoteGraph ()
 
int writeLocalGraph (FEI_OSTREAM &os, bool debug=false, bool prefixLinesWithPoundSign=true)
 
int writeRemoteGraph (FEI_OSTREAM &os)
 
int getNumLocalRows ()
 
int getNumLocalNonzeros () const
 
int getLocalRowLength (int row)
 
- Public Member Functions inherited from fei::Graph
virtual ~Graph ()
 

Additional Inherited Members

- Public Types inherited from fei::Graph
typedef snl_fei::RaggedTable
< snl_fei::MapContig
< fei::ctg_set< int >
* >, fei::ctg_set< int > > 
table_type
 
typedef fei::ctg_set< int > table_row_type
 
typedef snl_fei::RaggedTable
< std::map< int, fei::ctg_set
< int > * >, fei::ctg_set< int > > 
remote_table_type
 

Detailed Description

Basic algebraic matrix-graph representation.

Definition at line 21 of file fei_Graph_Impl.hpp.

Constructor & Destructor Documentation

fei::Graph_Impl::Graph_Impl ( MPI_Comm  comm,
int  firstLocalRow,
int  lastLocalRow 
)

constructor

Definition at line 22 of file fei_Graph_Impl.cpp.

fei::Graph_Impl::~Graph_Impl ( )
virtual

destructor

Definition at line 45 of file fei_Graph_Impl.cpp.

Member Function Documentation

int fei::Graph_Impl::addIndices ( int  row,
int  len,
const int *  indices 
)
virtual

Add indices to a specified row of the table

Implements fei::Graph.

Definition at line 54 of file fei_Graph_Impl.cpp.

int fei::Graph_Impl::addSymmetricIndices ( int  numIndices,
int *  indices,
bool  diagonal = false 
)
virtual
  Add a symmetric block of indices. The array of indices will serve as

both row-numbers, and as column-numbers in those rows.

Implements fei::Graph.

Definition at line 70 of file fei_Graph_Impl.cpp.

int fei::Graph_Impl::gatherFromOverlap ( )
virtual

gather all remotely-owned table portions to owning processors

Implements fei::Graph.

Definition at line 191 of file fei_Graph_Impl.cpp.

table_type* fei::Graph_Impl::getLocalGraph ( )
inlinevirtual

Retrieve the local portion of the graph. i.e., The rows which correspond to locally-owned IDs.

Implements fei::Graph.

Definition at line 46 of file fei_Graph_Impl.hpp.

std::vector<remote_table_type*>& fei::Graph_Impl::getRemoteGraph ( )
inlinevirtual

Retrieve the remotely-owned portion of the graph.

Implements fei::Graph.

Definition at line 52 of file fei_Graph_Impl.hpp.

int fei::Graph_Impl::writeLocalGraph ( FEI_OSTREAM &  os,
bool  debug = false,
bool  prefixLinesWithPoundSign = true 
)
virtual

Write locally-owned portion of the graph to a specified ostream.

Implements fei::Graph.

Definition at line 152 of file fei_Graph_Impl.cpp.

int fei::Graph_Impl::writeRemoteGraph ( FEI_OSTREAM &  os)
virtual

Write remotely-owned portion of the graph to a specified ostream.

Implements fei::Graph.

Definition at line 181 of file fei_Graph_Impl.cpp.

int fei::Graph_Impl::getNumLocalRows ( )

Get the number of locally-owned rows.

Definition at line 303 of file fei_Graph_Impl.cpp.

int fei::Graph_Impl::getNumLocalNonzeros ( ) const

Get the number of nonzeros in the locally-owned portion of the graph.

Definition at line 311 of file fei_Graph_Impl.cpp.

int fei::Graph_Impl::getLocalRowLength ( int  row)

Get the length of a specified locally-owned row.

Definition at line 292 of file fei_Graph_Impl.cpp.


The documentation for this class was generated from the following files: