FEI Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
fei::Graph Class Referenceabstract

#include <fei_Graph.hpp>

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

Public Types

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
 

Public Member Functions

virtual ~Graph ()
 
virtual int addIndices (int row, int len, const int *indices)=0
 
virtual int addSymmetricIndices (int numIndices, int *indices, bool diagonal=false)=0
 
virtual int gatherFromOverlap ()=0
 
virtual table_typegetLocalGraph ()=0
 
virtual std::vector< remote_table_type * > & getRemoteGraph ()=0
 
virtual int writeLocalGraph (FEI_OSTREAM &os, bool debug=false, bool prefixLinesWithPoundSign=true)=0
 
virtual int writeRemoteGraph (FEI_OSTREAM &os)=0
 

Detailed Description

Basic algebraic matrix-graph representation.

Definition at line 20 of file fei_Graph.hpp.

Member Typedef Documentation

◆ table_type

alias for the 'table_type' data container

Definition at line 28 of file fei_Graph.hpp.

◆ table_row_type

alias for table_row_type, which is a row of the table

Definition at line 31 of file fei_Graph.hpp.

◆ remote_table_type

alias for the type of the remotely-owned portion of the table data

Definition at line 35 of file fei_Graph.hpp.

Constructor & Destructor Documentation

◆ ~Graph()

virtual fei::Graph::~Graph ( )
inlinevirtual

destructor

Definition at line 24 of file fei_Graph.hpp.

Member Function Documentation

◆ addIndices()

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

◆ addSymmetricIndices()

virtual int fei::Graph::addSymmetricIndices ( int  numIndices,
int *  indices,
bool  diagonal = false 
)
pure virtual

◆ gatherFromOverlap()

virtual int fei::Graph::gatherFromOverlap ( )
pure virtual

gather all remotely-owned table portions to owning processors

Implemented in fei::Graph_Impl, and fei::GraphReducer.

Referenced by fei::Reducer::assembleReducedGraph(), and fei::MatrixGraph_Impl2::createAlgebraicGraph().

◆ getLocalGraph()

virtual table_type * fei::Graph::getLocalGraph ( )
pure virtual

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

Implemented in fei::Graph_Impl, and fei::GraphReducer.

Referenced by fei::GraphReducer::getLocalGraph().

◆ getRemoteGraph()

virtual std::vector< remote_table_type * > & fei::Graph::getRemoteGraph ( )
pure virtual

Retrieve the remotely-owned portion of the graph.

Implemented in fei::Graph_Impl, and fei::GraphReducer.

Referenced by fei::GraphReducer::getRemoteGraph().

◆ writeLocalGraph()

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

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

Implemented in fei::Graph_Impl, and fei::GraphReducer.

Referenced by fei::MatrixGraph_Impl2::createAlgebraicGraph().

◆ writeRemoteGraph()

virtual int fei::Graph::writeRemoteGraph ( FEI_OSTREAM os)
pure virtual

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

Implemented in fei::Graph_Impl, and fei::GraphReducer.

Referenced by fei::MatrixGraph_Impl2::createAlgebraicGraph().


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