21 #ifndef fiber_hdiv_function_value_functor_hpp
22 #define fiber_hdiv_function_value_functor_hpp
24 #include "../common/common.hpp"
26 #include "basis_data.hpp"
27 #include "geometrical_data.hpp"
28 #include "collection_of_3d_arrays.hpp"
29 #include "shape_transformation_functor_wrappers.hpp"
34 template <
typename CoordinateType_>
38 typedef CoordinateType_ CoordinateType;
40 int argumentDimension()
const {
return 2; }
41 int resultDimension()
const {
return 3; }
43 void addDependencies(
size_t& basisDeps,
size_t& geomDeps)
const {
45 geomDeps |= INTEGRATION_ELEMENTS | JACOBIANS_TRANSPOSED;
48 template <
typename ValueType>
54 assert(result.extent(0) == resultDimension());
55 for (
int rdim = 0; rdim < resultDimension(); ++rdim)
57 (geomData.jacobianTransposed(0, rdim) * basisData.
values(0) +
58 geomData.jacobianTransposed(1, rdim) * basisData.
values(1)) /
59 geomData.integrationElement();
67 template <
typename CoordinateType_>
70 HdivFunctionValueElementaryFunctor<CoordinateType_> >
73 typedef CoordinateType_ CoordinateType;
int componentCount() const
Return the number of components of the function.
Definition: basis_data.hpp:111
Definition: hdiv_function_value_functor.hpp:35
Lightweight encapsulation of a 1D slice of a 3D array.
Definition: _3d_array.hpp:155
ValueType values(int dim) const
Return the value of the dim'th component of the function.
Definition: basis_data.hpp:100
Access to slices of geometrical data.
Definition: geometrical_data.hpp:88
Access to values and/or derivatives of shape functions.
Definition: basis_data.hpp:91
Functor calculating the value of a basis function from H(div).
Definition: hdiv_function_value_functor.hpp:68