From 9f6ed35937382525269349cf569c0ba6e490c96a Mon Sep 17 00:00:00 2001 From: Dominic Kempf <dominic.kempf@iwr.uni-heidelberg.de> Date: Fri, 10 Jun 2016 13:42:57 +0200 Subject: [PATCH] Enhance testing suite --- test/poisson/poisson_dg_neumann.ufl | 31 ++++++++++++++++++++ test/poisson/poisson_dg_neumann_numdiff.mini | 11 +++++++ test/poisson/poisson_dg_neumann_symdiff.mini | 11 +++++++ test/poisson/poisson_dg_symdiff.mini | 11 +++++++ test/stokes/CMakeLists.txt | 4 +++ test/stokes/stokes_numdiff.mini | 7 +++++ 6 files changed, 75 insertions(+) create mode 100644 test/poisson/poisson_dg_neumann.ufl create mode 100644 test/poisson/poisson_dg_neumann_numdiff.mini create mode 100644 test/poisson/poisson_dg_neumann_symdiff.mini create mode 100644 test/poisson/poisson_dg_symdiff.mini create mode 100644 test/stokes/stokes_numdiff.mini diff --git a/test/poisson/poisson_dg_neumann.ufl b/test/poisson/poisson_dg_neumann.ufl new file mode 100644 index 00000000..eeda053a --- /dev/null +++ b/test/poisson/poisson_dg_neumann.ufl @@ -0,0 +1,31 @@ +f = Expression("Dune::FieldVector<double,2> c(0.5); c-= x; return 4.*(1.-c.two_norm2())*std::exp(-1.*c.two_norm2());") +g = Expression("Dune::FieldVector<double,2> c(0.5); c-= x; return std::exp(-1.*c.two_norm2());", on_intersection=True) +j = Expression("Dune::FieldVector<double,2> c(0.5); c-= x; double s; if (x[1]>0.5) s=1.; else s=-1.; return -2.*s*(x[1]-0.5)*std::exp(-1.*c.two_norm2());", on_intersection=True) +bctype = Expression("if ((x[1]<1e-8) || (x[1]>1.-1e-8)) return 0; else return 1;", on_intersection=True) + +cell = triangle +V = FiniteElement("DG", cell, 1) + +u = TrialFunction(V) +v = TestFunction(V) + +n = FacetNormal(cell)('+') + +ds = ds(subdomain_data=bctype) + +gamma = 1.0 +theta = 1.0 + +r = inner(grad(u), grad(v))*dx \ + + inner(n, avg(grad(u)))*jump(v)*dS \ + + gamma*jump(u)*jump(v)*dS \ + + theta*jump(u)*inner(avg(grad(v)), n)*dS \ + - inner(n, grad(u))*v*ds(1) \ + + gamma*u*v*ds(1) \ + - theta*u*inner(grad(v), n)*ds(1) \ + - f*v*dx \ + + theta*g*inner(grad(v), n)*ds(1) \ + - gamma*g*v*ds(1) \ + - j*v*ds(0) + +forms = [r] diff --git a/test/poisson/poisson_dg_neumann_numdiff.mini b/test/poisson/poisson_dg_neumann_numdiff.mini new file mode 100644 index 00000000..b0847a74 --- /dev/null +++ b/test/poisson/poisson_dg_neumann_numdiff.mini @@ -0,0 +1,11 @@ +__name = poisson_dg_neumann_numdiff + +lowerleft = 0.0 0.0 +upperright = 1.0 1.0 +elements = 32 32 +elementType = simplical + +[wrapper.vtkcompare] +name = {__name} +reference = poisson_dg_ref +extension = vtu diff --git a/test/poisson/poisson_dg_neumann_symdiff.mini b/test/poisson/poisson_dg_neumann_symdiff.mini new file mode 100644 index 00000000..4dd175dd --- /dev/null +++ b/test/poisson/poisson_dg_neumann_symdiff.mini @@ -0,0 +1,11 @@ +__name = poisson_dg_neumann_symdiff + +lowerleft = 0.0 0.0 +upperright = 1.0 1.0 +elements = 32 32 +elementType = simplical + +[wrapper.vtkcompare] +name = {__name} +reference = poisson_dg_ref +extension = vtu diff --git a/test/poisson/poisson_dg_symdiff.mini b/test/poisson/poisson_dg_symdiff.mini new file mode 100644 index 00000000..fe696b11 --- /dev/null +++ b/test/poisson/poisson_dg_symdiff.mini @@ -0,0 +1,11 @@ +__name = poisson_dg_symdiff + +lowerleft = 0.0 0.0 +upperright = 1.0 1.0 +elements = 32 32 +elementType = simplical + +[wrapper.vtkcompare] +name = {__name} +reference = poisson_dg_ref +extension = vtu diff --git a/test/stokes/CMakeLists.txt b/test/stokes/CMakeLists.txt index d9ea51a0..1e8651d2 100644 --- a/test/stokes/CMakeLists.txt +++ b/test/stokes/CMakeLists.txt @@ -2,3 +2,7 @@ add_generated_executable(UFLFILE stokes.ufl TARGET stokes_numdiff FORM_COMPILER_ARGS --numerical-jacobian ) + +dune_add_system_test(TARGET stokes_numdiff + INIFILE stokes_numdiff.mini + ) diff --git a/test/stokes/stokes_numdiff.mini b/test/stokes/stokes_numdiff.mini new file mode 100644 index 00000000..671667ea --- /dev/null +++ b/test/stokes/stokes_numdiff.mini @@ -0,0 +1,7 @@ +__name = stokes_numdiff + +lowerleft = 0.0 0.0 +upperright = 1.0 1.0 +elements = 4 4 +elementType = simplical +printmatrix = true -- GitLab