fei::Reducer Class Reference

Inheritance diagram for fei::Reducer:

Inheritance graph
List of all members.
 Reducer (fei::SharedPtr< FillableMat > globalSlaveDependencyMatrix, fei::SharedPtr< CSVec > g_vector, MPI_Comm comm)
 Reducer (fei::SharedPtr< fei::MatrixGraph > matrixGraph)
virtual ~Reducer ()

Public Member Functions

void setLocalUnreducedEqns (const std::vector< int > &localUnreducedEqns)
void addGraphEntries (fei::SharedPtr< fei::SparseRowGraph > matrixGraph)
void addGraphIndices (int numRows, const int *rows, int numCols, const int *cols, fei::Graph &graph)
void addSymmetricGraphIndices (int numIndices, const int *indices, bool diagonal, fei::Graph &graph)
int addMatrixValues (int numRows, const int *rows, int numCols, const int *cols, const double *const *values, bool sum_into, fei::Matrix &feimat, int format)
int addVectorValues (int numValues, const int *globalIndices, const double *values, bool sum_into, bool soln_vector, int vectorIndex, fei::Vector &feivec)
int copyOutVectorValues (int numValues, const int *globalIndices, double *values, bool soln_vector, int vectorIndex, fei::Vector &feivec)
void getSlaveMasterEqns (int slaveEqn, std::vector< int > &masterEqns)
bool isSlaveEqn (int unreducedEqn) const
bool isSlaveCol (int unreducedEqn) const
int translateToReducedEqn (int unreducedEqn) const
int translateFromReducedEqn (int reduced_eqn) const
void assembleReducedGraph (fei::Graph *graph, bool global_gather=true)
void assembleReducedGraph (fei::SparseRowGraph *srgraph)
void assembleReducedMatrix (fei::Matrix &matrix)
void assembleReducedVector (bool soln_vector, fei::Vector &feivec, bool sum_into=true)
std::vector< int > & getLocalReducedEqns ()
void initialize ()

Detailed Description

Definition at line 27 of file fei_Reducer.hpp.

Constructor & Destructor Documentation

fei::Reducer::~Reducer (  )  [virtual]


Definition at line 196 of file fei_Reducer.cpp.

Member Function Documentation

void fei::Reducer::addGraphEntries ( fei::SharedPtr< fei::SparseRowGraph matrixGraph  ) 

Set the matrix-graph structure. This is the nonzero structure for locally-owned matrix rows.

Definition at line 307 of file fei_Reducer.cpp.

int fei::Reducer::addMatrixValues ( int  numRows,
const int *  rows,
int  numCols,
const int *  cols,
const double *const *  values,
bool  sum_into,
fei::Matrix feimat,
int  format 

Put a C-style table (array of pointers) of coefficient data into the matrix. This is a rectangular array of coefficients for rows/columns defined by the 'rows' and 'cols' lists. If the sum_into argument is true, values should be added to any that already exist at the specified locations. Otherwise (if sum_into is false) incoming values should overwrite already-existing values.

Definition at line 689 of file fei_Reducer.cpp.

int fei::Reducer::addVectorValues ( int  numValues,
const int *  globalIndices,
const double *  values,
bool  sum_into,
bool  soln_vector,
int  vectorIndex,
fei::Vector feivec 

Put coefficient data into a vector at the specified global indices. If any specified indices are out of range (negative or too large) the corresponding positions in the values array will not be referenced, and a positive warning code will be returned.

numValues Length of caller-allocated 'globalIndices' and 'values' arrays.
globalIndices List of global-indices specifying the locations in the vector for incoming values to be placed.
values List of incoming values.
sum_into If true, incoming values should be added to values that may already be in the specified locations. If sum_into is false, then incoming values should overwrite existing values.
soln_vector If true, incoming values should be placed in the solution vector. Otherwise, they should be placed in the rhs vector.
vectorIndex If the linear system has multiple rhs/soln vectors, then this parameter specifies which vector the incoming values should be put into.

Definition at line 811 of file fei_Reducer.cpp.

int fei::Reducer::translateToReducedEqn ( int  unreducedEqn  )  const

Given an equation-number in the caller's unreduced index-space, return the corresponding equation in the reduced space. If unreducedEqn is a slave, an exception will be thrown.

Definition at line 648 of file fei_Reducer.cpp.

The documentation for this class was generated from the following files:
Generated on Wed May 12 01:33:52 2010 for FEI by  doxygen 1.4.7