diff --git a/test/stokes/stokes_dg.mini b/test/stokes/stokes_dg.mini index eb27110153f4066fa3d790e8584a776c41ddb93d..9d65b4a9cf752c2f23d0f6700df1f2b34d393fa5 100644 --- a/test/stokes/stokes_dg.mini +++ b/test/stokes/stokes_dg.mini @@ -16,5 +16,4 @@ zeroThreshold.data_1 = 1e-6 [formcompiler] numerical_jacobian = 0, 1 | expand num -exact_solution_expression = g compare_l2errorsquared = 1e-8 diff --git a/test/stokes/stokes_dg.ufl b/test/stokes/stokes_dg.ufl index f1995c8b2f928d34a1965b62f3fee391dec4caa3..74b857426979820ac72001a8c69c612a9f016f8e 100644 --- a/test/stokes/stokes_dg.ufl +++ b/test/stokes/stokes_dg.ufl @@ -2,8 +2,6 @@ cell = triangle 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 diff --git a/test/stokes/stokes_dg_quadrilateral.mini b/test/stokes/stokes_dg_quadrilateral.mini index e8b76346031f7993fb5e95681c1949b29979b574..7f25099677036a8bfe1f715984ee500d9dc4d015 100644 --- a/test/stokes/stokes_dg_quadrilateral.mini +++ b/test/stokes/stokes_dg_quadrilateral.mini @@ -11,5 +11,4 @@ extension = vtu [formcompiler] numerical_jacobian = 0, 1 | expand num -exact_solution_expression = g compare_l2errorsquared = 1e-8 diff --git a/test/stokes/stokes_dg_quadrilateral.ufl b/test/stokes/stokes_dg_quadrilateral.ufl index 0995ec6ece110d49fc6ca99d0c05ab79e8143229..1beb3356fcd35d9e5ca094745ec34aa55f89621c 100644 --- a/test/stokes/stokes_dg_quadrilateral.ufl +++ b/test/stokes/stokes_dg_quadrilateral.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]) diff --git a/test/stokes/stokes_quadrilateral.mini b/test/stokes/stokes_quadrilateral.mini index 36ce9d61bebd2de68b2aa075c0f12b20e59f8874..e9440771716292bda9664a26b2c8911e00a65a34 100644 --- a/test/stokes/stokes_quadrilateral.mini +++ b/test/stokes/stokes_quadrilateral.mini @@ -12,5 +12,4 @@ extension = vtu [formcompiler] numerical_jacobian = 1, 0 | expand num -exact_solution_expression = g compare_l2errorsquared = 1e-10 diff --git a/test/stokes/stokes_quadrilateral.ufl b/test/stokes/stokes_quadrilateral.ufl index 0d7c58aa180a9d4586184d1eda6c53353bbbb67a..c8f630b84aae43a68221ace670fe9fcb027af47d 100644 --- a/test/stokes/stokes_quadrilateral.ufl +++ b/test/stokes/stokes_quadrilateral.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]) diff --git a/test/stokes/stokes_stress.mini b/test/stokes/stokes_stress.mini index a724a0a0656bc8fd9b711ac97ba2654588a6321f..af72867f443e85aa8b824f66a0c155b9b9f4e9a6 100644 --- a/test/stokes/stokes_stress.mini +++ b/test/stokes/stokes_stress.mini @@ -17,5 +17,4 @@ extension = vtu [formcompiler] # numerical_jacobian = 0, 1 | expand num numerical_jacobian = 1 -exact_solution_expression = g compare_l2errorsquared = 1e-11 diff --git a/test/stokes/stokes_stress.ufl b/test/stokes/stokes_stress.ufl index d5c41e301ce7919fbd94fb86f9c6cab250ae9083..2efd1420b25d1f1c1837ce2fb590707a7e2dc3f4 100644 --- a/test/stokes/stokes_stress.ufl +++ b/test/stokes/stokes_stress.ufl @@ -2,10 +2,9 @@ v_bctype = Expression("if (x[0] < 1. - 1e-8) return 1; else return 0;", on_inter g_v = Expression(("4*x[1]*(1.-x[1])", "0.0")) g_p = Expression("8*(1.-x[0])") g_S = Expression(("0.0", "0.0", "-8*x[1] + 4.", "0.0")) -g = g_v * g_p * g_S cell = triangle -P2 = VectorElement("Lagrange", cell, 2, dirichlet_constraints=v_bctype, dirichlet_expression=g_v) +P2 = VectorElement("Lagrange", cell) P1 = FiniteElement("Lagrange", cell, 1) P2_stress = TensorElement("DG", cell, 1) @@ -17,3 +16,6 @@ u, p, S = TrialFunctions(TH) r = (inner(grad(v), S) + inner(grad(u) - S, T) - div(v)*p - q*div(u))*dx forms = [r] +is_dirichlet = v_bctype, v_bctype, 0, 0, 0, 0, 0 +dirichlet_expression = g_v, None, None, None, None, None, None +exact_solution = g_v, g_p, g_S \ No newline at end of file diff --git a/test/stokes/stokes_stress_sym.mini b/test/stokes/stokes_stress_sym.mini index 328f5e8985fbd2a22f911cc01125753464af8cb4..1aa3d6f087cae99310dd2c7b3a50721f3fd447f6 100644 --- a/test/stokes/stokes_stress_sym.mini +++ b/test/stokes/stokes_stress_sym.mini @@ -14,5 +14,4 @@ extension = vtu [formcompiler] numerical_jacobian = 1 -exact_solution_expression = g compare_l2errorsquared = 1e-6 diff --git a/test/stokes/stokes_stress_sym.ufl b/test/stokes/stokes_stress_sym.ufl index 47e41380efddbaca3fc089dbfa9844ab1e44b695..cff1dee52ffa81881619e7b9580ad76c18538990 100644 --- a/test/stokes/stokes_stress_sym.ufl +++ b/test/stokes/stokes_stress_sym.ufl @@ -2,10 +2,9 @@ v_bctype = Expression("if (x[0] < 1. - 1e-8) return 1; else return 0;", on_inter g_v = Expression(("4*x[1]*(1.-x[1])", "0.0")) g_p = Expression("8*(1.-x[0])") g_S = Expression(("0.0", "-8*x[1] + 4.", "0.0")) -g = g_v * g_p * g_S cell = triangle -P2 = VectorElement("Lagrange", cell, 2, dirichlet_constraints=v_bctype, dirichlet_expression=g_v) +P2 = VectorElement("Lagrange", cell, 2) P1 = FiniteElement("Lagrange", cell, 1) P2_stress = TensorElement("DG", cell, 1, symmetry={(0, 1): (1, 0)}) @@ -23,3 +22,6 @@ r = (inner(grad(v), S) + inner(2*sym(grad(u)) - S, T) - div(v)*p - q*div(u))*dx # + inner(S.T*n, v)*ds forms = [r] +is_dirichlet = v_bctype, v_bctype, 0, 0, 0, 0 +dirichlet_expression = g_v, None, None, None, None, None +exact_solution = g_v, g_p, g_S \ No newline at end of file diff --git a/test/stokes/stokes_sym.mini b/test/stokes/stokes_sym.mini index 75c34604490bd5fa4d7dceb932bd98327f0e9f74..74bcae0dee180977d0dc59b05e0618021114150a 100644 --- a/test/stokes/stokes_sym.mini +++ b/test/stokes/stokes_sym.mini @@ -14,7 +14,4 @@ extension = vtu [formcompiler] numerical_jacobian = 0, 1 | expand num -exact_solution_expression = g compare_l2errorsquared = 1e-11 -print_transformations = True -print_transformations_dir = . diff --git a/test/stokes/stokes_sym.ufl b/test/stokes/stokes_sym.ufl index 6c2b5e5437b46844c2e8a00e1731fc566b129bb1..0fe8fea45591acd9709d110d43ffb99dfdb20bf7 100644 --- a/test/stokes/stokes_sym.ufl +++ b/test/stokes/stokes_sym.ufl @@ -1,11 +1,8 @@ v_bctype = Expression("if (x[0] < 1. - 1e-8) return 1; else return 0;", on_intersection=True) g_v = Expression(("4*x[1]*(1.-x[1])", "0.0")) -g_p = Expression("8*(1.-x[0])") - -g = g_v * g_p cell = triangle -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 @@ -18,3 +15,6 @@ n = FacetNormal(triangle)('+') r = (inner(2*sym(grad(u)), grad(v)) - div(v)*p - q*div(u))*dx - inner(grad(u).T*n,v)*ds forms = [r] +is_dirichlet = v_bctype, v_bctype, 0 +dirichlet_expression = g_v, None +exact_solution = g_v, 8.*(1.-x[0])