From f5f49376b5a64a41ff84649801d1d42fa97ba960 Mon Sep 17 00:00:00 2001
From: Dominic Kempf <dominic.kempf@iwr.uni-heidelberg.de>
Date: Thu, 15 Dec 2016 22:58:06 +0100
Subject: [PATCH] Have quadrature caches for different order

---
 python/dune/perftool/pdelab/quadrature.py | 6 ++++--
 test/poisson/poisson_dg.ufl               | 9 ++++++---
 2 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/python/dune/perftool/pdelab/quadrature.py b/python/dune/perftool/pdelab/quadrature.py
index 36ec2a44..81a918a2 100644
--- a/python/dune/perftool/pdelab/quadrature.py
+++ b/python/dune/perftool/pdelab/quadrature.py
@@ -105,7 +105,8 @@ def name_quadrature_points():
     """Name of vector storing quadrature points as class member"""
     from dune.perftool.pdelab.geometry import local_dimension
     dim = local_dimension()
-    name = "qp_dim" + str(dim)
+    order = quadrature_order()
+    name = "qp_dim{}_order{}".format(dim, order)
     shape = (name_quadrature_bound(), dim)
     globalarg(name, shape=shape, dtype=numpy.float64, managed=False)
     define_quadrature_points(name)
@@ -166,7 +167,8 @@ def name_quadrature_weights():
     """"Name of vector storing quadrature weights as class member"""
     from dune.perftool.pdelab.geometry import local_dimension
     dim = local_dimension()
-    name = "qw_dim" + str(dim)
+    order = quadrature_order()
+    name = "qw_dim{}_order{}".format(dim, order)
     define_quadrature_weights(name)
     fill_quadrature_weights_cache(name)
 
diff --git a/test/poisson/poisson_dg.ufl b/test/poisson/poisson_dg.ufl
index 0ee5a857..06f3eb0f 100644
--- a/test/poisson/poisson_dg.ufl
+++ b/test/poisson/poisson_dg.ufl
@@ -1,7 +1,10 @@
-f = Expression("Dune::FieldVector<double,2> c(0.5); c-= x; return 4.*(1.-c.two_norm2())*std::exp(-1.*c.two_norm2());")
-g = Expression("Dune::FieldVector<double,2> c(0.5); c-= x; return std::exp(-1.*c.two_norm2());", on_intersection=True)
-
 cell = triangle
+
+x = SpatialCoordinate(cell)
+c = (0.5-x[0])**2 + (0.5-x[1])**2
+g = exp(-1.*c)
+f = 4*(1.-c)*g
+
 V = FiniteElement("DG", cell, 1)
 
 u = TrialFunction(V)
-- 
GitLab