DUNE-FEM (unstable)

wrapper.hh
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 >
24 class IdShapeFunctionSet
25 {
26 public:
28
29 typedef typename ShapeFunctionSet::DomainType DomainType;
30 typedef typename ShapeFunctionSet::RangeType RangeType;
31 typedef typename ShapeFunctionSet::JacobianRangeType JacobianRangeType;
32 typedef typename ShapeFunctionSet::HessianRangeType HessianRangeType;
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
A vector valued function space.
Definition: functionspace.hh:60
FunctionSpaceType::JacobianRangeType JacobianRangeType
jacobian range type
Definition: shapefunctionset.hh:43
FunctionSpace FunctionSpaceType
function space type
Definition: shapefunctionset.hh:36
FunctionSpaceType::HessianRangeType HessianRangeType
hessian range type
Definition: shapefunctionset.hh:45
FunctionSpaceType::RangeType RangeType
range type
Definition: shapefunctionset.hh:41
FunctionSpaceType::DomainType DomainType
domain type
Definition: shapefunctionset.hh:39
Dune namespace.
Definition: alignedallocator.hh:13
constexpr std::integral_constant< std::size_t, sizeof...(II)> size(std::integer_sequence< T, II... >)
Return the size of the sequence.
Definition: integersequence.hh:75
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Nov 13, 23:29, 2024)