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