Skip to content
Snippets Groups Projects
Commit 479af5c8 authored by René Heß's avatar René Heß
Browse files

Move fastdg test to sumfact

parent 5233c4d1
No related branches found
No related tags found
No related merge requests found
...@@ -691,6 +691,8 @@ def typedef_gridoperator(name, formdata): ...@@ -691,6 +691,8 @@ def typedef_gridoperator(name, formdata):
df = type_domainfield() df = type_domainfield()
r = type_range() r = type_range()
if get_option("fastdg"): 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") 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) return "using {} = Dune::PDELab::FastDGGridOperator<{}, {}, {}, {}, {}, {}, {}, {}, {}>;".format(name, ugfs, vgfs, lop, mb, df, r, r, ucc, vcc)
else: else:
......
__name = poisson_dg_quadrilateral_{__exec_suffix} __name = poisson_dg_quadrilateral_{__exec_suffix}
__exec_suffix = {__exec_symdiff}_{__exec_fastdg} __exec_suffix = {__exec_symdiff}
__exec_symdiff = numdiff, symdiff |expand num __exec_symdiff = numdiff, symdiff |expand num
__exec_fastdg = fastdg, standarddg | expand fastdg
extension = 1.0 1.0 extension = 1.0 1.0
cells = 32 32 cells = 32 32
...@@ -14,4 +13,3 @@ extension = vtu ...@@ -14,4 +13,3 @@ extension = vtu
numerical_jacobian = 1, 0 | expand num numerical_jacobian = 1, 0 | expand num
exact_solution_expression = g exact_solution_expression = g
compare_l2errorsquared = 2e-5 compare_l2errorsquared = 2e-5
fastdg = 1, 0 | expand fastdg
# 1. Poisson Test Case with order 1 # Poisson CG 2D
dune_add_formcompiler_system_test(UFLFILE poisson_2d_order1.ufl dune_add_formcompiler_system_test(UFLFILE poisson_2d_order1.ufl
BASENAME sumfact_poisson_2d_order1 BASENAME sumfact_poisson_2d_order1
INIFILE poisson_2d_order1.mini INIFILE poisson_2d_order1.mini
) )
# 1. Poisson Test Case with order 2
dune_add_formcompiler_system_test(UFLFILE poisson_2d_order2.ufl dune_add_formcompiler_system_test(UFLFILE poisson_2d_order2.ufl
BASENAME sumfact_poisson_2d_order2 BASENAME sumfact_poisson_2d_order2
INIFILE poisson_2d_order2.mini INIFILE poisson_2d_order2.mini
) )
# 3D Test cases
# Poisson CG 3D
dune_add_formcompiler_system_test(UFLFILE poisson_3d_order1.ufl dune_add_formcompiler_system_test(UFLFILE poisson_3d_order1.ufl
BASENAME sumfact_poisson_3d_order1 BASENAME sumfact_poisson_3d_order1
INIFILE poisson_3d_order1.mini INIFILE poisson_3d_order1.mini
...@@ -28,7 +27,8 @@ dune_add_formcompiler_system_test(UFLFILE opcount_poisson_2d_order2.ufl ...@@ -28,7 +27,8 @@ dune_add_formcompiler_system_test(UFLFILE opcount_poisson_2d_order2.ufl
INIFILE opcount_poisson_2d_order2.mini 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 dune_add_formcompiler_system_test(UFLFILE poisson_dg.ufl
BASENAME sumfact_poisson_dg BASENAME sumfact_poisson_dg
INIFILE poisson_dg.mini INIFILE poisson_dg.mini
......
__name = sumfact_poisson_dg_{__exec_suffix} __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 diff_suffix = numdiff, symdiff | expand num
quadvec_suffix = quadvec, nonquadvec | expand quad quadvec_suffix = quadvec, nonquadvec | expand quad
gradvec_suffix = gradvec, nongradvec | expand grad gradvec_suffix = gradvec, nongradvec | expand grad
fastdg_suffix = fastdg, standarddg | expand fastdg
cells = 16 16 cells = 16 16
extension = 1. 1. extension = 1. 1.
...@@ -19,3 +20,4 @@ exact_solution_expression = g ...@@ -19,3 +20,4 @@ exact_solution_expression = g
compare_l2errorsquared = 1e-4 compare_l2errorsquared = 1e-4
vectorize_quad = 1, 0 | expand quad vectorize_quad = 1, 0 | expand quad
vectorize_grads = 1, 0 | expand grad vectorize_grads = 1, 0 | expand grad
fastdg = 1, 0 | expand fastdg
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment