FEI Version of the Day
Loading...
Searching...
No Matches
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
17namespace snl_fei {
18
22 template<>
24
26 static const char* typeName()
27 { return("FiniteElementData"); }
28
31 static int reset(FiniteElementData* vec)
32 { return( vec->reset() ); }
33
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_
virtual int reset()=0
virtual int setElemVector(int elemBlockID, int elemID, int numNodes, const int *nodeNumbers, const int *numDofPerNode, const int *dof_ids, const double *coefs)=0
virtual int getSolnEntry(int nodeNumber, int dof_id, double &value)=0
static int sumInElemVector(FiniteElementData *vec, int elemBlockID, int elemID, int numNodes, const int *nodeNumbers, const int *dofPerNode, const int *dof_ids, const double *coefs)
static int copyOut(FiniteElementData *vec, int nodeNumber, int dofOffset, double &value)