From 5260b4812fb4ee3769e85d695c7e344070322336 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ren=C3=A9=20He=C3=9F?= <rene.hess@iwr.uni-heidelberg.de>
Date: Fri, 14 Oct 2016 13:19:56 +0200
Subject: [PATCH] Lets use DG method!

---
 python/dune/perftool/pdelab/argument.py |  2 +-
 test/sumfact/poisson/CMakeLists.txt     | 20 ++++++++++----------
 test/sumfact/poisson/poisson.mini       |  2 +-
 test/sumfact/poisson/poisson_dg.mini    |  7 ++-----
 test/sumfact/poisson/poisson_dg.ufl     |  9 +++++----
 5 files changed, 19 insertions(+), 21 deletions(-)

diff --git a/python/dune/perftool/pdelab/argument.py b/python/dune/perftool/pdelab/argument.py
index d62f884d..0513a048 100644
--- a/python/dune/perftool/pdelab/argument.py
+++ b/python/dune/perftool/pdelab/argument.py
@@ -102,7 +102,7 @@ def name_trialfunction_gradient(element, restriction, component):
     # This is just a temporary test used to create an A-matrix as
     # local operator class member. Right now it doesn't evaluate
     # anything.
-    if get_option("sumfact"):
+    if get_option("sumfact") and restriction==Restriction.NONE:
         from dune.perftool.sumfact import evaluate_coefficient_gradient_sumfact
         evaluate_coefficient_gradient_sumfact()
 
diff --git a/test/sumfact/poisson/CMakeLists.txt b/test/sumfact/poisson/CMakeLists.txt
index 4620b9a5..6a7006ce 100644
--- a/test/sumfact/poisson/CMakeLists.txt
+++ b/test/sumfact/poisson/CMakeLists.txt
@@ -1,11 +1,11 @@
-# 1. Poisson Test Case: source f, bc g
-dune_add_formcompiler_system_test(UFLFILE poisson.ufl
-                                  BASENAME sumfact_poisson
-                                  INIFILE poisson.mini
-                                  )
-
-# # 2. Poisson Test Case: DG, f + pure dirichlet
-# dune_add_formcompiler_system_test(UFLFILE poisson_dg.ufl
-#                                   BASENAME sumfact_poisson_dg
-#                                   INIFILE poisson_dg.mini
+# # 1. Poisson Test Case: source f, bc g
+# dune_add_formcompiler_system_test(UFLFILE poisson.ufl
+#                                   BASENAME sumfact_poisson
+#                                   INIFILE poisson.mini
 #                                   )
+
+# 2. Poisson Test Case: DG, f + pure dirichlet
+dune_add_formcompiler_system_test(UFLFILE poisson_dg.ufl
+                                  BASENAME sumfact_poisson_dg
+                                  INIFILE poisson_dg.mini
+                                  )
diff --git a/test/sumfact/poisson/poisson.mini b/test/sumfact/poisson/poisson.mini
index 11cbe6e3..491c6859 100644
--- a/test/sumfact/poisson/poisson.mini
+++ b/test/sumfact/poisson/poisson.mini
@@ -1,7 +1,7 @@
 __name = sumfact_poisson_{__exec_suffix}
 __exec_suffix = numdiff, symdiff | expand num
 
-cells = 32 32
+cells = 1 1
 extension = 1. 1.
 
 [wrapper.vtkcompare]
diff --git a/test/sumfact/poisson/poisson_dg.mini b/test/sumfact/poisson/poisson_dg.mini
index 8a2000a4..61bb39ed 100644
--- a/test/sumfact/poisson/poisson_dg.mini
+++ b/test/sumfact/poisson/poisson_dg.mini
@@ -1,14 +1,11 @@
 __name = sumfact_poisson_dg_{__exec_suffix}
 __exec_suffix = numdiff, symdiff | expand num
 
-lowerleft = 0.0 0.0
-upperright = 1.0 1.0
-elements = 32 32
-elementType = simplical
+cells = 1 1
+extension = 1. 1.
 
 [wrapper.vtkcompare]
 name = {__name}
-reference = poisson_dg_ref
 extension = vtu
 
 [formcompiler]
diff --git a/test/sumfact/poisson/poisson_dg.ufl b/test/sumfact/poisson/poisson_dg.ufl
index 0ee5a857..a0b5049d 100644
--- a/test/sumfact/poisson/poisson_dg.ufl
+++ b/test/sumfact/poisson/poisson_dg.ufl
@@ -1,7 +1,8 @@
-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 = "quadrilateral"
+
+f = Expression("return -2.0*x.size();", cell=cell)
+g = Expression("return x.two_norm2();", on_intersection=True, cell=cell)
 
-cell = triangle
 V = FiniteElement("DG", cell, 1)
 
 u = TrialFunction(V)
@@ -23,4 +24,4 @@ r = inner(grad(u), grad(v))*dx \
   + theta*g*inner(grad(v), n)*ds \
   - gamma*g*v*ds
 
-forms = [r]
+forms = [r]
\ No newline at end of file
-- 
GitLab