From 29a14307984cfaac2db334341c8d972d070cbf39 Mon Sep 17 00:00:00 2001
From: Dominic Kempf <dominic.kempf@iwr.uni-heidelberg.de>
Date: Wed, 1 Feb 2017 14:36:30 +0100
Subject: [PATCH] Implement geometry volumes as constants (which they naturally
 are)

---
 python/dune/perftool/pdelab/geometry.py | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/python/dune/perftool/pdelab/geometry.py b/python/dune/perftool/pdelab/geometry.py
index ce080eba..9e98245c 100644
--- a/python/dune/perftool/pdelab/geometry.py
+++ b/python/dune/perftool/pdelab/geometry.py
@@ -407,13 +407,11 @@ def to_global(local):
     return prim.Variable(name)
 
 
+@preamble
 def define_cell_volume(name, restriction):
     geo = name_cell_geometry(restriction)
-    temporary_variable(name, shape=())
-    code = "{} = {}.volume();".format(name, geo)
-    return quadrature_preamble(code,
-                               assignees=frozenset({name}),
-                               )
+    valuearg(name, dtype=np.float64)
+    return "auto {} = {}.volume();".format(name, geo)
 
 
 def name_cell_volume(restriction):
@@ -422,13 +420,11 @@ def name_cell_volume(restriction):
     return name
 
 
+@preamble
 def define_facet_area(name):
     geo = name_intersection_geometry()
-    temporary_variable(name, shape=())
-    code = "{} = {}.volume();".format(name, geo)
-    return quadrature_preamble(code,
-                               assignees=frozenset({name}),
-                               )
+    valuearg(name, dtype=np.float64)
+    return "auto {} = {}.volume();".format(name, geo)
 
 
 def name_facet_area():
-- 
GitLab