From 3cd89c4180316b666210fadfd27fda918065e98b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ren=C3=A9=20He=C3=9F?= <rene.hess@iwr.uni-heidelberg.de>
Date: Wed, 16 Jan 2019 19:11:37 +0100
Subject: [PATCH] [skip ci] Use a real unstructured grid for the test

Instead of generating gmsh files for a structured grid we use a real
unstructured grid.
---
 .../generate_meshfiles.py                     | 52 ++++++++++++----
 .../{grid_00.msh => grid_structured_00.msh}   |  0
 .../{grid_01.msh => grid_structured_01.msh}   |  0
 .../{grid_02.msh => grid_structured_02.msh}   |  0
 .../{grid_03.msh => grid_structured_03.msh}   |  0
 .../{grid_04.msh => grid_structured_04.msh}   |  0
 .../{grid_05.msh => grid_structured_05.msh}   |  0
 .../{grid_06.msh => grid_structured_06.msh}   |  0
 .../{grid_07.msh => grid_structured_07.msh}   |  0
 .../{grid_08.msh => grid_structured_08.msh}   |  0
 .../{grid_09.msh => grid_structured_09.msh}   |  0
 .../{grid_10.msh => grid_structured_10.msh}   |  0
 .../{grid_11.msh => grid_structured_11.msh}   |  0
 .../{grid_12.msh => grid_structured_12.msh}   |  0
 .../{grid_13.msh => grid_structured_13.msh}   |  0
 .../{grid_14.msh => grid_structured_14.msh}   |  0
 .../{grid_15.msh => grid_structured_15.msh}   |  0
 .../{grid_16.msh => grid_structured_16.msh}   |  0
 .../{grid_17.msh => grid_structured_17.msh}   |  0
 .../{grid_18.msh => grid_structured_18.msh}   |  0
 .../{grid_19.msh => grid_structured_19.msh}   |  0
 .../{grid_20.msh => grid_structured_20.msh}   |  0
 .../{grid_21.msh => grid_structured_21.msh}   |  0
 .../{grid_22.msh => grid_structured_22.msh}   |  0
 .../{grid_23.msh => grid_structured_23.msh}   |  0
 .../{grid_24.msh => grid_structured_24.msh}   |  0
 .../{grid_25.msh => grid_structured_25.msh}   |  0
 .../{grid_26.msh => grid_structured_26.msh}   |  0
 .../{grid_27.msh => grid_structured_27.msh}   |  0
 .../{grid_28.msh => grid_structured_28.msh}   |  0
 .../{grid_29.msh => grid_structured_29.msh}   |  0
 .../{grid_30.msh => grid_structured_30.msh}   |  0
 .../{grid_31.msh => grid_structured_31.msh}   |  0
 .../{grid_32.msh => grid_structured_32.msh}   |  0
 .../{grid_33.msh => grid_structured_33.msh}   |  0
 .../{grid_34.msh => grid_structured_34.msh}   |  0
 .../{grid_35.msh => grid_structured_35.msh}   |  0
 .../grid_transformed_00.msh                   | 23 ++++++++
 .../grid_transformed_01.msh                   | 23 ++++++++
 .../grid_transformed_02.msh                   | 23 ++++++++
 .../grid_transformed_03.msh                   | 23 ++++++++
 .../grid_transformed_04.msh                   | 23 ++++++++
 .../grid_transformed_05.msh                   | 23 ++++++++
 .../grid_transformed_07.msh                   | 23 ++++++++
 .../grid_transformed_08.msh                   | 23 ++++++++
 .../grid_transformed_09.msh                   | 23 ++++++++
 .../grid_transformed_10.msh                   | 23 ++++++++
 .../grid_transformed_11.msh                   | 23 ++++++++
 .../grid_transformed_12.msh                   | 23 ++++++++
 .../grid_transformed_13.msh                   | 23 ++++++++
 .../grid_transformed_14.msh                   | 23 ++++++++
 .../grid_transformed_15.msh                   | 23 ++++++++
 .../grid_transformed_16.msh                   | 23 ++++++++
 .../grid_transformed_17.msh                   | 23 ++++++++
 .../grid_transformed_18.msh                   | 23 ++++++++
 .../grid_transformed_19.msh                   | 23 ++++++++
 .../grid_transformed_20.msh                   | 23 ++++++++
 .../grid_transformed_21.msh                   | 23 ++++++++
 .../grid_transformed_22.msh                   | 23 ++++++++
 .../grid_transformed_23.msh                   | 23 ++++++++
 .../grid_transformed_24.msh                   | 23 ++++++++
 .../grid_transformed_25.msh                   | 23 ++++++++
 .../grid_transformed_26.msh                   | 23 ++++++++
 .../grid_transformed_27.msh                   | 23 ++++++++
 .../grid_transformed_28.msh                   | 23 ++++++++
 .../grid_transformed_29.msh                   | 23 ++++++++
 .../grid_transformed_30.msh                   | 23 ++++++++
 .../grid_transformed_31.msh                   | 23 ++++++++
 .../grid_transformed_32.msh                   | 23 ++++++++
 .../grid_transformed_33.msh                   | 23 ++++++++
 .../grid_transformed_34.msh                   | 23 ++++++++
 .../grid_transformed_35.msh                   | 23 ++++++++
 ...msh_3d_facedir_facemod_variation_driver.cc | 20 +++++--
 ...isson_dg_3d_facedir_facemod_variation.mini |  2 +-
 ..._dg_3d_facedir_facemod_variation_driver.cc | 59 +++++++++++++++++--
 75 files changed, 915 insertions(+), 23 deletions(-)
 rename test/sumfact/poisson/facedir-facemod-variation/{grid_00.msh => grid_structured_00.msh} (100%)
 rename test/sumfact/poisson/facedir-facemod-variation/{grid_01.msh => grid_structured_01.msh} (100%)
 rename test/sumfact/poisson/facedir-facemod-variation/{grid_02.msh => grid_structured_02.msh} (100%)
 rename test/sumfact/poisson/facedir-facemod-variation/{grid_03.msh => grid_structured_03.msh} (100%)
 rename test/sumfact/poisson/facedir-facemod-variation/{grid_04.msh => grid_structured_04.msh} (100%)
 rename test/sumfact/poisson/facedir-facemod-variation/{grid_05.msh => grid_structured_05.msh} (100%)
 rename test/sumfact/poisson/facedir-facemod-variation/{grid_06.msh => grid_structured_06.msh} (100%)
 rename test/sumfact/poisson/facedir-facemod-variation/{grid_07.msh => grid_structured_07.msh} (100%)
 rename test/sumfact/poisson/facedir-facemod-variation/{grid_08.msh => grid_structured_08.msh} (100%)
 rename test/sumfact/poisson/facedir-facemod-variation/{grid_09.msh => grid_structured_09.msh} (100%)
 rename test/sumfact/poisson/facedir-facemod-variation/{grid_10.msh => grid_structured_10.msh} (100%)
 rename test/sumfact/poisson/facedir-facemod-variation/{grid_11.msh => grid_structured_11.msh} (100%)
 rename test/sumfact/poisson/facedir-facemod-variation/{grid_12.msh => grid_structured_12.msh} (100%)
 rename test/sumfact/poisson/facedir-facemod-variation/{grid_13.msh => grid_structured_13.msh} (100%)
 rename test/sumfact/poisson/facedir-facemod-variation/{grid_14.msh => grid_structured_14.msh} (100%)
 rename test/sumfact/poisson/facedir-facemod-variation/{grid_15.msh => grid_structured_15.msh} (100%)
 rename test/sumfact/poisson/facedir-facemod-variation/{grid_16.msh => grid_structured_16.msh} (100%)
 rename test/sumfact/poisson/facedir-facemod-variation/{grid_17.msh => grid_structured_17.msh} (100%)
 rename test/sumfact/poisson/facedir-facemod-variation/{grid_18.msh => grid_structured_18.msh} (100%)
 rename test/sumfact/poisson/facedir-facemod-variation/{grid_19.msh => grid_structured_19.msh} (100%)
 rename test/sumfact/poisson/facedir-facemod-variation/{grid_20.msh => grid_structured_20.msh} (100%)
 rename test/sumfact/poisson/facedir-facemod-variation/{grid_21.msh => grid_structured_21.msh} (100%)
 rename test/sumfact/poisson/facedir-facemod-variation/{grid_22.msh => grid_structured_22.msh} (100%)
 rename test/sumfact/poisson/facedir-facemod-variation/{grid_23.msh => grid_structured_23.msh} (100%)
 rename test/sumfact/poisson/facedir-facemod-variation/{grid_24.msh => grid_structured_24.msh} (100%)
 rename test/sumfact/poisson/facedir-facemod-variation/{grid_25.msh => grid_structured_25.msh} (100%)
 rename test/sumfact/poisson/facedir-facemod-variation/{grid_26.msh => grid_structured_26.msh} (100%)
 rename test/sumfact/poisson/facedir-facemod-variation/{grid_27.msh => grid_structured_27.msh} (100%)
 rename test/sumfact/poisson/facedir-facemod-variation/{grid_28.msh => grid_structured_28.msh} (100%)
 rename test/sumfact/poisson/facedir-facemod-variation/{grid_29.msh => grid_structured_29.msh} (100%)
 rename test/sumfact/poisson/facedir-facemod-variation/{grid_30.msh => grid_structured_30.msh} (100%)
 rename test/sumfact/poisson/facedir-facemod-variation/{grid_31.msh => grid_structured_31.msh} (100%)
 rename test/sumfact/poisson/facedir-facemod-variation/{grid_32.msh => grid_structured_32.msh} (100%)
 rename test/sumfact/poisson/facedir-facemod-variation/{grid_33.msh => grid_structured_33.msh} (100%)
 rename test/sumfact/poisson/facedir-facemod-variation/{grid_34.msh => grid_structured_34.msh} (100%)
 rename test/sumfact/poisson/facedir-facemod-variation/{grid_35.msh => grid_structured_35.msh} (100%)
 create mode 100644 test/sumfact/poisson/facedir-facemod-variation/grid_transformed_00.msh
 create mode 100644 test/sumfact/poisson/facedir-facemod-variation/grid_transformed_01.msh
 create mode 100644 test/sumfact/poisson/facedir-facemod-variation/grid_transformed_02.msh
 create mode 100644 test/sumfact/poisson/facedir-facemod-variation/grid_transformed_03.msh
 create mode 100644 test/sumfact/poisson/facedir-facemod-variation/grid_transformed_04.msh
 create mode 100644 test/sumfact/poisson/facedir-facemod-variation/grid_transformed_05.msh
 create mode 100644 test/sumfact/poisson/facedir-facemod-variation/grid_transformed_07.msh
 create mode 100644 test/sumfact/poisson/facedir-facemod-variation/grid_transformed_08.msh
 create mode 100644 test/sumfact/poisson/facedir-facemod-variation/grid_transformed_09.msh
 create mode 100644 test/sumfact/poisson/facedir-facemod-variation/grid_transformed_10.msh
 create mode 100644 test/sumfact/poisson/facedir-facemod-variation/grid_transformed_11.msh
 create mode 100644 test/sumfact/poisson/facedir-facemod-variation/grid_transformed_12.msh
 create mode 100644 test/sumfact/poisson/facedir-facemod-variation/grid_transformed_13.msh
 create mode 100644 test/sumfact/poisson/facedir-facemod-variation/grid_transformed_14.msh
 create mode 100644 test/sumfact/poisson/facedir-facemod-variation/grid_transformed_15.msh
 create mode 100644 test/sumfact/poisson/facedir-facemod-variation/grid_transformed_16.msh
 create mode 100644 test/sumfact/poisson/facedir-facemod-variation/grid_transformed_17.msh
 create mode 100644 test/sumfact/poisson/facedir-facemod-variation/grid_transformed_18.msh
 create mode 100644 test/sumfact/poisson/facedir-facemod-variation/grid_transformed_19.msh
 create mode 100644 test/sumfact/poisson/facedir-facemod-variation/grid_transformed_20.msh
 create mode 100644 test/sumfact/poisson/facedir-facemod-variation/grid_transformed_21.msh
 create mode 100644 test/sumfact/poisson/facedir-facemod-variation/grid_transformed_22.msh
 create mode 100644 test/sumfact/poisson/facedir-facemod-variation/grid_transformed_23.msh
 create mode 100644 test/sumfact/poisson/facedir-facemod-variation/grid_transformed_24.msh
 create mode 100644 test/sumfact/poisson/facedir-facemod-variation/grid_transformed_25.msh
 create mode 100644 test/sumfact/poisson/facedir-facemod-variation/grid_transformed_26.msh
 create mode 100644 test/sumfact/poisson/facedir-facemod-variation/grid_transformed_27.msh
 create mode 100644 test/sumfact/poisson/facedir-facemod-variation/grid_transformed_28.msh
 create mode 100644 test/sumfact/poisson/facedir-facemod-variation/grid_transformed_29.msh
 create mode 100644 test/sumfact/poisson/facedir-facemod-variation/grid_transformed_30.msh
 create mode 100644 test/sumfact/poisson/facedir-facemod-variation/grid_transformed_31.msh
 create mode 100644 test/sumfact/poisson/facedir-facemod-variation/grid_transformed_32.msh
 create mode 100644 test/sumfact/poisson/facedir-facemod-variation/grid_transformed_33.msh
 create mode 100644 test/sumfact/poisson/facedir-facemod-variation/grid_transformed_34.msh
 create mode 100644 test/sumfact/poisson/facedir-facemod-variation/grid_transformed_35.msh

diff --git a/test/sumfact/poisson/facedir-facemod-variation/generate_meshfiles.py b/test/sumfact/poisson/facedir-facemod-variation/generate_meshfiles.py
index 9e864b4a..b350b8e8 100644
--- a/test/sumfact/poisson/facedir-facemod-variation/generate_meshfiles.py
+++ b/test/sumfact/poisson/facedir-facemod-variation/generate_meshfiles.py
@@ -20,7 +20,7 @@ c1_5 = [3,6,12,9,2,5,11,8]
 c0s = [c0_0, c0_1, c0_2, c0_3, c0_4, c0_5]
 c1s = [c1_0, c1_1, c1_2, c1_3, c1_4, c1_5]
 
-begin = """$MeshFormat
+begin_structured = """$MeshFormat
 2.0 0 8
 $EndMeshFormat
 $Nodes
@@ -41,20 +41,46 @@ $EndNodes
 $Elements
 2
 """
+
+begin_transformed = """$MeshFormat
+2.0 0 8
+$EndMeshFormat
+$Nodes
+12
+1 0.5 0 0
+2 1 1 1
+3 1.5 2 2
+4 0 1 0
+5 0.5 2 1
+6 1 3 2
+7 0 -1 1
+8 0.5 0 2
+9 1 1 3
+10 -0.5 0 1
+11 0 1 2
+12 0.5 2 3
+$EndNodes
+$Elements
+2
+"""
+
 end = """
 $EndElements
 """
 
+filenames = ("grid_structured", "grid_transformed")
+begins = (begin_structured, begin_transformed)
 from itertools import product
-for i, c in enumerate(product(c0s, c1s)):
-    with open('grid_{}.msh'.format(str(i).zfill(2)), 'w+') as f:
-        f.write(begin)
-        f.write('1 5 0')
-        for a in c[0]:
-            f.write(' {}'.format(a))
-        f.write('\n')
-        f.write('2 5 0')
-        for a in c[1]:
-            f.write(' {}'.format(a))
-
-        f.write(end)
+for name, begin in zip(filenames, begins):
+    for i, c in enumerate(product(c0s, c1s)):
+        with open('{}_{}.msh'.format(name, str(i).zfill(2)), 'w+') as f:
+            f.write(begin)
+            f.write('1 5 0')
+            for a in c[0]:
+                f.write(' {}'.format(a))
+            f.write('\n')
+            f.write('2 5 0')
+            for a in c[1]:
+                f.write(' {}'.format(a))
+
+            f.write(end)
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_00.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_structured_00.msh
similarity index 100%
rename from test/sumfact/poisson/facedir-facemod-variation/grid_00.msh
rename to test/sumfact/poisson/facedir-facemod-variation/grid_structured_00.msh
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_01.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_structured_01.msh
similarity index 100%
rename from test/sumfact/poisson/facedir-facemod-variation/grid_01.msh
rename to test/sumfact/poisson/facedir-facemod-variation/grid_structured_01.msh
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_02.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_structured_02.msh
similarity index 100%
rename from test/sumfact/poisson/facedir-facemod-variation/grid_02.msh
rename to test/sumfact/poisson/facedir-facemod-variation/grid_structured_02.msh
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_03.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_structured_03.msh
similarity index 100%
rename from test/sumfact/poisson/facedir-facemod-variation/grid_03.msh
rename to test/sumfact/poisson/facedir-facemod-variation/grid_structured_03.msh
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_04.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_structured_04.msh
similarity index 100%
rename from test/sumfact/poisson/facedir-facemod-variation/grid_04.msh
rename to test/sumfact/poisson/facedir-facemod-variation/grid_structured_04.msh
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_05.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_structured_05.msh
similarity index 100%
rename from test/sumfact/poisson/facedir-facemod-variation/grid_05.msh
rename to test/sumfact/poisson/facedir-facemod-variation/grid_structured_05.msh
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_06.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_structured_06.msh
similarity index 100%
rename from test/sumfact/poisson/facedir-facemod-variation/grid_06.msh
rename to test/sumfact/poisson/facedir-facemod-variation/grid_structured_06.msh
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_07.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_structured_07.msh
similarity index 100%
rename from test/sumfact/poisson/facedir-facemod-variation/grid_07.msh
rename to test/sumfact/poisson/facedir-facemod-variation/grid_structured_07.msh
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_08.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_structured_08.msh
similarity index 100%
rename from test/sumfact/poisson/facedir-facemod-variation/grid_08.msh
rename to test/sumfact/poisson/facedir-facemod-variation/grid_structured_08.msh
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_09.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_structured_09.msh
similarity index 100%
rename from test/sumfact/poisson/facedir-facemod-variation/grid_09.msh
rename to test/sumfact/poisson/facedir-facemod-variation/grid_structured_09.msh
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_10.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_structured_10.msh
similarity index 100%
rename from test/sumfact/poisson/facedir-facemod-variation/grid_10.msh
rename to test/sumfact/poisson/facedir-facemod-variation/grid_structured_10.msh
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_11.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_structured_11.msh
similarity index 100%
rename from test/sumfact/poisson/facedir-facemod-variation/grid_11.msh
rename to test/sumfact/poisson/facedir-facemod-variation/grid_structured_11.msh
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_12.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_structured_12.msh
similarity index 100%
rename from test/sumfact/poisson/facedir-facemod-variation/grid_12.msh
rename to test/sumfact/poisson/facedir-facemod-variation/grid_structured_12.msh
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_13.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_structured_13.msh
similarity index 100%
rename from test/sumfact/poisson/facedir-facemod-variation/grid_13.msh
rename to test/sumfact/poisson/facedir-facemod-variation/grid_structured_13.msh
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_14.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_structured_14.msh
similarity index 100%
rename from test/sumfact/poisson/facedir-facemod-variation/grid_14.msh
rename to test/sumfact/poisson/facedir-facemod-variation/grid_structured_14.msh
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_15.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_structured_15.msh
similarity index 100%
rename from test/sumfact/poisson/facedir-facemod-variation/grid_15.msh
rename to test/sumfact/poisson/facedir-facemod-variation/grid_structured_15.msh
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_16.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_structured_16.msh
similarity index 100%
rename from test/sumfact/poisson/facedir-facemod-variation/grid_16.msh
rename to test/sumfact/poisson/facedir-facemod-variation/grid_structured_16.msh
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_17.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_structured_17.msh
similarity index 100%
rename from test/sumfact/poisson/facedir-facemod-variation/grid_17.msh
rename to test/sumfact/poisson/facedir-facemod-variation/grid_structured_17.msh
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_18.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_structured_18.msh
similarity index 100%
rename from test/sumfact/poisson/facedir-facemod-variation/grid_18.msh
rename to test/sumfact/poisson/facedir-facemod-variation/grid_structured_18.msh
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_19.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_structured_19.msh
similarity index 100%
rename from test/sumfact/poisson/facedir-facemod-variation/grid_19.msh
rename to test/sumfact/poisson/facedir-facemod-variation/grid_structured_19.msh
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_20.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_structured_20.msh
similarity index 100%
rename from test/sumfact/poisson/facedir-facemod-variation/grid_20.msh
rename to test/sumfact/poisson/facedir-facemod-variation/grid_structured_20.msh
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_21.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_structured_21.msh
similarity index 100%
rename from test/sumfact/poisson/facedir-facemod-variation/grid_21.msh
rename to test/sumfact/poisson/facedir-facemod-variation/grid_structured_21.msh
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_22.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_structured_22.msh
similarity index 100%
rename from test/sumfact/poisson/facedir-facemod-variation/grid_22.msh
rename to test/sumfact/poisson/facedir-facemod-variation/grid_structured_22.msh
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_23.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_structured_23.msh
similarity index 100%
rename from test/sumfact/poisson/facedir-facemod-variation/grid_23.msh
rename to test/sumfact/poisson/facedir-facemod-variation/grid_structured_23.msh
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_24.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_structured_24.msh
similarity index 100%
rename from test/sumfact/poisson/facedir-facemod-variation/grid_24.msh
rename to test/sumfact/poisson/facedir-facemod-variation/grid_structured_24.msh
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_25.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_structured_25.msh
similarity index 100%
rename from test/sumfact/poisson/facedir-facemod-variation/grid_25.msh
rename to test/sumfact/poisson/facedir-facemod-variation/grid_structured_25.msh
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_26.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_structured_26.msh
similarity index 100%
rename from test/sumfact/poisson/facedir-facemod-variation/grid_26.msh
rename to test/sumfact/poisson/facedir-facemod-variation/grid_structured_26.msh
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_27.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_structured_27.msh
similarity index 100%
rename from test/sumfact/poisson/facedir-facemod-variation/grid_27.msh
rename to test/sumfact/poisson/facedir-facemod-variation/grid_structured_27.msh
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_28.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_structured_28.msh
similarity index 100%
rename from test/sumfact/poisson/facedir-facemod-variation/grid_28.msh
rename to test/sumfact/poisson/facedir-facemod-variation/grid_structured_28.msh
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_29.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_structured_29.msh
similarity index 100%
rename from test/sumfact/poisson/facedir-facemod-variation/grid_29.msh
rename to test/sumfact/poisson/facedir-facemod-variation/grid_structured_29.msh
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_30.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_structured_30.msh
similarity index 100%
rename from test/sumfact/poisson/facedir-facemod-variation/grid_30.msh
rename to test/sumfact/poisson/facedir-facemod-variation/grid_structured_30.msh
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_31.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_structured_31.msh
similarity index 100%
rename from test/sumfact/poisson/facedir-facemod-variation/grid_31.msh
rename to test/sumfact/poisson/facedir-facemod-variation/grid_structured_31.msh
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_32.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_structured_32.msh
similarity index 100%
rename from test/sumfact/poisson/facedir-facemod-variation/grid_32.msh
rename to test/sumfact/poisson/facedir-facemod-variation/grid_structured_32.msh
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_33.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_structured_33.msh
similarity index 100%
rename from test/sumfact/poisson/facedir-facemod-variation/grid_33.msh
rename to test/sumfact/poisson/facedir-facemod-variation/grid_structured_33.msh
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_34.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_structured_34.msh
similarity index 100%
rename from test/sumfact/poisson/facedir-facemod-variation/grid_34.msh
rename to test/sumfact/poisson/facedir-facemod-variation/grid_structured_34.msh
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_35.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_structured_35.msh
similarity index 100%
rename from test/sumfact/poisson/facedir-facemod-variation/grid_35.msh
rename to test/sumfact/poisson/facedir-facemod-variation/grid_structured_35.msh
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_00.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_00.msh
new file mode 100644
index 00000000..4041fb5c
--- /dev/null
+++ b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_00.msh
@@ -0,0 +1,23 @@
+$MeshFormat
+2.0 0 8
+$EndMeshFormat
+$Nodes
+12
+1 0.5 0 0
+2 1 1 1
+3 1.5 2 2
+4 0 1 0
+5 0.5 2 1
+6 1 3 2
+7 0 -1 1
+8 0.5 0 2
+9 1 1 3
+10 -0.5 0 1
+11 0 1 2
+12 0.5 2 3
+$EndNodes
+$Elements
+2
+1 5 0 2 1 7 8 5 4 10 11
+2 5 0 2 3 6 5 8 9 12 11
+$EndElements
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_01.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_01.msh
new file mode 100644
index 00000000..60ec1bc8
--- /dev/null
+++ b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_01.msh
@@ -0,0 +1,23 @@
+$MeshFormat
+2.0 0 8
+$EndMeshFormat
+$Nodes
+12
+1 0.5 0 0
+2 1 1 1
+3 1.5 2 2
+4 0 1 0
+5 0.5 2 1
+6 1 3 2
+7 0 -1 1
+8 0.5 0 2
+9 1 1 3
+10 -0.5 0 1
+11 0 1 2
+12 0.5 2 3
+$EndNodes
+$Elements
+2
+1 5 0 2 1 7 8 5 4 10 11
+2 5 0 3 2 8 9 6 5 11 12
+$EndElements
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_02.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_02.msh
new file mode 100644
index 00000000..4765d251
--- /dev/null
+++ b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_02.msh
@@ -0,0 +1,23 @@
+$MeshFormat
+2.0 0 8
+$EndMeshFormat
+$Nodes
+12
+1 0.5 0 0
+2 1 1 1
+3 1.5 2 2
+4 0 1 0
+5 0.5 2 1
+6 1 3 2
+7 0 -1 1
+8 0.5 0 2
+9 1 1 3
+10 -0.5 0 1
+11 0 1 2
+12 0.5 2 3
+$EndNodes
+$Elements
+2
+1 5 0 2 1 7 8 5 4 10 11
+2 5 0 2 8 9 3 5 11 12 6
+$EndElements
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_03.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_03.msh
new file mode 100644
index 00000000..7332afba
--- /dev/null
+++ b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_03.msh
@@ -0,0 +1,23 @@
+$MeshFormat
+2.0 0 8
+$EndMeshFormat
+$Nodes
+12
+1 0.5 0 0
+2 1 1 1
+3 1.5 2 2
+4 0 1 0
+5 0.5 2 1
+6 1 3 2
+7 0 -1 1
+8 0.5 0 2
+9 1 1 3
+10 -0.5 0 1
+11 0 1 2
+12 0.5 2 3
+$EndNodes
+$Elements
+2
+1 5 0 2 1 7 8 5 4 10 11
+2 5 0 3 6 5 2 9 12 11 8
+$EndElements
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_04.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_04.msh
new file mode 100644
index 00000000..0387b09f
--- /dev/null
+++ b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_04.msh
@@ -0,0 +1,23 @@
+$MeshFormat
+2.0 0 8
+$EndMeshFormat
+$Nodes
+12
+1 0.5 0 0
+2 1 1 1
+3 1.5 2 2
+4 0 1 0
+5 0.5 2 1
+6 1 3 2
+7 0 -1 1
+8 0.5 0 2
+9 1 1 3
+10 -0.5 0 1
+11 0 1 2
+12 0.5 2 3
+$EndNodes
+$Elements
+2
+1 5 0 2 1 7 8 5 4 10 11
+2 5 0 2 5 11 8 3 6 12 9
+$EndElements
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_05.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_05.msh
new file mode 100644
index 00000000..8d7f0714
--- /dev/null
+++ b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_05.msh
@@ -0,0 +1,23 @@
+$MeshFormat
+2.0 0 8
+$EndMeshFormat
+$Nodes
+12
+1 0.5 0 0
+2 1 1 1
+3 1.5 2 2
+4 0 1 0
+5 0.5 2 1
+6 1 3 2
+7 0 -1 1
+8 0.5 0 2
+9 1 1 3
+10 -0.5 0 1
+11 0 1 2
+12 0.5 2 3
+$EndNodes
+$Elements
+2
+1 5 0 2 1 7 8 5 4 10 11
+2 5 0 3 6 12 9 2 5 11 8
+$EndElements
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_07.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_07.msh
new file mode 100644
index 00000000..4a48a540
--- /dev/null
+++ b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_07.msh
@@ -0,0 +1,23 @@
+$MeshFormat
+2.0 0 8
+$EndMeshFormat
+$Nodes
+12
+1 0.5 0 0
+2 1 1 1
+3 1.5 2 2
+4 0 1 0
+5 0.5 2 1
+6 1 3 2
+7 0 -1 1
+8 0.5 0 2
+9 1 1 3
+10 -0.5 0 1
+11 0 1 2
+12 0.5 2 3
+$EndNodes
+$Elements
+2
+1 5 0 1 2 5 4 7 8 11 10
+2 5 0 3 2 8 9 6 5 11 12
+$EndElements
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_08.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_08.msh
new file mode 100644
index 00000000..80ad52c6
--- /dev/null
+++ b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_08.msh
@@ -0,0 +1,23 @@
+$MeshFormat
+2.0 0 8
+$EndMeshFormat
+$Nodes
+12
+1 0.5 0 0
+2 1 1 1
+3 1.5 2 2
+4 0 1 0
+5 0.5 2 1
+6 1 3 2
+7 0 -1 1
+8 0.5 0 2
+9 1 1 3
+10 -0.5 0 1
+11 0 1 2
+12 0.5 2 3
+$EndNodes
+$Elements
+2
+1 5 0 1 2 5 4 7 8 11 10
+2 5 0 2 8 9 3 5 11 12 6
+$EndElements
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_09.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_09.msh
new file mode 100644
index 00000000..7f7a51d7
--- /dev/null
+++ b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_09.msh
@@ -0,0 +1,23 @@
+$MeshFormat
+2.0 0 8
+$EndMeshFormat
+$Nodes
+12
+1 0.5 0 0
+2 1 1 1
+3 1.5 2 2
+4 0 1 0
+5 0.5 2 1
+6 1 3 2
+7 0 -1 1
+8 0.5 0 2
+9 1 1 3
+10 -0.5 0 1
+11 0 1 2
+12 0.5 2 3
+$EndNodes
+$Elements
+2
+1 5 0 1 2 5 4 7 8 11 10
+2 5 0 3 6 5 2 9 12 11 8
+$EndElements
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_10.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_10.msh
new file mode 100644
index 00000000..16b10dfc
--- /dev/null
+++ b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_10.msh
@@ -0,0 +1,23 @@
+$MeshFormat
+2.0 0 8
+$EndMeshFormat
+$Nodes
+12
+1 0.5 0 0
+2 1 1 1
+3 1.5 2 2
+4 0 1 0
+5 0.5 2 1
+6 1 3 2
+7 0 -1 1
+8 0.5 0 2
+9 1 1 3
+10 -0.5 0 1
+11 0 1 2
+12 0.5 2 3
+$EndNodes
+$Elements
+2
+1 5 0 1 2 5 4 7 8 11 10
+2 5 0 2 5 11 8 3 6 12 9
+$EndElements
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_11.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_11.msh
new file mode 100644
index 00000000..c3e3060e
--- /dev/null
+++ b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_11.msh
@@ -0,0 +1,23 @@
+$MeshFormat
+2.0 0 8
+$EndMeshFormat
+$Nodes
+12
+1 0.5 0 0
+2 1 1 1
+3 1.5 2 2
+4 0 1 0
+5 0.5 2 1
+6 1 3 2
+7 0 -1 1
+8 0.5 0 2
+9 1 1 3
+10 -0.5 0 1
+11 0 1 2
+12 0.5 2 3
+$EndNodes
+$Elements
+2
+1 5 0 1 2 5 4 7 8 11 10
+2 5 0 3 6 12 9 2 5 11 8
+$EndElements
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_12.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_12.msh
new file mode 100644
index 00000000..0246be13
--- /dev/null
+++ b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_12.msh
@@ -0,0 +1,23 @@
+$MeshFormat
+2.0 0 8
+$EndMeshFormat
+$Nodes
+12
+1 0.5 0 0
+2 1 1 1
+3 1.5 2 2
+4 0 1 0
+5 0.5 2 1
+6 1 3 2
+7 0 -1 1
+8 0.5 0 2
+9 1 1 3
+10 -0.5 0 1
+11 0 1 2
+12 0.5 2 3
+$EndNodes
+$Elements
+2
+1 5 0 2 5 4 1 8 11 10 7
+2 5 0 2 3 6 5 8 9 12 11
+$EndElements
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_13.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_13.msh
new file mode 100644
index 00000000..d8375484
--- /dev/null
+++ b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_13.msh
@@ -0,0 +1,23 @@
+$MeshFormat
+2.0 0 8
+$EndMeshFormat
+$Nodes
+12
+1 0.5 0 0
+2 1 1 1
+3 1.5 2 2
+4 0 1 0
+5 0.5 2 1
+6 1 3 2
+7 0 -1 1
+8 0.5 0 2
+9 1 1 3
+10 -0.5 0 1
+11 0 1 2
+12 0.5 2 3
+$EndNodes
+$Elements
+2
+1 5 0 2 5 4 1 8 11 10 7
+2 5 0 3 2 8 9 6 5 11 12
+$EndElements
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_14.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_14.msh
new file mode 100644
index 00000000..4d010d26
--- /dev/null
+++ b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_14.msh
@@ -0,0 +1,23 @@
+$MeshFormat
+2.0 0 8
+$EndMeshFormat
+$Nodes
+12
+1 0.5 0 0
+2 1 1 1
+3 1.5 2 2
+4 0 1 0
+5 0.5 2 1
+6 1 3 2
+7 0 -1 1
+8 0.5 0 2
+9 1 1 3
+10 -0.5 0 1
+11 0 1 2
+12 0.5 2 3
+$EndNodes
+$Elements
+2
+1 5 0 2 5 4 1 8 11 10 7
+2 5 0 2 8 9 3 5 11 12 6
+$EndElements
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_15.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_15.msh
new file mode 100644
index 00000000..cc9cd948
--- /dev/null
+++ b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_15.msh
@@ -0,0 +1,23 @@
+$MeshFormat
+2.0 0 8
+$EndMeshFormat
+$Nodes
+12
+1 0.5 0 0
+2 1 1 1
+3 1.5 2 2
+4 0 1 0
+5 0.5 2 1
+6 1 3 2
+7 0 -1 1
+8 0.5 0 2
+9 1 1 3
+10 -0.5 0 1
+11 0 1 2
+12 0.5 2 3
+$EndNodes
+$Elements
+2
+1 5 0 2 5 4 1 8 11 10 7
+2 5 0 3 6 5 2 9 12 11 8
+$EndElements
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_16.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_16.msh
new file mode 100644
index 00000000..cd507ff3
--- /dev/null
+++ b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_16.msh
@@ -0,0 +1,23 @@
+$MeshFormat
+2.0 0 8
+$EndMeshFormat
+$Nodes
+12
+1 0.5 0 0
+2 1 1 1
+3 1.5 2 2
+4 0 1 0
+5 0.5 2 1
+6 1 3 2
+7 0 -1 1
+8 0.5 0 2
+9 1 1 3
+10 -0.5 0 1
+11 0 1 2
+12 0.5 2 3
+$EndNodes
+$Elements
+2
+1 5 0 2 5 4 1 8 11 10 7
+2 5 0 2 5 11 8 3 6 12 9
+$EndElements
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_17.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_17.msh
new file mode 100644
index 00000000..89e766aa
--- /dev/null
+++ b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_17.msh
@@ -0,0 +1,23 @@
+$MeshFormat
+2.0 0 8
+$EndMeshFormat
+$Nodes
+12
+1 0.5 0 0
+2 1 1 1
+3 1.5 2 2
+4 0 1 0
+5 0.5 2 1
+6 1 3 2
+7 0 -1 1
+8 0.5 0 2
+9 1 1 3
+10 -0.5 0 1
+11 0 1 2
+12 0.5 2 3
+$EndNodes
+$Elements
+2
+1 5 0 2 5 4 1 8 11 10 7
+2 5 0 3 6 12 9 2 5 11 8
+$EndElements
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_18.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_18.msh
new file mode 100644
index 00000000..e8344fbb
--- /dev/null
+++ b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_18.msh
@@ -0,0 +1,23 @@
+$MeshFormat
+2.0 0 8
+$EndMeshFormat
+$Nodes
+12
+1 0.5 0 0
+2 1 1 1
+3 1.5 2 2
+4 0 1 0
+5 0.5 2 1
+6 1 3 2
+7 0 -1 1
+8 0.5 0 2
+9 1 1 3
+10 -0.5 0 1
+11 0 1 2
+12 0.5 2 3
+$EndNodes
+$Elements
+2
+1 5 0 1 7 8 2 4 10 11 5
+2 5 0 2 3 6 5 8 9 12 11
+$EndElements
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_19.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_19.msh
new file mode 100644
index 00000000..b0745164
--- /dev/null
+++ b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_19.msh
@@ -0,0 +1,23 @@
+$MeshFormat
+2.0 0 8
+$EndMeshFormat
+$Nodes
+12
+1 0.5 0 0
+2 1 1 1
+3 1.5 2 2
+4 0 1 0
+5 0.5 2 1
+6 1 3 2
+7 0 -1 1
+8 0.5 0 2
+9 1 1 3
+10 -0.5 0 1
+11 0 1 2
+12 0.5 2 3
+$EndNodes
+$Elements
+2
+1 5 0 1 7 8 2 4 10 11 5
+2 5 0 3 2 8 9 6 5 11 12
+$EndElements
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_20.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_20.msh
new file mode 100644
index 00000000..9afb1f59
--- /dev/null
+++ b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_20.msh
@@ -0,0 +1,23 @@
+$MeshFormat
+2.0 0 8
+$EndMeshFormat
+$Nodes
+12
+1 0.5 0 0
+2 1 1 1
+3 1.5 2 2
+4 0 1 0
+5 0.5 2 1
+6 1 3 2
+7 0 -1 1
+8 0.5 0 2
+9 1 1 3
+10 -0.5 0 1
+11 0 1 2
+12 0.5 2 3
+$EndNodes
+$Elements
+2
+1 5 0 1 7 8 2 4 10 11 5
+2 5 0 2 8 9 3 5 11 12 6
+$EndElements
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_21.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_21.msh
new file mode 100644
index 00000000..149843cf
--- /dev/null
+++ b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_21.msh
@@ -0,0 +1,23 @@
+$MeshFormat
+2.0 0 8
+$EndMeshFormat
+$Nodes
+12
+1 0.5 0 0
+2 1 1 1
+3 1.5 2 2
+4 0 1 0
+5 0.5 2 1
+6 1 3 2
+7 0 -1 1
+8 0.5 0 2
+9 1 1 3
+10 -0.5 0 1
+11 0 1 2
+12 0.5 2 3
+$EndNodes
+$Elements
+2
+1 5 0 1 7 8 2 4 10 11 5
+2 5 0 3 6 5 2 9 12 11 8
+$EndElements
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_22.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_22.msh
new file mode 100644
index 00000000..24762ae7
--- /dev/null
+++ b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_22.msh
@@ -0,0 +1,23 @@
+$MeshFormat
+2.0 0 8
+$EndMeshFormat
+$Nodes
+12
+1 0.5 0 0
+2 1 1 1
+3 1.5 2 2
+4 0 1 0
+5 0.5 2 1
+6 1 3 2
+7 0 -1 1
+8 0.5 0 2
+9 1 1 3
+10 -0.5 0 1
+11 0 1 2
+12 0.5 2 3
+$EndNodes
+$Elements
+2
+1 5 0 1 7 8 2 4 10 11 5
+2 5 0 2 5 11 8 3 6 12 9
+$EndElements
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_23.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_23.msh
new file mode 100644
index 00000000..0de06cbb
--- /dev/null
+++ b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_23.msh
@@ -0,0 +1,23 @@
+$MeshFormat
+2.0 0 8
+$EndMeshFormat
+$Nodes
+12
+1 0.5 0 0
+2 1 1 1
+3 1.5 2 2
+4 0 1 0
+5 0.5 2 1
+6 1 3 2
+7 0 -1 1
+8 0.5 0 2
+9 1 1 3
+10 -0.5 0 1
+11 0 1 2
+12 0.5 2 3
+$EndNodes
+$Elements
+2
+1 5 0 1 7 8 2 4 10 11 5
+2 5 0 3 6 12 9 2 5 11 8
+$EndElements
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_24.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_24.msh
new file mode 100644
index 00000000..0ce4c880
--- /dev/null
+++ b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_24.msh
@@ -0,0 +1,23 @@
+$MeshFormat
+2.0 0 8
+$EndMeshFormat
+$Nodes
+12
+1 0.5 0 0
+2 1 1 1
+3 1.5 2 2
+4 0 1 0
+5 0.5 2 1
+6 1 3 2
+7 0 -1 1
+8 0.5 0 2
+9 1 1 3
+10 -0.5 0 1
+11 0 1 2
+12 0.5 2 3
+$EndNodes
+$Elements
+2
+1 5 0 2 8 11 5 1 7 10 4
+2 5 0 2 3 6 5 8 9 12 11
+$EndElements
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_25.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_25.msh
new file mode 100644
index 00000000..2bac5fd0
--- /dev/null
+++ b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_25.msh
@@ -0,0 +1,23 @@
+$MeshFormat
+2.0 0 8
+$EndMeshFormat
+$Nodes
+12
+1 0.5 0 0
+2 1 1 1
+3 1.5 2 2
+4 0 1 0
+5 0.5 2 1
+6 1 3 2
+7 0 -1 1
+8 0.5 0 2
+9 1 1 3
+10 -0.5 0 1
+11 0 1 2
+12 0.5 2 3
+$EndNodes
+$Elements
+2
+1 5 0 2 8 11 5 1 7 10 4
+2 5 0 3 2 8 9 6 5 11 12
+$EndElements
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_26.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_26.msh
new file mode 100644
index 00000000..f9f568c7
--- /dev/null
+++ b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_26.msh
@@ -0,0 +1,23 @@
+$MeshFormat
+2.0 0 8
+$EndMeshFormat
+$Nodes
+12
+1 0.5 0 0
+2 1 1 1
+3 1.5 2 2
+4 0 1 0
+5 0.5 2 1
+6 1 3 2
+7 0 -1 1
+8 0.5 0 2
+9 1 1 3
+10 -0.5 0 1
+11 0 1 2
+12 0.5 2 3
+$EndNodes
+$Elements
+2
+1 5 0 2 8 11 5 1 7 10 4
+2 5 0 2 8 9 3 5 11 12 6
+$EndElements
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_27.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_27.msh
new file mode 100644
index 00000000..34db3e6f
--- /dev/null
+++ b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_27.msh
@@ -0,0 +1,23 @@
+$MeshFormat
+2.0 0 8
+$EndMeshFormat
+$Nodes
+12
+1 0.5 0 0
+2 1 1 1
+3 1.5 2 2
+4 0 1 0
+5 0.5 2 1
+6 1 3 2
+7 0 -1 1
+8 0.5 0 2
+9 1 1 3
+10 -0.5 0 1
+11 0 1 2
+12 0.5 2 3
+$EndNodes
+$Elements
+2
+1 5 0 2 8 11 5 1 7 10 4
+2 5 0 3 6 5 2 9 12 11 8
+$EndElements
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_28.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_28.msh
new file mode 100644
index 00000000..5a6da01b
--- /dev/null
+++ b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_28.msh
@@ -0,0 +1,23 @@
+$MeshFormat
+2.0 0 8
+$EndMeshFormat
+$Nodes
+12
+1 0.5 0 0
+2 1 1 1
+3 1.5 2 2
+4 0 1 0
+5 0.5 2 1
+6 1 3 2
+7 0 -1 1
+8 0.5 0 2
+9 1 1 3
+10 -0.5 0 1
+11 0 1 2
+12 0.5 2 3
+$EndNodes
+$Elements
+2
+1 5 0 2 8 11 5 1 7 10 4
+2 5 0 2 5 11 8 3 6 12 9
+$EndElements
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_29.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_29.msh
new file mode 100644
index 00000000..399aa451
--- /dev/null
+++ b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_29.msh
@@ -0,0 +1,23 @@
+$MeshFormat
+2.0 0 8
+$EndMeshFormat
+$Nodes
+12
+1 0.5 0 0
+2 1 1 1
+3 1.5 2 2
+4 0 1 0
+5 0.5 2 1
+6 1 3 2
+7 0 -1 1
+8 0.5 0 2
+9 1 1 3
+10 -0.5 0 1
+11 0 1 2
+12 0.5 2 3
+$EndNodes
+$Elements
+2
+1 5 0 2 8 11 5 1 7 10 4
+2 5 0 3 6 12 9 2 5 11 8
+$EndElements
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_30.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_30.msh
new file mode 100644
index 00000000..4979bb0d
--- /dev/null
+++ b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_30.msh
@@ -0,0 +1,23 @@
+$MeshFormat
+2.0 0 8
+$EndMeshFormat
+$Nodes
+12
+1 0.5 0 0
+2 1 1 1
+3 1.5 2 2
+4 0 1 0
+5 0.5 2 1
+6 1 3 2
+7 0 -1 1
+8 0.5 0 2
+9 1 1 3
+10 -0.5 0 1
+11 0 1 2
+12 0.5 2 3
+$EndNodes
+$Elements
+2
+1 5 0 1 7 10 4 2 8 11 5
+2 5 0 2 3 6 5 8 9 12 11
+$EndElements
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_31.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_31.msh
new file mode 100644
index 00000000..6b061e58
--- /dev/null
+++ b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_31.msh
@@ -0,0 +1,23 @@
+$MeshFormat
+2.0 0 8
+$EndMeshFormat
+$Nodes
+12
+1 0.5 0 0
+2 1 1 1
+3 1.5 2 2
+4 0 1 0
+5 0.5 2 1
+6 1 3 2
+7 0 -1 1
+8 0.5 0 2
+9 1 1 3
+10 -0.5 0 1
+11 0 1 2
+12 0.5 2 3
+$EndNodes
+$Elements
+2
+1 5 0 1 7 10 4 2 8 11 5
+2 5 0 3 2 8 9 6 5 11 12
+$EndElements
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_32.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_32.msh
new file mode 100644
index 00000000..6fdf18f0
--- /dev/null
+++ b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_32.msh
@@ -0,0 +1,23 @@
+$MeshFormat
+2.0 0 8
+$EndMeshFormat
+$Nodes
+12
+1 0.5 0 0
+2 1 1 1
+3 1.5 2 2
+4 0 1 0
+5 0.5 2 1
+6 1 3 2
+7 0 -1 1
+8 0.5 0 2
+9 1 1 3
+10 -0.5 0 1
+11 0 1 2
+12 0.5 2 3
+$EndNodes
+$Elements
+2
+1 5 0 1 7 10 4 2 8 11 5
+2 5 0 2 8 9 3 5 11 12 6
+$EndElements
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_33.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_33.msh
new file mode 100644
index 00000000..7a502e3d
--- /dev/null
+++ b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_33.msh
@@ -0,0 +1,23 @@
+$MeshFormat
+2.0 0 8
+$EndMeshFormat
+$Nodes
+12
+1 0.5 0 0
+2 1 1 1
+3 1.5 2 2
+4 0 1 0
+5 0.5 2 1
+6 1 3 2
+7 0 -1 1
+8 0.5 0 2
+9 1 1 3
+10 -0.5 0 1
+11 0 1 2
+12 0.5 2 3
+$EndNodes
+$Elements
+2
+1 5 0 1 7 10 4 2 8 11 5
+2 5 0 3 6 5 2 9 12 11 8
+$EndElements
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_34.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_34.msh
new file mode 100644
index 00000000..37f32202
--- /dev/null
+++ b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_34.msh
@@ -0,0 +1,23 @@
+$MeshFormat
+2.0 0 8
+$EndMeshFormat
+$Nodes
+12
+1 0.5 0 0
+2 1 1 1
+3 1.5 2 2
+4 0 1 0
+5 0.5 2 1
+6 1 3 2
+7 0 -1 1
+8 0.5 0 2
+9 1 1 3
+10 -0.5 0 1
+11 0 1 2
+12 0.5 2 3
+$EndNodes
+$Elements
+2
+1 5 0 1 7 10 4 2 8 11 5
+2 5 0 2 5 11 8 3 6 12 9
+$EndElements
diff --git a/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_35.msh b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_35.msh
new file mode 100644
index 00000000..0b20e00a
--- /dev/null
+++ b/test/sumfact/poisson/facedir-facemod-variation/grid_transformed_35.msh
@@ -0,0 +1,23 @@
+$MeshFormat
+2.0 0 8
+$EndMeshFormat
+$Nodes
+12
+1 0.5 0 0
+2 1 1 1
+3 1.5 2 2
+4 0 1 0
+5 0.5 2 1
+6 1 3 2
+7 0 -1 1
+8 0.5 0 2
+9 1 1 3
+10 -0.5 0 1
+11 0 1 2
+12 0.5 2 3
+$EndNodes
+$Elements
+2
+1 5 0 1 7 10 4 2 8 11 5
+2 5 0 3 6 12 9 2 5 11 8
+$EndElements
diff --git a/test/sumfact/poisson/facedir-facemod-variation/poisson_dg_gmsh_3d_facedir_facemod_variation_driver.cc b/test/sumfact/poisson/facedir-facemod-variation/poisson_dg_gmsh_3d_facedir_facemod_variation_driver.cc
index bf67d8b9..136dbd20 100644
--- a/test/sumfact/poisson/facedir-facemod-variation/poisson_dg_gmsh_3d_facedir_facemod_variation_driver.cc
+++ b/test/sumfact/poisson/facedir-facemod-variation/poisson_dg_gmsh_3d_facedir_facemod_variation_driver.cc
@@ -142,17 +142,29 @@ int main(int argc, char** argv){
     // Maybe print residuals and matrices to stdout...
     if (initree.get<bool>("printresidual", false)) {
       using Dune::PDELab::Backend::native;
-      V_R r(x_r);
+      V_R x_s(x_r);
       // Interpolate input
       auto interpolate_lambda = [] (const auto& x){
         return std::exp(x[0]*x[0]+x[1]*x[1]+x[2]*x[2]);
       };
       auto interpolate = Dune::PDELab::makeGridFunctionFromCallable(gv, interpolate_lambda);
-      Dune::PDELab::interpolate(interpolate,dg1_gfs_,x_r);
-      Dune::printvector(std::cout, native(x_r), "result of interpolate", "row");
+      Dune::PDELab::interpolate(interpolate,dg1_gfs_,x_s);
+
+
+      V_R x_n(x_r);
+      // Interpolate input
+      auto interpolate_lambda_n = [] (const auto& x){
+        return std::exp(x[0]*x[0]+x[1]*x[1]+x[2]*x[2]+x[0]/3);
+      };
+      auto interpolate_n = Dune::PDELab::makeGridFunctionFromCallable(gv, interpolate_lambda_n);
+      Dune::PDELab::interpolate(interpolate_n,dg1_gfs_,x_n);
 
+      for (int i=0; i<4; ++i)
+        native(x_s)[i] = native(x_n)[i];
+
+      V_R r(x_r);
       r=0.0;
-      go_r.residual(x_r, r);
+      go_r.residual(x_s, r);
       Dune::printvector(std::cout, native(r), "residual vector", "row");
 
 
diff --git a/test/sumfact/poisson/facedir-facemod-variation/sumfact_poisson_dg_3d_facedir_facemod_variation.mini b/test/sumfact/poisson/facedir-facemod-variation/sumfact_poisson_dg_3d_facedir_facemod_variation.mini
index e618c92b..830fdab6 100644
--- a/test/sumfact/poisson/facedir-facemod-variation/sumfact_poisson_dg_3d_facedir_facemod_variation.mini
+++ b/test/sumfact/poisson/facedir-facemod-variation/sumfact_poisson_dg_3d_facedir_facemod_variation.mini
@@ -16,7 +16,7 @@ msh_suffix = msh{msh_number}
 
 
 msh_number = 00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35 | expand
-gmshFile = grid_{msh_number}.msh
+gmshFile = grid_transformed_{msh_number}.msh
 
 printresidual = 1
 
diff --git a/test/sumfact/poisson/facedir-facemod-variation/sumfact_poisson_dg_3d_facedir_facemod_variation_driver.cc b/test/sumfact/poisson/facedir-facemod-variation/sumfact_poisson_dg_3d_facedir_facemod_variation_driver.cc
index ca263090..319a9ef3 100644
--- a/test/sumfact/poisson/facedir-facemod-variation/sumfact_poisson_dg_3d_facedir_facemod_variation_driver.cc
+++ b/test/sumfact/poisson/facedir-facemod-variation/sumfact_poisson_dg_3d_facedir_facemod_variation_driver.cc
@@ -112,6 +112,33 @@ bool fuzzy_is_permutation(T a, T b, double rel_tol=1e-9, double abs_tol=0.0){
   return true;
 }
 
+template<typename GV>
+void test_grid(GV gv){
+  // iterate over all entities of the grid
+  for (const auto& e : elements(gv))
+  {
+    std::cout << "## palpo New Element!" << std::endl;
+    auto geo = e.geometry();
+    for (int i=0; i<geo.corners(); i++){
+      auto global_corner = geo.corner(i);
+      auto local_corner = geo.local(global_corner);
+      std::cout << "palpo global_corner: ";
+      for (int i=0; i<3; ++i)
+        std::cout << global_corner[i] << " ";
+      std::cout << std::endl;
+    }
+    for (int i=0; i<geo.corners(); i++){
+      auto global_corner = geo.corner(i);
+      auto local_corner = geo.local(global_corner);
+      std::cout << "palpo local_corner: ";
+      for (int i=0; i<3; ++i)
+        std::cout << local_corner[i] << " ";
+      std::cout << std::endl;
+    }
+  }
+}
+
+
 int main(int argc, char** argv){
   try
   {
@@ -132,6 +159,8 @@ int main(int argc, char** argv){
     std::shared_ptr<Grid> grid = createConsistentGrid(grid_nonconsistent);
     GV gv = grid->leafGridView();
 
+    test_grid(gv);
+
     // Set up finite element maps...
     using DG1_FEM = Dune::PDELab::QkDGLocalFiniteElementMap<DF, RangeType, 1, 3>;
     DG1_FEM dg1_fem;
@@ -189,26 +218,46 @@ int main(int argc, char** argv){
     // Maybe print residuals and matrices to stdout...
     if (initree.get<bool>("printresidual", false)) {
       using Dune::PDELab::Backend::native;
-      V_R r(x_r);
+      V_R x_s(x_r);
       // Interpolate input
       auto interpolate_lambda = [] (const auto& x){
         return std::exp(x[0]*x[0]+x[1]*x[1]+x[2]*x[2]);
       };
       auto interpolate = Dune::PDELab::makeGridFunctionFromCallable(gv, interpolate_lambda);
-      Dune::PDELab::interpolate(interpolate,dg1_gfs_,x_r);
+      Dune::PDELab::interpolate(interpolate,dg1_gfs_,x_s);
+
+      V_R x_n(x_r);
+      // Interpolate input
+      auto interpolate_lambda_n = [] (const auto& x){
+        return std::exp(x[0]*x[0]+x[1]*x[1]+x[2]*x[2]+x[0]/3);
+      };
+      auto interpolate_n = Dune::PDELab::makeGridFunctionFromCallable(gv, interpolate_lambda_n);
+      Dune::PDELab::interpolate(interpolate_n,dg1_gfs_,x_n);
+
+      for (int i=0; i<4; ++i)
+        native(x_s)[i] = native(x_n)[i];
 
+      V_R r(x_r);
       r=0.0;
-      go_r.residual(x_r, r);
+      go_r.residual(x_s, r);
       // Dune::printvector(std::cout, native(x_r), "input vector", "row");
       Dune::printvector(std::cout, native(r), "residual vector", "row");
 
-      // std::vector<RangeType> solution {0, -28.738355599166038, 0, -39.789562942352646, 0, -28.634891475085336, 0, -39.403880102483868, 28.738355599166038, 0, 39.789562942352646, 0, 28.634891475085336, 0, 39.403880102483868, 0};
-      std::vector<RangeType> solution {0, -16.572386758650715, 0, -22.607641128117848, 0, -22.607641128117848, 0, -30.840786232011556, 16.572386758650715, 0, 22.607641128117848, 0, 22.607641128117848, 0, 30.840786232011556, 0};
+      // // Solution for structured gmsh file
+      // std::vector<RangeType> solution {0, -16.572386758650715, 0, -22.607641128117848, 0, -22.607641128117848, 0, -30.840786232011556, 16.572386758650715, 0, 22.607641128117848, 0, 22.607641128117848, 0, 30.840786232011556, 0};
+
+      // Solution for transformed gmsh file
+      std::vector<RangeType> solution {-1.5766672833937405, -50059.975281639621, -2.4083888194744993, -94691.716144054299, -0.78833364169687059, -41141.391638713889, -1.2041944097372501, -75362.893655600026, 50061.609799448859, 1.5766672833937405, 94680.783162005027, 2.4083888194744993, 41147.727233110381, 0.78833364169687059, 75365.856525443567, 1.2041944097372501};
       std::cout.precision(17);
       std::vector<RangeType> residual(16);
       for (std::size_t i=0; i<16; ++i){
         residual[i] = native(r)[i];
       }
+      std::cout << "palpo residual:" << std::endl;
+      for (std::size_t i=0; i<16; ++i){
+        std::cout << residual[i] << "  ";
+      }
+      std::cout << std::endl;
 
       std::cout << "palpo is_permuation: "
                 << fuzzy_is_permutation(solution, residual) << std::endl;
-- 
GitLab