9#ifndef _fei_VectorReducer_hpp_
10#define _fei_VectorReducer_hpp_
18#define fei_file "fei_VectorReducer.hpp"
30 bool isSolutionVector=
false);
71 int sumIn(
int numValues,
const int* indices,
const double* values,
77 int copyIn(
int numValues,
const int* indices,
const double* values,
137 bool matrixMarketFormat=
true);
140 bool matrixMarketFormat=
true);
145 int vectorIndex=0)
const;
150 int copyOut_FE(
int nodeNumber,
int dofOffset,
double& value);
154 const double* values,
161 const int* nodeNumbers,
162 const int* numIndicesPerNode,
163 const double* values);
fei::SharedPtr< fei::Reducer > reducer_
int copyOutFieldData(int fieldID, int idType, int numIDs, const int *IDs, double *data, int vectorIndex=0)
int copyOut_FE(int nodeNumber, int dofOffset, double &value)
int sumInFieldData(int fieldID, int idType, int numIDs, const int *IDs, const double *data, int vectorIndex=0)
int writeToStream(FEI_OSTREAM &ostrm, bool matrixMarketFormat=true)
int copyOut(int numValues, const int *indices, double *values, int vectorIndex=0) const
int sumIn(int numValues, const int *indices, const double *values, int vectorIndex=0)
int update(double a, const fei::Vector *x, double b)
int copyIn(int numValues, const int *indices, const double *values, int vectorIndex=0)
const char * typeName() const
int gatherFromOverlap(bool accumulate=true)
int sumIntoFEVector(int blockID, int connOffset, int numNodes, const int *nodeNumbers, const int *numIndicesPerNode, const double *values)
int giveToUnderlyingVector(int numValues, const int *indices, const double *values, bool sumInto=true, int vectorIndex=0)
int copyInFieldDataLocalIDs(int fieldID, int idType, int numIDs, const int *localIDs, const double *data, int vectorIndex=0)
int copyInFieldData(int fieldID, int idType, int numIDs, const int *IDs, const double *data, int vectorIndex=0)
int writeToFile(const char *filename, bool matrixMarketFormat=true)
fei::SharedPtr< fei::Vector > getTargetVector()
void setVectorSpace(fei::SharedPtr< fei::VectorSpace > vecSpace)
fei::SharedPtr< fei::VectorSpace > getVectorSpace() const
fei::SharedPtr< fei::Vector > target_
int putScalar(double scalar)
virtual const char * typeName() const =0
virtual void setCommSizes()=0
virtual void setVectorSpace(fei::SharedPtr< fei::VectorSpace > vecSpace)=0
virtual fei::SharedPtr< fei::VectorSpace > getVectorSpace() const =0