From e949f51a06249ff017ab89cc52fbfdf51dbbe1d8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carsten=20Gr=C3=A4ser?= <graeser@mi.fu-berlin.de>
Date: Wed, 20 Jan 2010 11:08:37 +0000
Subject: [PATCH] Fix bug in Traits extraction

[[Imported from SVN: r3152]]
---
 dune/solvers/transferoperators/genericmultigridtransfer.hh | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/dune/solvers/transferoperators/genericmultigridtransfer.hh b/dune/solvers/transferoperators/genericmultigridtransfer.hh
index 74ace28c..01d4aec7 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;
-- 
GitLab