diff --git a/dune/solvers/transferoperators/genericmultigridtransfer.hh b/dune/solvers/transferoperators/genericmultigridtransfer.hh index 74ace28c6bb083ea6f9e0bbc5970b58a418e91eb..01d4aec7534a9d4c4b2b91a6bf1fbb808d0b854c 100644 --- a/dune/solvers/transferoperators/genericmultigridtransfer.hh +++ b/dune/solvers/transferoperators/genericmultigridtransfer.hh @@ -55,7 +55,11 @@ class GenericMultigridTransfer { #else private: - typedef typename Dune::P1LocalFiniteElement<DT, RT, dim>::Traits LocalBasisTraits; + // extract LocalBasisTraits from P1LocalFiniteElement + typedef typename Dune::P1LocalFiniteElement<DT, RT, dim>::Traits::LocalBasisType::Traits P1LocalBasisTraits; + + // make shure the traits have order 0 since not all FE's do implement higher order partial derivatives + typedef typename Dune::FixedOrderLocalBasisTraits<P1LocalBasisTraits, 0>::Traits LocalBasisTraits; public: typedef Dune::LocalFiniteElementVirtualInterface<LocalBasisTraits> type;