dune-fem  2.4.1-rc
wrapper.hh
Go to the documentation of this file.
1 #ifndef DUNE_FEM_SPACE_SHAPEFUNCTIONSET_WRAPPER_HH
2 #define DUNE_FEM_SPACE_SHAPEFUNCTIONSET_WRAPPER_HH
3 
4 // C++ includes
5 #include <cstddef>
6 
7 /*
8  @file
9  @author Christoph Gersbacher
10  @brief Identical wrapper for implementations of Dune::Fem::ShapeFunctionSet
11 */
12 
13 
14 namespace Dune
15 {
16 
17  namespace Fem
18  {
19 
20  // IdShapeFunctionSet
21  // ------------------
22 
23  template< class ShapeFunctionSet >
25  {
26  public:
28 
33 
34  IdShapeFunctionSet ( const ShapeFunctionSet &shapeFunctionSet = ShapeFunctionSet() )
35  : shapeFunctionSet_( shapeFunctionSet )
36  {}
37 
38  int order () const
39  {
40  return shapeFunctionSet_.order();
41  }
42 
43  std::size_t size () const
44  {
45  return shapeFunctionSet_.size();
46  }
47 
48  template< class Point, class Functor >
49  void evaluateEach ( const Point &x, Functor functor ) const
50  {
51  return shapeFunctionSet_.evaluateEach( x, functor );
52  }
53 
54  template< class Point, class Functor >
55  void jacobianEach ( const Point &x, Functor functor ) const
56  {
57  return shapeFunctionSet_.jacobianEach( x, functor );
58  }
59 
60  template< class Point, class Functor >
61  void hessianEach ( const Point &x, Functor functor ) const
62  {
63  return shapeFunctionSet_.hessianEach( x, functor );
64  }
65 
66  private:
67  ShapeFunctionSet shapeFunctionSet_;
68  };
69 
70  } // namespace Fem
71 
72 } // namespace Dune
73 
74 #endif // #ifndef DUNE_FEM_SPACE_SHAPEFUNCTIONSET_WRAPPER_HH
FunctionSpaceType::JacobianRangeType JacobianRangeType
jacobian range type
Definition: shapefunctionset/shapefunctionset.hh:44
int order() const
return order of shape functions
FunctionSpaceType::RangeType RangeType
range type
Definition: shapefunctionset/shapefunctionset.hh:42
std::size_t size() const
Definition: wrapper.hh:43
FunctionSpaceType::HessianRangeType HessianRangeType
hessian range type
Definition: shapefunctionset/shapefunctionset.hh:46
std::size_t size() const
return number of shape functions
ShapeFunctionSet::JacobianRangeType JacobianRangeType
Definition: wrapper.hh:31
A vector valued function space.
Definition: functionspace.hh:16
void hessianEach(const Point &x, Functor functor) const
Definition: wrapper.hh:61
ShapeFunctionSet::RangeType RangeType
Definition: wrapper.hh:30
Definition: shapefunctionset/shapefunctionset.hh:33
IdShapeFunctionSet(const ShapeFunctionSet &shapeFunctionSet=ShapeFunctionSet())
Definition: wrapper.hh:34
void evaluateEach(const Point &x, Functor functor) const
evalute each shape function
int order() const
Definition: wrapper.hh:38
Definition: coordinate.hh:4
ShapeFunctionSet::DomainType DomainType
Definition: wrapper.hh:29
void jacobianEach(const Point &x, Functor functor) const
Definition: wrapper.hh:55
void hessianEach(const Point &x, Functor functor) const
evalute hessian of each shape function
ShapeFunctionSet::HessianRangeType HessianRangeType
Definition: wrapper.hh:32
ShapeFunctionSet::FunctionSpaceType FunctionSpaceType
Definition: wrapper.hh:27
void evaluateEach(const Point &x, Functor functor) const
Definition: wrapper.hh:49
FunctionSpaceType::DomainType DomainType
domain type
Definition: shapefunctionset/shapefunctionset.hh:40
void jacobianEach(const Point &x, Functor functor) const
evalute jacobian of each shape function
Definition: wrapper.hh:24