From 56926e17deb805eb786fea94979628266fae24af Mon Sep 17 00:00:00 2001
From: Dominic Kempf <dominic.kempf@iwr.uni-heidelberg.de>
Date: Wed, 19 Oct 2016 21:41:40 +0200
Subject: [PATCH] Eliminate the dimension variable dim, instead use ints

---
 python/dune/perftool/pdelab/basis.py    |  2 +-
 python/dune/perftool/pdelab/geometry.py | 20 ++++----------------
 2 files changed, 5 insertions(+), 17 deletions(-)

diff --git a/python/dune/perftool/pdelab/basis.py b/python/dune/perftool/pdelab/basis.py
index d848aef2..ced7d2da 100644
--- a/python/dune/perftool/pdelab/basis.py
+++ b/python/dune/perftool/pdelab/basis.py
@@ -91,7 +91,7 @@ def name_basis(leaf_element, restriction):
 @cached
 def evaluate_reference_gradient(leaf_element, name, restriction):
     lfs = name_leaf_lfs(leaf_element, restriction)
-    temporary_variable(name, shape=(name_lfs_bound(lfs), name_dimension()), decl_method=None)
+    temporary_variable(name, shape=(name_lfs_bound(lfs), 1, name_dimension()), decl_method=None)
     declare_cache_temporary(leaf_element, restriction, name, which='Jacobian')
     cache = name_localbasis_cache(leaf_element)
     qp = name_quadrature_position_in_cell(restriction)
diff --git a/python/dune/perftool/pdelab/geometry.py b/python/dune/perftool/pdelab/geometry.py
index bb548d8d..f4d476bc 100644
--- a/python/dune/perftool/pdelab/geometry.py
+++ b/python/dune/perftool/pdelab/geometry.py
@@ -187,26 +187,14 @@ def to_cell_coordinates(local, basename, restriction):
         return name_in_cell_coordinates(local, basename, restriction)
 
 
-@preamble
-def define_dimension(name):
-    geo = type_geometry_wrapper()
-    return 'const int {} = {}::Entity::dimension;'.format(name, geo)
-
-
 def name_dimension():
-    define_dimension("dim")
-    return "dim"
-
-
-@preamble
-def define_intersection_dimension(name):
-    geo = type_intersection_geometry_wrapper()
-    return "const int {} = {}::Geometry::mydimension;".format(name, geo)
+    formdata = get_global_context_value('formdata')
+    return formdata.geometric_dimension
 
 
 def name_intersection_dimension():
-    define_intersection_dimension("idim")
-    return "idim"
+    formdata = get_global_context_value('formdata')
+    return formdata.geometric_dimension - 1
 
 
 def evaluate_unit_outer_normal(name):
-- 
GitLab