From d3ae421ff7d1ecce173c42c58a30e9f19b3a7b93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20He=C3=9F?= <rene.hess@iwr.uni-heidelberg.de> Date: Mon, 6 Feb 2017 10:52:55 +0100 Subject: [PATCH] Add stokes quadrilateral test --- test/stokes/CMakeLists.txt | 5 +++++ test/stokes/stokes_quadrilateral.mini | 16 ++++++++++++++++ test/stokes/stokes_quadrilateral.ufl | 18 ++++++++++++++++++ 3 files changed, 39 insertions(+) create mode 100644 test/stokes/stokes_quadrilateral.mini create mode 100644 test/stokes/stokes_quadrilateral.ufl diff --git a/test/stokes/CMakeLists.txt b/test/stokes/CMakeLists.txt index d36e95bf..9d3dd53b 100644 --- a/test/stokes/CMakeLists.txt +++ b/test/stokes/CMakeLists.txt @@ -7,6 +7,11 @@ dune_add_formcompiler_system_test(UFLFILE stokes.ufl INIFILE stokes.mini ) +dune_add_formcompiler_system_test(UFLFILE stokes_quadrilateral.ufl + BASENAME stokes_quadrilateral + INIFILE stokes_quadrilateral.mini + ) + dune_add_formcompiler_system_test(UFLFILE stokes_sym.ufl BASENAME stokes_sym INIFILE stokes_sym.mini diff --git a/test/stokes/stokes_quadrilateral.mini b/test/stokes/stokes_quadrilateral.mini new file mode 100644 index 00000000..0c2a459d --- /dev/null +++ b/test/stokes/stokes_quadrilateral.mini @@ -0,0 +1,16 @@ +__name = stokes_quadrilateral_{__exec_suffix} + +__exec_suffix = {diff_suffix} +diff_suffix = numdiff, symdiff | expand num + +cells = 8 8 +extension = 1. 1. + +[wrapper.vtkcompare] +name = {__name} +extension = vtu + +[formcompiler] +numerical_jacobian = 1, 0 | expand num +exact_solution_expression = g +compare_l2errorsquared = 1e-11 diff --git a/test/stokes/stokes_quadrilateral.ufl b/test/stokes/stokes_quadrilateral.ufl new file mode 100644 index 00000000..0d7c58aa --- /dev/null +++ b/test/stokes/stokes_quadrilateral.ufl @@ -0,0 +1,18 @@ +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) +P1 = FiniteElement("Lagrange", cell, 1) +TH = P2 * P1 + +v, q = TestFunctions(TH) +u, p = TrialFunctions(TH) + +r = (inner(grad(v), grad(u)) - div(v)*p - q*div(u))*dx + +forms = [r] -- GitLab