13#include <boost/mp11.hpp>
22template <
typename ElementTraitsLagrange>
25template <
typename ElementTraitsLagrange>
27 typename ElementTraitsLagrange::ShapeFunction;
29template <
typename ElementTraitsLagrange>
31 typename ElementTraitsLagrange::LowerOrderShapeFunction;
33template <
typename ShapeFunction>
40template <
typename ShapeMatrixPolicy>
49 boost::mp11::mp_transform<detail::GetMeshElement, ETLs>;
54 boost::mp11::mp_transform<detail::GetShapeFunctionHigherOrder, ETLs>;
64 boost::mp11::mp_transform<std::vector, ShapeMatricesHigherOrder_N>;
70 "The type alias ShapeMatrixVectorsHigherOrder_N must be a "
76 boost::mp11::mp_transform<detail::GetShapeFunctionLowerOrder, ETLs>;
86 boost::mp11::mp_transform<std::vector, ShapeMatricesLowerOrder_N>;
91 boost::mp11::mp_rename<ShapeMatrixVectorsLowerOrder_N, std::tuple>>,
92 "The type alias ShapeMatrixVectorsLowerOrder_N must be a "
98 template <
typename MeshElement>
101 using Index = boost::mp11::mp_find<MeshElements, MeshElement>;
105 template <
typename MeshElement>
108 using Index = boost::mp11::mp_find<MeshElements, MeshElement>;
114 static constexpr std::size_t
size()
116 return boost::mp11::mp_size<ETLs>::value;
119 template <
typename MeshElement>
122 boost::mp11::mp_find<MeshElements, MeshElement>>;
124 template <
typename MeshElement>
127 boost::mp11::mp_find<MeshElements, MeshElement>>;
boost::mp11::mp_transform< std::vector, ShapeMatricesLowerOrder_N > ShapeMatrixVectorsLowerOrder_N
auto const & NsLowerOrder() const
boost::mp11::mp_transform< detail::GetMeshElement, ETLs > MeshElements
boost::mp11::mp_transform< detail::GetShapeMatrixPolicy, ShapeFunctionsHigherOrder > ShapeMatrixPoliciesHigherOrder
boost::mp11::mp_transform< detail::GetShapeFunctionHigherOrder, ETLs > ShapeFunctionsHigherOrder
boost::mp11::mp_transform< detail::GetShapeFunctionLowerOrder, ETLs > ShapeFunctionsLowerOrder
boost::mp11::mp_at< ShapeFunctionsLowerOrder, boost::mp11::mp_find< MeshElements, MeshElement > > ShapeFunctionLowerOrder
ShapeMatrixCache(unsigned const integration_order)
boost::mp11::mp_transform< std::vector, ShapeMatricesHigherOrder_N > ShapeMatrixVectorsHigherOrder_N
static constexpr std::size_t size()
boost::mp11::mp_at< ShapeFunctionsHigherOrder, boost::mp11::mp_find< MeshElements, MeshElement > > ShapeFunctionHigherOrder
boost::mp11::mp_transform< detail::GetShapeMatrix_N, ShapeMatrixPoliciesHigherOrder > ShapeMatricesHigherOrder_N
NumLib::AllElementTraitsLagrange ETLs
boost::mp11::mp_transform< detail::GetShapeMatrixPolicy, ShapeFunctionsLowerOrder > ShapeMatrixPoliciesLowerOrder
boost::mp11::mp_transform< detail::GetShapeMatrix_N, ShapeMatrixPoliciesLowerOrder > ShapeMatricesLowerOrder_N
ShapeMatrixVectorsLowerOrder_N Nss_lower_order_
auto const & NsHigherOrder() const
ShapeMatrixVectorsHigherOrder_N Nss_higher_order_
typename ElementTraitsLagrange::ShapeFunction GetShapeFunctionHigherOrder
typename ElementTraitsLagrange::Element GetMeshElement
typename ShapeMatrixPolicy::ShapeMatrices::ShapeType GetShapeMatrix_N
typename ElementTraitsLagrange::LowerOrderShapeFunction GetShapeFunctionLowerOrder
ShapeMatrixPolicyType< ShapeFunction, 3 > GetShapeMatrixPolicy
BaseLib::TMP::Map_t< ElementTraitsLagrange, MeshLib::AllElementTypes > AllElementTraitsLagrange