diff --git a/dune/xt/common/bindings.cc b/dune/xt/common/bindings.cc index f974564628fbcce809f45d5b832c4a3ae698f189..eb10bdfdfebeb1e688cbdc744d40e405c51e983b 100644 --- a/dune/xt/common/bindings.cc +++ b/dune/xt/common/bindings.cc @@ -18,6 +18,10 @@ #include <dune/common/parallel/mpihelper.hh> +#if HAVE_DUNE_FEM +#include <dune/fem/misc/mpimanager.hh> +#endif + #include <dune/pybindxi/pybind11.h> #include <dune/pybindxi/stl.h> @@ -43,7 +47,11 @@ PYBIND11_PLUGIN(_common) [](const std::vector<std::string>& args) { int argc = boost::numeric_cast<int>(args.size()); char** argv = Dune::XT::Common::vector_to_main_args(args); +#if HAVE_DUNE_FEM + Dune::Fem::MPIManager::initialize(argc, argv); +#else Dune::MPIHelper::instance(argc, argv); +#endif }, "args"_a = std::vector<std::string>());