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);
175 #endif // _fei_VectorReducer_hpp_
virtual fei::SharedPtr< fei::VectorSpace > getVectorSpace() const =0
fei::SharedPtr< fei::VectorSpace > getVectorSpace() const
int copyInFieldData(int fieldID, int idType, int numIDs, const int *IDs, const double *data, int vectorIndex=0)
int update(double a, const fei::Vector *x, double b)
fei::SharedPtr< fei::Reducer > reducer_
int copyOutFieldData(int fieldID, int idType, int numIDs, const int *IDs, double *data, int vectorIndex=0)
VectorReducer(fei::SharedPtr< fei::Reducer > reducer, fei::SharedPtr< fei::Vector > target, bool isSolutionVector=false)
int sumIn(int numValues, const int *indices, const double *values, int vectorIndex=0)
virtual void setVectorSpace(fei::SharedPtr< fei::VectorSpace > vecSpace)=0
int writeToFile(const char *filename, bool matrixMarketFormat=true)
int putScalar(double scalar)
fei::SharedPtr< fei::Vector > getTargetVector()
int copyOut(int numValues, const int *indices, double *values, int vectorIndex=0) const
void setVectorSpace(fei::SharedPtr< fei::VectorSpace > vecSpace)
fei::SharedPtr< fei::Vector > target_
int copyInFieldDataLocalIDs(int fieldID, int idType, int numIDs, const int *localIDs, const double *data, int vectorIndex=0)
virtual const char * typeName() const =0
int gatherFromOverlap(bool accumulate=true)
int writeToStream(FEI_OSTREAM &ostrm, bool matrixMarketFormat=true)
int copyIn(int numValues, const int *indices, const double *values, int vectorIndex=0)
const char * typeName() const
int giveToUnderlyingVector(int numValues, const int *indices, const double *values, bool sumInto=true, int vectorIndex=0)
virtual void setCommSizes()=0
int sumIntoFEVector(int blockID, int connOffset, int numNodes, const int *nodeNumbers, const int *numIndicesPerNode, const double *values)
int sumInFieldData(int fieldID, int idType, int numIDs, const int *IDs, const double *data, int vectorIndex=0)
int copyOut_FE(int nodeNumber, int dofOffset, double &value)