From 8f24d927bb988ed14a79a9978f3be4b394f82634 Mon Sep 17 00:00:00 2001 From: Dominic Kempf <dominic.kempf@iwr.uni-heidelberg.de> Date: Mon, 19 Dec 2016 16:43:31 +0100 Subject: [PATCH] Add additional sumfact poisson dg tests --- test/sumfact/poisson/CMakeLists.txt | 4 ++-- test/sumfact/poisson/poisson_dg_2d.mini | 8 +++++-- test/sumfact/poisson/poisson_dg_3d.mini | 25 +++++++++++++++++++++ test/sumfact/poisson/poisson_dg_3d.ufl | 29 +++++++++++++++++++++++++ 4 files changed, 62 insertions(+), 4 deletions(-) create mode 100644 test/sumfact/poisson/poisson_dg_3d.mini create mode 100644 test/sumfact/poisson/poisson_dg_3d.ufl diff --git a/test/sumfact/poisson/CMakeLists.txt b/test/sumfact/poisson/CMakeLists.txt index 6d88816a..889b2985 100644 --- a/test/sumfact/poisson/CMakeLists.txt +++ b/test/sumfact/poisson/CMakeLists.txt @@ -18,13 +18,13 @@ dune_add_formcompiler_system_test(UFLFILE opcount_poisson_2d_order2.ufl # 3. Poisson Test Case: DG in 2D dune_add_formcompiler_system_test(UFLFILE poisson_dg_2d.ufl - BASENAME sumfact_poisson_dg + BASENAME sumfact_poisson_dg_2d INIFILE poisson_dg_2d.mini ) # 4. Poisson Test Case: DG in 3D dune_add_formcompiler_system_test(UFLFILE poisson_dg_3d.ufl - BASENAME sumfact_poisson_dg + BASENAME sumfact_poisson_dg_3d INIFILE poisson_dg_3d.mini ) diff --git a/test/sumfact/poisson/poisson_dg_2d.mini b/test/sumfact/poisson/poisson_dg_2d.mini index 747a5b7d..ed6b6795 100644 --- a/test/sumfact/poisson/poisson_dg_2d.mini +++ b/test/sumfact/poisson/poisson_dg_2d.mini @@ -1,9 +1,10 @@ -__name = sumfact_poisson_dg_{__exec_suffix} -__exec_suffix = {diff_suffix}_{quadvec_suffix}_{gradvec_suffix} +__name = sumfact_poisson_dg_2d_{__exec_suffix} +__exec_suffix = {deg_suffix}_{diff_suffix}_{quadvec_suffix}_{gradvec_suffix} diff_suffix = numdiff, symdiff | expand num quadvec_suffix = quadvec, nonquadvec | expand quad gradvec_suffix = gradvec, nongradvec | expand grad +deg_suffix = deg{formcompiler.ufl_variants.degree} cells = 16 16 extension = 1. 1. @@ -19,3 +20,6 @@ exact_solution_expression = g compare_l2errorsquared = 1e-4 vectorize_quad = 1, 0 | expand quad vectorize_grads = 1, 0 | expand grad + +[formcompiler.ufl_variants] +degree = 1, 2 | expand deg diff --git a/test/sumfact/poisson/poisson_dg_3d.mini b/test/sumfact/poisson/poisson_dg_3d.mini new file mode 100644 index 00000000..7bab7f81 --- /dev/null +++ b/test/sumfact/poisson/poisson_dg_3d.mini @@ -0,0 +1,25 @@ +__name = sumfact_poisson_dg_3d_{__exec_suffix} +__exec_suffix = {deg_suffix}_{diff_suffix}_{quadvec_suffix}_{gradvec_suffix} + +diff_suffix = numdiff, symdiff | expand num +quadvec_suffix = quadvec, nonquadvec | expand quad +gradvec_suffix = gradvec, nongradvec | expand grad +deg_suffix = deg{formcompiler.ufl_variants.degree} + +cells = 8 8 8 +extension = 1. 1. 1. + +[wrapper.vtkcompare] +name = {__name} +extension = vtu + +[formcompiler] +numerical_jacobian = 1, 0 | expand num +sumfact = 1 +exact_solution_expression = g +compare_l2errorsquared = 1e-4 +vectorize_quad = 1, 0 | expand quad +vectorize_grads = 1, 0 | expand grad + +[formcompiler.ufl_variants] +degree = 1, 2 | expand deg diff --git a/test/sumfact/poisson/poisson_dg_3d.ufl b/test/sumfact/poisson/poisson_dg_3d.ufl new file mode 100644 index 00000000..b7e20157 --- /dev/null +++ b/test/sumfact/poisson/poisson_dg_3d.ufl @@ -0,0 +1,29 @@ +cell = "hexahedron" + +x = SpatialCoordinate(cell) +c = (0.5-x[0])**2 + (0.5-x[1])**2 + (0.5-x[2])**2 +g = exp(-1.*c) +f = 6*(1.-c)*g + +V = FiniteElement("DG", cell, degree) + +u = TrialFunction(V) +v = TestFunction(V) + +n = FacetNormal(cell)('+') + +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 \ + + gamma*u*v*ds \ + - theta*u*inner(grad(v), n)*ds \ + - f*v*dx \ + + theta*g*inner(grad(v), n)*ds \ + - gamma*g*v*ds + +forms = [r] -- GitLab