diff --git a/python/dune/codegen/pdelab/geometry.py b/python/dune/codegen/pdelab/geometry.py index 0efd5a27e1cd310e0ebee29676aabb745b6c1311..e1f2bd4b328e32ec4750d8a5b178472ba8fe357c 100644 --- a/python/dune/codegen/pdelab/geometry.py +++ b/python/dune/codegen/pdelab/geometry.py @@ -235,13 +235,16 @@ class AxiparallelGeometryMixin(GenericPDELabGeometryMixin): # embedded into higher dimensional world space. return self.jacobian_determinant(o) - @preamble def define_facet_jacobian_determinant(self, name): + valuearg(name) + self._define_facet_jacobian_determinant(name) + + @preamble + def _define_facet_jacobian_determinant(self, name): # NB: In the equidistant case, this might be optimized to store *d* values on the operator level # We don't do that right now for laziness. geo = name_geometry() pos = name_localcenter() - valuearg(name) return "auto {} = {}.integrationElement({});".format(name, geo, @@ -251,16 +254,18 @@ class AxiparallelGeometryMixin(GenericPDELabGeometryMixin): @geometry_mixin("equidistant") class EquidistantGeometryMixin(AxiparallelGeometryMixin): - @class_member(classtag="operator") def define_jacobian_determinant(self, name): valuearg(name) - self._define_jacobian_determinant_eval(name) + self._define_jacobian_determinant(name) + + @class_member(classtag="operator") + def _define_jacobian_determinant(self, name): from dune.codegen.pdelab.localoperator import lop_template_ansatz_gfs gfst = lop_template_ansatz_gfs() return "typename {}::Traits::GridView::template Codim<0>::Geometry::ctype {};".format(gfst, name) @preamble(kernel="operator") - def _define_jacobian_determinant_eval(name): + def _define_jacobian_determinant_eval(self, name): from dune.codegen.pdelab.localoperator import name_ansatz_gfs_constructor_param, lop_template_range_field gfs = name_ansatz_gfs_constructor_param() rft = lop_template_range_field() @@ -276,7 +281,7 @@ class EquidistantGeometryMixin(AxiparallelGeometryMixin): return "typename {}::Traits::GridView::template Codim<0>::Geometry::JacobianInverseTransposed {};".format(gfst, name) @preamble(kernel="operator") - def _define_jacobian_inverse_transposed_eval(name): + def _define_jacobian_inverse_transposed_eval(self, name): from dune.codegen.pdelab.localoperator import name_ansatz_gfs_constructor_param, lop_template_range_field gfs = name_ansatz_gfs_constructor_param() rft = lop_template_range_field() diff --git a/test/hyperbolic/linearacoustics.mini b/test/hyperbolic/linearacoustics.mini index ad1cc95b405ebd4a7624ef8057b99834fb52ccbc..77ecbf4d889f642d61208a60682ba93b49f6ee1c 100644 --- a/test/hyperbolic/linearacoustics.mini +++ b/test/hyperbolic/linearacoustics.mini @@ -15,6 +15,7 @@ extension = vtu [formcompiler] explicit_time_stepping = 1 operators = mass, r +geometry_mixins = equidistant [formcompiler.mass] numerical_jacobian = 1 diff --git a/test/navier-stokes/navierstokes_2d_dg_quadrilateral.mini b/test/navier-stokes/navierstokes_2d_dg_quadrilateral.mini index 5700107d03d62655e87b50b129aabc5b534134d2..460c5c14f84abd366538630268d8e2ad5ca51cec 100644 --- a/test/navier-stokes/navierstokes_2d_dg_quadrilateral.mini +++ b/test/navier-stokes/navierstokes_2d_dg_quadrilateral.mini @@ -23,6 +23,7 @@ l2error_tree_path = 1, 1, 0 explicit_time_stepping = 0 yaspgrid_offset = 1 overlapping = 1 +geometry_mixins = equidistant [formcompiler.mass] numerical_jacobian = 0, 1 | expand num diff --git a/test/navier-stokes/navierstokes_3d_dg_quadrilateral.mini b/test/navier-stokes/navierstokes_3d_dg_quadrilateral.mini index 8823cb1ba26196a5f0aa01cb78d68ff60625f88b..968e989446021d2ee402e66ae2c30954d451fb29 100644 --- a/test/navier-stokes/navierstokes_3d_dg_quadrilateral.mini +++ b/test/navier-stokes/navierstokes_3d_dg_quadrilateral.mini @@ -18,6 +18,7 @@ compare_l2errorsquared = 5e-4 # Only calculate error for the velocity part l2error_tree_path = 1, 1, 1, 0 operators = mass, r +geometry_mixins = equidistant [formcompiler.mass] numerical_jacobian = 0, 1 | expand num diff --git a/test/nonlinear/diffusivewave.mini b/test/nonlinear/diffusivewave.mini index c82f8ed23330982d6caf40f21d71dbb5d96f0588..7aa66686e28e4e6446dbbd39ef519b6c4fed7e36 100644 --- a/test/nonlinear/diffusivewave.mini +++ b/test/nonlinear/diffusivewave.mini @@ -15,6 +15,7 @@ T = 0.01 [formcompiler] operators = mass, poisson +geometry_mixins = equidistant [formcompiler.mass] sumfact = 0, 1 | expand sf diff --git a/test/poisson/dimension-grid-variations/poisson_2d_cg_quadrilateral.mini b/test/poisson/dimension-grid-variations/poisson_2d_cg_quadrilateral.mini index c5ec6e72a870b19eee8d9b8f881c02c770c65da9..2bdf91746cece93d09164fa3b167a91faf57c541 100644 --- a/test/poisson/dimension-grid-variations/poisson_2d_cg_quadrilateral.mini +++ b/test/poisson/dimension-grid-variations/poisson_2d_cg_quadrilateral.mini @@ -9,3 +9,4 @@ extension = vtu [formcompiler] compare_l2errorsquared = 9e-8 +geometry_mixins = equidistant diff --git a/test/poisson/dimension-grid-variations/poisson_2d_dg_quadrilateral.mini b/test/poisson/dimension-grid-variations/poisson_2d_dg_quadrilateral.mini index cce6d681b76f031b3a239a04b7d3cb371bd99a85..6b4182ceb1aba6f4a996dab8927c7c7bb4b2a58a 100644 --- a/test/poisson/dimension-grid-variations/poisson_2d_dg_quadrilateral.mini +++ b/test/poisson/dimension-grid-variations/poisson_2d_dg_quadrilateral.mini @@ -9,3 +9,4 @@ extension = vtu [formcompiler] compare_l2errorsquared = 6e-7 +geometry_mixins = equidistant diff --git a/test/poisson/dimension-grid-variations/poisson_3d_cg_hexahedron.mini b/test/poisson/dimension-grid-variations/poisson_3d_cg_hexahedron.mini index 1d4c4e9660cb9f285b3dc51db9c3c525181dd1ea..9365f433eef256bada9b3dabd087db20b41fba63 100644 --- a/test/poisson/dimension-grid-variations/poisson_3d_cg_hexahedron.mini +++ b/test/poisson/dimension-grid-variations/poisson_3d_cg_hexahedron.mini @@ -9,3 +9,4 @@ extension = vtu [formcompiler] compare_l2errorsquared = 9e-5 +geometry_mixins = equidistant diff --git a/test/poisson/dimension-grid-variations/poisson_3d_dg_hexahedron.mini b/test/poisson/dimension-grid-variations/poisson_3d_dg_hexahedron.mini index 1442988525b7b3080bcc0efd51e69ccca4e84f63..fa0b3a6db82c1ae68923d1a4f0393136a9405aae 100644 --- a/test/poisson/dimension-grid-variations/poisson_3d_dg_hexahedron.mini +++ b/test/poisson/dimension-grid-variations/poisson_3d_dg_hexahedron.mini @@ -9,3 +9,4 @@ extension = vtu [formcompiler] compare_l2errorsquared = 1e-4 +geometry_mixins = equidistant diff --git a/test/poisson/opcount_poisson_dg_symdiff.mini b/test/poisson/opcount_poisson_dg_symdiff.mini index d98044df779fa8be1d3c2ee09d4e2023f0d95da9..186c4344f9fed7512cde913433145259a76bf7b5 100644 --- a/test/poisson/opcount_poisson_dg_symdiff.mini +++ b/test/poisson/opcount_poisson_dg_symdiff.mini @@ -10,3 +10,4 @@ extension = vtu [formcompiler] opcounter = 1 instrumentation_level = 3 +geometry_mixins = equidistant diff --git a/test/poisson/poisson_dg_quadrilateral.mini b/test/poisson/poisson_dg_quadrilateral.mini index 162e24794f5e36afcd697a59263d6b676f01aa0c..be6d3e2a5cd251294c64d135eb0c9d65aa73bbb0 100644 --- a/test/poisson/poisson_dg_quadrilateral.mini +++ b/test/poisson/poisson_dg_quadrilateral.mini @@ -11,7 +11,7 @@ extension = vtu [formcompiler] compare_l2errorsquared = 7e-7 -geometry = equidistant +geometry_mixins = equidistant [formcompiler.r] numerical_jacobian = 1, 0 | expand num diff --git a/test/poisson/poisson_dg_tensor.mini b/test/poisson/poisson_dg_tensor.mini index d696cebc5196bd711ef4e8e2e1371a977be3a31f..c799f45db355993cba3421736af5b75fcbc8ae0d 100644 --- a/test/poisson/poisson_dg_tensor.mini +++ b/test/poisson/poisson_dg_tensor.mini @@ -13,6 +13,7 @@ extension = vtu [formcompiler] compare_l2errorsquared = 4e-6 +geometry_mixins = equidistant [formcompiler.r] numerical_jacobian = 1, 0 | expand num \ No newline at end of file diff --git a/test/stokes/stokes_3d_dg_quadrilateral.mini b/test/stokes/stokes_3d_dg_quadrilateral.mini index 59396277ede15f6a563d04fb448c4d3b5a445b3b..8cb5d51d991b9555c8f2f5494e23fcd4682c7285 100644 --- a/test/stokes/stokes_3d_dg_quadrilateral.mini +++ b/test/stokes/stokes_3d_dg_quadrilateral.mini @@ -11,6 +11,7 @@ extension = vtu [formcompiler] compare_l2errorsquared = 6e-8 +geometry_mixins = equidistant [formcompiler.r] numerical_jacobian = 0, 1 | expand num diff --git a/test/stokes/stokes_3d_quadrilateral.mini b/test/stokes/stokes_3d_quadrilateral.mini index 17f3d9f510054ff9014830e258edd7840180248e..ecf02f5730606f9c27507f1cc39c340043558357 100644 --- a/test/stokes/stokes_3d_quadrilateral.mini +++ b/test/stokes/stokes_3d_quadrilateral.mini @@ -12,6 +12,7 @@ extension = vtu [formcompiler] compare_l2errorsquared = 1e-10 +geometry_mixins = equidistant [formcompiler.r] numerical_jacobian = 1, 0 | expand num diff --git a/test/stokes/stokes_dg_quadrilateral.mini b/test/stokes/stokes_dg_quadrilateral.mini index 78954b12873569589c2874d15858c6121a242eb5..e91ad9c891f40c04300eb8373d648cbf7b6abcd7 100644 --- a/test/stokes/stokes_dg_quadrilateral.mini +++ b/test/stokes/stokes_dg_quadrilateral.mini @@ -11,6 +11,7 @@ extension = vtu [formcompiler] compare_l2errorsquared = 1e-8 +geometry_mixins = equidistant [formcompiler.r] numerical_jacobian = 0, 1 | expand num diff --git a/test/stokes/stokes_quadrilateral.mini b/test/stokes/stokes_quadrilateral.mini index 6ee36e8220463cbb75764a91b0ae1d2970f28eb3..6954f2278d96f5cc2e7fc80c3fbf14e6207a0554 100644 --- a/test/stokes/stokes_quadrilateral.mini +++ b/test/stokes/stokes_quadrilateral.mini @@ -12,6 +12,7 @@ extension = vtu [formcompiler] compare_l2errorsquared = 1e-10 +geometry_mixins = equidistant [formcompiler.r] numerical_jacobian = 1, 0 | expand num