44 #ifndef EPETRA_FEVECTOR_H
45 #define EPETRA_FEVECTOR_H
56 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
97 bool ignoreNonLocalEntries=
false);
120 double *
A,
int MyLDA,
int NumVectors,
121 bool ignoreNonLocalEntries=
false);
140 double **ArrayOfPointers,
int NumVectors,
141 bool ignoreNonLocalEntries=
false);
152 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
153 int SumIntoGlobalValues(
int numIDs,
154 const int* GIDs,
const double* values,
157 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
158 int SumIntoGlobalValues(
int numIDs,
159 const long long* GIDs,
const double* values,
175 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
184 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
185 int ReplaceGlobalValues(
int numIDs,
const int* GIDs,
const double* values,
188 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
189 int ReplaceGlobalValues(
int numIDs,
const long long* GIDs,
const double* values,
205 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
210 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
211 int SumIntoGlobalValues(
int numIDs,
213 const int* numValuesPerID,
214 const double* values,
217 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
218 int SumIntoGlobalValues(
int numIDs,
219 const long long* GIDs,
220 const int* numValuesPerID,
221 const double* values,
225 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
226 int ReplaceGlobalValues(
int numIDs,
const int* GIDs,
227 const int* numValuesPerID,
228 const double* values,
231 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
232 int ReplaceGlobalValues(
int numIDs,
const long long* GIDs,
233 const int* numValuesPerID,
234 const double* values,
256 bool reuse_map_and_exporter =
false);
261 ignoreNonLocalEntries_ = flag;
267 template<
typename int_type>
268 int inputValues(
int numIDs,
269 const int_type* GIDs,
const double* values,
273 template<
typename int_type>
274 int inputValues(
int numIDs,
275 const int_type* GIDs,
const int* numValuesPerID,
276 const double* values,
280 template<
typename int_type>
281 int inputNonlocalValue(int_type GID,
double value,
bool suminto,
284 template<
typename int_type>
285 int inputNonlocalValues(int_type GID,
int numValues,
const double* values,
286 bool suminto,
int vectorIndex);
289 template<
typename int_type>
290 void createNonlocalMapAndExporter();
293 void destroyNonlocalMapAndExporter();
296 template<
typename int_type>
297 void zeroNonlocalData();
303 void destroyNonlocalData();
308 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
311 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
315 template<
typename int_type> std::vector<int_type>& nonlocalIDs();
344 template<
typename int_type>
348 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
349 template<>
inline std::vector<int>& Epetra_FEVector::nonlocalIDs<int>()
351 return nonlocalIDs_int_;
355 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
356 template<>
inline std::vector<long long>& Epetra_FEVector::nonlocalIDs<long long>()
358 return nonlocalIDs_LL_;
Epetra_MultiVector: A class for constructing and using dense multi-vectors, vectors and matrices in p...
std::vector< int > nonlocalIDs_int_
Epetra_IntSerialDenseVector: A class for constructing and using dense vectors.
std::vector< long long > nonlocalIDs_LL_
std::vector< std::vector< double > > nonlocalCoefs_
Array of arrays (one per column) of nonlocal coefficients.
Epetra_BlockMap * nonlocalMap_
Map describing distribution of nonlocal data.
Epetra_Export: This class builds an export object for efficient exporting of off-processor elements...
Epetra_Combine Mode enumerable type.
Epetra_SerialDenseVector: A class for constructing and using dense vectors.
Epetra_MultiVector & operator=(const Epetra_MultiVector &Source)
= Operator.
std::vector< int > nonlocalElementSize_
Epetra_BlockMap: A class for partitioning block element vectors and matrices.
Epetra_LongLongSerialDenseVector: A class for constructing and using dense vectors.
Epetra_MultiVector * nonlocalVector_
Multivector that holds nonlocal data; source for the Export operation.
void setIgnoreNonLocalEntries(bool flag)
Set whether or not non-local data values should be ignored.
Epetra Finite-Element Vector.
bool ignoreNonLocalEntries_
Epetra_Export * exporter_
Export object that sums nonlocal data into a nonoverlapping distribution.