FEI Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
fei::GraphReducer Class Reference

#include <fei_GraphReducer.hpp>

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

Public Member Functions

 GraphReducer (fei::SharedPtr< fei::Reducer > reducer, fei::SharedPtr< fei::Graph > target)
 
virtual ~GraphReducer ()
 
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)
 
- Public Member Functions inherited from fei::Graph
virtual ~Graph ()
 

Private Attributes

fei::SharedPtr< fei::Reducerreducer_
 
fei::SharedPtr< fei::Graphtarget_
 

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 22 of file fei_GraphReducer.hpp.

Constructor & Destructor Documentation

◆ GraphReducer()

fei::GraphReducer::GraphReducer ( fei::SharedPtr< fei::Reducer > reducer,
fei::SharedPtr< fei::Graph > target )

constructor

Definition at line 20 of file fei_GraphReducer.cpp.

◆ ~GraphReducer()

fei::GraphReducer::~GraphReducer ( )
virtual

destructor

Definition at line 28 of file fei_GraphReducer.cpp.

Member Function Documentation

◆ addIndices()

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

Add indices to a specified row of the table

Implements fei::Graph.

Definition at line 33 of file fei_GraphReducer.cpp.

◆ addSymmetricIndices()

int fei::GraphReducer::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 40 of file fei_GraphReducer.cpp.

◆ gatherFromOverlap()

int fei::GraphReducer::gatherFromOverlap ( )
virtual

gather all remotely-owned table portions to owning processors

Implements fei::Graph.

Definition at line 61 of file fei_GraphReducer.cpp.

◆ getLocalGraph()

table_type * fei::GraphReducer::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 48 of file fei_GraphReducer.hpp.

References fei::Graph::getLocalGraph(), and target_.

◆ getRemoteGraph()

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

Retrieve the remotely-owned portion of the graph.

Implements fei::Graph.

Definition at line 54 of file fei_GraphReducer.hpp.

References fei::Graph::getRemoteGraph(), and target_.

◆ writeLocalGraph()

int fei::GraphReducer::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 48 of file fei_GraphReducer.cpp.

◆ writeRemoteGraph()

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

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

Implements fei::Graph.

Definition at line 55 of file fei_GraphReducer.cpp.

Member Data Documentation

◆ reducer_

fei::SharedPtr<fei::Reducer> fei::GraphReducer::reducer_
private

Definition at line 68 of file fei_GraphReducer.hpp.

◆ target_

fei::SharedPtr<fei::Graph> fei::GraphReducer::target_
private

Definition at line 69 of file fei_GraphReducer.hpp.

Referenced by getLocalGraph(), and getRemoteGraph().


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