6#include <boost/mp11.hpp>
15template <
typename ElementTraitsLagrange>
18template <
typename ElementTraitsLagrange>
20 typename ElementTraitsLagrange::ShapeFunction;
22template <
typename ElementTraitsLagrange>
24 typename ElementTraitsLagrange::LowerOrderShapeFunction;
26template <
typename ShapeFunction>
33template <
typename ShapeMatrixPolicy>
42 boost::mp11::mp_transform<detail::GetMeshElement, ETLs>;
47 boost::mp11::mp_transform<detail::GetShapeFunctionHigherOrder, ETLs>;
57 boost::mp11::mp_transform<std::vector, ShapeMatricesHigherOrder_N>;
63 "The type alias ShapeMatrixVectorsHigherOrder_N must be a "
69 boost::mp11::mp_transform<detail::GetShapeFunctionLowerOrder, ETLs>;
79 boost::mp11::mp_transform<std::vector, ShapeMatricesLowerOrder_N>;
84 boost::mp11::mp_rename<ShapeMatrixVectorsLowerOrder_N, std::tuple>>,
85 "The type alias ShapeMatrixVectorsLowerOrder_N must be a "
91 template <
typename MeshElement>
94 using Index = boost::mp11::mp_find<MeshElements, MeshElement>;
98 template <
typename MeshElement>
101 using Index = boost::mp11::mp_find<MeshElements, MeshElement>;
107 static constexpr std::size_t
size()
109 return boost::mp11::mp_size<ETLs>::value;
112 template <
typename MeshElement>
115 boost::mp11::mp_find<MeshElements, MeshElement>>;
117 template <
typename MeshElement>
120 boost::mp11::mp_find<MeshElements, MeshElement>>;
EigenFixedShapeMatrixPolicy< ShapeFunction, GlobalDim > ShapeMatrixPolicyType
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