dune-fem 2.8.0
Loading...
Searching...
No Matches
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
14namespace Dune
15{
16
17 namespace Fem
18 {
19
20 // IdShapeFunctionSet
21 // ------------------
22
23 template< class ShapeFunctionSet >
25 {
26 public:
28
33
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
Definition: bindguard.hh:11
Definition: explicitfieldvector.hh:75
A vector valued function space.
Definition: functionspace.hh:60
Interface class for shape function sets.
Definition: shapefunctionset/shapefunctionset.hh:33
FunctionSpaceType::JacobianRangeType JacobianRangeType
jacobian range type
Definition: shapefunctionset/shapefunctionset.hh:43
FunctionSpaceType::RangeType RangeType
range type
Definition: shapefunctionset/shapefunctionset.hh:41
void hessianEach(const Point &x, Functor functor) const
evalute hessian of each shape function
void evaluateEach(const Point &x, Functor functor) const
evalute each shape function
std::size_t size() const
return number of shape functions
int order() const
return order of shape functions
FunctionSpaceType::DomainType DomainType
domain type
Definition: shapefunctionset/shapefunctionset.hh:39
void jacobianEach(const Point &x, Functor functor) const
evalute jacobian of each shape function
Definition: wrapper.hh:25
ShapeFunctionSet::FunctionSpaceType FunctionSpaceType
Definition: wrapper.hh:27
void jacobianEach(const Point &x, Functor functor) const
Definition: wrapper.hh:55
ShapeFunctionSet::RangeType RangeType
Definition: wrapper.hh:30
ShapeFunctionSet::JacobianRangeType JacobianRangeType
Definition: wrapper.hh:31
ShapeFunctionSet::DomainType DomainType
Definition: wrapper.hh:29
void hessianEach(const Point &x, Functor functor) const
Definition: wrapper.hh:61
IdShapeFunctionSet(const ShapeFunctionSet &shapeFunctionSet=ShapeFunctionSet())
Definition: wrapper.hh:34
std::size_t size() const
Definition: wrapper.hh:43
void evaluateEach(const Point &x, Functor functor) const
Definition: wrapper.hh:49
ShapeFunctionSet::HessianRangeType HessianRangeType
Definition: wrapper.hh:32
int order() const
Definition: wrapper.hh:38