9 #ifndef _fei_Vector_Local_hpp_
10 #define _fei_Vector_Local_hpp_
12 #include <fei_iosfwd.hpp>
13 #include <fei_SharedPtr.hpp>
14 #include <fei_VectorSpace.hpp>
15 #include <fei_Vector.hpp>
23 virtual ~Vector_Local();
25 const char*
typeName()
const {
return(
"fei::Vector_Local"); }
39 int scatterToOverlap();
46 int gatherFromOverlap(
bool accumulate =
true);
49 int putScalar(
double scalar);
54 int sumIn(
int numValues,
const int* indices,
const double* values,
60 int copyIn(
int numValues,
const int* indices,
const double* values,
77 int sumInFieldData(
int fieldID,
90 int copyInFieldData(
int fieldID,
97 int copyInFieldDataLocalIDs(
int fieldID,
110 int copyOutFieldData(
int fieldID,
117 int copyOut(
int numValues,
const int* indices,
118 double* values,
int vectorIndex=0)
const;
120 int writeToFile(
const char* filename,
121 bool matrixMarketFormat=
true);
124 bool matrixMarketFormat=
true);
126 std::vector<double>& getCoefs();
129 int giveToVector(
int numValues,
const int* indices,
130 const double* values,
131 bool sumInto,
int vectorIndex);
133 int assembleFieldData(
int fieldID,
141 int assembleFieldDataLocalIDs(
int fieldID,
150 std::vector<double> coefs_;
151 std::map<int,int> global_to_local_;
152 std::vector<int> work_indices_;
void writeToStream(snl_fei::RaggedTable< MAP_TYPE, SET_TYPE > &table, FEI_OSTREAM &os, const char *lineprefix=NULL)
std::string typeName(const T &t)