From 5260b4812fb4ee3769e85d695c7e344070322336 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20He=C3=9F?= <rene.hess@iwr.uni-heidelberg.de> Date: Fri, 14 Oct 2016 13:19:56 +0200 Subject: [PATCH] Lets use DG method! --- python/dune/perftool/pdelab/argument.py | 2 +- test/sumfact/poisson/CMakeLists.txt | 20 ++++++++++---------- test/sumfact/poisson/poisson.mini | 2 +- test/sumfact/poisson/poisson_dg.mini | 7 ++----- test/sumfact/poisson/poisson_dg.ufl | 9 +++++---- 5 files changed, 19 insertions(+), 21 deletions(-) diff --git a/python/dune/perftool/pdelab/argument.py b/python/dune/perftool/pdelab/argument.py index d62f884d..0513a048 100644 --- a/python/dune/perftool/pdelab/argument.py +++ b/python/dune/perftool/pdelab/argument.py @@ -102,7 +102,7 @@ def name_trialfunction_gradient(element, restriction, component): # This is just a temporary test used to create an A-matrix as # local operator class member. Right now it doesn't evaluate # anything. - if get_option("sumfact"): + if get_option("sumfact") and restriction==Restriction.NONE: from dune.perftool.sumfact import evaluate_coefficient_gradient_sumfact evaluate_coefficient_gradient_sumfact() diff --git a/test/sumfact/poisson/CMakeLists.txt b/test/sumfact/poisson/CMakeLists.txt index 4620b9a5..6a7006ce 100644 --- a/test/sumfact/poisson/CMakeLists.txt +++ b/test/sumfact/poisson/CMakeLists.txt @@ -1,11 +1,11 @@ -# 1. Poisson Test Case: source f, bc g -dune_add_formcompiler_system_test(UFLFILE poisson.ufl - BASENAME sumfact_poisson - INIFILE poisson.mini - ) - -# # 2. Poisson Test Case: DG, f + pure dirichlet -# dune_add_formcompiler_system_test(UFLFILE poisson_dg.ufl -# BASENAME sumfact_poisson_dg -# INIFILE poisson_dg.mini +# # 1. Poisson Test Case: source f, bc g +# dune_add_formcompiler_system_test(UFLFILE poisson.ufl +# BASENAME sumfact_poisson +# INIFILE poisson.mini # ) + +# 2. Poisson Test Case: DG, f + pure dirichlet +dune_add_formcompiler_system_test(UFLFILE poisson_dg.ufl + BASENAME sumfact_poisson_dg + INIFILE poisson_dg.mini + ) diff --git a/test/sumfact/poisson/poisson.mini b/test/sumfact/poisson/poisson.mini index 11cbe6e3..491c6859 100644 --- a/test/sumfact/poisson/poisson.mini +++ b/test/sumfact/poisson/poisson.mini @@ -1,7 +1,7 @@ __name = sumfact_poisson_{__exec_suffix} __exec_suffix = numdiff, symdiff | expand num -cells = 32 32 +cells = 1 1 extension = 1. 1. [wrapper.vtkcompare] diff --git a/test/sumfact/poisson/poisson_dg.mini b/test/sumfact/poisson/poisson_dg.mini index 8a2000a4..61bb39ed 100644 --- a/test/sumfact/poisson/poisson_dg.mini +++ b/test/sumfact/poisson/poisson_dg.mini @@ -1,14 +1,11 @@ __name = sumfact_poisson_dg_{__exec_suffix} __exec_suffix = numdiff, symdiff | expand num -lowerleft = 0.0 0.0 -upperright = 1.0 1.0 -elements = 32 32 -elementType = simplical +cells = 1 1 +extension = 1. 1. [wrapper.vtkcompare] name = {__name} -reference = poisson_dg_ref extension = vtu [formcompiler] diff --git a/test/sumfact/poisson/poisson_dg.ufl b/test/sumfact/poisson/poisson_dg.ufl index 0ee5a857..a0b5049d 100644 --- a/test/sumfact/poisson/poisson_dg.ufl +++ b/test/sumfact/poisson/poisson_dg.ufl @@ -1,7 +1,8 @@ -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) +cell = "quadrilateral" + +f = Expression("return -2.0*x.size();", cell=cell) +g = Expression("return x.two_norm2();", on_intersection=True, cell=cell) -cell = triangle V = FiniteElement("DG", cell, 1) u = TrialFunction(V) @@ -23,4 +24,4 @@ r = inner(grad(u), grad(v))*dx \ + theta*g*inner(grad(v), n)*ds \ - gamma*g*v*ds -forms = [r] +forms = [r] \ No newline at end of file -- GitLab