From dd1d2868f7c5449a018ff0155edf29c891a8470b Mon Sep 17 00:00:00 2001
From: Dominic Kempf <dominic.kempf@iwr.uni-heidelberg.de>
Date: Fri, 25 Aug 2017 11:55:33 +0200
Subject: [PATCH] Rewrite blockstructured tests without annotated finite
 elements

---
 test/blockstructured/nonlinear/nonlinear.ufl          | 4 +++-
 test/blockstructured/poisson/3d/poisson.ufl           | 5 ++++-
 test/blockstructured/poisson/poisson.mini             | 2 --
 test/blockstructured/poisson/poisson.ufl              | 6 ++++--
 test/blockstructured/poisson/poisson_matrix_free.mini | 1 -
 test/blockstructured/poisson/poisson_neumann.mini     | 1 -
 test/blockstructured/poisson/poisson_neumann.ufl      | 5 ++++-
 test/blockstructured/poisson/poisson_tensor.mini      | 1 -
 test/blockstructured/poisson/poisson_tensor.ufl       | 5 ++++-
 test/blockstructured/stokes/stokes.mini               | 1 -
 test/blockstructured/stokes/stokes.ufl                | 7 ++++---
 11 files changed, 23 insertions(+), 15 deletions(-)

diff --git a/test/blockstructured/nonlinear/nonlinear.ufl b/test/blockstructured/nonlinear/nonlinear.ufl
index 7d931aa4..d636ea9b 100644
--- a/test/blockstructured/nonlinear/nonlinear.ufl
+++ b/test/blockstructured/nonlinear/nonlinear.ufl
@@ -5,8 +5,10 @@ x = SpatialCoordinate(cell)
 f = -4
 g = x[0]**2 + x[1]**2
 
-V = FiniteElement("CG", cell, 1, dirichlet_expression=g)
+V = FiniteElement("CG", cell, 1)
 u = TrialFunction(V)
 v = TestFunction(V)
 
 forms = [(inner(grad(u), grad(v)) + u*u*v - f*v)*dx]
+dirichlet_expression = g
+is_dirichlet = 1
diff --git a/test/blockstructured/poisson/3d/poisson.ufl b/test/blockstructured/poisson/3d/poisson.ufl
index 05fc1a8d..56260682 100644
--- a/test/blockstructured/poisson/3d/poisson.ufl
+++ b/test/blockstructured/poisson/3d/poisson.ufl
@@ -5,9 +5,12 @@ x = SpatialCoordinate(cell)
 g = x[0]**2 + x[1]**2 + x[2]**2
 f = -6
 
-V = FiniteElement("CG", cell, 1, dirichlet_expression=g)
+V = FiniteElement("CG", cell, 1)
 u = TrialFunction(V)
 v = TestFunction(V)
 
 
 forms = [(inner(grad(u), grad(v)) - f*v)*dx]
+dirichlet_expression = g
+exact_solution = g
+is_dirichlet = 1
diff --git a/test/blockstructured/poisson/poisson.mini b/test/blockstructured/poisson/poisson.mini
index 9f0a270c..98d4bd26 100644
--- a/test/blockstructured/poisson/poisson.mini
+++ b/test/blockstructured/poisson/poisson.mini
@@ -11,8 +11,6 @@ extension = vtu
 
 [formcompiler]
 numerical_jacobian = 1, 0 | expand num
-exact_solution_expression = g
 compare_l2errorsquared = 1e-7
 blockstructured = 1
 number_of_blocks = 3
-
diff --git a/test/blockstructured/poisson/poisson.ufl b/test/blockstructured/poisson/poisson.ufl
index 2387c626..d8a7ef0c 100644
--- a/test/blockstructured/poisson/poisson.ufl
+++ b/test/blockstructured/poisson/poisson.ufl
@@ -5,9 +5,11 @@ x = SpatialCoordinate(cell)
 g = x[0]**2 + x[1]**2
 f = -4
 
-V = FiniteElement("CG", cell, 2, dirichlet_expression=g)
+V = FiniteElement("CG", cell, 2)
 u = TrialFunction(V)
 v = TestFunction(V)
 
-
 forms = [(inner(grad(u), grad(v)) - f*v)*dx]
+dirichlet_expression = g
+exact_solution = g
+is_dirichlet = 1
diff --git a/test/blockstructured/poisson/poisson_matrix_free.mini b/test/blockstructured/poisson/poisson_matrix_free.mini
index 9a70d371..a5f2fecc 100644
--- a/test/blockstructured/poisson/poisson_matrix_free.mini
+++ b/test/blockstructured/poisson/poisson_matrix_free.mini
@@ -10,7 +10,6 @@ extension = vtu
 
 [formcompiler]
 matrix_free = 1
-exact_solution_expression = g
 compare_l2errorsquared = 1e-7
 blockstructured = 1
 number_of_blocks = 4
\ No newline at end of file
diff --git a/test/blockstructured/poisson/poisson_neumann.mini b/test/blockstructured/poisson/poisson_neumann.mini
index bbe8d102..93272e18 100644
--- a/test/blockstructured/poisson/poisson_neumann.mini
+++ b/test/blockstructured/poisson/poisson_neumann.mini
@@ -11,7 +11,6 @@ extension = vtu
 
 [formcompiler]
 numerical_jacobian = 1, 0 | expand num
-exact_solution_expression = g
 compare_l2errorsquared = 1e-8
 blockstructured = 1
 number_of_blocks = 4
diff --git a/test/blockstructured/poisson/poisson_neumann.ufl b/test/blockstructured/poisson/poisson_neumann.ufl
index ea0f406c..867403d8 100644
--- a/test/blockstructured/poisson/poisson_neumann.ufl
+++ b/test/blockstructured/poisson/poisson_neumann.ufl
@@ -9,7 +9,7 @@ j = -2.*sgn*(x[1]-0.5)*g
 
 bctype = conditional(Or(x[1]<1e-8, x[1]>1.-1e-8), 0, 1)
 
-V = FiniteElement("CG", cell, 1, dirichlet_expression=g, dirichlet_constraints=bctype)
+V = FiniteElement("CG", cell, 1)
 u = TrialFunction(V)
 v = TestFunction(V)
 
@@ -17,3 +17,6 @@ v = TestFunction(V)
 ds = ds(subdomain_data=bctype)
 
 forms = [(inner(grad(u), grad(v)) - f*v)*dx - j*v*ds(0)]
+dirichlet_expression = g
+exact_solution = g
+is_dirichlet = bctype
diff --git a/test/blockstructured/poisson/poisson_tensor.mini b/test/blockstructured/poisson/poisson_tensor.mini
index 19135afd..44ad6335 100644
--- a/test/blockstructured/poisson/poisson_tensor.mini
+++ b/test/blockstructured/poisson/poisson_tensor.mini
@@ -11,7 +11,6 @@ extension = vtu
 
 [formcompiler]
 numerical_jacobian = 1, 0 | expand num
-exact_solution_expression = g
 compare_l2errorsquared = 1e-7
 blockstructured = 1
 number_of_blocks = 4
diff --git a/test/blockstructured/poisson/poisson_tensor.ufl b/test/blockstructured/poisson/poisson_tensor.ufl
index 5b604e9b..df8bcbab 100644
--- a/test/blockstructured/poisson/poisson_tensor.ufl
+++ b/test/blockstructured/poisson/poisson_tensor.ufl
@@ -8,8 +8,11 @@ g = x[0]**2 + x[1]**2
 c = 8.
 f = -4.
 
-V = FiniteElement("CG", cell, 1, dirichlet_expression=g)
+V = FiniteElement("CG", cell, 1)
 u = TrialFunction(V)
 v = TestFunction(V)
 
 forms = [(inner(A*grad(u), grad(v)) + c*u*v -f*v)*dx]
+dirichlet_expression = g
+exact_solution = g
+is_dirichlet = 1
diff --git a/test/blockstructured/stokes/stokes.mini b/test/blockstructured/stokes/stokes.mini
index b2f9a73a..6b342f29 100644
--- a/test/blockstructured/stokes/stokes.mini
+++ b/test/blockstructured/stokes/stokes.mini
@@ -11,7 +11,6 @@ extension = vtu
 
 [formcompiler]
 numerical_jacobian = 0, 1 | expand num
-exact_solution_expression = g
 compare_l2errorsquared = 1e-10
 blockstructured = 1
 number_of_blocks = 3
diff --git a/test/blockstructured/stokes/stokes.ufl b/test/blockstructured/stokes/stokes.ufl
index 0d7c58aa..c8f630b8 100644
--- a/test/blockstructured/stokes/stokes.ufl
+++ b/test/blockstructured/stokes/stokes.ufl
@@ -3,10 +3,8 @@ 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 +14,6 @@ u, p = TrialFunctions(TH)
 r = (inner(grad(v), grad(u)) - div(v)*p - q*div(u))*dx
 
 forms = [r]
+is_dirichlet = v_bctype, v_bctype, 0
+dirichlet_expression = g_v, None
+exact_solution = g_v, 8.*(1.-x[0])
-- 
GitLab