FEI Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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

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

constructor

Definition at line 20 of file fei_GraphReducer.cpp.

fei::GraphReducer::~GraphReducer ( )
virtual

destructor

Definition at line 28 of file fei_GraphReducer.cpp.

Member Function Documentation

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.

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.

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.

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 target_.

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 target_.

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.

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

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

Definition at line 68 of file fei_GraphReducer.hpp.

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: