FEI  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
snl_fei_FEMatrixTraits.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_FEMatrixTraits_hpp_
10 #define _snl_fei_FEMatrixTraits_hpp_
11 
12 #include <fei_macros.hpp>
13 
14 namespace snl_fei {
20  template<typename T>
21  struct FEMatrixTraits {
22 
24  static const char* typeName()
25  { return("unsupported"); }
26 
29  static int reset(T* mat)
30  { return(-1); }
31 
33  static int sumInElemMatrix(T* mat,
34  int elemBlockID,
35  int elemID,
36  int numNodes,
37  const int* nodeNumbers,
38  const int* dofPerNode,
39  const int* dof_ids,
40  const double *const * coefs)
41  { return(-1); }
42 
44  static int setDirichletBCs(T* mat,
45  int numBCs,
46  const int* nodeNumbers,
47  const int* dof_ids,
48  const double* values)
49  { return(-1); }
50 
51  };//class FEMatrixTraits
52 }//namespace snl_fei
53 
54 #endif // _snl_fei_FEMatrixTraits_hpp_
static int sumInElemMatrix(T *mat, int elemBlockID, int elemID, int numNodes, const int *nodeNumbers, const int *dofPerNode, const int *dof_ids, const double *const *coefs)
static const char * typeName()
static int setDirichletBCs(T *mat, int numBCs, const int *nodeNumbers, const int *dof_ids, const double *values)