diff --git a/python/dune/xt/functions/gridfunction-interface.cc b/python/dune/xt/functions/gridfunction-interface.cc deleted file mode 100644 index 27ec499bb319b73ddf84376a3cc1780280c51d4d..0000000000000000000000000000000000000000 --- a/python/dune/xt/functions/gridfunction-interface.cc +++ /dev/null @@ -1,104 +0,0 @@ -// This file is part of the dune-xt project: -// https://github.com/dune-community/dune-xt -// Copyright 2009-2018 dune-xt developers and contributors. All rights reserved. -// License: Dual licensed as BSD 2-Clause License (http://opensource.org/licenses/BSD-2-Clause) -// or GPL-2.0+ (http://opensource.org/licenses/gpl-license) -// with "runtime exception" (http://www.dune-project.org/license.html) -// Authors: -// Felix Schindler (2019) - -#include "config.h" - -#include <string> -#include <vector> - -#include <dune/common/parallel/mpihelper.hh> - -#include <dune/pybindxi/pybind11.h> -#include <dune/pybindxi/stl.h> - -#include <python/dune/xt/common/bindings.hh> -#include <python/dune/xt/common/exceptions.bindings.hh> -#include <python/dune/xt/grid/grids.bindings.hh> - -#include "gridfunction-interface.hh" - - -template <class G> -void add_bind_for_Grid_interface(pybind11::module& m) -{ - using namespace Dune::XT::Functions; - const auto grid_id = Dune::XT::Grid::bindings::grid_name<G>::value(); - constexpr const auto diff = CombinationType::difference; - constexpr const auto sum = CombinationType::sum; - constexpr const auto prod = CombinationType::product; - constexpr const auto g_dim = G::dimension; - - auto i_1_1 = bind_GridFunctionInterface<G, 1, 1>(m, grid_id); - auto i_2_1 = bind_GridFunctionInterface<G, 2, 1>(m, grid_id); - auto i_2_2 = bind_GridFunctionInterface<G, 2, 2>(m, grid_id); - auto i_3_1 = bind_GridFunctionInterface<G, 3, 1>(m, grid_id); - auto i_3_3 = bind_GridFunctionInterface<G, 3, 3>(m, grid_id); - - bind_combined_GridFunction<G, g_dim, diff, 1, 1, 1, 1>(m, grid_id); - addbind_GridFunctionInterface_combined_op<G, g_dim, diff, 1, 1, 1, 1>(i_1_1); - bind_combined_GridFunction<G, g_dim, diff, 2, 1, 2, 1>(m, grid_id); - addbind_GridFunctionInterface_combined_op<G, g_dim, diff, 2, 1, 2, 1>(i_2_1); - bind_combined_GridFunction<G, g_dim, diff, 2, 2, 2, 2>(m, grid_id); - addbind_GridFunctionInterface_combined_op<G, g_dim, diff, 2, 2, 2, 2>(i_2_2); - bind_combined_GridFunction<G, g_dim, diff, 3, 1, 3, 1>(m, grid_id); - addbind_GridFunctionInterface_combined_op<G, g_dim, diff, 3, 1, 3, 1>(i_3_1); - bind_combined_GridFunction<G, g_dim, diff, 3, 3, 3, 3>(m, grid_id); - addbind_GridFunctionInterface_combined_op<G, g_dim, diff, 3, 3, 3, 3>(i_3_3); - - bind_combined_GridFunction<G, g_dim, sum, 1, 1, 1, 1>(m, grid_id); - addbind_GridFunctionInterface_combined_op<G, g_dim, sum, 1, 1, 1, 1>(i_1_1); - bind_combined_GridFunction<G, g_dim, sum, 2, 1, 2, 1>(m, grid_id); - addbind_GridFunctionInterface_combined_op<G, g_dim, sum, 2, 1, 2, 1>(i_2_1); - bind_combined_GridFunction<G, g_dim, sum, 2, 2, 2, 2>(m, grid_id); - addbind_GridFunctionInterface_combined_op<G, g_dim, sum, 2, 2, 2, 2>(i_2_2); - bind_combined_GridFunction<G, g_dim, sum, 3, 1, 3, 1>(m, grid_id); - addbind_GridFunctionInterface_combined_op<G, g_dim, sum, 3, 1, 3, 1>(i_3_1); - bind_combined_GridFunction<G, g_dim, sum, 3, 3, 3, 3>(m, grid_id); - addbind_GridFunctionInterface_combined_op<G, g_dim, sum, 3, 3, 3, 3>(i_3_3); - - bind_combined_GridFunction<G, g_dim, prod, 1, 1, 1, 1>(m, grid_id); - addbind_GridFunctionInterface_combined_op<G, g_dim, prod, 1, 1, 1, 1>(i_1_1); - bind_combined_GridFunction<G, g_dim, prod, 1, 1, 2, 1>(m, grid_id); - addbind_GridFunctionInterface_combined_op<G, g_dim, prod, 1, 1, 2, 1>(i_1_1); - bind_combined_GridFunction<G, g_dim, prod, 1, 1, 2, 2>(m, grid_id); - addbind_GridFunctionInterface_combined_op<G, g_dim, prod, 1, 1, 2, 2>(i_1_1); - bind_combined_GridFunction<G, g_dim, prod, 1, 1, 3, 1>(m, grid_id); - addbind_GridFunctionInterface_combined_op<G, g_dim, prod, 1, 1, 3, 1>(i_1_1); - bind_combined_GridFunction<G, g_dim, prod, 1, 1, 3, 3>(m, grid_id); - addbind_GridFunctionInterface_combined_op<G, g_dim, prod, 1, 1, 3, 3>(i_1_1); -} // ... addbind_for_Grid_interface(...) - - -template <class Tuple = Dune::XT::Grid::AvailableGridTypes> -void all_grid_interfaces(pybind11::module& m) -{ - add_bind_for_Grid_interface<typename Tuple::head_type>(m); - all_grid_interfaces<typename Tuple::tail_type>(m); -} // ... addbind_for_Grid(...) - - -template <> -void all_grid_interfaces<boost::tuples::null_type>(pybind11::module&) -{} - - -PYBIND11_MODULE(_gridfunction_interface, m) -{ - namespace py = pybind11; - - Dune::XT::Common::bindings::addbind_exceptions(m); - Dune::XT::Common::bindings::add_initialization(m, "dune.xt.functions"); - - 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"); - - all_grid_interfaces(m); -} // PYBIND11_MODULE(...)