From 236772147eec315855c043baf1dfa84be282ae07 Mon Sep 17 00:00:00 2001
From: Dominic Kempf <dominic.kempf@iwr.uni-heidelberg.de>
Date: Thu, 3 Aug 2017 14:53:39 +0200
Subject: [PATCH] Port all the sumfact tests

---
 test/sumfact/poisson/diagonal.mini                        | 1 -
 test/sumfact/poisson/opcount_poisson_2d_order2.mini       | 1 -
 .../poisson/opcount_sumfact_poisson_dg_2d_vec.mini        | 1 -
 test/sumfact/poisson/poisson_2d.mini                      | 1 -
 test/sumfact/poisson/poisson_2d.ufl                       | 5 ++++-
 test/sumfact/poisson/poisson_3d.mini                      | 1 -
 test/sumfact/poisson/poisson_3d.ufl                       | 5 ++++-
 test/sumfact/poisson/poisson_dg_2d.mini                   | 1 -
 test/sumfact/poisson/poisson_dg_2d.ufl                    | 1 +
 test/sumfact/poisson/poisson_dg_3d.mini                   | 1 -
 test/sumfact/poisson/poisson_dg_3d.ufl                    | 1 +
 test/sumfact/poisson/poisson_dg_tensor.mini               | 1 -
 test/sumfact/poisson/poisson_dg_tensor.ufl                | 1 +
 test/sumfact/poisson/poisson_fastdg_2d.mini               | 1 -
 test/sumfact/poisson/poisson_fastdg_3d.mini               | 1 -
 test/sumfact/poisson/sliced.mini                          | 1 -
 test/sumfact/stokes/stokes.mini                           | 1 -
 test/sumfact/stokes/stokes.ufl                            | 8 +++++---
 test/sumfact/stokes/stokes_dg.mini                        | 1 -
 test/sumfact/stokes/stokes_dg.ufl                         | 3 +--
 20 files changed, 17 insertions(+), 20 deletions(-)

diff --git a/test/sumfact/poisson/diagonal.mini b/test/sumfact/poisson/diagonal.mini
index aab69f17..3b688baa 100644
--- a/test/sumfact/poisson/diagonal.mini
+++ b/test/sumfact/poisson/diagonal.mini
@@ -9,7 +9,6 @@ extension = vtu
 
 [formcompiler]
 sumfact = 1
-exact_solution_expression = g
 compare_l2errorsquared = 1e-5
 vectorize_quad = 1
 vectorize_grads = 0
diff --git a/test/sumfact/poisson/opcount_poisson_2d_order2.mini b/test/sumfact/poisson/opcount_poisson_2d_order2.mini
index d5fe76ec..2350f113 100644
--- a/test/sumfact/poisson/opcount_poisson_2d_order2.mini
+++ b/test/sumfact/poisson/opcount_poisson_2d_order2.mini
@@ -13,7 +13,6 @@ extension = vtu
 
 [formcompiler]
 numerical_jacobian = 0
-exact_solution_expression = g
 compare_l2errorsquared = 1e-8
 sumfact = 1
 opcounter = 1
diff --git a/test/sumfact/poisson/opcount_sumfact_poisson_dg_2d_vec.mini b/test/sumfact/poisson/opcount_sumfact_poisson_dg_2d_vec.mini
index b7e8b6c7..17842bc9 100644
--- a/test/sumfact/poisson/opcount_sumfact_poisson_dg_2d_vec.mini
+++ b/test/sumfact/poisson/opcount_sumfact_poisson_dg_2d_vec.mini
@@ -11,7 +11,6 @@ extension = vtu
 
 [formcompiler]
 numerical_jacobian = 0
-exact_solution_expression = g
 compare_l2errorsquared = 1e-8
 sumfact = 1
 opcounter = 1
diff --git a/test/sumfact/poisson/poisson_2d.mini b/test/sumfact/poisson/poisson_2d.mini
index 572837d1..ea689468 100644
--- a/test/sumfact/poisson/poisson_2d.mini
+++ b/test/sumfact/poisson/poisson_2d.mini
@@ -15,7 +15,6 @@ extension = vtu
 
 [formcompiler]
 numerical_jacobian = 1, 0 | expand num
-exact_solution_expression = g
 compare_l2errorsquared = 4e-5, 4e-9 | expand deg
 sumfact = 1
 vectorize_grads = 1, 0 | expand grad
diff --git a/test/sumfact/poisson/poisson_2d.ufl b/test/sumfact/poisson/poisson_2d.ufl
index a2c74a59..0d494b70 100644
--- a/test/sumfact/poisson/poisson_2d.ufl
+++ b/test/sumfact/poisson/poisson_2d.ufl
@@ -5,8 +5,11 @@ c = (0.5-x[0])**2 + (0.5-x[1])**2
 g = exp(-1.*c)
 f = 2*(2.-2*c)*g
 
-V = FiniteElement("CG", cell, degree, dirichlet_expression=g)
+V = FiniteElement("CG", cell, degree)
 u = TrialFunction(V)
 v = TestFunction(V)
 
 forms = [(inner(grad(u), grad(v)) - f*v)*dx]
+exact_solution = g
+is_dirichlet = 1
+dirichlet_expression = g
diff --git a/test/sumfact/poisson/poisson_3d.mini b/test/sumfact/poisson/poisson_3d.mini
index b1cc845d..a8b2a96b 100644
--- a/test/sumfact/poisson/poisson_3d.mini
+++ b/test/sumfact/poisson/poisson_3d.mini
@@ -16,7 +16,6 @@ extension = vtu
 
 [formcompiler]
 numerical_jacobian = 1, 0 | expand num
-exact_solution_expression = g
 compare_l2errorsquared = 1e-4, 1e-8 | expand deg
 sumfact = 1
 vectorize_quad = 1, 0 | expand quad
diff --git a/test/sumfact/poisson/poisson_3d.ufl b/test/sumfact/poisson/poisson_3d.ufl
index 7cee4c5b..529db2a0 100644
--- a/test/sumfact/poisson/poisson_3d.ufl
+++ b/test/sumfact/poisson/poisson_3d.ufl
@@ -5,8 +5,11 @@ c = (0.5 - x[0])**2 + (0.5 - x[1])**2 + (0.5 - x[2])**2
 g = exp(-1.*c)
 f = 2*(3.-2*c)*g
 
-V = FiniteElement("CG", cell, degree, dirichlet_expression=g)
+V = FiniteElement("CG", cell, degree)
 u = TrialFunction(V)
 v = TestFunction(V)
 
 forms = [(inner(grad(u), grad(v)) - f*v)*dx]
+exact_solution = g
+is_dirichlet = 1
+dirichlet_expression = g
diff --git a/test/sumfact/poisson/poisson_dg_2d.mini b/test/sumfact/poisson/poisson_dg_2d.mini
index 8785a3b1..facaf327 100644
--- a/test/sumfact/poisson/poisson_dg_2d.mini
+++ b/test/sumfact/poisson/poisson_dg_2d.mini
@@ -16,7 +16,6 @@ extension = vtu
 [formcompiler]
 numerical_jacobian = 1, 0 | expand num
 sumfact = 1
-exact_solution_expression = g
 compare_l2errorsquared = 5e-5, 5e-7 | expand deg
 vectorize_quad = 1, 0 | expand quad
 vectorize_grads = 1, 0 | expand grad
diff --git a/test/sumfact/poisson/poisson_dg_2d.ufl b/test/sumfact/poisson/poisson_dg_2d.ufl
index fe5c1821..fefc67d6 100644
--- a/test/sumfact/poisson/poisson_dg_2d.ufl
+++ b/test/sumfact/poisson/poisson_dg_2d.ufl
@@ -30,3 +30,4 @@ r = inner(grad(u), grad(v))*dx \
   - gamma*g*v*ds
 
 forms = [r]
+exact_solution = g
diff --git a/test/sumfact/poisson/poisson_dg_3d.mini b/test/sumfact/poisson/poisson_dg_3d.mini
index 6d7d2e75..ee766a8d 100644
--- a/test/sumfact/poisson/poisson_dg_3d.mini
+++ b/test/sumfact/poisson/poisson_dg_3d.mini
@@ -16,7 +16,6 @@ extension = vtu
 [formcompiler]
 numerical_jacobian = 1, 0 | expand num
 sumfact = 1
-exact_solution_expression = g
 compare_l2errorsquared = 1e-4, 5e-6 | expand deg
 vectorize_quad = 1, 0 | expand quad
 vectorize_grads = 1, 0 | expand grad
diff --git a/test/sumfact/poisson/poisson_dg_3d.ufl b/test/sumfact/poisson/poisson_dg_3d.ufl
index 3efc5e3b..80d78c36 100644
--- a/test/sumfact/poisson/poisson_dg_3d.ufl
+++ b/test/sumfact/poisson/poisson_dg_3d.ufl
@@ -30,3 +30,4 @@ r = inner(grad(u), grad(v))*dx \
   - gamma*g*v*ds
 
 forms = [r]
+exact_solution = g
diff --git a/test/sumfact/poisson/poisson_dg_tensor.mini b/test/sumfact/poisson/poisson_dg_tensor.mini
index 3f561fa4..fcf3d2a6 100644
--- a/test/sumfact/poisson/poisson_dg_tensor.mini
+++ b/test/sumfact/poisson/poisson_dg_tensor.mini
@@ -13,7 +13,6 @@ extension = vtu
 
 [formcompiler]
 sumfact = 1
-exact_solution_expression = g
 compare_l2errorsquared = 3e-4
 vectorize_quad = 1, 0 | expand quad
 vectorize_grads = 1, 0 | expand grad
diff --git a/test/sumfact/poisson/poisson_dg_tensor.ufl b/test/sumfact/poisson/poisson_dg_tensor.ufl
index 28bd83d1..0d4b7a79 100644
--- a/test/sumfact/poisson/poisson_dg_tensor.ufl
+++ b/test/sumfact/poisson/poisson_dg_tensor.ufl
@@ -33,3 +33,4 @@ r = (inner(A*grad(u), grad(v)) + c*u*v)*dx \
   - gamma*g*v*ds
 
 forms = [r]
+exact_solution = g
diff --git a/test/sumfact/poisson/poisson_fastdg_2d.mini b/test/sumfact/poisson/poisson_fastdg_2d.mini
index 2aebce29..2fcc2c4e 100644
--- a/test/sumfact/poisson/poisson_fastdg_2d.mini
+++ b/test/sumfact/poisson/poisson_fastdg_2d.mini
@@ -14,7 +14,6 @@ extension = vtu
 [formcompiler]
 numerical_jacobian = 0
 sumfact = 1
-exact_solution_expression = g
 compare_l2errorsquared = 1e-4
 vectorize_quad = 1, 0 | expand quadvec
 vectorize_grads = 1, 0 | expand gradvec
diff --git a/test/sumfact/poisson/poisson_fastdg_3d.mini b/test/sumfact/poisson/poisson_fastdg_3d.mini
index aa4ff193..78e7f891 100644
--- a/test/sumfact/poisson/poisson_fastdg_3d.mini
+++ b/test/sumfact/poisson/poisson_fastdg_3d.mini
@@ -14,7 +14,6 @@ extension = vtu
 [formcompiler]
 numerical_jacobian = 0
 sumfact = 1
-exact_solution_expression = g
 compare_l2errorsquared = 1e-4
 vectorize_quad = 1, 0 | expand quadvec
 vectorize_grads = 1, 0 | expand gradvec
diff --git a/test/sumfact/poisson/sliced.mini b/test/sumfact/poisson/sliced.mini
index aac378ef..9240f97b 100644
--- a/test/sumfact/poisson/sliced.mini
+++ b/test/sumfact/poisson/sliced.mini
@@ -9,7 +9,6 @@ extension = vtu
 
 [formcompiler]
 sumfact = 1
-exact_solution_expression = g
 compare_l2errorsquared = 1e-5
 vectorize_quad = 1
 vectorize_grads = 0
diff --git a/test/sumfact/stokes/stokes.mini b/test/sumfact/stokes/stokes.mini
index 5c1ccf5e..b89c262b 100644
--- a/test/sumfact/stokes/stokes.mini
+++ b/test/sumfact/stokes/stokes.mini
@@ -12,7 +12,6 @@ extension = vtu
 
 [formcompiler]
 numerical_jacobian = 1, 0 | expand num
-exact_solution_expression = g
 compare_l2errorsquared = 1e-12
 sumfact = 1
 
diff --git a/test/sumfact/stokes/stokes.ufl b/test/sumfact/stokes/stokes.ufl
index 0d7c58aa..fafe0714 100644
--- a/test/sumfact/stokes/stokes.ufl
+++ b/test/sumfact/stokes/stokes.ufl
@@ -3,10 +3,9 @@ cell = quadrilateral
 x = SpatialCoordinate(cell)
 v_bctype = conditional(x[0] < 1. - 1e-8, 1, 0)
 g_v = as_vector((4.*x[1]*(1.-x[1]), 0.0))
-g_p = 8.*(1.-x[0])
-g = (g_v, g_p)
 
-P2 = VectorElement("Lagrange", cell, 2, dirichlet_constraints=v_bctype, dirichlet_expression=g_v)
+
+P2 = VectorElement("Lagrange", cell, 2)
 P1 = FiniteElement("Lagrange", cell, 1)
 TH = P2 * P1
 
@@ -16,3 +15,6 @@ u, p = TrialFunctions(TH)
 r = (inner(grad(v), grad(u)) - div(v)*p - q*div(u))*dx
 
 forms = [r]
+exact_solution = g_v, 8.*(1.-x[0])
+dirichlet_expression = g_v, None
+is_dirichlet = v_bctype, v_bctype, None
\ No newline at end of file
diff --git a/test/sumfact/stokes/stokes_dg.mini b/test/sumfact/stokes/stokes_dg.mini
index 6ec366e5..e57a64e8 100644
--- a/test/sumfact/stokes/stokes_dg.mini
+++ b/test/sumfact/stokes/stokes_dg.mini
@@ -12,7 +12,6 @@ extension = vtu
 
 [formcompiler]
 numerical_jacobian = 0, 1 | expand num
-exact_solution_expression = g
 compare_l2errorsquared = 1e-8
 sumfact = 1
 
diff --git a/test/sumfact/stokes/stokes_dg.ufl b/test/sumfact/stokes/stokes_dg.ufl
index 0995ec6e..d961446a 100644
--- a/test/sumfact/stokes/stokes_dg.ufl
+++ b/test/sumfact/stokes/stokes_dg.ufl
@@ -2,8 +2,6 @@ cell = quadrilateral
 
 x = SpatialCoordinate(cell)
 g_v = as_vector((4*x[1]*(1.-x[1]), 0.0))
-g_p = 8*(1.-x[0])
-g = (g_v, g_p)
 bctype = conditional(x[0] < 1. - 1e-8, 1, 0)
 
 P2 = VectorElement("DG", cell, 2)
@@ -35,3 +33,4 @@ r = inner(grad(u), grad(v))*dx \
   - q*inner(g_v, n)*ds
 
 forms = [r]
+exact_solution = g_v, 8*(1.-x[0])
\ No newline at end of file
-- 
GitLab