From afd0da05a9b7a1a41f566a0725881dee2814ad03 Mon Sep 17 00:00:00 2001
From: Dominic Kempf <dominic.kempf@iwr.uni-heidelberg.de>
Date: Fri, 25 Aug 2017 17:08:49 +0200
Subject: [PATCH] More content lost in rebasing...

---
 python/dune/perftool/blockstructured/basis.py    |  4 ++--
 .../dune/perftool/pdelab/driver/constraints.py   | 16 ++++++++--------
 .../dune/perftool/pdelab/driver/interpolate.py   |  2 +-
 3 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/python/dune/perftool/blockstructured/basis.py b/python/dune/perftool/blockstructured/basis.py
index 9ca4eb08..59d55174 100644
--- a/python/dune/perftool/blockstructured/basis.py
+++ b/python/dune/perftool/blockstructured/basis.py
@@ -67,7 +67,7 @@ def name_localbasis(leaf_element):
 
 @kernel_cached
 def evaluate_basis(leaf_element, name, restriction):
-    temporary_variable(name, shape=(leaf_element.degree(),), decl_method=declare_cache_temporary(leaf_element, restriction, 'Function'))
+    temporary_variable(name, shape=(leaf_element.degree(), 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)
@@ -85,7 +85,7 @@ def pymbolic_basis(leaf_element, restriction, number, context=''):
     evaluate_basis(leaf_element, name, restriction)
     iname = lfs_inames(leaf_element, restriction, number, context=context)[0]
 
-    return prim.Subscript(prim.Variable(name), (prim.Variable(iname), ))
+    return prim.Subscript(prim.Variable(name), (prim.Variable(iname), 0))
 
 
 @kernel_cached
diff --git a/python/dune/perftool/pdelab/driver/constraints.py b/python/dune/perftool/pdelab/driver/constraints.py
index c0890fd2..fbb20af4 100644
--- a/python/dune/perftool/pdelab/driver/constraints.py
+++ b/python/dune/perftool/pdelab/driver/constraints.py
@@ -38,19 +38,19 @@ def assemble_constraints(name):
 
 def name_bctype_function(element, is_dirichlet):
     if isinstance(element, (VectorElement, TensorElement)):
-        subel = element.sub_element()[0]
-        subgfs = name_bctype_function(subel, is_dirichlet[:subel.value_size()])
-        name = "{}_pow{}bctype".format(subgfs, element.num_sub_elements())
-        define_power_bctype_function(element, name, subgfs)
+        subel = element.sub_elements()[0]
+        child = name_bctype_function(subel, is_dirichlet[:subel.value_size()])
+        name = "{}_pow{}bctype".format(child, element.num_sub_elements())
+        define_power_bctype_function(element, name, child)
         return name
     if isinstance(element, MixedElement):
         k = 0
-        subgfs = []
+        childs = []
         for subel in element.sub_elements():
-            subgfs.append(name_gfs(subel, is_dirichlet[k:k + subel.value_size()]))
+            childs.append(name_bctype_function(subel, is_dirichlet[k:k + subel.value_size()]))
             k = k + subel.value_size()
-        name = "_".join(subgfs)
-        define_composite_bctype_function(element, is_dirichlet, name, tuple(subgfs))
+        name = "{}_bctype".format("_".join(childs))
+        define_composite_bctype_function(element, is_dirichlet, name, tuple(childs))
         return name
     else:
         assert isinstance(element, FiniteElement)
diff --git a/python/dune/perftool/pdelab/driver/interpolate.py b/python/dune/perftool/pdelab/driver/interpolate.py
index 3cbef4bd..21998b9f 100644
--- a/python/dune/perftool/pdelab/driver/interpolate.py
+++ b/python/dune/perftool/pdelab/driver/interpolate.py
@@ -52,7 +52,7 @@ def name_boundary_function(element, func):
             childs.append(name_boundary_function(subel, func[k:k + subel.value_size()]))
             k = k + subel.value_size()
         name = "_".join(childs)
-        define_composite_parameterfunction(name, tuple(childs))
+        define_compositegfs_parameterfunction(name, tuple(childs))
         return name
     else:
         assert isinstance(element, FiniteElement)
-- 
GitLab