FEI  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
fei_VectorTraits_FEData.hpp
1 /*--------------------------------------------------------------------*/
2 /* Copyright 2005 Sandia Corporation. */
3 /* Under the terms of Contract DE-AC04-94AL85000, there is a */
4 /* non-exclusive license for use of this work by or on behalf */
5 /* of the U.S. Government. Export of this program may require */
6 /* a license from the United States Government. */
7 /*--------------------------------------------------------------------*/
8 
9 #ifndef _fei_VectorTraits_FEData_hpp_
10 #define _fei_VectorTraits_FEData_hpp_
11 
12 //This file defines vector traits for FiniteElementData vectors
13 //(well, "vector-views" to be more precise).
14 //
15 
16 #include <fei_VectorTraits.hpp>
17 #include <fei_FiniteElementData.hpp>
18 
19 namespace fei {
20 
22  template<>
24 
26  static const char* typeName()
27  { return("FiniteElementData"); }
28 
30  static int setValues(FiniteElementData* vec, int firstLocalOffset,
31  double scalar, bool isSolnVector=false)
32  {
33  return(-1);
34  }
35 
37  static int putValuesIn(FiniteElementData* vec,
38  int firstLocalOffset,
39  int numValues, const int* indices, const double* values,
40  bool sum_into,
41  bool isSolnVector=false,
42  int vectorIndex=0)
43  {
44  return(-1);
45  }
46 
48  static int copyOut(FiniteElementData* vec,
49  int firstLocalOffset,
50  int numValues, const int* indices, double* values,
51  bool isSolnVector=false,
52  int vectorIndex=0)
53  {
54  return(-1);
55  }
56 
58  static int update(FiniteElementData* vec,
59  double a,
60  const FiniteElementData* x,
61  double b)
62  { return(-1); }
63 
64  };//struct VectorTraits
65 }//namespace fei
66 
67 #endif // _fei_VectorTraits_FEData_hpp_
static int setValues(FiniteElementData *vec, int firstLocalOffset, double scalar, bool isSolnVector=false)
static int putValuesIn(FiniteElementData *vec, int firstLocalOffset, int numValues, const int *indices, const double *values, bool sum_into, bool isSolnVector=false, int vectorIndex=0)
static int update(FiniteElementData *vec, double a, const FiniteElementData *x, double b)
static int copyOut(FiniteElementData *vec, int firstLocalOffset, int numValues, const int *indices, double *values, bool isSolnVector=false, int vectorIndex=0)