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