44 #ifndef EPETRA_FEVECTOR_H
45 #define EPETRA_FEVECTOR_H
47 #if defined(Epetra_SHOW_DEPRECATED_WARNINGS)
49 #warning "The Epetra package is deprecated"
64 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
105 bool ignoreNonLocalEntries=
false);
128 double *
A,
int MyLDA,
int NumVectors,
129 bool ignoreNonLocalEntries=
false);
148 double **ArrayOfPointers,
int NumVectors,
149 bool ignoreNonLocalEntries=
false);
160 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
161 int SumIntoGlobalValues(
int numIDs,
162 const int* GIDs,
const double* values,
165 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
166 int SumIntoGlobalValues(
int numIDs,
167 const long long* GIDs,
const double* values,
183 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
192 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
193 int ReplaceGlobalValues(
int numIDs,
const int* GIDs,
const double* values,
196 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
197 int ReplaceGlobalValues(
int numIDs,
const long long* GIDs,
const double* values,
213 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
218 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
219 int SumIntoGlobalValues(
int numIDs,
221 const int* numValuesPerID,
222 const double* values,
225 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
226 int SumIntoGlobalValues(
int numIDs,
227 const long long* GIDs,
228 const int* numValuesPerID,
229 const double* values,
233 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
234 int ReplaceGlobalValues(
int numIDs,
const int* GIDs,
235 const int* numValuesPerID,
236 const double* values,
239 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
240 int ReplaceGlobalValues(
int numIDs,
const long long* GIDs,
241 const int* numValuesPerID,
242 const double* values,
264 bool reuse_map_and_exporter =
false);
269 ignoreNonLocalEntries_ = flag;
275 template<
typename int_type>
276 int inputValues(
int numIDs,
277 const int_type* GIDs,
const double* values,
281 template<
typename int_type>
282 int inputValues(
int numIDs,
283 const int_type* GIDs,
const int* numValuesPerID,
284 const double* values,
288 template<
typename int_type>
289 int inputNonlocalValue(int_type GID,
double value,
bool suminto,
292 template<
typename int_type>
293 int inputNonlocalValues(int_type GID,
int numValues,
const double* values,
294 bool suminto,
int vectorIndex);
297 template<
typename int_type>
298 void createNonlocalMapAndExporter();
301 void destroyNonlocalMapAndExporter();
304 template<
typename int_type>
305 void zeroNonlocalData();
311 void destroyNonlocalData();
316 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
319 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
323 template<
typename int_type> std::vector<int_type>& nonlocalIDs();
352 template<
typename int_type>
356 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
357 template<>
inline std::vector<int>& Epetra_FEVector::nonlocalIDs<int>()
359 return nonlocalIDs_int_;
363 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
364 template<>
inline std::vector<long long>& Epetra_FEVector::nonlocalIDs<long long>()
366 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.