diff --git a/dune/gdt/CMakeLists.txt b/dune/gdt/CMakeLists.txt index 43980b4bc5c31352e305b68277d6b2418ba45e21..5b2f95801e208c1fb1f74a6e622631f487e82f2c 100644 --- a/dune/gdt/CMakeLists.txt +++ b/dune/gdt/CMakeLists.txt @@ -95,8 +95,8 @@ if(dune-pybindxi_FOUND) target_link_libraries(__functionals_elliptic_ipdg __functionals_elliptic_ipdg_helper) list(APPEND pybindxi_modules __functionals_elliptic_ipdg) dune_pybindxi_add_helper_lib(__functionals_l2_helper EXCLUDE_FROM_ALL - functionals/l2.bindings/alu_fem_istl.cc - functionals/l2.bindings/yasp_fem_istl.cc) + functionals/l2.bindings/alu_gdt_istl.cc + functionals/l2.bindings/yasp_gdt_istl.cc) dune_pybindxi_add_module(__functionals_l2 EXCLUDE_FROM_ALL functionals/l2.bindings.cc) target_link_libraries(__functionals_l2 __functionals_l2_helper) list(APPEND pybindxi_modules __functionals_l2) diff --git a/dune/gdt/assembler/system.bindings.hh b/dune/gdt/assembler/system.bindings.hh index aba0262aa386c43eb8c4ff9ad9c9842e734bcf1f..869cef1ff0452411a5b84642eb0bae6032bf5d63 100644 --- a/dune/gdt/assembler/system.bindings.hh +++ b/dune/gdt/assembler/system.bindings.hh @@ -327,13 +327,11 @@ public: _DUNE_GDT_ASSEMBLER_SYSTEM_BIND_LIB_YASP(_pre, dd_subdomain, part, _s_type, fem, dd_subdomain, _p, 1, 1) #define DUNE_GDT_ASSEMBLER_SYSTEM_BIND_LIB_ALU_FEM(_pre) \ - _DUNE_GDT_ASSEMBLER_SYSTEM_BIND_LIB_ALU_FEM(_pre, cg, 1, 1, 1); \ _DUNE_GDT_ASSEMBLER_SYSTEM_BIND_LIB_ALU_FEM(_pre, dg, 1, 1, 1); \ _DUNE_GDT_ASSEMBLER_SYSTEM_BIND_LIB_ALU(_pre, dd_subdomain_boundary, part, dg, fem, dd_subdomain, 1, 1, 1); \ _DUNE_GDT_ASSEMBLER_SYSTEM_BIND_LIB_ALU(_pre, dd_subdomain_coupling, part, dg, fem, dd_subdomain, 1, 1, 1) #define DUNE_GDT_ASSEMBLER_SYSTEM_BIND_LIB_YASP_FEM(_pre) \ - _DUNE_GDT_ASSEMBLER_SYSTEM_BIND_LIB_YASP_FEM(_pre, cg, 1, 1, 1); \ _DUNE_GDT_ASSEMBLER_SYSTEM_BIND_LIB_YASP_FEM(_pre, dg, 1, 1, 1); \ _DUNE_GDT_ASSEMBLER_SYSTEM_BIND_LIB_YASP(_pre, dd_subdomain_boundary, part, dg, fem, dd_subdomain, 1, 1, 1); \ _DUNE_GDT_ASSEMBLER_SYSTEM_BIND_LIB_YASP(_pre, dd_subdomain_coupling, part, dg, fem, dd_subdomain, 1, 1, 1) @@ -351,10 +349,13 @@ public: _DUNE_GDT_ASSEMBLER_SYSTEM_BIND_LIB_YASP(_pre, leaf, view, _s_type, gdt, leaf, _p, 1, 1); \ _DUNE_GDT_ASSEMBLER_SYSTEM_BIND_LIB_YASP(_pre, level, view, _s_type, gdt, level, _p, 1, 1) -#define DUNE_GDT_ASSEMBLER_SYSTEM_BIND_LIB_ALU_GDT(_pre) _DUNE_GDT_ASSEMBLER_SYSTEM_BIND_LIB_ALU_GDT(_pre, fv, 0, 1, 1) +#define DUNE_GDT_ASSEMBLER_SYSTEM_BIND_LIB_ALU_GDT(_pre) \ + _DUNE_GDT_ASSEMBLER_SYSTEM_BIND_LIB_ALU_GDT(_pre, fv, 0, 1, 1); \ + _DUNE_GDT_ASSEMBLER_SYSTEM_BIND_LIB_ALU_GDT(_pre, cg, 1, 1, 1) #define DUNE_GDT_ASSEMBLER_SYSTEM_BIND_LIB_YASP_GDT(_pre) \ - _DUNE_GDT_ASSEMBLER_SYSTEM_BIND_LIB_YASP_GDT(_pre, fv, 0, 1, 1) + _DUNE_GDT_ASSEMBLER_SYSTEM_BIND_LIB_YASP_GDT(_pre, fv, 0, 1, 1); \ + _DUNE_GDT_ASSEMBLER_SYSTEM_BIND_LIB_YASP_GDT(_pre, cg, 1, 1, 1) #define DUNE_GDT_ASSEMBLER_SYSTEM_BIND_LIB(_pre) \ DUNE_GDT_ASSEMBLER_SYSTEM_BIND_LIB_ALU_FEM(_pre); \ @@ -414,7 +415,7 @@ DUNE_GDT_ASSEMBLER_SYSTEM_BIND_LIB(extern template); _DUNE_GDT_ASSEMBLER_SYSTEM_BIND_ALL_GRIDS(_m, level, view, _s_type, gdt, level, _p, 1, 1) #define DUNE_GDT_ASSEMBLER_SYSTEM_BIND(_m) \ - _DUNE_GDT_ASSEMBLER_SYSTEM_BIND_FEM(_m, cg, 1, 1, 1); \ + _DUNE_GDT_ASSEMBLER_SYSTEM_BIND_GDT(_m, cg, 1, 1, 1); \ _DUNE_GDT_ASSEMBLER_SYSTEM_BIND_FEM(_m, dg, 1, 1, 1); \ _DUNE_GDT_ASSEMBLER_SYSTEM_BIND_ALL_GRIDS(_m, dd_subdomain_boundary, part, dg, fem, dd_subdomain, 1, 1, 1); \ _DUNE_GDT_ASSEMBLER_SYSTEM_BIND_ALL_GRIDS(_m, dd_subdomain_coupling, part, dg, fem, dd_subdomain, 1, 1, 1); \ diff --git a/dune/gdt/discretefunction/default.bindings.hh b/dune/gdt/discretefunction/default.bindings.hh index 5e25db0725b999e7b8ad663b7db8bc101fba0d06..9e17063dbc7b847235e696ca71812cdcd8209fe3 100644 --- a/dune/gdt/discretefunction/default.bindings.hh +++ b/dune/gdt/discretefunction/default.bindings.hh @@ -315,8 +315,6 @@ public: #if HAVE_DUNE_FEM #define _DUNE_GDT_DISCRETEFUNCTION_DEFAULT_BIND_FEM(_m) \ - _DUNE_GDT_DISCRETEFUNCTION_DEFAULT_BIND_ALL_GRIDS(_m, leaf, cg, fem, 1, 1, 1); \ - _DUNE_GDT_DISCRETEFUNCTION_DEFAULT_BIND_ALL_GRIDS(_m, level, cg, fem, 1, 1, 1); \ _DUNE_GDT_DISCRETEFUNCTION_DEFAULT_BIND_ALL_GRIDS(_m, dd_subdomain, cg, fem, 1, 1, 1); \ _DUNE_GDT_DISCRETEFUNCTION_DEFAULT_BIND_ALL_GRIDS(_m, dd_subdomain, block_cg, fem, 1, 1, 1); \ _DUNE_GDT_DISCRETEFUNCTION_DEFAULT_BIND_ALL_GRIDS(_m, leaf, dg, fem, 1, 1, 1); \ @@ -329,7 +327,9 @@ public: #define _DUNE_GDT_DISCRETEFUNCTION_DEFAULT_BIND_GDT(_m) \ _DUNE_GDT_DISCRETEFUNCTION_DEFAULT_BIND_ALL_GRIDS(_m, leaf, fv, gdt, 0, 1, 1); \ - _DUNE_GDT_DISCRETEFUNCTION_DEFAULT_BIND_ALL_GRIDS(_m, level, fv, gdt, 0, 1, 1) + _DUNE_GDT_DISCRETEFUNCTION_DEFAULT_BIND_ALL_GRIDS(_m, level, fv, gdt, 0, 1, 1); \ + _DUNE_GDT_DISCRETEFUNCTION_DEFAULT_BIND_ALL_GRIDS(_m, leaf, cg, gdt, 1, 1, 1); \ + _DUNE_GDT_DISCRETEFUNCTION_DEFAULT_BIND_ALL_GRIDS(_m, level, cg, gdt, 1, 1, 1); #if HAVE_DUNE_PDELAB #define _DUNE_GDT_DISCRETEFUNCTION_DEFAULT_BIND_PDELAB(_m) \ diff --git a/dune/gdt/functionals/elliptic-ipdg.bindings.hh b/dune/gdt/functionals/elliptic-ipdg.bindings.hh index 6c8e5645cc116fd03c39f3e650150292cafe153a..160766b07faa9074c0db705df91523b04ad76aa3 100644 --- a/dune/gdt/functionals/elliptic-ipdg.bindings.hh +++ b/dune/gdt/functionals/elliptic-ipdg.bindings.hh @@ -537,17 +537,17 @@ public: _prefix, 2, YASP_2D_EQUIDISTANT_OFFSET, _layer, _g_backend, _s_type, _s_backend, _p, _la) // alu_fem__istl.cc -#if HAVE_DUNE_ALUGRID && HAVE_DUNE_FEM && HAVE_DUNE_ISTL -DUNE_GDT_FUNCTIONALS_ELLIPTIC_IPDG_BIND_LIB_ALU(extern template, leaf, part, cg, fem, 1, istl_dense); -DUNE_GDT_FUNCTIONALS_ELLIPTIC_IPDG_BIND_LIB_ALU(extern template, level, part, cg, fem, 1, istl_dense); DUNE_GDT_FUNCTIONALS_ELLIPTIC_IPDG_BIND_LIB_ALU(extern template, dd_subdomain, part, cg, fem, 1, istl_dense); +#if HAVE_DUNE_ALUGRID && HAVE_DUNE_ISTL +DUNE_GDT_FUNCTIONALS_ELLIPTIC_IPDG_BIND_LIB_ALU(extern template, leaf, view, cg, gdt, 1, istl_dense); +DUNE_GDT_FUNCTIONALS_ELLIPTIC_IPDG_BIND_LIB_ALU(extern template, level, view, cg, gdt, 1, istl_dense); #endif // yasp_fem_istl.cc -#if HAVE_DUNE_FEM && HAVE_DUNE_ISTL -DUNE_GDT_FUNCTIONALS_ELLIPTIC_IPDG_BIND_LIB_YASP(extern template, leaf, part, cg, fem, 1, istl_dense); -DUNE_GDT_FUNCTIONALS_ELLIPTIC_IPDG_BIND_LIB_YASP(extern template, level, part, cg, fem, 1, istl_dense); DUNE_GDT_FUNCTIONALS_ELLIPTIC_IPDG_BIND_LIB_YASP(extern template, dd_subdomain, part, cg, fem, 1, istl_dense); +#if HAVE_DUNE_ISTL +DUNE_GDT_FUNCTIONALS_ELLIPTIC_IPDG_BIND_LIB_YASP(extern template, leaf, view, cg, gdt, 1, istl_dense); +DUNE_GDT_FUNCTIONALS_ELLIPTIC_IPDG_BIND_LIB_YASP(extern template, level, view, cg, gdt, 1, istl_dense); #endif // end: this is what we need for the lib diff --git a/dune/gdt/functionals/l2.bindings.cc b/dune/gdt/functionals/l2.bindings.cc index 4ac20821f16bd015b5b2c7749796316d80a27f36..81c09cf8583382d6c6a6c25ab3ab935728ffc406 100644 --- a/dune/gdt/functionals/l2.bindings.cc +++ b/dune/gdt/functionals/l2.bindings.cc @@ -42,23 +42,27 @@ PYBIND11_PLUGIN(__functionals_l2) // alu_fem_istl.cc #if HAVE_DUNE_ALUGRID && HAVE_DUNE_FEM && HAVE_DUNE_ISTL - DUNE_GDT_FUNCTIONALS_L2_BIND_ALU(m, leaf, part, cg, fem, 1, istl_sparse); - DUNE_GDT_FUNCTIONALS_L2_BIND_ALU(m, level, part, cg, fem, 1, istl_sparse); DUNE_GDT_FUNCTIONALS_L2_BIND_ALU(m, dd_subdomain, part, cg, fem, 1, istl_sparse); DUNE_GDT_FUNCTIONALS_L2_BIND_ALU(m, leaf, part, dg, fem, 1, istl_sparse); DUNE_GDT_FUNCTIONALS_L2_BIND_ALU(m, level, part, dg, fem, 1, istl_sparse); DUNE_GDT_FUNCTIONALS_L2_BIND_ALU(m, dd_subdomain, part, dg, fem, 1, istl_sparse); #endif +#if HAVE_DUNE_ALUGRID && HAVE_DUNE_ISTL + DUNE_GDT_FUNCTIONALS_L2_BIND_ALU(m, leaf, view, cg, gdt, 1, istl_sparse); + DUNE_GDT_FUNCTIONALS_L2_BIND_ALU(m, level, view, cg, gdt, 1, istl_sparse); +#endif // yasp_fem_istl.cc #if HAVE_DUNE_FEM && HAVE_DUNE_ISTL - DUNE_GDT_FUNCTIONALS_L2_BIND_YASP(m, leaf, part, cg, fem, 1, istl_sparse); - DUNE_GDT_FUNCTIONALS_L2_BIND_YASP(m, level, part, cg, fem, 1, istl_sparse); DUNE_GDT_FUNCTIONALS_L2_BIND_YASP(m, dd_subdomain, part, cg, fem, 1, istl_sparse); DUNE_GDT_FUNCTIONALS_L2_BIND_YASP(m, leaf, part, dg, fem, 1, istl_sparse); DUNE_GDT_FUNCTIONALS_L2_BIND_YASP(m, level, part, dg, fem, 1, istl_sparse); DUNE_GDT_FUNCTIONALS_L2_BIND_YASP(m, dd_subdomain, part, dg, fem, 1, istl_sparse); #endif +#if HAVE_DUNE_ISTL + DUNE_GDT_FUNCTIONALS_L2_BIND_YASP(m, leaf, view, cg, gdt, 1, istl_sparse); + DUNE_GDT_FUNCTIONALS_L2_BIND_YASP(m, level, view, cg, gdt, 1, istl_sparse); +#endif m.def("_init_mpi", [](const std::vector<std::string>& args) { diff --git a/dune/gdt/functionals/l2.bindings.hh b/dune/gdt/functionals/l2.bindings.hh index a6f786f12de575b6ec0e57207c48ef2ed85a418f..12c76b37b658c34349be02271d967f5c025524ac 100644 --- a/dune/gdt/functionals/l2.bindings.hh +++ b/dune/gdt/functionals/l2.bindings.hh @@ -234,17 +234,17 @@ public: _prefix, 2, YASP_2D_EQUIDISTANT_OFFSET, _layer, _g_backend, _s_type, _s_backend, _p, _la) // alu_fem_istl.cc -#if HAVE_DUNE_ALUGRID && HAVE_DUNE_FEM && HAVE_DUNE_ISTL -DUNE_GDT_FUNCTIONALS_L2_BIND_LIB_ALU(extern template, leaf, part, cg, fem, 1, istl_sparse); -DUNE_GDT_FUNCTIONALS_L2_BIND_LIB_ALU(extern template, level, part, cg, fem, 1, istl_sparse); DUNE_GDT_FUNCTIONALS_L2_BIND_LIB_ALU(extern template, dd_subdomain, part, cg, fem, 1, istl_sparse); +#if HAVE_DUNE_ALUGRID && HAVE_DUNE_ISTL +DUNE_GDT_FUNCTIONALS_L2_BIND_LIB_ALU(extern template, leaf, part, cg, gdt, 1, istl_sparse); +DUNE_GDT_FUNCTIONALS_L2_BIND_LIB_ALU(extern template, level, part, cg, gdt, 1, istl_sparse); #endif // yasp_fem_istl.cc -#if HAVE_DUNE_FEM && HAVE_DUNE_ISTL -DUNE_GDT_FUNCTIONALS_L2_BIND_LIB_YASP(extern template, leaf, part, cg, fem, 1, istl_sparse); -DUNE_GDT_FUNCTIONALS_L2_BIND_LIB_YASP(extern template, level, part, cg, fem, 1, istl_sparse); DUNE_GDT_FUNCTIONALS_L2_BIND_LIB_YASP(extern template, dd_subdomain, part, cg, fem, 1, istl_sparse); +#if HAVE_DUNE_ISTL +DUNE_GDT_FUNCTIONALS_L2_BIND_LIB_YASP(extern template, leaf, part, cg, gdt, 1, istl_sparse); +DUNE_GDT_FUNCTIONALS_L2_BIND_LIB_YASP(extern template, level, part, cg, gdt, 1, istl_sparse); #endif // end: this is what we need for the lib diff --git a/dune/gdt/functionals/l2.bindings/alu_fem_istl.cc b/dune/gdt/functionals/l2.bindings/alu_fem_istl.cc deleted file mode 100644 index d949c479905842d98006c7f99a3926c72c58b977..0000000000000000000000000000000000000000 --- a/dune/gdt/functionals/l2.bindings/alu_fem_istl.cc +++ /dev/null @@ -1,24 +0,0 @@ -// This file is part of the dune-gdt project: -// https://github.com/dune-community/dune-gdt -// Copyright 2010-2018 dune-gdt 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 (2017) - -#include "config.h" - -#if HAVE_DUNE_PYBINDXI - -#include <dune/gdt/functionals/l2.bindings.hh> - - -#if HAVE_DUNE_ALUGRID && HAVE_DUNE_FEM && HAVE_DUNE_ISTL -DUNE_GDT_FUNCTIONALS_L2_BIND_LIB_ALU(template, leaf, part, cg, fem, 1, istl_sparse); -DUNE_GDT_FUNCTIONALS_L2_BIND_LIB_ALU(template, level, part, cg, fem, 1, istl_sparse); -DUNE_GDT_FUNCTIONALS_L2_BIND_LIB_ALU(template, dd_subdomain, part, cg, fem, 1, istl_sparse); -#endif - - -#endif // HAVE_DUNE_PYBINDXI diff --git a/dune/gdt/functionals/l2.bindings/yasp_fem_istl.cc b/dune/gdt/functionals/l2.bindings/yasp_fem_istl.cc deleted file mode 100644 index f90afb8df173b4e74238d74de47f10debe91463b..0000000000000000000000000000000000000000 --- a/dune/gdt/functionals/l2.bindings/yasp_fem_istl.cc +++ /dev/null @@ -1,24 +0,0 @@ -// This file is part of the dune-gdt project: -// https://github.com/dune-community/dune-gdt -// Copyright 2010-2018 dune-gdt 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 (2017) - -#include "config.h" - -#if HAVE_DUNE_PYBINDXI - -#include <dune/gdt/functionals/l2.bindings.hh> - - -#if HAVE_DUNE_FEM && HAVE_DUNE_ISTL -DUNE_GDT_FUNCTIONALS_L2_BIND_LIB_YASP(template, leaf, part, cg, fem, 1, istl_sparse); -DUNE_GDT_FUNCTIONALS_L2_BIND_LIB_YASP(template, level, part, cg, fem, 1, istl_sparse); -DUNE_GDT_FUNCTIONALS_L2_BIND_LIB_YASP(template, dd_subdomain, part, cg, fem, 1, istl_sparse); -#endif - - -#endif // HAVE_DUNE_PYBINDXI diff --git a/dune/gdt/operators/elliptic-ipdg.bindings.hh b/dune/gdt/operators/elliptic-ipdg.bindings.hh index 6406507e146989c23922590a4049cb5b2192508d..e9d37780cddb123a7b00c20046f76403c077e863 100644 --- a/dune/gdt/operators/elliptic-ipdg.bindings.hh +++ b/dune/gdt/operators/elliptic-ipdg.bindings.hh @@ -421,16 +421,16 @@ public: // alu_fem__istl.cc #if HAVE_DUNE_ALUGRID && HAVE_DUNE_FEM && HAVE_DUNE_ISTL -DUNE_GDT_OPERATORS_ELLIPTIC_IPDG_BIND_LIB_ALU(extern template, leaf, part, cg, fem, 1, istl_sparse); -DUNE_GDT_OPERATORS_ELLIPTIC_IPDG_BIND_LIB_ALU(extern template, level, part, cg, fem, 1, istl_sparse); DUNE_GDT_OPERATORS_ELLIPTIC_IPDG_BIND_LIB_ALU(extern template, dd_subdomain, part, cg, fem, 1, istl_sparse); +DUNE_GDT_OPERATORS_ELLIPTIC_IPDG_BIND_LIB_ALU(extern template, leaf, view, cg, gdt, 1, istl_sparse); +DUNE_GDT_OPERATORS_ELLIPTIC_IPDG_BIND_LIB_ALU(extern template, level, view, cg, gdt, 1, istl_sparse); #endif // yasp_fem_istl.cc #if HAVE_DUNE_FEM && HAVE_DUNE_ISTL -DUNE_GDT_OPERATORS_ELLIPTIC_IPDG_BIND_LIB_YASP(extern template, leaf, part, cg, fem, 1, istl_sparse); -DUNE_GDT_OPERATORS_ELLIPTIC_IPDG_BIND_LIB_YASP(extern template, level, part, cg, fem, 1, istl_sparse); DUNE_GDT_OPERATORS_ELLIPTIC_IPDG_BIND_LIB_YASP(extern template, dd_subdomain, part, cg, fem, 1, istl_sparse); +DUNE_GDT_OPERATORS_ELLIPTIC_IPDG_BIND_LIB_YASP(extern template, leaf, view, cg, gdt, 1, istl_sparse); +DUNE_GDT_OPERATORS_ELLIPTIC_IPDG_BIND_LIB_YASP(extern template, level, view, cg, gdt, 1, istl_sparse); #endif // end: this is what we need for the lib diff --git a/dune/gdt/operators/elliptic.bindings.hh b/dune/gdt/operators/elliptic.bindings.hh index d46e0d13c89bd38169e86f5f71eec983eff75690..fcfabe37c4f07b14baca0b7d582124bf5ae08792 100644 --- a/dune/gdt/operators/elliptic.bindings.hh +++ b/dune/gdt/operators/elliptic.bindings.hh @@ -300,63 +300,30 @@ public: _DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_UG(_prefix, _layer, _g_backend, _s_type, _s_backend, _p, _la); \ _DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_YASP(_prefix, _layer, _g_backend, _s_type, _s_backend, _p, _la) -#if HAVE_DUNE_FEM -#define _DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_FEM(_prefix, _la) \ - _DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_GRIDS(_prefix, leaf, part, cg, fem, 1, _la); \ - _DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_GRIDS(_prefix, level, part, cg, fem, 1, _la); \ - _DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_GRIDS(_prefix, dd_subdomain, part, cg, fem, 1, _la); \ + +#define _DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_DEFAULT(_prefix, _la) \ + _DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_GRIDS(_prefix, leaf, part, cg, gdt, 1, _la); \ + _DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_GRIDS(_prefix, level, part, cg, gdt, 1, _la); \ + _DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_GRIDS(_prefix, dd_subdomain, part, cg, gdt, 1, _la); \ _DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_GRIDS(_prefix, leaf, part, dg, fem, 1, _la); \ _DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_GRIDS(_prefix, level, part, dg, fem, 1, _la); \ _DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_GRIDS(_prefix, dd_subdomain, part, dg, fem, 1, _la) #define DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_FEM_COMMON(_prefix) -//_DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_FEM(_prefix, common_dense) +//_DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_DEFAULT(_prefix, common_dense) //#if HAVE_EIGEN //#define DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_FEM_EIGEN(_prefix) \ -// _DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_FEM(_prefix, eigen_dense); \ -// _DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_FEM(_prefix, eigen_sparse) +// _DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_DEFAULT(_prefix, eigen_dense); \ +// _DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_DEFAULT(_prefix, eigen_sparse) //#else #define DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_FEM_EIGEN(_prefix) //#endif #if HAVE_DUNE_ISTL #define DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_FEM_ISTL(_prefix) \ - _DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_FEM(_prefix, istl_sparse) -#else -#define DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_FEM_ISTL(_prefix) -#endif + _DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_DEFAULT(_prefix, istl_sparse) #else -#define DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_FEM_COMMON(_prefix) -#define DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_FEM_EIGEN(_prefix) #define DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_FEM_ISTL(_prefix) #endif -//#if HAVE_DUNE_PDELAB -//#define _DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_PDELAB(_prefix, _la) \ -// _DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_ALBERTA(_prefix, leaf, view, cg, pdelab, 1, _la); \ -// _DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_ALU(_prefix, leaf, view, cg, pdelab, 1, _la); \ -// _DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_YASP(_prefix, leaf, view, cg, pdelab, 1, _la); \ -// _DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_ALBERTA(_prefix, level, view, cg, pdelab, 1, _la); \ -// _DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_ALU(_prefix, level, view, cg, pdelab, 1, _la); \ -// _DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_YASP(_prefix, level, view, cg, pdelab, 1, _la) -//#define DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_PDELAB_COMMON(_prefix) -//_DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_PDELAB(_prefix, common_dense) -//#if HAVE_EIGEN -//#define DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_PDELAB_EIGEN(_prefix) \ -// _DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_PDELAB(_prefix, eigen_dense); \ -// _DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_PDELAB(_prefix, eigen_sparse) -//#else -//#define DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_PDELAB_EIGEN(_prefix) -//#endif -//#if HAVE_DUNE_ISTL -//#define DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_PDELAB_ISTL(_prefix) -//_DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_PDELAB(_prefix, istl_sparse) -//#else -//#define DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_PDELAB_ISTL(_prefix) -//#endif -//#else -#define DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_PDELAB_COMMON(_prefix) -#define DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_PDELAB_EIGEN(_prefix) -#define DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_PDELAB_ISTL(_prefix) -//#endif // fem_istl.cc DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_FEM_ISTL(extern template); @@ -494,9 +461,9 @@ DUNE_GDT_OPERATORS_ELLIPTIC_BIND_LIB_FEM_ISTL(extern template); #if HAVE_DUNE_FEM #define _DUNE_GDT_OPERATORS_ELLIPTIC_BIND_FEM(_m, _la) \ - _DUNE_GDT_OPERATORS_ELLIPTIC_BIND_GRIDS(_m, leaf, part, cg, fem, 1, _la); \ - _DUNE_GDT_OPERATORS_ELLIPTIC_BIND_GRIDS(_m, level, part, cg, fem, 1, _la); \ _DUNE_GDT_OPERATORS_ELLIPTIC_BIND_GRIDS(_m, dd_subdomain, part, cg, fem, 1, _la); \ + _DUNE_GDT_OPERATORS_ELLIPTIC_BIND_GRIDS(_m, leaf, view, cg, gdt, 1, _la); \ + _DUNE_GDT_OPERATORS_ELLIPTIC_BIND_GRIDS(_m, level, view, cg, gdt, 1, _la); \ _DUNE_GDT_OPERATORS_ELLIPTIC_BIND_GRIDS(_m, leaf, part, dg, fem, 1, _la); \ _DUNE_GDT_OPERATORS_ELLIPTIC_BIND_GRIDS(_m, level, part, dg, fem, 1, _la); \ _DUNE_GDT_OPERATORS_ELLIPTIC_BIND_GRIDS(_m, dd_subdomain, part, dg, fem, 1, _la) diff --git a/dune/gdt/playground/spaces/restricted.hh b/dune/gdt/playground/spaces/restricted.hh index ece5929f9bc0ac61d778f50c430d89c7bca12efd..002dc03065b25591b027b9ee4d0e17ee5d705648 100644 --- a/dune/gdt/playground/spaces/restricted.hh +++ b/dune/gdt/playground/spaces/restricted.hh @@ -69,6 +69,7 @@ public: typedef RestrictionGridLayer GridLayerType; typedef typename UnrestrictedSpace::RangeFieldType RangeFieldType; static const XT::Grid::Backends layer_backend = layer_backend_helper<>::value; + static constexpr const GDT::Backends backend_type{UnrestrictedSpace::backend_type}; }; // class RestrictedSpaceTraits diff --git a/dune/gdt/projections.bindings.hh b/dune/gdt/projections.bindings.hh index ec28522ea733b3a91ef3b29adddffc5d9cbdc748..58ceafedefc160c1b9d4a709c67583ca23cedac8 100644 --- a/dune/gdt/projections.bindings.hh +++ b/dune/gdt/projections.bindings.hh @@ -106,16 +106,11 @@ public: #define _DUNE_GDT_PROJECTIONS_BIND_DEFAULT(_m, _la) \ _DUNE_GDT_PROJECTIONS_BIND_ALL_GRIDS(_m, leaf, gdt, fv, 0, _la); \ + _DUNE_GDT_PROJECTIONS_BIND_ALL_GRIDS(_m, dd_subdomain, gdt, cg, 1, _la); \ _DUNE_GDT_PROJECTIONS_BIND_ALL_GRIDS(_m, level, gdt, fv, 0, _la) #if HAVE_DUNE_FEM -#define _DUNE_GDT_PROJECTIONS_BIND_FEM(_m, _la) \ - _DUNE_GDT_PROJECTIONS_BIND_ALL_GRIDS(_m, leaf, fem, cg, 1, _la); \ - _DUNE_GDT_PROJECTIONS_BIND_ALL_GRIDS(_m, level, fem, cg, 1, _la); \ - _DUNE_GDT_PROJECTIONS_BIND_ALL_GRIDS(_m, dd_subdomain, fem, cg, 1, _la); \ - _DUNE_GDT_PROJECTIONS_BIND_ALL_GRIDS(_m, leaf, fem, dg, 1, _la); \ - _DUNE_GDT_PROJECTIONS_BIND_ALL_GRIDS(_m, level, fem, dg, 1, _la); \ - _DUNE_GDT_PROJECTIONS_BIND_ALL_GRIDS(_m, dd_subdomain, fem, dg, 1, _la) +#define _DUNE_GDT_PROJECTIONS_BIND_FEM(_m, _la) _DUNE_GDT_PROJECTIONS_BIND_ALL_GRIDS(_m, dd_subdomain, fem, dg, 1, _la) #else #define _DUNE_GDT_PROJECTIONS_BIND_FEM(_m, _la) #endif diff --git a/dune/gdt/projections/dirichlet.bindings.hh b/dune/gdt/projections/dirichlet.bindings.hh index 86c03e3735861583888b6659743b970217542a9f..38dba2bd2fbe7687f87895773df2b0280c3cd0ae 100644 --- a/dune/gdt/projections/dirichlet.bindings.hh +++ b/dune/gdt/projections/dirichlet.bindings.hh @@ -118,29 +118,14 @@ public: _DUNE_GDT_PROJECTIONS_DIRICHLET_BIND(_m, YASP_1D_EQUIDISTANT_OFFSET, _layer, _backend, 1, 1, _la); \ _DUNE_GDT_PROJECTIONS_DIRICHLET_BIND(_m, YASP_2D_EQUIDISTANT_OFFSET, _layer, _backend, 1, 1, _la) -#if HAVE_DUNE_FEM -#define _DUNE_GDT_PROJECTIONS_DIRICHLET_BIND_FEM(_m, _la) \ - _DUNE_GDT_PROJECTIONS_DIRICHLET_BIND_ALBERTA(_m, leaf, fem, _la); \ - _DUNE_GDT_PROJECTIONS_DIRICHLET_BIND_ALU(_m, leaf, fem, _la); \ - _DUNE_GDT_PROJECTIONS_DIRICHLET_BIND_UG(_m, leaf, fem, _la); \ - _DUNE_GDT_PROJECTIONS_DIRICHLET_BIND_YASP(_m, leaf, fem, _la) -#else -#define _DUNE_GDT_PROJECTIONS_DIRICHLET_BIND_FEM(_m, _la) -#endif +#define _DUNE_GDT_PROJECTIONS_DIRICHLET_BIND_GDT(_m, _la) \ + _DUNE_GDT_PROJECTIONS_DIRICHLET_BIND_ALBERTA(_m, leaf, gdt, _la); \ + _DUNE_GDT_PROJECTIONS_DIRICHLET_BIND_ALU(_m, leaf, gdt, _la); \ + _DUNE_GDT_PROJECTIONS_DIRICHLET_BIND_UG(_m, leaf, gdt, _la); \ + _DUNE_GDT_PROJECTIONS_DIRICHLET_BIND_YASP(_m, leaf, gdt, _la) -//#if HAVE_DUNE_PDELAB -//#define _DUNE_GDT_PROJECTIONS_DIRICHLET_BIND_PDELAB(_m, _la) \ -// _DUNE_GDT_PROJECTIONS_DIRICHLET_BIND_ALBERTA(_m, leaf, pdelab, _la); \ -// _DUNE_GDT_PROJECTIONS_DIRICHLET_BIND_ALU(_m, leaf, pdelab, _la); \ -// _DUNE_GDT_PROJECTIONS_DIRICHLET_BIND_YASP(_m, leaf, pdelab, _la) -//// _DUNE_GDT_PROJECTIONS_DIRICHLET_BIND_UG(_m, leaf, pdelab, _la); // <- does not work -//#else -#define _DUNE_GDT_PROJECTIONS_DIRICHLET_BIND_PDELAB(_m, _la) -//#endif -#define _DUNE_GDT_PROJECTIONS_DIRICHLET_BIND_BACKENDS(_m, _la) \ - _DUNE_GDT_PROJECTIONS_DIRICHLET_BIND_FEM(_m, _la); \ - _DUNE_GDT_PROJECTIONS_DIRICHLET_BIND_PDELAB(_m, _la) +#define _DUNE_GDT_PROJECTIONS_DIRICHLET_BIND_BACKENDS(_m, _la) _DUNE_GDT_PROJECTIONS_DIRICHLET_BIND_GDT(_m, _la); #define _DUNE_GDT_PROJECTIONS_DIRICHLET_BIND_COMMON(_m) //_DUNE_GDT_PROJECTIONS_DIRICHLET_BIND_BACKENDS(_m, common_dense) diff --git a/dune/gdt/spaces/cg.bindings.hh b/dune/gdt/spaces/cg.bindings.hh index a072fdd21e7feb87be05adfba404ce11e15da6b3..1eae6a62bcd9a0ee2984cb7db7552b5b37c2952e 100644 --- a/dune/gdt/spaces/cg.bindings.hh +++ b/dune/gdt/spaces/cg.bindings.hh @@ -21,124 +21,66 @@ // * fem #if HAVE_DUNE_FEM -#define _DUNE_GDT_SPACES_CG_BIND_FEM(_m, _GRID, _layer, _r, _rC) \ +#define _DUNE_GDT_SPACES_CG_BIND_GDT(_m, _GRID, _layer, _r, _rC) \ Dune::GDT::bindings::SpaceInterface<Dune::GDT::CgSpaceProvider<_GRID, \ Dune::XT::Grid::Layers::_layer, \ - Dune::GDT::Backends::fem, \ + Dune::GDT::Backends::gdt, \ 1, \ double, \ _r, \ _rC>>::bind(_m) //#if HAVE_ALBERTA -//#define _DUNE_GDT_SPACES_CG_BIND_FEM_ALBERTA_LAYER(_m, _layer) \ -// _DUNE_GDT_SPACES_CG_BIND_FEM(_m, ALBERTA_2D, _layer, 1, 1) -//#define _DUNE_GDT_SPACES_CG_BIND_FEM_ALBERTA(_m) \ -// _DUNE_GDT_SPACES_CG_BIND_FEM_ALBERTA_LAYER(_m, dd_subdomain); \ -// _DUNE_GDT_SPACES_CG_BIND_FEM_ALBERTA_LAYER(_m, leaf); \ -// _DUNE_GDT_SPACES_CG_BIND_FEM_ALBERTA_LAYER(_m, level) +//#define _DUNE_GDT_SPACES_CG_BIND_GDT_ALBERTA_LAYER(_m, _layer) \ +// _DUNE_GDT_SPACES_CG_BIND_GDT(_m, ALBERTA_2D, _layer, 1, 1) +//#define _DUNE_GDT_SPACES_CG_BIND_GDT_ALBERTA(_m) \ +// _DUNE_GDT_SPACES_CG_BIND_GDT_ALBERTA_LAYER(_m, dd_subdomain); \ +// _DUNE_GDT_SPACES_CG_BIND_GDT_ALBERTA_LAYER(_m, leaf); \ +// _DUNE_GDT_SPACES_CG_BIND_GDT_ALBERTA_LAYER(_m, level) //#else -#define _DUNE_GDT_SPACES_CG_BIND_FEM_ALBERTA(_m) +#define _DUNE_GDT_SPACES_CG_BIND_GDT_ALBERTA(_m) //#endif #if HAVE_DUNE_ALUGRID -#define _DUNE_GDT_SPACES_CG_BIND_FEM_ALU_LAYER(_m, _layer) \ - _DUNE_GDT_SPACES_CG_BIND_FEM(_m, ALU_2D_SIMPLEX_CONFORMING, _layer, 1, 1) -#define _DUNE_GDT_SPACES_CG_BIND_FEM_ALU(_m) \ - _DUNE_GDT_SPACES_CG_BIND_FEM_ALU_LAYER(_m, dd_subdomain); \ - _DUNE_GDT_SPACES_CG_BIND_FEM_ALU_LAYER(_m, leaf); \ - _DUNE_GDT_SPACES_CG_BIND_FEM_ALU_LAYER(_m, level) +#define _DUNE_GDT_SPACES_CG_BIND_GDT_ALU_LAYER(_m, _layer) \ + _DUNE_GDT_SPACES_CG_BIND_GDT(_m, ALU_2D_SIMPLEX_CONFORMING, _layer, 1, 1) +#define _DUNE_GDT_SPACES_CG_BIND_GDT_ALU(_m) \ + _DUNE_GDT_SPACES_CG_BIND_GDT_ALU_LAYER(_m, dd_subdomain); \ + _DUNE_GDT_SPACES_CG_BIND_GDT_ALU_LAYER(_m, leaf); \ + _DUNE_GDT_SPACES_CG_BIND_GDT_ALU_LAYER(_m, level) #else -#define _DUNE_GDT_SPACES_CG_BIND_FEM_ALU(_m) +#define _DUNE_GDT_SPACES_CG_BIND_GDT_ALU(_m) #endif //#if HAVE_DUNE_UGGRID || HAVE_UG -//#define _DUNE_GDT_SPACES_CG_BIND_FEM_UG_LAYER(_m, _layer) _DUNE_GDT_SPACES_CG_BIND_FEM(_m, UG_2D, _layer, 1, 1) -//#define _DUNE_GDT_SPACES_CG_BIND_FEM_UG(_m) \ -// _DUNE_GDT_SPACES_CG_BIND_FEM_UG_LAYER(_m, dd_subdomain); \ -// _DUNE_GDT_SPACES_CG_BIND_FEM_UG_LAYER(_m, leaf); \ -// _DUNE_GDT_SPACES_CG_BIND_FEM_UG_LAYER(_m, level) +//#define _DUNE_GDT_SPACES_CG_BIND_GDT_UG_LAYER(_m, _layer) _DUNE_GDT_SPACES_CG_BIND_GDT(_m, UG_2D, _layer, 1, 1) +//#define _DUNE_GDT_SPACES_CG_BIND_GDT_UG(_m) \ +// _DUNE_GDT_SPACES_CG_BIND_GDT_UG_LAYER(_m, dd_subdomain); \ +// _DUNE_GDT_SPACES_CG_BIND_GDT_UG_LAYER(_m, leaf); \ +// _DUNE_GDT_SPACES_CG_BIND_GDT_UG_LAYER(_m, level) //#else -#define _DUNE_GDT_SPACES_CG_BIND_FEM_UG(_m) +#define _DUNE_GDT_SPACES_CG_BIND_GDT_UG(_m) //#endif -#define _DUNE_GDT_SPACES_CG_BIND_FEM_YASP_LAYER(_m, _layer) \ - _DUNE_GDT_SPACES_CG_BIND_FEM(_m, YASP_1D_EQUIDISTANT_OFFSET, _layer, 1, 1); \ - _DUNE_GDT_SPACES_CG_BIND_FEM(_m, YASP_2D_EQUIDISTANT_OFFSET, _layer, 1, 1) -#define _DUNE_GDT_SPACES_CG_BIND_FEM_YASP(_m) \ - _DUNE_GDT_SPACES_CG_BIND_FEM_YASP_LAYER(_m, dd_subdomain); \ - _DUNE_GDT_SPACES_CG_BIND_FEM_YASP_LAYER(_m, leaf); \ - _DUNE_GDT_SPACES_CG_BIND_FEM_YASP_LAYER(_m, level) - -#define _DUNE_GDT_SPACES_CG_BIND_FEM_ALL(_m) \ - _DUNE_GDT_SPACES_CG_BIND_FEM_ALBERTA(_m); \ - _DUNE_GDT_SPACES_CG_BIND_FEM_ALU(_m); \ - _DUNE_GDT_SPACES_CG_BIND_FEM_UG(_m); \ - _DUNE_GDT_SPACES_CG_BIND_FEM_YASP(_m) +#define _DUNE_GDT_SPACES_CG_BIND_GDT_YASP_LAYER(_m, _layer) \ + _DUNE_GDT_SPACES_CG_BIND_GDT(_m, YASP_1D_EQUIDISTANT_OFFSET, _layer, 1, 1); \ + _DUNE_GDT_SPACES_CG_BIND_GDT(_m, YASP_2D_EQUIDISTANT_OFFSET, _layer, 1, 1) +#define _DUNE_GDT_SPACES_CG_BIND_GDT_YASP(_m) \ + _DUNE_GDT_SPACES_CG_BIND_GDT_YASP_LAYER(_m, dd_subdomain); \ + _DUNE_GDT_SPACES_CG_BIND_GDT_YASP_LAYER(_m, leaf); \ + _DUNE_GDT_SPACES_CG_BIND_GDT_YASP_LAYER(_m, level) + +#define _DUNE_GDT_SPACES_CG_BIND_GDT_ALL(_m) \ + _DUNE_GDT_SPACES_CG_BIND_GDT_ALBERTA(_m); \ + _DUNE_GDT_SPACES_CG_BIND_GDT_ALU(_m); \ + _DUNE_GDT_SPACES_CG_BIND_GDT_UG(_m); \ + _DUNE_GDT_SPACES_CG_BIND_GDT_YASP(_m) #else // HAVE_DUNE_FEM -#define _DUNE_GDT_SPACES_CG_BIND_FEM_ALL(_m) +#define _DUNE_GDT_SPACES_CG_BIND_GDT_ALL(_m) #endif -//// * pdelab -//#if HAVE_DUNE_PDELAB -//#define _DUNE_GDT_SPACES_CG_BIND_PDELAB(_m, _GRID, _layer, _r, _rC) \ -// Dune::GDT::bindings::SpaceInterface<Dune::GDT::CgSpaceProvider<_GRID, \ -// Dune::XT::Grid::Layers::_layer, \ -// Dune::GDT::Backends::pdelab, \ -// 1, \ -// double, \ -// _r, \ -// _rC>>::bind(_m) -//#if HAVE_ALBERTA -//#define _DUNE_GDT_SPACES_CG_BIND_PDELAB_ALBERTA_LAYER(_m, _layer) \ -// _DUNE_GDT_SPACES_CG_BIND_PDELAB(_m, ALBERTA_2D, _layer, 1, 1) -//#define _DUNE_GDT_SPACES_CG_BIND_PDELAB_ALBERTA(_m) \ -// _DUNE_GDT_SPACES_CG_BIND_PDELAB_ALBERTA_LAYER(_m, leaf); \ -// _DUNE_GDT_SPACES_CG_BIND_PDELAB_ALBERTA_LAYER(_m, level) -//#else -//#define _DUNE_GDT_SPACES_CG_BIND_PDELAB_ALBERTA(_m) -//#endif - -//#if HAVE_DUNE_ALUGRID -//#define _DUNE_GDT_SPACES_CG_BIND_PDELAB_ALU_LAYER(_m, _layer) \ -// _DUNE_GDT_SPACES_CG_BIND_PDELAB(_m, ALU_2D_SIMPLEX_CONFORMING, _layer, 1, 1) -//#define _DUNE_GDT_SPACES_CG_BIND_PDELAB_ALU(_m) \ -// _DUNE_GDT_SPACES_CG_BIND_PDELAB_ALU_LAYER(_m, leaf); \ -// _DUNE_GDT_SPACES_CG_BIND_PDELAB_ALU_LAYER(_m, level) -//#else -//#define _DUNE_GDT_SPACES_CG_BIND_PDELAB_ALU(_m, _layer) -//#endif - -////#if HAVE_DUNE_UGGRID || HAVE_UG // <- does not work -////#define _DUNE_GDT_SPACES_CG_BIND_PDELAB_UG_LAYER(_m, _layer) _DUNE_GDT_SPACES_CG_BIND_PDELAB(_m, UG_2D, _layer, 1, -/// 1) -////#define _DUNE_GDT_SPACES_CG_BIND_PDELAB_UG(_m) -//// _DUNE_GDT_SPACES_CG_BIND_PDELAB_UG_LAYER(_m, leaf); -//// _DUNE_GDT_SPACES_CG_BIND_PDELAB_UG_LAYER(_m, level) -////#else -////#define _DUNE_GDT_SPACES_CG_BIND_PDELAB_UG(_m, _layer) -////#endif - -//#define _DUNE_GDT_SPACES_CG_BIND_PDELAB_YASP_LAYER(_m, _layer) \ -// _DUNE_GDT_SPACES_CG_BIND_PDELAB(_m, YASP_1D_EQUIDISTANT_OFFSET, _layer, 1, 1);\ -// _DUNE_GDT_SPACES_CG_BIND_PDELAB(_m, YASP_2D_EQUIDISTANT_OFFSET, _layer, 1, 1) -//#define _DUNE_GDT_SPACES_CG_BIND_PDELAB_YASP(_m) \ -// _DUNE_GDT_SPACES_CG_BIND_PDELAB_YASP_LAYER(_m, leaf); \ -// _DUNE_GDT_SPACES_CG_BIND_PDELAB_YASP_LAYER(_m, level) - -//#define _DUNE_GDT_SPACES_CG_BIND_PDELAB_ALL(_m) \ -// _DUNE_GDT_SPACES_CG_BIND_PDELAB_ALBERTA(_m); \ -// _DUNE_GDT_SPACES_CG_BIND_PDELAB_ALU(_m); \ -// _DUNE_GDT_SPACES_CG_BIND_PDELAB_YASP(_m) -//// _DUNE_GDT_SPACES_CG_BIND_PDELAB_UG(_m); // <- does not work -//#else // HAVE_DUNE_PDELAB -#define _DUNE_GDT_SPACES_CG_BIND_PDELAB_ALL(_m) -//#endif - -#define DUNE_GDT_SPACES_CG_BIND(_m) \ - _DUNE_GDT_SPACES_CG_BIND_FEM_ALL(_m); \ - _DUNE_GDT_SPACES_CG_BIND_PDELAB_ALL(_m) +#define DUNE_GDT_SPACES_CG_BIND(_m) _DUNE_GDT_SPACES_CG_BIND_GDT_ALL(_m); // end: this is what we need for the .so