diff --git a/python/dune/perftool/pdelab/driver.py b/python/dune/perftool/pdelab/driver.py index a2d8aa35af5b209a012dcebeea89c7e0bb6d18f0..39ef2e247a8206c78339d3e6c6dad0ec242d8c50 100644 --- a/python/dune/perftool/pdelab/driver.py +++ b/python/dune/perftool/pdelab/driver.py @@ -691,6 +691,8 @@ def typedef_gridoperator(name, formdata): df = type_domainfield() r = type_range() if get_option("fastdg"): + if not get_option("sumfact"): + raise PerftoolCodegenError("FastDGGridOperator is only implemented for sumfactorization.") include_file("dune/pdelab/gridoperator/fastdg.hh", filetag="driver") return "using {} = Dune::PDELab::FastDGGridOperator<{}, {}, {}, {}, {}, {}, {}, {}, {}>;".format(name, ugfs, vgfs, lop, mb, df, r, r, ucc, vcc) else: diff --git a/test/poisson/poisson_dg_quadrilateral.mini b/test/poisson/poisson_dg_quadrilateral.mini index 399058462084326bef74c4bf82acc2df76cdcc48..97c59253e3d1fe2282011779bc4f52637b2edc03 100644 --- a/test/poisson/poisson_dg_quadrilateral.mini +++ b/test/poisson/poisson_dg_quadrilateral.mini @@ -1,7 +1,6 @@ __name = poisson_dg_quadrilateral_{__exec_suffix} -__exec_suffix = {__exec_symdiff}_{__exec_fastdg} +__exec_suffix = {__exec_symdiff} __exec_symdiff = numdiff, symdiff |expand num -__exec_fastdg = fastdg, standarddg | expand fastdg extension = 1.0 1.0 cells = 32 32 @@ -14,4 +13,3 @@ extension = vtu numerical_jacobian = 1, 0 | expand num exact_solution_expression = g compare_l2errorsquared = 2e-5 -fastdg = 1, 0 | expand fastdg diff --git a/test/sumfact/poisson/CMakeLists.txt b/test/sumfact/poisson/CMakeLists.txt index 9e7539d2056411c6d1852ce52cef9e7f2b37b0ec..08ca1ca73e0c4d1aefaffadff3c48284f494b7be 100644 --- a/test/sumfact/poisson/CMakeLists.txt +++ b/test/sumfact/poisson/CMakeLists.txt @@ -1,17 +1,16 @@ -# 1. Poisson Test Case with order 1 +# Poisson CG 2D dune_add_formcompiler_system_test(UFLFILE poisson_2d_order1.ufl BASENAME sumfact_poisson_2d_order1 INIFILE poisson_2d_order1.mini ) - -# 1. Poisson Test Case with order 2 dune_add_formcompiler_system_test(UFLFILE poisson_2d_order2.ufl BASENAME sumfact_poisson_2d_order2 INIFILE poisson_2d_order2.mini ) -# 3D Test cases + +# Poisson CG 3D dune_add_formcompiler_system_test(UFLFILE poisson_3d_order1.ufl BASENAME sumfact_poisson_3d_order1 INIFILE poisson_3d_order1.mini @@ -28,7 +27,8 @@ dune_add_formcompiler_system_test(UFLFILE opcount_poisson_2d_order2.ufl INIFILE opcount_poisson_2d_order2.mini ) -# 2. Poisson Test Case: DG, f + pure dirichlet + +# Poisson DG dune_add_formcompiler_system_test(UFLFILE poisson_dg.ufl BASENAME sumfact_poisson_dg INIFILE poisson_dg.mini diff --git a/test/sumfact/poisson/poisson_dg.mini b/test/sumfact/poisson/poisson_dg.mini index 747a5b7dac42a836c8a4eb0acdfc59b418f58581..1e1127ec8bd5a684876bf1b6b7f8d944008dd723 100644 --- a/test/sumfact/poisson/poisson_dg.mini +++ b/test/sumfact/poisson/poisson_dg.mini @@ -1,9 +1,10 @@ __name = sumfact_poisson_dg_{__exec_suffix} -__exec_suffix = {diff_suffix}_{quadvec_suffix}_{gradvec_suffix} +__exec_suffix = {diff_suffix}_{quadvec_suffix}_{gradvec_suffix}_{fastdg_suffix} diff_suffix = numdiff, symdiff | expand num quadvec_suffix = quadvec, nonquadvec | expand quad gradvec_suffix = gradvec, nongradvec | expand grad +fastdg_suffix = fastdg, standarddg | expand fastdg cells = 16 16 extension = 1. 1. @@ -19,3 +20,4 @@ exact_solution_expression = g compare_l2errorsquared = 1e-4 vectorize_quad = 1, 0 | expand quad vectorize_grads = 1, 0 | expand grad +fastdg = 1, 0 | expand fastdg