diff --git a/python/dune/xt/CMakeLists.txt b/python/dune/xt/CMakeLists.txt index 74941efd4cb610d6c55de8fdf60ca625092fd3b3..f75a22870bb69dd338669d1b0e29ed68bb5743e8 100644 --- a/python/dune/xt/CMakeLists.txt +++ b/python/dune/xt/CMakeLists.txt @@ -12,7 +12,7 @@ # Tobias Leibner (2019) # ~~~ -add_subdirectory(grid) add_subdirectory(common) -add_subdirectory(la) add_subdirectory(functions) +add_subdirectory(grid) +add_subdirectory(la) diff --git a/python/dune/xt/common/CMakeLists.txt b/python/dune/xt/common/CMakeLists.txt index c8a019eaa30f3f989669c1ea4a3ca6d5dfe63575..993bbd2c7e1b6410d40316bb5a6d7f5255f88267 100644 --- a/python/dune/xt/common/CMakeLists.txt +++ b/python/dune/xt/common/CMakeLists.txt @@ -14,7 +14,7 @@ dune_pybindxi_add_module(logging EXCLUDE_FROM_ALL logging.cc) dune_pybindxi_add_module(timedlogging EXCLUDE_FROM_ALL timedlogging.cc) -dune_pybindxi_add_module(_empty EXCLUDE_FROM_ALL empty.cc) -dune_pybindxi_add_module(_exceptions EXCLUDE_FROM_ALL exceptions.cc) -dune_pybindxi_add_module(_mpi EXCLUDE_FROM_ALL mpi.cc) -dune_pybindxi_add_module(_timings EXCLUDE_FROM_ALL timings.cc) +dune_pybindxi_add_module(_common_empty EXCLUDE_FROM_ALL empty.cc) +dune_pybindxi_add_module(_common_exceptions EXCLUDE_FROM_ALL exceptions.cc) +dune_pybindxi_add_module(_common_mpi EXCLUDE_FROM_ALL mpi.cc) +dune_pybindxi_add_module(_common_timings EXCLUDE_FROM_ALL timings.cc) diff --git a/python/dune/xt/common/__init__.py b/python/dune/xt/common/__init__.py index 0fad39f1430813bb650f2aa7b41ba282b1a6142d..bea1dd79179bf83fdf2ca6c272c2363e9780d783 100644 --- a/python/dune/xt/common/__init__.py +++ b/python/dune/xt/common/__init__.py @@ -14,7 +14,7 @@ from dune.xt import guarded_import for mod_name in ( - '_exceptions', - '_mpi', + '_common_exceptions', + '_common_mpi', ): guarded_import(globals(), 'dune.xt.common', mod_name) diff --git a/python/dune/xt/common/empty.cc b/python/dune/xt/common/empty.cc index 5532dd8cef357bcd488010c492ff07928d6499cd..67de967c644a24530aa65b6ce2bdcce202617b69 100644 --- a/python/dune/xt/common/empty.cc +++ b/python/dune/xt/common/empty.cc @@ -57,7 +57,8 @@ struct Terrier : Dog {} }; -PYBIND11_MODULE(_empty, m) + +PYBIND11_MODULE(_common_empty, m) { namespace py = pybind11; using namespace pybind11::literals; diff --git a/python/dune/xt/common/exceptions.cc b/python/dune/xt/common/exceptions.cc index 7f9c20d777cefcdb3e1460211da95cf3fbef481c..195fc031dafceb9b886b69bd72bcfd14b07a3499 100644 --- a/python/dune/xt/common/exceptions.cc +++ b/python/dune/xt/common/exceptions.cc @@ -24,7 +24,7 @@ #include <dune/pybindxi/stl.h> -PYBIND11_MODULE(_exceptions, m) +PYBIND11_MODULE(_common_exceptions, m) { namespace py = pybind11; using namespace pybind11::literals; diff --git a/python/dune/xt/common/mpi.cc b/python/dune/xt/common/mpi.cc index aefdbabcaa4e4b715b666e87b5aad8e71b4aa615..f46f78ff0678d1ee29dd5dc1eeffbd78453ac9b3 100644 --- a/python/dune/xt/common/mpi.cc +++ b/python/dune/xt/common/mpi.cc @@ -35,7 +35,7 @@ #include <dune/xt/common/string.hh> -PYBIND11_MODULE(_mpi, m) +PYBIND11_MODULE(_common_mpi, m) { using namespace Dune; namespace py = pybind11; diff --git a/python/dune/xt/common/timings.cc b/python/dune/xt/common/timings.cc index 6f88a233ca7992073bb0f4e71ba571deeb680044..22bae4f4b85194f846303c8f2ff4ca297db0c2f5 100644 --- a/python/dune/xt/common/timings.cc +++ b/python/dune/xt/common/timings.cc @@ -24,7 +24,7 @@ #include <dune/common/parallel/mpihelper.hh> -PYBIND11_MODULE(_timings, m) +PYBIND11_MODULE(_common_timings, m) { namespace py = pybind11; using namespace pybind11::literals; diff --git a/python/dune/xt/common/timings.py b/python/dune/xt/common/timings.py index 941d4b2b33aa7df46b0433a475b0ac531d304164..836066f6f3fd16b1449afd7c7bd1e6744e0702d2 100644 --- a/python/dune/xt/common/timings.py +++ b/python/dune/xt/common/timings.py @@ -13,6 +13,6 @@ from dune.xt import guarded_import -guarded_import(globals(), 'dune.xt.common', '_timings') +guarded_import(globals(), 'dune.xt.common', '_common_timings') instance() diff --git a/python/dune/xt/functions/CMakeLists.txt b/python/dune/xt/functions/CMakeLists.txt index 5d5d3cea431872b94d50bf76ac1f00cb30de4886..badd67b0971ad8fbcf639f3382637b3f6ff7af0f 100644 --- a/python/dune/xt/functions/CMakeLists.txt +++ b/python/dune/xt/functions/CMakeLists.txt @@ -12,15 +12,15 @@ # Tobias Leibner (2019) # ~~~ -dune_pybindxi_add_module(_function_interface_1d EXCLUDE_FROM_ALL function-interface-1d.cc) -dune_pybindxi_add_module(_function_interface_2d EXCLUDE_FROM_ALL function-interface-2d.cc) -dune_pybindxi_add_module(_function_interface_3d EXCLUDE_FROM_ALL function-interface-3d.cc) -dune_pybindxi_add_module(_gridfunction_interface_1d EXCLUDE_FROM_ALL gridfunction-interface-1d.cc) -dune_pybindxi_add_module(_gridfunction_interface_2d EXCLUDE_FROM_ALL gridfunction-interface-2d.cc) -dune_pybindxi_add_module(_gridfunction_interface_3d EXCLUDE_FROM_ALL gridfunction-interface-3d.cc) -dune_pybindxi_add_module(_checkerboard EXCLUDE_FROM_ALL checkerboard.cc) -dune_pybindxi_add_module(_constant EXCLUDE_FROM_ALL constant.cc) -dune_pybindxi_add_module(_expression EXCLUDE_FROM_ALL expression.cc) -dune_pybindxi_add_module(_function_as_grid_function EXCLUDE_FROM_ALL function-as-grid-function.cc) -dune_pybindxi_add_module(_indicator EXCLUDE_FROM_ALL indicator.cc) -dune_pybindxi_add_module(_spe10 EXCLUDE_FROM_ALL spe10.cc) +dune_pybindxi_add_module(_functions_function_interface_1d EXCLUDE_FROM_ALL function-interface-1d.cc) +dune_pybindxi_add_module(_functions_function_interface_2d EXCLUDE_FROM_ALL function-interface-2d.cc) +dune_pybindxi_add_module(_functions_function_interface_3d EXCLUDE_FROM_ALL function-interface-3d.cc) +dune_pybindxi_add_module(_functions_gridfunction_interface_1d EXCLUDE_FROM_ALL gridfunction-interface-1d.cc) +dune_pybindxi_add_module(_functions_gridfunction_interface_2d EXCLUDE_FROM_ALL gridfunction-interface-2d.cc) +dune_pybindxi_add_module(_functions_gridfunction_interface_3d EXCLUDE_FROM_ALL gridfunction-interface-3d.cc) +dune_pybindxi_add_module(_functions_checkerboard EXCLUDE_FROM_ALL checkerboard.cc) +dune_pybindxi_add_module(_functions_constant EXCLUDE_FROM_ALL constant.cc) +dune_pybindxi_add_module(_functions_expression EXCLUDE_FROM_ALL expression.cc) +dune_pybindxi_add_module(_functions_function_as_grid_function EXCLUDE_FROM_ALL function-as-grid-function.cc) +dune_pybindxi_add_module(_functions_indicator EXCLUDE_FROM_ALL indicator.cc) +dune_pybindxi_add_module(_functions_spe10 EXCLUDE_FROM_ALL spe10.cc) diff --git a/python/dune/xt/functions/__init__.py b/python/dune/xt/functions/__init__.py index 33d3dc83e9e68f9a3fb89f2d358871cc5e386f37..3485f09d11304405943ef8e0e5c3b977618da0c9 100644 --- a/python/dune/xt/functions/__init__.py +++ b/python/dune/xt/functions/__init__.py @@ -12,40 +12,21 @@ # Tobias Leibner (2019) # ~~~ -from importlib import import_module +from dune.xt import guarded_import -import dune.xt.common -import dune.xt.la -import dune.xt.grid +for mod_name in ( + '_functions_function_interface_1d', + '_functions_function_interface_2d', + '_functions_function_interface_3d', + '_functions_gridfunction_interface_1d', + '_functions_gridfunction_interface_2d', + '_functions_gridfunction_interface_3d', + '_functions_checkerboard', + '_functions_constant', + '_functions_expression', + '_functions_function_as_grid_function', + '_functions_indicator', + '_functions_spe10', + ): + guarded_import(globals(), 'dune.xt.functions', mod_name) -_modules = ( - '_function_interface_1d', - '_function_interface_2d', - '_function_interface_3d', - '_gridfunction_interface_1d', - '_gridfunction_interface_2d', - '_gridfunction_interface_3d', - '_checkerboard', - '_constant', - '_expression', - '_function_as_grid_function', - '_indicator', - '_spe10', -) - -# see https://stackoverflow.com/questions/43059267/how-to-do-from-module-import-using-importlib -for mod_name in _modules: - try: - mod = import_module('.{}'.format(mod_name), 'dune.xt.functions') - if "__all__" in mod.__dict__: - names = mod.__dict__["__all__"] - else: - # otherwise we import all names that don't begin with _ - names = [x for x in mod.__dict__ if not x.startswith("_")] - globals().update({k: getattr(mod, k) for k in names}) - except ImportError as e: - import os - import logging - if os.environ.get('DXT_PYTHON_DEBUG', False): - raise e - logging.error('dune-xt-functions: could not import {} module'.format(mod_name)) diff --git a/python/dune/xt/functions/checkerboard.cc b/python/dune/xt/functions/checkerboard.cc index 7b22187acda91d60962123a2afe1b6cf28bc3137..42fdbad618a470824aefb5a0053c1112e463650b 100644 --- a/python/dune/xt/functions/checkerboard.cc +++ b/python/dune/xt/functions/checkerboard.cc @@ -54,16 +54,16 @@ void all_grids<boost::tuples::null_type>(pybind11::module&) {} -PYBIND11_MODULE(_checkerboard, m) +PYBIND11_MODULE(_functions_checkerboard, m) { namespace py = pybind11; py::module::import("dune.xt.common"); py::module::import("dune.xt.la"); py::module::import("dune.xt.grid"); - py::module::import("dune.xt.functions._gridfunction_interface_1d"); - py::module::import("dune.xt.functions._gridfunction_interface_2d"); - py::module::import("dune.xt.functions._gridfunction_interface_3d"); + py::module::import("dune.xt.functions._functions_gridfunction_interface_1d"); + py::module::import("dune.xt.functions._functions_gridfunction_interface_2d"); + py::module::import("dune.xt.functions._functions_gridfunction_interface_3d"); all_grids(m); } // PYBIND11_MODULE(...) diff --git a/python/dune/xt/functions/constant.cc b/python/dune/xt/functions/constant.cc index c6ad9a61c240c776ca25ae993ffa2c7f21c278db..398d784ebc132f3102ceac57cf28440216416928 100644 --- a/python/dune/xt/functions/constant.cc +++ b/python/dune/xt/functions/constant.cc @@ -23,15 +23,15 @@ #include "constant.hh" -PYBIND11_MODULE(_constant, m) +PYBIND11_MODULE(_functions_constant, m) { namespace py = pybind11; py::module::import("dune.xt.common"); py::module::import("dune.xt.la"); - py::module::import("dune.xt.functions._function_interface_1d"); - py::module::import("dune.xt.functions._function_interface_2d"); - py::module::import("dune.xt.functions._function_interface_3d"); + py::module::import("dune.xt.functions._functions_function_interface_1d"); + py::module::import("dune.xt.functions._functions_function_interface_2d"); + py::module::import("dune.xt.functions._functions_function_interface_3d"); using namespace Dune::XT::Functions; diff --git a/python/dune/xt/functions/expression.cc b/python/dune/xt/functions/expression.cc index 8a1b645af4eafaff615b67935be37ebb1c2742ed..0b44fe9aa0844e9e2164b76626d89b98b4b45d8f 100644 --- a/python/dune/xt/functions/expression.cc +++ b/python/dune/xt/functions/expression.cc @@ -23,15 +23,15 @@ #include "expression.hh" -PYBIND11_MODULE(_expression, m) +PYBIND11_MODULE(_functions_expression, m) { namespace py = pybind11; py::module::import("dune.xt.common"); py::module::import("dune.xt.la"); - py::module::import("dune.xt.functions._function_interface_1d"); - py::module::import("dune.xt.functions._function_interface_2d"); - py::module::import("dune.xt.functions._function_interface_3d"); + py::module::import("dune.xt.functions._functions_function_interface_1d"); + py::module::import("dune.xt.functions._functions_function_interface_2d"); + py::module::import("dune.xt.functions._functions_function_interface_3d"); using namespace Dune::XT::Functions; diff --git a/python/dune/xt/functions/function-as-grid-function.cc b/python/dune/xt/functions/function-as-grid-function.cc index fd3639ec7c586d531946a1dd449182bbf3234a29..a976bda4b8aead000eeaafa2305125a94586f15c 100644 --- a/python/dune/xt/functions/function-as-grid-function.cc +++ b/python/dune/xt/functions/function-as-grid-function.cc @@ -54,16 +54,19 @@ void all_grids<boost::tuples::null_type>(pybind11::module&) {} -PYBIND11_MODULE(_function_as_grid_function, m) +PYBIND11_MODULE(_functions_function_as_grid_function, m) { namespace py = pybind11; py::module::import("dune.xt.common"); py::module::import("dune.xt.la"); py::module::import("dune.xt.grid"); - py::module::import("dune.xt.functions._gridfunction_interface_1d"); - py::module::import("dune.xt.functions._gridfunction_interface_2d"); - py::module::import("dune.xt.functions._gridfunction_interface_3d"); + py::module::import("dune.xt.functions._functions_function_interface_1d"); + py::module::import("dune.xt.functions._functions_function_interface_2d"); + py::module::import("dune.xt.functions._functions_function_interface_3d"); + py::module::import("dune.xt.functions._functions_gridfunction_interface_1d"); + py::module::import("dune.xt.functions._functions_gridfunction_interface_2d"); + py::module::import("dune.xt.functions._functions_gridfunction_interface_3d"); all_grids(m); } diff --git a/python/dune/xt/functions/function-interface-1d.cc b/python/dune/xt/functions/function-interface-1d.cc index 5b1de0ff6e833171dda84d58f47f44387bd4bea6..a0a84547ed84976830677d450342dd30d8ad0b4a 100644 --- a/python/dune/xt/functions/function-interface-1d.cc +++ b/python/dune/xt/functions/function-interface-1d.cc @@ -23,7 +23,7 @@ #include "function-interface.hh" -PYBIND11_MODULE(_function_interface_1d, m) +PYBIND11_MODULE(_functions_function_interface_1d, m) { namespace py = pybind11; diff --git a/python/dune/xt/functions/function-interface-2d.cc b/python/dune/xt/functions/function-interface-2d.cc index a8fe75642eec66747676d5186b76c84b0a6ceeb2..3e44773ccafc3ee49bbb8d926625698ac71aaa7e 100644 --- a/python/dune/xt/functions/function-interface-2d.cc +++ b/python/dune/xt/functions/function-interface-2d.cc @@ -23,7 +23,7 @@ #include "function-interface.hh" -PYBIND11_MODULE(_function_interface_2d, m) +PYBIND11_MODULE(_functions_function_interface_2d, m) { namespace py = pybind11; diff --git a/python/dune/xt/functions/function-interface-3d.cc b/python/dune/xt/functions/function-interface-3d.cc index 3e92818ffe318df35553a87514c1f81ebd6cccac..5bc2c6fc531d66d3782020453275ea394a0d67e8 100644 --- a/python/dune/xt/functions/function-interface-3d.cc +++ b/python/dune/xt/functions/function-interface-3d.cc @@ -23,7 +23,7 @@ #include "function-interface.hh" -PYBIND11_MODULE(_function_interface_3d, m) +PYBIND11_MODULE(_functions_function_interface_3d, m) { namespace py = pybind11; diff --git a/python/dune/xt/functions/gridfunction-interface-1d.cc b/python/dune/xt/functions/gridfunction-interface-1d.cc index 65186c5dc62f0627961923de13c099586e9dc3df..7c6b4a8e24816d7dc3eb5079518e45d91b8f6201 100644 --- a/python/dune/xt/functions/gridfunction-interface-1d.cc +++ b/python/dune/xt/functions/gridfunction-interface-1d.cc @@ -38,14 +38,14 @@ void bind_all_1d_grids<boost::tuples::null_type>(pybind11::module&) {} -PYBIND11_MODULE(_gridfunction_interface_1d, m) +PYBIND11_MODULE(_functions_gridfunction_interface_1d, m) { namespace py = pybind11; py::module::import("dune.xt.common"); py::module::import("dune.xt.la"); py::module::import("dune.xt.grid"); - py::module::import("dune.xt.functions._function_interface_1d"); + py::module::import("dune.xt.functions._functions_function_interface_1d"); bind_all_1d_grids(m); } // PYBIND11_MODULE(...) diff --git a/python/dune/xt/functions/gridfunction-interface-2d.cc b/python/dune/xt/functions/gridfunction-interface-2d.cc index 22a010f7662de7029d29bc26507dcff86a313990..05c0397bc5344018c7ace45555535dd2f3bd2ca6 100644 --- a/python/dune/xt/functions/gridfunction-interface-2d.cc +++ b/python/dune/xt/functions/gridfunction-interface-2d.cc @@ -38,14 +38,14 @@ void bind_all_2d_grids<boost::tuples::null_type>(pybind11::module&) {} -PYBIND11_MODULE(_gridfunction_interface_2d, m) +PYBIND11_MODULE(_functions_gridfunction_interface_2d, m) { namespace py = pybind11; py::module::import("dune.xt.common"); py::module::import("dune.xt.la"); py::module::import("dune.xt.grid"); - py::module::import("dune.xt.functions._function_interface_2d"); + py::module::import("dune.xt.functions._functions_function_interface_2d"); bind_all_2d_grids(m); } // PYBIND11_MODULE(...) diff --git a/python/dune/xt/functions/gridfunction-interface-3d.cc b/python/dune/xt/functions/gridfunction-interface-3d.cc index f23e7701ff9cb1addd882b63c1bdfb479d458d2a..217f5ec41f5ef6e6308048d537fee4f99f3257b5 100644 --- a/python/dune/xt/functions/gridfunction-interface-3d.cc +++ b/python/dune/xt/functions/gridfunction-interface-3d.cc @@ -38,14 +38,14 @@ void bind_all_3d_grids<boost::tuples::null_type>(pybind11::module&) {} -PYBIND11_MODULE(_gridfunction_interface_3d, m) +PYBIND11_MODULE(_functions_gridfunction_interface_3d, m) { namespace py = pybind11; py::module::import("dune.xt.common"); py::module::import("dune.xt.la"); py::module::import("dune.xt.grid"); - py::module::import("dune.xt.functions._function_interface_3d"); + py::module::import("dune.xt.functions._functions_function_interface_3d"); bind_all_3d_grids(m); } // PYBIND11_MODULE(...) diff --git a/python/dune/xt/functions/indicator.cc b/python/dune/xt/functions/indicator.cc index 4e0dbb48d1e59ebb3b53807bd7ed5564ea46b2d7..a9e06be818be1973bdd89ca237fcd0282cab6f36 100644 --- a/python/dune/xt/functions/indicator.cc +++ b/python/dune/xt/functions/indicator.cc @@ -54,16 +54,16 @@ void all_grids<boost::tuples::null_type>(pybind11::module&) {} -PYBIND11_MODULE(_indicator, m) +PYBIND11_MODULE(_functions_indicator, m) { namespace py = pybind11; py::module::import("dune.xt.common"); py::module::import("dune.xt.la"); py::module::import("dune.xt.grid"); - py::module::import("dune.xt.functions._gridfunction_interface_1d"); - py::module::import("dune.xt.functions._gridfunction_interface_2d"); - py::module::import("dune.xt.functions._gridfunction_interface_3d"); + py::module::import("dune.xt.functions._functions_gridfunction_interface_1d"); + py::module::import("dune.xt.functions._functions_gridfunction_interface_2d"); + py::module::import("dune.xt.functions._functions_gridfunction_interface_3d"); all_grids(m); diff --git a/python/dune/xt/functions/spe10.cc b/python/dune/xt/functions/spe10.cc index 59cd2f3925e2db3b667be8b0afb90f231f1d3447..7a518b7ee4461ccf7bb2de5c90a9182b79ee921a 100644 --- a/python/dune/xt/functions/spe10.cc +++ b/python/dune/xt/functions/spe10.cc @@ -51,16 +51,16 @@ void all_grids<boost::tuples::null_type>(pybind11::module&) {} -PYBIND11_MODULE(_spe10, m) +PYBIND11_MODULE(_functions_spe10, m) { namespace py = pybind11; py::module::import("dune.xt.common"); py::module::import("dune.xt.la"); py::module::import("dune.xt.grid"); - py::module::import("dune.xt.functions._gridfunction_interface_1d"); - py::module::import("dune.xt.functions._gridfunction_interface_2d"); - py::module::import("dune.xt.functions._gridfunction_interface_3d"); + py::module::import("dune.xt.functions._functions_gridfunction_interface_1d"); + py::module::import("dune.xt.functions._functions_gridfunction_interface_2d"); + py::module::import("dune.xt.functions._functions_gridfunction_interface_3d"); all_grids(m); } diff --git a/python/dune/xt/grid/CMakeLists.txt b/python/dune/xt/grid/CMakeLists.txt index ee5e86ef7edb0e17f3020daa6913bb5c3df382c6..e0912a2094fc9a0c24023458240685514e54050f 100644 --- a/python/dune/xt/grid/CMakeLists.txt +++ b/python/dune/xt/grid/CMakeLists.txt @@ -12,9 +12,9 @@ # Tobias Leibner (2019) # ~~~ -dune_pybindxi_add_module(_boundaryinfo EXCLUDE_FROM_ALL boundaryinfo.cc) -dune_pybindxi_add_module(_types EXCLUDE_FROM_ALL types.cc) -dune_pybindxi_add_module(_walker EXCLUDE_FROM_ALL walker.cc) +dune_pybindxi_add_module(_grid_boundaryinfo EXCLUDE_FROM_ALL boundaryinfo.cc) dune_pybindxi_add_module(_grid_gridprovider_cube EXCLUDE_FROM_ALL gridprovider/cube.cc) dune_pybindxi_add_module(_grid_gridprovider_provider EXCLUDE_FROM_ALL gridprovider/provider.cc) dune_pybindxi_add_module(_grid_traits EXCLUDE_FROM_ALL traits.cc) +dune_pybindxi_add_module(_grid_types EXCLUDE_FROM_ALL types.cc) +dune_pybindxi_add_module(_grid_walker EXCLUDE_FROM_ALL walker.cc) diff --git a/python/dune/xt/grid/__init__.py b/python/dune/xt/grid/__init__.py index b305efc58dc1a94b949e122413a8a2dc55e8a171..5e4a2aeec6f3d918e92ae6d010fe1def3105f8c3 100644 --- a/python/dune/xt/grid/__init__.py +++ b/python/dune/xt/grid/__init__.py @@ -11,17 +11,28 @@ # Tobias Leibner (2019) # ~~~ +from numbers import Number + from dune.xt import guarded_import for mod_name in ( - '_boundaryinfo', - '_types', - '_walker', - '_provider', + '_grid_boundaryinfo', + '_grid_gridprovider_cube', + '_grid_gridprovider_provider', + '_grid_traits', + '_grid_types', + '_grid_walker', ): guarded_import(globals(), 'dune.xt.grid', mod_name) +def Dim(d): + assert isinstance(d, Number) + if f'Dimension{d}' not in globals(): + raise RuntimeError(f'Dimension {d} not available, extend <python/dune/xt/grid/traits.cc>!') + return globals()[f'Dimension{d}']() + + def make_walker(gridprovider, level=0): for factory in [globals()[s] for s in globals().keys() if s.startswith('make_walker_on_')]: try: diff --git a/python/dune/xt/grid/types.cc b/python/dune/xt/grid/types.cc index 22692a5cf033a8545e11ef5c25e8bc2e3d82e71e..7f43c3c6d0f162dd93ba6e61e54f335f47889691 100644 --- a/python/dune/xt/grid/types.cc +++ b/python/dune/xt/grid/types.cc @@ -41,7 +41,7 @@ template <> void addbind_for_Grid<boost::tuples::null_type>(pybind11::module&, std::vector<std::string>&) {} -PYBIND11_MODULE(_types, m) +PYBIND11_MODULE(_grid_types, m) { namespace py = pybind11; diff --git a/python/dune/xt/grid/walker.cc b/python/dune/xt/grid/walker.cc index 8ea5b973d3ec44a1372ce0dd1d3fc276da146f8f..e50e2a26083e11a04d29713fe6cbcb7f5c5e4ea4 100644 --- a/python/dune/xt/grid/walker.cc +++ b/python/dune/xt/grid/walker.cc @@ -57,7 +57,7 @@ void addbind_for_Grid<boost::tuples::null_type>(pybind11::module&) {} -PYBIND11_MODULE(_walker, m) +PYBIND11_MODULE(_grid_walker, m) { namespace py = pybind11;