FEI  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
snl_fei_FEVectorTraits.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 _snl_fei_FEVectorTraits_hpp_
10 #define _snl_fei_FEVectorTraits_hpp_
11 
12 #include <fei_macros.hpp>
13 
14 namespace snl_fei {
15 
21  template<class T>
22  struct FEVectorTraits {
23 
25  static const char* typeName()
26  { return("unsupported"); }
27 
30  static int reset(T* /*vec*/)
31  { return(-1); }
32 
34  static int sumInElemVector(T* /*vec*/,
35  int /*elemBlockID*/,
36  int /*elemID*/,
37  int /*numNodes*/,
38  const int* /*nodeNumbers*/,
39  const int* /*dofPerNode*/,
40  const int* /*dof_ids*/,
41  const double* /*coefs*/)
42  { return(-1); }
43 
45  static int copyOut(T* /*vec*/,
46  int /*nodeNumber*/,
47  int /*dofOffset*/,
48  double& /*value*/)
49  { return( -1 ); }
50 
51  };//struct FEVectorTraits
52 }//namespace snl_fei
53 
54 #endif // _snl_fei_FEVectorTraits_hpp_
static int sumInElemVector(T *, int, int, int, const int *, const int *, const int *, const double *)
static int copyOut(T *, int, int, double &)
static const char * typeName()