FEI  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
snl_fei_FEVectorTraits_FED.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_FED_hpp_
10 #define _snl_fei_FEVectorTraits_FED_hpp_
11 
12 #include <fei_macros.hpp>
13 
14 #include <snl_fei_FEVectorTraits.hpp>
15 #include <fei_FiniteElementData.hpp>
16 
17 namespace snl_fei {
18 
22  template<>
23  struct FEVectorTraits<FiniteElementData> {
24 
26  static const char* typeName()
27  { return("FiniteElementData"); }
28 
31  static int reset(FiniteElementData* vec)
32  { return( vec->reset() ); }
33 
35  static int sumInElemVector(FiniteElementData* vec,
36  int elemBlockID,
37  int elemID,
38  int numNodes,
39  const int* nodeNumbers,
40  const int* dofPerNode,
41  const int* dof_ids,
42  const double* coefs)
43  {
44  return( vec->setElemVector(elemBlockID, elemID, numNodes,
45  nodeNumbers, dofPerNode, dof_ids, coefs) );
46  }
47 
49  static int copyOut(FiniteElementData* vec,
50  int nodeNumber,
51  int dofOffset,
52  double& value)
53  {
54  return( vec->getSolnEntry(nodeNumber, dofOffset, value) );
55  }
56 
57  };//struct FEVectorTraits
58 }//namespace snl_fei
59 
60 #endif // _snl_fei_FEVectorTraits_FED_hpp_
static int sumInElemVector(T *, int, int, int, const int *, const int *, const int *, const double *)
virtual int reset()=0
static int copyOut(T *, int, int, double &)
virtual int setElemVector(int elemBlockID, int elemID, int numNodes, const int *nodeNumbers, const int *numDofPerNode, const int *dof_ids, const double *coefs)=0
static const char * typeName()
virtual int getSolnEntry(int nodeNumber, int dof_id, double &value)=0
static int reset(T *)