From b26cf64cfb12ffd8b6e0f562e22aa8286a9d8bc1 Mon Sep 17 00:00:00 2001
From: Dominic Kempf <dominic.kempf@iwr.uni-heidelberg.de>
Date: Thu, 3 Aug 2017 15:44:42 +0200
Subject: [PATCH] Remove Expression

It is badly implemented as is and does not offer value over
writing symbolic functions.
---
 python/dune/perftool/pdelab/driver/constraints.py |  6 ------
 python/dune/perftool/pdelab/driver/interpolate.py |  6 ------
 test/poisson/opcount_poisson_dg.ufl               |  1 -
 test/poisson/poisson_matrix_free.mini             | 15 ---------------
 4 files changed, 28 deletions(-)
 delete mode 100644 test/poisson/poisson_matrix_free.mini

diff --git a/python/dune/perftool/pdelab/driver/constraints.py b/python/dune/perftool/pdelab/driver/constraints.py
index a75016c2..d472882c 100644
--- a/python/dune/perftool/pdelab/driver/constraints.py
+++ b/python/dune/perftool/pdelab/driver/constraints.py
@@ -91,17 +91,11 @@ def name_bctype_lambda(name, func):
 
 @preamble
 def define_intersection_lambda(name, func):
-    from dune.perftool.ufl.execution import Expression
     from ufl.classes import Expr
     if func is None:
         func = 0.
     if isinstance(func, (int, float)):
         return "auto {} = [&](const auto& x){{ return {}; }};".format(name, float(func))
-    elif isinstance(func, Expression):
-        if expression.is_global:
-            return "auto {} = [&](const auto& x){{ {} }};".format(name, func.c_expr[0])
-        else:
-            return "auto {} = [&](const auto& is, const auto& x){{ {} }};".format(name, func.c_expr[0])
     elif isinstance(func, Expr):
         # Set up a visitor
         with global_context(integral_type="exterior_facet", formdata=get_formdata(), driver=True):
diff --git a/python/dune/perftool/pdelab/driver/interpolate.py b/python/dune/perftool/pdelab/driver/interpolate.py
index 424388a0..9a79c554 100644
--- a/python/dune/perftool/pdelab/driver/interpolate.py
+++ b/python/dune/perftool/pdelab/driver/interpolate.py
@@ -94,15 +94,9 @@ def name_boundary_lambda(boundary):
 
 @preamble
 def define_boundary_lambda(name, boundary):
-    from dune.perftool.ufl.execution import Expression
     from ufl.classes import Expr
     if boundary is None:
         return "auto {} = [&](const auto& x){{ return 0.0; }};".format(name)
-    elif isinstance(boundary, Expression):
-        if boundary.is_global:
-            return "auto {} = [&](const auto& x){{ {} }};".format(name, boundary.c_expr[0])
-        else:
-            return "auto {} = [&](const auto& e, const auto& x){{ {} }};".format(name, boundary.c_expr[0])
     elif isinstance(boundary, Expr):
         # Set up a visitor
         with global_context(integral_type="exterior_facet", formdata=get_formdata(), driver=True):
diff --git a/test/poisson/opcount_poisson_dg.ufl b/test/poisson/opcount_poisson_dg.ufl
index ddafecb5..d731f77c 100644
--- a/test/poisson/opcount_poisson_dg.ufl
+++ b/test/poisson/opcount_poisson_dg.ufl
@@ -1,4 +1,3 @@
-dim = 2
 degree = 1
 cell = "quadrilateral"
 
diff --git a/test/poisson/poisson_matrix_free.mini b/test/poisson/poisson_matrix_free.mini
deleted file mode 100644
index 5709ef99..00000000
--- a/test/poisson/poisson_matrix_free.mini
+++ /dev/null
@@ -1,15 +0,0 @@
-__name = poisson_matrix_free
-
-lowerleft = 0.0 0.0
-upperright = 1.0 1.0
-elements = 32 32
-elementType = simplical
-
-[wrapper.vtkcompare]
-name = {__name}
-reference = poisson_ref
-extension = vtu
-
-[formcompiler]
-matrix_free = 1
-compare_l2errorsquared = 1e-7
-- 
GitLab