From 5cf09682437a9bbe1dadbb33a7f076e1e5ec3de7 Mon Sep 17 00:00:00 2001
From: Marcel Koch <marcel.koch@web.de>
Date: Thu, 18 Jan 2018 15:47:34 +0100
Subject: [PATCH] fixes blockstructured basis shape

---
 python/dune/perftool/blockstructured/basis.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/python/dune/perftool/blockstructured/basis.py b/python/dune/perftool/blockstructured/basis.py
index 4e06590e..e5880206 100644
--- a/python/dune/perftool/blockstructured/basis.py
+++ b/python/dune/perftool/blockstructured/basis.py
@@ -71,7 +71,7 @@ def name_localbasis(leaf_element):
 
 @kernel_cached
 def evaluate_basis(leaf_element, name, restriction):
-    temporary_variable(name, shape=(leaf_element.degree(), 1), decl_method=declare_cache_temporary(leaf_element, restriction, 'Function'))
+    temporary_variable(name, shape=((leaf_element.degree()+1)**world_dimension(), 1), decl_method=declare_cache_temporary(leaf_element, restriction, 'Function'))
     cache = name_localbasis_cache(leaf_element)
     qp = pymbolic_quadrature_position_in_cell(restriction)
     localbasis = name_localbasis(leaf_element)
@@ -94,7 +94,7 @@ def pymbolic_basis(leaf_element, restriction, number, context=''):
 
 @kernel_cached
 def evaluate_reference_gradient(leaf_element, name, restriction):
-    temporary_variable(name, shape=(leaf_element.degree(), 1, world_dimension()), decl_method=declare_cache_temporary(leaf_element, restriction, 'Jacobian'))
+    temporary_variable(name, shape=((leaf_element.degree()+1)**world_dimension(), 1, world_dimension()), decl_method=declare_cache_temporary(leaf_element, restriction, 'Jacobian'))
     cache = name_localbasis_cache(leaf_element)
     qp = pymbolic_quadrature_position_in_cell(restriction)
     localbasis = name_localbasis(leaf_element)
-- 
GitLab