diff --git a/.clang-format b/.clang-format index de7fbc73d48a41da46b824ce25be9c8e82520f00..1450ba2cce6bac038f58f4bb2c51a1d9d224821e 120000 --- a/.clang-format +++ b/.clang-format @@ -1 +1 @@ -.vcsetup/.clang-format-3.8 \ No newline at end of file +.vcsetup/.clang-format-3.9 \ No newline at end of file diff --git a/.cmake_format.py b/.cmake_format.py new file mode 120000 index 0000000000000000000000000000000000000000..30e2b4ce0f358d3ae1cf0ab08897223ddd413771 --- /dev/null +++ b/.cmake_format.py @@ -0,0 +1 @@ +.vcsetup/.cmake_format.py \ No newline at end of file diff --git a/.gitattributes b/.gitattributes index f482f05a8ee63fdb0ac5e374ca504c1b111b419c..18f63fcdea29cfc0af261e41a2fde0a6ce25893e 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,3 +1,4 @@ +# ~~~ # This file is part of the dune-xt-grid project: # https://github.com/dune-community/dune-xt-grid # Copyright 2009-2018 dune-xt-grid developers and contributors. All rights reserved. @@ -8,5 +9,6 @@ # # or GPL-2.0+ (http://opensource.org/licenses/gpl-license) # with "runtime exception" (http://www.dune-project.org/license.html) +# ~~~ stamp-vc export-ignore diff --git a/.gitignore b/.gitignore index 1a0ab6e2165c72cc2223995f3b61f505ac96fa80..13bc553deeed6cdddb14594ec01b65a316c72737 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +# ~~~ # This file is part of the dune-xt-grid project: # https://github.com/dune-community/dune-xt-grid # Copyright 2009-2018 dune-xt-grid developers and contributors. All rights reserved. @@ -8,6 +9,7 @@ # # or GPL-2.0+ (http://opensource.org/licenses/gpl-license) # with "runtime exception" (http://www.dune-project.org/license.html) +# ~~~ CMakeCache.txt CMakeFiles diff --git a/.gitsuper b/.gitsuper new file mode 100644 index 0000000000000000000000000000000000000000..fb3bf6ca76f773cecfad9802db44d0f6ecc9204b --- /dev/null +++ b/.gitsuper @@ -0,0 +1,112 @@ +[supermodule] +remote = git@github.com:dune-community/dune-xt-super.git +status = 1a3bcab04b011a5d6e44f9983cae6ff89fa695e8 bin (heads/master) + 3ef118ce2de17da2aa1933623c3d7de2a9df741d config.opts (heads/master-1-g3ef118c) + 8f2c5aba441417bf2c42f22272f538c68a89cc4a dune-alugrid (remotes/origin/releases/2.5) + 707acf201d5a754c80f87cc4d71aa36bf29a6e3f dune-common (v2.5.1-9-g707acf20) + e6350271b8d014adab51467a35b6ad8ef48212a0 dune-geometry (v2.5.1-6-ge635027) + d7b20bbc5f6fdcfc312beb0ea5d16d39ea26904e dune-grid (v2.5.1-2-gd7b20bbc5) + e9d9a3336735090648637e044e279866bbea3597 dune-grid-glue (v2.4.0-60-ge9d9a33) + 63df56a54f81eda308233a683eb329e77e69f0a9 dune-istl (v2.5.1rc1) + 0d757d65e5d57134a7ecf304e35d063f4ccc7116 dune-localfunctions (v2.5.1rc1) + f516eb631d14e51ffb516496e07348b27f296ee7 dune-pybindxi (v2.2.1-11-gf516eb6) + 741e4f8e53bdd3e1b6e19d84eb22b6e3dc48526c dune-python (remotes/origin/releases/2.5) + 26cc8cb4161a3a51002ab2a81b8c81d2c951ee79 dune-testtools (remotes/origin/p/renemilk/testname_listing_hack_no-skiptest) + c2addd62e6f6302e4f90ed7fbe62c9b633c3bf42 dune-uggrid (v2.5.1rc1) + +ace00d3bce4cf7963add36d44214400088eae3cd dune-xt-common (heads/update_vcsetup) + +646437f9dd1fd4b2ef352ac5d906e16ace94b8af dune-xt-functions (heads/update_vcsetup) + +0847ae4d67647e0014855d19c1c8979f62428aa3 dune-xt-grid (heads/update_vcsetup) + +8434cb33acacdcab9ef58ccd1711c9c100e25bf4 dune-xt-la (heads/update_vcsetup) + 60cd896bf3f1eb99066563aa1a07113e5a791d47 scripts (remotes/origin/HEAD) +commit = 0dd5c18cfdb9f8d51069611ee90d31ba1e63bde3 + +[submodule.bin] +remote = git@github.com:dune-community/local-bin.git +status = +commit = 1a3bcab04b011a5d6e44f9983cae6ff89fa695e8 + +[submodule.config.opts] +remote = git@github.com:dune-community/config.opts.git +status = +commit = 3ef118ce2de17da2aa1933623c3d7de2a9df741d + +[submodule.dune-alugrid] +remote = https://github.com/dune-mirrors/dune-alugrid.git +status = +commit = 8f2c5aba441417bf2c42f22272f538c68a89cc4a + +[submodule.dune-common] +remote = git@github.com:dune-community/dune-common.git +status = +commit = 707acf201d5a754c80f87cc4d71aa36bf29a6e3f + +[submodule.dune-geometry] +remote = http://github.com/dune-community/dune-geometry.git +status = +commit = e6350271b8d014adab51467a35b6ad8ef48212a0 + +[submodule.dune-grid] +remote = http://github.com/dune-community/dune-grid.git +status = +commit = d7b20bbc5f6fdcfc312beb0ea5d16d39ea26904e + +[submodule.dune-grid-glue] +remote = https://github.com/dune-mirrors/dune-grid-glue.git +status = +commit = e9d9a3336735090648637e044e279866bbea3597 + +[submodule.dune-istl] +remote = http://github.com/dune-mirrors/dune-istl.git +status = +commit = 63df56a54f81eda308233a683eb329e77e69f0a9 + +[submodule.dune-localfunctions] +remote = http://github.com/dune-mirrors/dune-localfunctions.git +status = +commit = 0d757d65e5d57134a7ecf304e35d063f4ccc7116 + +[submodule.dune-pybindxi] +remote = git@github.com:dune-community/dune-pybindxi.git +status = a18500d497d2ffa2f627bc6e7da0aa1169b81ea3 .vcsetup (heads/master) +commit = f516eb631d14e51ffb516496e07348b27f296ee7 + +[submodule.dune-python] +remote = https://github.com/dune-mirrors/dune-python.git +status = +commit = 741e4f8e53bdd3e1b6e19d84eb22b6e3dc48526c + +[submodule.dune-testtools] +remote = https://github.com/dune-mirrors/dune-testtools.git +status = +commit = 26cc8cb4161a3a51002ab2a81b8c81d2c951ee79 + +[submodule.dune-uggrid] +remote = https://github.com/dune-mirrors/dune-uggrid.git +status = +commit = c2addd62e6f6302e4f90ed7fbe62c9b633c3bf42 + +[submodule.dune-xt-common] +remote = git@github.com:dune-community/dune-xt-common.git +status = 2424627f0ad5de7e4aaa5e7f48bc2a02414d95a1 .vcsetup (heads/master) +commit = ace00d3bce4cf7963add36d44214400088eae3cd + +[submodule.dune-xt-functions] +remote = git@github.com:dune-community/dune-xt-functions.git +status = 2424627f0ad5de7e4aaa5e7f48bc2a02414d95a1 .vcsetup (heads/master) +commit = 646437f9dd1fd4b2ef352ac5d906e16ace94b8af + +[submodule.dune-xt-grid] +remote = git@github.com:dune-community/dune-xt-grid.git +status = 2424627f0ad5de7e4aaa5e7f48bc2a02414d95a1 .vcsetup (heads/master) +commit = 0847ae4d67647e0014855d19c1c8979f62428aa3 + +[submodule.dune-xt-la] +remote = git@github.com:dune-community/dune-xt-la.git +status = 2424627f0ad5de7e4aaa5e7f48bc2a02414d95a1 .vcsetup (heads/master) +commit = 8434cb33acacdcab9ef58ccd1711c9c100e25bf4 + +[submodule.scripts] +remote = https://github.com/wwu-numerik/scripts.git +status = fb5ebc10e647d637c69497af2ec2560847eb2112 python/pylicense (fb5ebc1) +commit = 60cd896bf3f1eb99066563aa1a07113e5a791d47 + diff --git a/.mailmap b/.mailmap index f4cfc7280963a85c9768c4a9de8468f6753bf850..c7ee930806fd5ca2cd34a7795a1e253e1f53802a 100644 --- a/.mailmap +++ b/.mailmap @@ -1,3 +1,4 @@ +# ~~~ # This file is part of the dune-xt-grid project: # https://github.com/dune-community/dune-xt-grid # Copyright 2009-2018 dune-xt-grid developers and contributors. All rights reserved. @@ -8,6 +9,7 @@ # # or GPL-2.0+ (http://opensource.org/licenses/gpl-license) # with "runtime exception" (http://www.dune-project.org/license.html) +# ~~~ Rene Milk <rene.milk@wwu.de> Rene Milk <rene.milk@uni-muenster.de> Rene Milk <rene.milk@wwu.de> Rene Milk <koshi@springlobby.info> diff --git a/.pylicense-cpp.cfg b/.pylicense-cpp.cfg index b1938fb2edc7ed466af4d3fbda0841e08caafc64..25a8fb8731859df6cdc659182eedd7569c39d366 100644 --- a/.pylicense-cpp.cfg +++ b/.pylicense-cpp.cfg @@ -1,21 +1,22 @@ +# ~~~ # This file is part of the dune-xt-grid project: # https://github.com/dune-community/dune-xt-grid # Copyright 2009-2018 dune-xt-grid 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 (2016 - 2017) # Rene Milk (2018) -# -# or GPL-2.0+ (http://opensource.org/licenses/gpl-license) -# with "runtime exception" (http://www.dune-project.org/license.html) +# ~~~ [header] name = This file is part of the dune-xt-grid project: url = https://github.com/dune-community/dune-xt-grid copyright_statement = Copyright 2009-2018 dune-xt-grid 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) + or GPL-2.0+ (http://opensource.org/licenses/gpl-license) + with "runtime exception" (http://www.dune-project.org/license.html) prefix = // [files] diff --git a/.pylicense-other.cfg b/.pylicense-other.cfg index bfe9e5e61cf3745672583927593fef5049f9aca4..730a635a76f4f633b5ec3673a44d59746864f02a 100644 --- a/.pylicense-other.cfg +++ b/.pylicense-other.cfg @@ -1,23 +1,27 @@ +# ~~~ # This file is part of the dune-xt-grid project: # https://github.com/dune-community/dune-xt-grid # Copyright 2009-2018 dune-xt-grid 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 (2016 - 2017) # Rene Milk (2018) -# -# or GPL-2.0+ (http://opensource.org/licenses/gpl-license) -# with "runtime exception" (http://www.dune-project.org/license.html) +# ~~~ [header] name = This file is part of the dune-xt-grid project: url = https://github.com/dune-community/dune-xt-grid copyright_statement = Copyright 2009-2018 dune-xt-grid 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) + or GPL-2.0+ (http://opensource.org/licenses/gpl-license) + with "runtime exception" (http://www.dune-project.org/license.html) prefix = # +lead-in = # ~~~ +lead-out = # ~~~ + [files] include_patterns = *.txt *.cmake *.py *.sh *.bash *.msh *.gdb *.cfg *.travis.* *.gitignore *.mailmap *.gitattributes *gitignore-* *stamp-vc *dune.module *Doxylocal *.clang-format *COPYING-CMAKE-SCRIPTS *README *LICENSE *mainpage *switch-build_dir *dune-xt-grid.pc.in *.pylicense* *CMakeLists.txt -exclude_patterns = *config.h.cmake *.vcsetup* *.dgf +exclude_patterns = *config.h.cmake *.vcsetup* *.dgf *builder_definitions.cmake diff --git a/.travis.after_script.bash b/.travis.after_script.bash index 8bdf19033aa3c54a50b9467bd12175b37d4683be..a2470108795a71bdcbb9c9ba9252f3272b3abf08 100755 --- a/.travis.after_script.bash +++ b/.travis.after_script.bash @@ -1,4 +1,13 @@ #!/bin/bash +# +# ~~~ +# This file is part of the dune-xt-grid project: +# https://github.com/dune-community/dune-xt-grid +# Copyright 2009-2018 dune-xt-grid developers and contributors. All rights reserved. +# License: Dual licensed as BSD 2-Clause License (http://opensource.org/licenses/BSD-2-Clause) +# Authors: +# Rene Milk (2017 - 2018) +# ~~~ # ****** THIS FILE IS AUTOGENERATED, DO NOT EDIT ********** # this file is treated as a jinja2 template diff --git a/.travis.cfg.in b/.travis.cfg.in index e2df221f466e4b251797863bb128b676ec769b38..2ea9b947b1ba70a168c89d0980371f2b1dca87a4 100644 --- a/.travis.cfg.in +++ b/.travis.cfg.in @@ -1,3 +1,4 @@ +# ~~~ # This file is part of the dune-xt-grid project: # https://github.com/dune-community/dune-xt-grid # Copyright 2009-2018 dune-xt-grid developers and contributors. All rights reserved. @@ -8,6 +9,7 @@ # # or GPL-2.0+ (http://opensource.org/licenses/gpl-license) # with "runtime exception" (http://www.dune-project.org/license.html) +# ~~~ "travis" : { "branch" : "$ENV{TRAVIS_BRANCH}", diff --git a/.travis.ctest b/.travis.ctest index f494856b1ffba7d7052bf5a586f63537d39d9700..02a7135ee2f8b300dc14884fa142fe49c7e97dfe 100644 --- a/.travis.ctest +++ b/.travis.ctest @@ -1,3 +1,4 @@ +# ~~~ # This file is part of the dune-xt-grid project: # https://github.com/dune-community/dune-xt-grid # Copyright 2009-2018 dune-xt-grid developers and contributors. All rights reserved. @@ -8,6 +9,7 @@ # # or GPL-2.0+ (http://opensource.org/licenses/gpl-license) # with "runtime exception" (http://www.dune-project.org/license.html) +# ~~~ string(SUBSTRING "$ENV{TRAVIS_COMMIT}" 0 7 COMMIT_ID) set(CTEST_SITE "travis") diff --git a/.travis.make_env_file.py b/.travis.make_env_file.py index f2e925bdb01bd5d371402a58d12c2bb878745fd7..65c6aa2dbe6da60e8b7c7eada003c88f2dfbfb88 100644 --- a/.travis.make_env_file.py +++ b/.travis.make_env_file.py @@ -1,4 +1,13 @@ #!/usr/bin/env python3 +# +# ~~~ +# This file is part of the dune-xt-grid project: +# https://github.com/dune-community/dune-xt-grid +# Copyright 2009-2018 dune-xt-grid developers and contributors. All rights reserved. +# License: Dual licensed as BSD 2-Clause License (http://opensource.org/licenses/BSD-2-Clause) +# Authors: +# Rene Milk (2017 - 2018) +# ~~~ import os from os.path import expanduser diff --git a/.travis.script.bash b/.travis.script.bash index 82579525536bf5dd448bde598b83e64ff588effc..c535ae70612d4059b70a682835943d68a693af53 100755 --- a/.travis.script.bash +++ b/.travis.script.bash @@ -1,4 +1,14 @@ #!/bin/bash +# +# ~~~ +# This file is part of the dune-xt-grid project: +# https://github.com/dune-community/dune-xt-grid +# Copyright 2009-2018 dune-xt-grid developers and contributors. All rights reserved. +# License: Dual licensed as BSD 2-Clause License (http://opensource.org/licenses/BSD-2-Clause) +# Authors: +# Felix Schindler (2017) +# Rene Milk (2017 - 2018) +# ~~~ # ****** THIS FILE IS AUTOGENERATED, DO NOT EDIT ********** # this file is treated as a jinja2 template diff --git a/.travis.test_python.bash b/.travis.test_python.bash index 264c4b430535201cd6ff7b58e9908fabfba1aaa8..73e37a2d86d3c3c93eb6a851ae52507c68752de1 100755 --- a/.travis.test_python.bash +++ b/.travis.test_python.bash @@ -1,4 +1,13 @@ #!/bin/bash +# +# ~~~ +# This file is part of the dune-xt-grid project: +# https://github.com/dune-community/dune-xt-grid +# Copyright 2009-2018 dune-xt-grid developers and contributors. All rights reserved. +# License: Dual licensed as BSD 2-Clause License (http://opensource.org/licenses/BSD-2-Clause) +# Authors: +# Rene Milk (2018) +# ~~~ # ****** THIS FILE IS AUTOGENERATED, DO NOT EDIT ********** # this file is treated as a jinja2 template diff --git a/.travis.yml b/.travis.yml index d307a56b2bacec9b3ec09fb7d7b3b3f99ed10eb1..460cd122c106ca3d591cb6a2a8f5cbc5e94c7d56 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,13 +1,16 @@ +# ~~~ # This file is part of the dune-xt-grid project: # https://github.com/dune-community/dune-xt-grid -# Copyright 2009-2017 dune-xt-functions developers and contributors. All rights reserved. +# Copyright 2009-2018 dune-xt-grid 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 (2016 - 2017) -# Rene Milk (2016 - 2017) +# Rene Milk (2016 - 2018) # Tobias Leibner (2016) +# +# or GPL-2.0+ (http://opensource.org/licenses/gpl-license) +# with "runtime exception" (http://www.dune-project.org/license.html) +# ~~~ # THIS FILE IS AUTOGENERATED -- DO NOT EDIT # # Re-run .ci/templates/update.py --nd instead # @@ -67,11 +70,6 @@ jobs: - stage: test_cpp env: DOCKER_TAG=debian_clang_full TESTS=1 - - stage: test_cpp - env: DOCKER_TAG=arch_gcc_full TESTS=0 - - stage: test_cpp - env: DOCKER_TAG=arch_gcc_full TESTS=1 - - stage: test_python env: DOCKER_TAG=debian_gcc_full script: ${DOCKER_RUN} /root/src/dune-xt-grid/.travis.test_python.bash @@ -82,11 +80,6 @@ jobs: script: ${DOCKER_RUN} /root/src/dune-xt-grid/.travis.test_python.bash # overwrite other global/matrix settings after_script: true - - stage: test_python - env: DOCKER_TAG=arch_gcc_full - script: ${DOCKER_RUN} /root/src/dune-xt-grid/.travis.test_python.bash - # overwrite other global/matrix settings - after_script: true # THIS FILE IS AUTOGENERATED -- DO NOT EDIT # -# Re-run .ci/templates/update.py --nd instead # \ No newline at end of file +# Re-run .ci/templates/update.py --nd instead # diff --git a/.vcsetup b/.vcsetup index 7412205ae85537918f63bccf57d427bb88bd2478..2424627f0ad5de7e4aaa5e7f48bc2a02414d95a1 160000 --- a/.vcsetup +++ b/.vcsetup @@ -1 +1 @@ -Subproject commit 7412205ae85537918f63bccf57d427bb88bd2478 +Subproject commit 2424627f0ad5de7e4aaa5e7f48bc2a02414d95a1 diff --git a/CMakeLists.txt b/CMakeLists.txt index f425d0d9ccfa4c4f8330af22db24225e277c772a..ac2631b9f59136272c12eef87559701fc6a42d7e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,3 +1,4 @@ +# ~~~ # This file is part of the dune-xt-grid project: # https://github.com/dune-community/dune-xt-grid # Copyright 2009-2018 dune-xt-grid developers and contributors. All rights reserved. @@ -9,50 +10,44 @@ # # or GPL-2.0+ (http://opensource.org/licenses/gpl-license) # with "runtime exception" (http://www.dune-project.org/license.html) +# ~~~ cmake_minimum_required(VERSION 3.1) project(dune-xt-grid CXX) -if(NOT (dune-common_DIR OR dune-common_ROOT OR - "${CMAKE_PREFIX_PATH}" MATCHES ".*dune-common.*")) - string(REPLACE ${CMAKE_PROJECT_NAME} dune-common dune-common_DIR - ${PROJECT_BINARY_DIR}) +if(NOT (dune-common_DIR OR dune-common_ROOT OR "${CMAKE_PREFIX_PATH}" MATCHES ".*dune-common.*")) + string(REPLACE ${CMAKE_PROJECT_NAME} dune-common dune-common_DIR ${PROJECT_BINARY_DIR}) endif() # dune-common find_package(dune-common REQUIRED) -list(APPEND CMAKE_MODULE_PATH - "${PROJECT_SOURCE_DIR}/cmake/modules" - "${dune-common_MODULE_PATH}") +list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/modules" "${dune-common_MODULE_PATH}") include(DuneMacros) # dune-xt-common find_package(dune-xt-common REQUIRED) -list(APPEND CMAKE_MODULE_PATH - "${dune-xt-common_MODULE_PATH}") +list(APPEND CMAKE_MODULE_PATH "${dune-xt-common_MODULE_PATH}") include(DuneUtils) # start a dune project with information from dune.module dune_project() -dune_enable_all_packages(INCLUDE_DIRS ${dune-xt-grid_SOURCE_DIR}/dune - MODULE_LIBRARIES dunextgrid - ) +dune_enable_all_packages(INCLUDE_DIRS ${dune-xt-grid_SOURCE_DIR}/dune MODULE_LIBRARIES dunextgrid) add_header_listing() make_dependent_modules_sys_included() -add_subdirectory(dune) -add_subdirectory(doc) - include(DuneXTInstallPythonPackage) -# this symlinks all files in python/ to the binary dir and install into the virtualenv from there -# thereby making the compiled extensions directly usable from the venv +# this symlinks all files in python/ to the binary dir and install into the virtualenv from there thereby making the +# compiled extensions directly usable from the venv dune_xt_install_python_package(PATH python) include_dependent_binary_python_dirs() # do not change order here -if(dune-pybindxi_FOUND) - add_subdirectory(python) -endif() +add_subdirectory(python) +dxt_add_make_dependent_bindings(dune-xt-common dune-xt-la) + +# this needs to come after the python install so we can use it in test generation +add_subdirectory(dune) +add_subdirectory(doc) # enable headercheck add_definitions("-DENABLE_HEADERCHECK=1") diff --git a/LICENSE b/LICENSE index 990294eb92bf1801e2ccb11e5d692b728fc40b39..6e7d9726b2420c73404fd6ea444cdbb60c096d12 100644 --- a/LICENSE +++ b/LICENSE @@ -1,3 +1,4 @@ +# ~~~ # This file is part of the dune-xt-grid project: # https://github.com/dune-community/dune-xt-grid # Copyright 2009-2018 dune-xt-grid developers and contributors. All rights reserved. @@ -8,6 +9,7 @@ # # or GPL-2.0+ (http://opensource.org/licenses/gpl-license) # with "runtime exception" (http://www.dune-project.org/license.html) +# ~~~ BSD 2-Clause License -------------------- diff --git a/cmake/modules/CMakeLists.txt b/cmake/modules/CMakeLists.txt index 8277c0479ecced11e64df89e87d46edc891f6ab5..aa80082e74d0f9cabef38bf07b094b79b4e4b333 100644 --- a/cmake/modules/CMakeLists.txt +++ b/cmake/modules/CMakeLists.txt @@ -1,13 +1,19 @@ - # This file is part of the dune-xt-grid project: +# ~~~ +# This file is part of the dune-xt-grid project: # https://github.com/dune-community/dune-xt-grid # Copyright 2009-2018 dune-xt-grid developers and contributors. All rights reserved. # License: Dual licensed as BSD 2-Clause License (http://opensource.org/licenses/BSD-2-Clause) # Authors: # Felix Schindler (2016 - 2017) # Rene Milk (2018) +# ~~~ + +# This file is part of the dune-xt-grid project: https://github.com/dune-community/dune-xt-grid Copyright 2009-2018 +# dune-xt-grid developers and contributors. All rights reserved. License: Dual licensed as BSD 2-Clause License +# (http://opensource.org/licenses/BSD-2-Clause) Authors: Felix Schindler (2016 - 2017) Rene Milk (2018) # -# or GPL-2.0+ (http://opensource.org/licenses/gpl-license) -# with "runtime exception" (http://www.dune-project.org/license.html) +# or GPL-2.0+ (http://opensource.org/licenses/gpl-license) with "runtime exception" (http://www.dune- +# project.org/license.html) set(modules "DuneXtGrid.cmake") diff --git a/cmake/modules/DuneXtGridMacros.cmake b/cmake/modules/DuneXtGridMacros.cmake index b4726d3d4da850d10ea5fd267491648064e7d884..09252349c6e47ac8731818a88403254f1eab6ef5 100644 --- a/cmake/modules/DuneXtGridMacros.cmake +++ b/cmake/modules/DuneXtGridMacros.cmake @@ -1,3 +1,4 @@ +# ~~~ # This file is part of the dune-xt-grid project: # https://github.com/dune-community/dune-xt-grid # Copyright 2009-2018 dune-xt-grid developers and contributors. All rights reserved. @@ -10,6 +11,7 @@ # with "runtime exception" (http://www.dune-project.org/license.html) # # File for module specific CMake tests. +# ~~~ set(DUNE_GRID_EXPERIMENTAL_GRID_EXTENSIONS TRUE) diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index b3329d789939ce616b04e746162a05e42e7bfc9a..feeaba226d61ae1a1fab482d56e55acec55f0abe 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -1,3 +1,4 @@ +# ~~~ # This file is part of the dune-xt-grid project: # https://github.com/dune-community/dune-xt-grid # Copyright 2009-2018 dune-xt-grid developers and contributors. All rights reserved. @@ -8,5 +9,6 @@ # # or GPL-2.0+ (http://opensource.org/licenses/gpl-license) # with "runtime exception" (http://www.dune-project.org/license.html) +# ~~~ add_subdirectory(doxygen) diff --git a/doc/doxygen/CMakeLists.txt b/doc/doxygen/CMakeLists.txt index 18f4da751e881c84e6ff84405151e21a2a2ae7bc..7c85c8cb3aea4417635a489bbb22ea7e14f2b171 100644 --- a/doc/doxygen/CMakeLists.txt +++ b/doc/doxygen/CMakeLists.txt @@ -1,3 +1,4 @@ +# ~~~ # This file is part of the dune-xt-grid project: # https://github.com/dune-community/dune-xt-grid # Copyright 2009-2018 dune-xt-grid developers and contributors. All rights reserved. @@ -10,5 +11,6 @@ # with "runtime exception" (http://www.dune-project.org/license.html) # # shortcut for creating the Doxyfile.in and Doxyfile +# ~~~ add_doxygen_target() diff --git a/doc/doxygen/Doxylocal b/doc/doxygen/Doxylocal index aa105494fcd84c4e426ef92b1df1803e984d9b94..7101f15093d274a8eef276e9c3e87cb95b5719f6 100644 --- a/doc/doxygen/Doxylocal +++ b/doc/doxygen/Doxylocal @@ -1,3 +1,4 @@ +# ~~~ # This file is part of the dune-xt-grid project: # https://github.com/dune-community/dune-xt-grid # Copyright 2009-2018 dune-xt-grid developers and contributors. All rights reserved. @@ -11,6 +12,7 @@ # # This file contains local changes to the doxygen configuration # please us '+=' to add file/directories to the lists +# ~~~ # The INPUT tag can be used to specify the files and/or directories that contain # documented source files. You may enter file names like "myfile.cpp" or diff --git a/dune-xt-grid.pc.in b/dune-xt-grid.pc.in index 17c2014053b9acbd415ad5d9b2d031b37700ea48..878cab80aceaff8ee07086ecfdcf132d36a82bf4 100644 --- a/dune-xt-grid.pc.in +++ b/dune-xt-grid.pc.in @@ -1,3 +1,4 @@ +# ~~~ # This file is part of the dune-xt-grid project: # https://github.com/dune-community/dune-xt-grid # Copyright 2009-2018 dune-xt-grid developers and contributors. All rights reserved. @@ -8,6 +9,7 @@ # # or GPL-2.0+ (http://opensource.org/licenses/gpl-license) # with "runtime exception" (http://www.dune-project.org/license.html) +# ~~~ prefix=@prefix@ exec_prefix=@exec_prefix@ diff --git a/dune.module b/dune.module index 3e178e377444251ebf432a24063adb4ad8763739..3385085bdfa2bf853d18cbbf059ff626498a63e9 100644 --- a/dune.module +++ b/dune.module @@ -1,3 +1,4 @@ +# ~~~ # This file is part of the dune-xt-grid project: # https://github.com/dune-community/dune-xt-grid # Copyright 2009-2018 dune-xt-grid developers and contributors. All rights reserved. @@ -8,6 +9,7 @@ # # or GPL-2.0+ (http://opensource.org/licenses/gpl-license) # with "runtime exception" (http://www.dune-project.org/license.html) +# ~~~ Module: dune-xt-grid Version: 2.5.0-dev diff --git a/dune/CMakeLists.txt b/dune/CMakeLists.txt index 372e815a7f42129dfc57d894f68939122fe12cd3..60f6b235605700a419e89db27e80566b82dfc7a4 100644 --- a/dune/CMakeLists.txt +++ b/dune/CMakeLists.txt @@ -1,3 +1,4 @@ +# ~~~ # This file is part of the dune-xt-grid project: # https://github.com/dune-community/dune-xt-grid # Copyright 2009-2018 dune-xt-grid developers and contributors. All rights reserved. @@ -8,5 +9,6 @@ # # or GPL-2.0+ (http://opensource.org/licenses/gpl-license) # with "runtime exception" (http://www.dune-project.org/license.html) +# ~~~ add_subdirectory(xt) diff --git a/dune/xt/CMakeLists.txt b/dune/xt/CMakeLists.txt index 9d6de856fc2223e2ef41316361512b8090dc1176..c164728cc7b4f00ef1fb577ef134aa9ff2356d93 100644 --- a/dune/xt/CMakeLists.txt +++ b/dune/xt/CMakeLists.txt @@ -1,3 +1,4 @@ +# ~~~ # This file is part of the dune-xt-grid project: # https://github.com/dune-community/dune-xt-grid # Copyright 2009-2018 dune-xt-grid developers and contributors. All rights reserved. @@ -9,6 +10,7 @@ # # or GPL-2.0+ (http://opensource.org/licenses/gpl-license) # with "runtime exception" (http://www.dune-project.org/license.html) +# ~~~ add_subdirectory(grid) diff --git a/dune/xt/grid/CMakeLists.txt b/dune/xt/grid/CMakeLists.txt index 8dddd8d46cc1536ca3b9ddfd71c238a0c57c54c0..e18e0a491518a669723ba27d57649de47aface14 100644 --- a/dune/xt/grid/CMakeLists.txt +++ b/dune/xt/grid/CMakeLists.txt @@ -1,3 +1,4 @@ +# ~~~ # This file is part of the dune-xt-grid project: # https://github.com/dune-community/dune-xt-grid # Copyright 2009-2018 dune-xt-grid developers and contributors. All rights reserved. @@ -9,26 +10,27 @@ # # or GPL-2.0+ (http://opensource.org/licenses/gpl-license) # with "runtime exception" (http://www.dune-project.org/license.html) +# ~~~ set(lib_dune_xt_grid_sources boundaryinfo/interfaces.cc) if(DUNE_XT_WITH_PYTHON_BINDINGS) list(APPEND lib_dune_xt_grid_sources - gridprovider/cube.lib/alu_2d_simplex_conforming.cc - gridprovider/cube.lib/yasp_1d_equidistant_offset.cc - gridprovider/cube.lib/yasp_2d_equidistant_offset.cc - gridprovider/cube.lib/yasp_3d_equidistant_offset.cc - gridprovider/provider.lib/alu_2d_simplex_conforming.cc - gridprovider/provider.lib/yasp_1d_equidistant_offset.cc - gridprovider/provider.lib/yasp_2d_equidistant_offset.cc - gridprovider/provider.lib/yasp_3d_equidistant_offset.cc - walker.lib/alu_2d_simplex_conforming.cc - walker.lib/yasp_1d_equidistant_offset.cc - walker.lib/yasp_2d_equidistant_offset.cc - walker.lib/yasp_3d_equidistant_offset.cc) + gridprovider/cube.lib/alu_2d_simplex_conforming.cc + gridprovider/cube.lib/yasp_1d_equidistant_offset.cc + gridprovider/cube.lib/yasp_2d_equidistant_offset.cc + gridprovider/cube.lib/yasp_3d_equidistant_offset.cc + gridprovider/provider.lib/alu_2d_simplex_conforming.cc + gridprovider/provider.lib/yasp_1d_equidistant_offset.cc + gridprovider/provider.lib/yasp_2d_equidistant_offset.cc + gridprovider/provider.lib/yasp_3d_equidistant_offset.cc + walker.lib/alu_2d_simplex_conforming.cc + walker.lib/yasp_1d_equidistant_offset.cc + walker.lib/yasp_2d_equidistant_offset.cc + walker.lib/yasp_3d_equidistant_offset.cc) endif() dune_library_add_sources(dunextgrid SOURCES ${lib_dune_xt_grid_sources}) add_dune_alberta_flags(GRIDDIM 1 SOURCE_ONLY dunextgrid) include_directories(SYSTEM ${DUNE_XT_COMMON_TEST_DIR}/gtest) -add_subdirectory(test EXCLUDE_FROM_ALL ) +add_subdirectory(test EXCLUDE_FROM_ALL) diff --git a/dune/xt/grid/boundaryinfo/alldirichlet.hh b/dune/xt/grid/boundaryinfo/alldirichlet.hh index c5cd9e7213767e4dfe20645252e11ae931e97ae7..51db6dc8ada035c0e09148ead1b4861a48faadd3 100644 --- a/dune/xt/grid/boundaryinfo/alldirichlet.hh +++ b/dune/xt/grid/boundaryinfo/alldirichlet.hh @@ -16,7 +16,7 @@ #include <dune/xt/common/memory.hh> #include "interfaces.hh" -#include "types.hh" +#include <dune/xt/grid/boundaryinfo/types.hh> namespace Dune { namespace XT { diff --git a/dune/xt/grid/boundaryinfo/allneumann.hh b/dune/xt/grid/boundaryinfo/allneumann.hh index 4fdf156bc6a77f23a5960cd70b4ff57f52354e65..954cf91948d96d6fd771fcfc568f7871438bd1a2 100644 --- a/dune/xt/grid/boundaryinfo/allneumann.hh +++ b/dune/xt/grid/boundaryinfo/allneumann.hh @@ -16,7 +16,7 @@ #include <dune/xt/common/memory.hh> #include "interfaces.hh" -#include "types.hh" +#include <dune/xt/grid/boundaryinfo/types.hh> namespace Dune { namespace XT { diff --git a/dune/xt/grid/boundaryinfo/allreflecting.hh b/dune/xt/grid/boundaryinfo/allreflecting.hh index 0af339339672616089bf76491a977788478f1116..8ffea05abfb7262eefec0dbc5fc89842aa1128c2 100644 --- a/dune/xt/grid/boundaryinfo/allreflecting.hh +++ b/dune/xt/grid/boundaryinfo/allreflecting.hh @@ -16,7 +16,7 @@ #include <dune/xt/common/memory.hh> #include "interfaces.hh" -#include "types.hh" +#include <dune/xt/grid/boundaryinfo/types.hh> namespace Dune { namespace XT { diff --git a/dune/xt/grid/boundaryinfo/boundarysegment.hh b/dune/xt/grid/boundaryinfo/boundarysegment.hh index e1440ced19486d09846e9a87f7aa24d6c1c13692..80a9bd506eea002705a581fd31d8a4086964a53f 100644 --- a/dune/xt/grid/boundaryinfo/boundarysegment.hh +++ b/dune/xt/grid/boundaryinfo/boundarysegment.hh @@ -15,7 +15,7 @@ #include <dune/xt/common/configuration.hh> #include "interfaces.hh" -#include "types.hh" +#include <dune/xt/grid/boundaryinfo/types.hh> namespace Dune { namespace XT { diff --git a/dune/xt/grid/boundaryinfo/factory.hh b/dune/xt/grid/boundaryinfo/factory.hh index 16b7138dbfb16221f2d9f8cd9ba5a401e088bda0..a4dbd254fcd2ee4c417f9cf7e1e5ca7c7dd09c7b 100644 --- a/dune/xt/grid/boundaryinfo/factory.hh +++ b/dune/xt/grid/boundaryinfo/factory.hh @@ -5,7 +5,7 @@ // or GPL-2.0+ (http://opensource.org/licenses/gpl-license) // with "runtime exception" (http://www.dune-project.org/license.html) // Authors: -// Felix Schindler (2016 - 2017) +// Felix Schindler (2016 - 2018) // Rene Milk (2016, 2018) #ifndef DUNE_XT_GRID_BOUNDARYINFO_FACTORY_HH diff --git a/dune/xt/grid/boundaryinfo/interfaces.hh b/dune/xt/grid/boundaryinfo/interfaces.hh index f71ce3e0ad4b528f1d689f101c0f7f99f02bc233..51e14866dac39628ca72f324caba3272cb090ec1 100644 --- a/dune/xt/grid/boundaryinfo/interfaces.hh +++ b/dune/xt/grid/boundaryinfo/interfaces.hh @@ -5,9 +5,9 @@ // or GPL-2.0+ (http://opensource.org/licenses/gpl-license) // with "runtime exception" (http://www.dune-project.org/license.html) // Authors: -// Felix Schindler (2016 - 2017) +// Felix Schindler (2016 - 2018) // Rene Milk (2016, 2018) -// Tobias Leibner (2016 - 2017) +// Tobias Leibner (2016 - 2018) #ifndef DUNE_XT_GRID_BOUNDARYINFO_INTERFACE_HH #define DUNE_XT_GRID_BOUNDARYINFO_INTERFACE_HH @@ -51,11 +51,6 @@ private: }; // class BoundaryType -#if (defined(BOOST_CLANG) && BOOST_CLANG) || (defined(BOOST_GCC) && BOOST_GCC) -#pragma GCC diagnostic pop -#endif - - std::ostream& operator<<(std::ostream& out, const BoundaryType& type); @@ -83,6 +78,10 @@ public: }; // class BoundaryInfo +#if (defined(BOOST_CLANG) && BOOST_CLANG) || (defined(BOOST_GCC) && BOOST_GCC) +#pragma GCC diagnostic pop +#endif + } // namespace Grid } // namespace XT } // namespace Dune diff --git a/dune/xt/grid/boundaryinfo/normalbased.hh b/dune/xt/grid/boundaryinfo/normalbased.hh index 0a65041b98c7e3162d4c92009ef73b834ab9979b..8cc2b906d7bd038e39e38390946f83c9e0bfefc9 100644 --- a/dune/xt/grid/boundaryinfo/normalbased.hh +++ b/dune/xt/grid/boundaryinfo/normalbased.hh @@ -5,9 +5,9 @@ // or GPL-2.0+ (http://opensource.org/licenses/gpl-license) // with "runtime exception" (http://www.dune-project.org/license.html) // Authors: -// Felix Schindler (2016 - 2017) +// Felix Schindler (2016 - 2018) // Rene Milk (2016, 2018) -// Tobias Leibner (2016 - 2017) +// Tobias Leibner (2016 - 2018) #ifndef DUNE_XT_GRID_BOUNDARYINFO_NORMALBASED_HH #define DUNE_XT_GRID_BOUNDARYINFO_NORMALBASED_HH @@ -20,7 +20,7 @@ #include <dune/xt/grid/exceptions.hh> #include "interfaces.hh" -#include "types.hh" +#include <dune/xt/grid/boundaryinfo/types.hh> namespace Dune { namespace XT { @@ -163,13 +163,13 @@ public: if (XT::Common::FloatCmp::eq(existing_normal, normalized_normal, tol_)) DUNE_THROW(InvalidStateException, "Given normals are too close for given tolerance '" << tol_ << "'!"); } - normal_to_type_map_.emplace(normal, std::move(boundary_type)); + normal_to_type_map_.emplace(normal, std::shared_ptr<BoundaryType>(std::move(boundary_type))); } // ... void register_new_normal(...) const BoundaryType& type(const IntersectionType& intersection) const override final { if (!intersection.boundary()) - return no_boundary_; + return no_boundary; const WorldType outer_normal = intersection.centerUnitOuterNormal(); for (const auto& normal_and_type_pair : normal_to_type_map_) { const auto& normal = normal_and_type_pair.first; @@ -183,7 +183,6 @@ public: private: const DomainFieldType tol_; const std::unique_ptr<BoundaryType> default_boundary_type_; - const NoBoundary no_boundary_; std::unordered_map<WorldType, std::shared_ptr<BoundaryType>> normal_to_type_map_; }; // class NormalBasedBoundaryInfo #if (defined(BOOST_CLANG) && BOOST_CLANG) || (defined(BOOST_GCC) && BOOST_GCC) diff --git a/dune/xt/grid/boundaryinfo/types.hh b/dune/xt/grid/boundaryinfo/types.hh index 8312b60fc238b4e028be53695f1bed8191d86a87..fa96e27c6c2a7886b67e6730a7c9697bae1b6e8f 100644 --- a/dune/xt/grid/boundaryinfo/types.hh +++ b/dune/xt/grid/boundaryinfo/types.hh @@ -5,9 +5,9 @@ // or GPL-2.0+ (http://opensource.org/licenses/gpl-license) // with "runtime exception" (http://www.dune-project.org/license.html) // Authors: -// Felix Schindler (2016 - 2017) +// Felix Schindler (2016 - 2018) // Rene Milk (2016, 2018) -// Tobias Leibner (2016 - 2017) +// Tobias Leibner (2016 - 2018) #ifndef DUNE_XT_GRID_BOUNDARYINFO_TYPES_HH #define DUNE_XT_GRID_BOUNDARYINFO_TYPES_HH @@ -196,7 +196,7 @@ public: #endif -static BoundaryType* make_boundary_type(const std::string& id) +static inline BoundaryType* make_boundary_type(const std::string& id) { if (id == NoBoundary().id()) return new NoBoundary(); @@ -227,6 +227,12 @@ static BoundaryType* make_boundary_type(const std::string& id) } // ... make_boundary_type(...) +static constexpr AbsorbingBoundary absorbing_boundary{}; +static constexpr DirichletBoundary dirichlet_boundary{}; +static constexpr NoBoundary no_boundary{}; +static constexpr ReflectingBoundary reflecting_boundary{}; + + } // namespace Grid } // namespace XT } // namespace Dune diff --git a/dune/xt/grid/dd/subdomains/factory.hh b/dune/xt/grid/dd/subdomains/factory.hh index aeb7d845a9838014164f9ab6bd0a1a65daaf1349..a3441c850836e527574e441bcd2fdb37431cd38a 100644 --- a/dune/xt/grid/dd/subdomains/factory.hh +++ b/dune/xt/grid/dd/subdomains/factory.hh @@ -7,6 +7,7 @@ // Authors: // Felix Schindler (2017) // Rene Milk (2017 - 2018) +// Tobias Leibner (2018) #ifndef DUNE_XT_GRID_DD_SUBDOMAINS_FACTORY_HH #define DUNE_XT_GRID_DD_SUBDOMAINS_FACTORY_HH @@ -245,7 +246,7 @@ private: CodimSizesType& localCodimSizes) { // loop over all codim c subentities of the entity - for (size_t i = 0; i < entity.subEntities(c); ++i) { + for (unsigned int i = 0; i < entity.subEntities(c); ++i) { const auto codimCentity = entity.template subEntity<c>(i); const GeometryType& geometryType = codimCentity.type(); const IndexType globalIndex = factory.globalGridView_->indexSet().index(codimCentity); @@ -908,7 +909,7 @@ struct SubdomainGridFactory<GridType>::Add<c, c> typename SubdomainGridFactory<GridType>::CodimSizesType& localCodimSizes) { // loop over all codim c subentities of this entity - for (size_t i = 0; i < entity.subEntities(c); ++i) { + for (unsigned int i = 0; i < entity.subEntities(c); ++i) { const auto codimCentity = entity.template subEntity<c>(i); const SubdomainGridFactory<GridType>::GeometryType& geometryType = codimCentity.type(); const typename SubdomainGridFactory<GridType>::IndexType globalIndex = diff --git a/dune/xt/grid/exceptions.hh b/dune/xt/grid/exceptions.hh index 2b4c1bc7bceb500770861d7407107dec73973e81..396059abceae1636fff25efbf463bf0b942f68f4 100644 --- a/dune/xt/grid/exceptions.hh +++ b/dune/xt/grid/exceptions.hh @@ -1,11 +1,12 @@ // This file is part of the dune-xt-grid project: // https://github.com/dune-community/dune-xt-grid -// Copyright 2009-2017 dune-xt-grid developers and contributors. All rights reserved. +// Copyright 2009-2018 dune-xt-grid 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 (2018) +// Felix Schindler (2016 - 2018) +// Rene Milk (2016, 2018) #ifndef DUNE_XT_GRID_EXCEPTIONS_HH #define DUNE_XT_GRID_EXCEPTIONS_HH diff --git a/dune/xt/grid/gridprovider/cube.hh b/dune/xt/grid/gridprovider/cube.hh index f1d8aab80690382baf1061d8a822117e85e47ec7..b31c84fdffdacd3a8912a24421d0677667942487 100644 --- a/dune/xt/grid/gridprovider/cube.hh +++ b/dune/xt/grid/gridprovider/cube.hh @@ -10,7 +10,7 @@ // Felix Schindler (2012 - 2017) // Kirsten Weber (2012) // Rene Milk (2012 - 2018) -// Tobias Leibner (2014, 2016) +// Tobias Leibner (2014, 2016, 2018) #ifndef DUNE_XT_GRID_GRIDPROVIDER_CUBE_HH #define DUNE_XT_GRID_GRIDPROVIDER_CUBE_HH @@ -134,11 +134,12 @@ public: } /// TODO simplex grid overlap_size - static GridProvider<GridType> create(const FieldVector<typename GridType::ctype, GridType::dimension>& lower_left, - const FieldVector<typename GridType::ctype, GridType::dimension>& upper_right, - const std::array<unsigned int, GridType::dimension>& num_elements, - const unsigned int num_refinements, - const std::array<unsigned int, GridType::dimension>& overlap_size) + static GridProvider<GridType, none_t> + create(const FieldVector<typename GridType::ctype, GridType::dimension>& lower_left, + const FieldVector<typename GridType::ctype, GridType::dimension>& upper_right, + const std::array<unsigned int, GridType::dimension>& num_elements, + const unsigned int num_refinements, + const std::array<unsigned int, GridType::dimension>& overlap_size) { static const int variant = ElementVariant<GridType>::id; static_assert(variant == 1 || variant == 2, "variant has to be 1 or 2!"); @@ -170,10 +171,10 @@ public: #endif grd_ptr->postAdapt(); grd_ptr->loadBalance(); - return GridProvider<GridType>(grd_ptr); + return GridProvider<GridType, none_t>(grd_ptr); } // ... create(...) - static GridProvider<GridType> + static GridProvider<GridType, none_t> create(const typename GridType::ctype& lower_left, const typename GridType::ctype& upper_right, const unsigned int num_elements = @@ -190,7 +191,7 @@ public: Common::make_array<unsigned int, GridType::dimension>(overlap_size)); } // ... create(...) - static GridProvider<GridType> create(const Common::Configuration& cfg = cube_gridprovider_default_config()) + static GridProvider<GridType, none_t> create(const Common::Configuration& cfg = cube_gridprovider_default_config()) { static const size_t d = GridType::dimension; auto overlap_size = @@ -237,7 +238,7 @@ public: template <class GridType> -typename std::enable_if<is_grid<GridType>::value, GridProvider<GridType>>::type make_cube_grid( +typename std::enable_if<is_grid<GridType>::value, GridProvider<GridType, none_t>>::type make_cube_grid( const FieldVector<typename GridType::ctype, GridType::dimension>& lower_left, const FieldVector<typename GridType::ctype, GridType::dimension>& upper_right, const std::array<unsigned int, GridType::dimension> num_elements = @@ -253,7 +254,7 @@ typename std::enable_if<is_grid<GridType>::value, GridProvider<GridType>>::type template <class GridType> -typename std::enable_if<is_grid<GridType>::value, GridProvider<GridType>>::type +typename std::enable_if<is_grid<GridType>::value, GridProvider<GridType, none_t>>::type make_cube_grid(const typename GridType::ctype& lower_left, const typename GridType::ctype& upper_right, const unsigned int num_elements = @@ -269,7 +270,7 @@ make_cube_grid(const typename GridType::ctype& lower_left, template <class GridType> -typename std::enable_if<is_grid<GridType>::value, GridProvider<GridType>>::type +typename std::enable_if<is_grid<GridType>::value, GridProvider<GridType, none_t>>::type make_cube_grid(const Common::Configuration& cfg = cube_gridprovider_default_config()) { return CubeGridProviderFactory<GridType>::create(cfg); diff --git a/dune/xt/grid/gridprovider/dgf.hh b/dune/xt/grid/gridprovider/dgf.hh index b4317c71d46ba8f27b606c647915ca9d1eacf32c..ff9be69f40302794c99c2dcc8740e52e5102c936 100644 --- a/dune/xt/grid/gridprovider/dgf.hh +++ b/dune/xt/grid/gridprovider/dgf.hh @@ -68,12 +68,12 @@ public: return cfg; } - static GridProvider<GridType> create(const std::string& filename) + static GridProvider<GridType, none_t> create(const std::string& filename) { - return GridProvider<GridType>(GridPtr<GridType>(filename).release()); + return GridProvider<GridType, none_t>(GridPtr<GridType>(filename).release()); } - static GridProvider<GridType> create(const Common::Configuration& cfg = default_config()) + static GridProvider<GridType, none_t> create(const Common::Configuration& cfg = default_config()) { return create(cfg.get("filename", default_config().template get<std::string>("filename"))); } @@ -81,7 +81,7 @@ public: template <class GridType> -typename std::enable_if<is_grid<GridType>::value, GridProvider<GridType>>::type +typename std::enable_if<is_grid<GridType>::value, GridProvider<GridType, none_t>>::type make_dgf_grid(const std::string& filename) { return DgfGridProviderFactory<GridType>(filename); @@ -89,7 +89,7 @@ make_dgf_grid(const std::string& filename) template <class GridType> -typename std::enable_if<is_grid<GridType>::value, GridProvider<GridType>>::type +typename std::enable_if<is_grid<GridType>::value, GridProvider<GridType, none_t>>::type make_dgf_grid(const Common::Configuration& cfg = DgfGridProviderFactory<GridType>::default_config()) { return DgfGridProviderFactory<GridType>::create(cfg); diff --git a/dune/xt/grid/gridprovider/eoc.hh b/dune/xt/grid/gridprovider/eoc.hh index 55a7f9ef0968749c53616fdb4099cd33ca749d0e..7c382b2ec0035f462498535a4fd00ea4111559f1 100644 --- a/dune/xt/grid/gridprovider/eoc.hh +++ b/dune/xt/grid/gridprovider/eoc.hh @@ -7,6 +7,7 @@ // Authors: // Felix Schindler (2017) // Rene Milk (2016, 2018) +// Tobias Leibner (2018) #ifndef DUNE_XT_GRID_PROVIDER_EOC_HH #define DUNE_XT_GRID_PROVIDER_EOC_HH @@ -28,9 +29,9 @@ namespace Grid { * means to obtain the real grid level corresponding to a refinement level. */ template <class GridImp> -class LevelBasedEOCGridProvider : public GridProvider<GridImp> +class LevelBasedEOCGridProvider : public GridProvider<GridImp, none_t> { - typedef GridProvider<GridImp> BaseType; + typedef GridProvider<GridImp, none_t> BaseType; public: using typename BaseType::GridType; @@ -101,7 +102,7 @@ private: template <class GridImp> class LeafBasedEOCGridProvider { - typedef GridProvider<GridImp> GridProviderType; + typedef GridProvider<GridImp, none_t> GridProviderType; public: typedef typename GridProviderType::GridType GridType; @@ -127,7 +128,7 @@ public: return level_grids_.size() - 1; } - int level_of(const size_t refinement) const + int level_of(const size_t /*refinement*/) const { return -1; } @@ -199,7 +200,7 @@ public: return level_grids_.size() - 1; } - int level_of(const size_t refinement) const + int level_of(const size_t /*refinement*/) const { return -1; } @@ -240,7 +241,7 @@ private: }; // class DdSubdomainsBasedEOCGridProvider -template <class G, class DdGrid = int> +template <class G, class DdGrid = none_t> class EOCGridProvider : public LevelBasedEOCGridProvider<G> { public: @@ -280,7 +281,7 @@ public: } // namespace Grid -} // namespace Stuff +} // namespace XT } // namespace Dune #endif // DUNE_XT_GRID_PROVIDER_EOC_HH diff --git a/dune/xt/grid/gridprovider/factory.hh b/dune/xt/grid/gridprovider/factory.hh index 3f2771fa7bbcbb9341d8b29975b1b40e67ef9cc9..8279bf5f4b8616849d68b5839bc1bf5532cb1e3b 100644 --- a/dune/xt/grid/gridprovider/factory.hh +++ b/dune/xt/grid/gridprovider/factory.hh @@ -50,10 +50,10 @@ class GridProviderFactory return Common::Configuration(); } - static GridProvider<GridType> create(const Common::Configuration& /*cfg*/) + static GridProvider<GridType, none_t> create(const Common::Configuration& /*cfg*/) { DUNE_THROW(Common::Exceptions::internal_error, "This should not happen!"); - return GridProvider<GridType>(nullptr); + return GridProvider<GridType, none_t>(nullptr); } }; // struct Helper @@ -76,7 +76,7 @@ class GridProviderFactory return G::default_config(); } - static GridProvider<GridType> create(const Common::Configuration& cfg) + static GridProvider<GridType, none_t> create(const Common::Configuration& cfg) { if (cfg.empty()) return G::create(); @@ -104,7 +104,7 @@ class GridProviderFactory } template <class G> - static GridProvider<GridType> call_create(const Common::Configuration& cfg) + static GridProvider<GridType, none_t> call_create(const Common::Configuration& cfg) { return Helper<G, G::available>::create(cfg); } @@ -154,13 +154,13 @@ public: << available_as_str()); } // ... default_config(...) - static GridProvider<GridType> create(const Common::Configuration& config) + static GridProvider<GridType, none_t> create(const Common::Configuration& config) { return create(config.get<std::string>("type"), config); } - static GridProvider<GridType> create(const std::string& type = available()[0], - const Common::Configuration config = Common::Configuration()) + static GridProvider<GridType, none_t> create(const std::string& type = available()[0], + const Common::Configuration config = Common::Configuration()) { if (call_compare<CubeType>(type)) return call_create<CubeType>(config); diff --git a/dune/xt/grid/gridprovider/gmsh.hh b/dune/xt/grid/gridprovider/gmsh.hh index f64d6263c5abd51318d592ba44383f03b13604f8..c711564e9fb78b3c9f61dfc1d2c76bebcaeac63a 100644 --- a/dune/xt/grid/gridprovider/gmsh.hh +++ b/dune/xt/grid/gridprovider/gmsh.hh @@ -82,12 +82,12 @@ public: return cfg; } - static GridProvider<GridType> create(const std::string& filename) + static GridProvider<GridType, none_t> create(const std::string& filename) { - return GridProvider<GridType>(GmshReader<GridType>::read(filename)); + return GridProvider<GridType, none_t>(GmshReader<GridType>::read(filename)); } - static GridProvider<GridType> create(const Common::Configuration& cfg = default_config()) + static GridProvider<GridType, none_t> create(const Common::Configuration& cfg = default_config()) { return create(cfg.get("filename", default_config().template get<std::string>("filename"))); } diff --git a/dune/xt/grid/gridprovider/provider.hh b/dune/xt/grid/gridprovider/provider.hh index 3d363c81540153e6077d26b27d04508b95457ae4..d7943bce1e81ff5ffbed041071f60cc76640bc3e 100644 --- a/dune/xt/grid/gridprovider/provider.hh +++ b/dune/xt/grid/gridprovider/provider.hh @@ -36,10 +36,14 @@ namespace Dune { namespace XT { namespace Grid { -template <class T> -using DefaultDDGridImp = DD::SubdomainGrid<T>; +struct none_t +{ + none_t() = delete; +}; + +using DefaultDDGridImp = none_t; -template <class GridImp, typename DdGridImp = DefaultDDGridImp<GridImp>> +template <class GridImp, typename DdGridImp = DefaultDDGridImp> class GridProvider { static_assert(is_grid<GridImp>::value, ""); diff --git a/dune/xt/grid/grids.hh b/dune/xt/grid/grids.hh index 40163f423cdf9d893568406bf62057503095cc73..f22c403f7420504066e617a2223e5568a499a91d 100644 --- a/dune/xt/grid/grids.hh +++ b/dune/xt/grid/grids.hh @@ -7,6 +7,7 @@ // Authors: // Felix Schindler (2016 - 2018) // Rene Milk (2017 - 2018) +// TiKeil (2018) // Tobias Leibner (2016) #ifndef DUNE_XT_GRID_GRIDS_HH diff --git a/dune/xt/grid/information.hh b/dune/xt/grid/information.hh index 6415173a3a70dfc44f504144a9ec467865bf2c9e..5db15ca8f6126ecf5d8ac97ba6271c7e23fb3630 100644 --- a/dune/xt/grid/information.hh +++ b/dune/xt/grid/information.hh @@ -8,7 +8,7 @@ // Felix Schindler (2012, 2014 - 2017) // Rene Milk (2012 - 2018) // Sven Kaulmann (2014) -// Tobias Leibner (2014, 2016 - 2017) +// Tobias Leibner (2014, 2016 - 2018) #ifndef DUNE_XT_GRID_INFORMATION_HH #define DUNE_XT_GRID_INFORMATION_HH @@ -89,8 +89,7 @@ size_t max_number_of_neighbors(const GridLayerType& grid_layer) for (auto&& entity : elements(grid_layer)) { size_t neighbours = 0; const auto intersection_it_end = grid_layer.iend(entity); - for (DUNE_UNUSED auto intersection_it = grid_layer.ibegin(entity); intersection_it != intersection_it_end; - ++intersection_it) { + for (auto intersection_it = grid_layer.ibegin(entity); intersection_it != intersection_it_end; ++intersection_it) { ++neighbours; } maxNeighbours = std::max(maxNeighbours, neighbours); diff --git a/dune/xt/grid/layers.hh b/dune/xt/grid/layers.hh index ed80b3fd3f6b60c42c42c5977e89759c57c36e80..fe6f54c722fde2749d0c4d093025c854d4299940 100644 --- a/dune/xt/grid/layers.hh +++ b/dune/xt/grid/layers.hh @@ -8,13 +8,14 @@ // Andreas Buhr (2014) // Felix Schindler (2014 - 2017) // Rene Milk (2014 - 2018) -// Tobias Leibner (2017) +// Tobias Leibner (2017 - 2018) #ifndef DUNE_XT_GRID_LAYERS_HH #define DUNE_XT_GRID_LAYERS_HH #include <dune/common/typetraits.hh> +#include <dune/xt/common/fixed_map.hh> #include <dune/xt/grid/type_traits.hh> #include <dune/xt/grid/view/subdomain/view.hh> @@ -49,6 +50,16 @@ enum class Layers dd_subdomain_coupling }; +namespace { +const XT::Common::FixedMap<Layers, std::string, 7> layer_names{ + {Layers::adaptive_leaf, "adaptive_leaf"}, + {Layers::leaf, "leaf"}, + {Layers::level, "level"}, + {Layers::dd_subdomain, "dd_subdomain"}, + {Layers::dd_subdomain_oversampled, "dd_subdomain_oversampled"}, + {Layers::dd_subdomain_boundary, "dd_subdomain_boundary"}, + {Layers::dd_subdomain_coupling, "dd_subdomain_coupling"}}; +} namespace internal { @@ -178,7 +189,7 @@ struct Layer<GridType, Layers::dd_subdomain_coupling, Backends::view, DdGridType typedef typename DD::SubdomainGrid<GridType>::CouplingGridViewType type; static type create(const GridType& /*grid*/, - const int subdomain = 0, + const int /*subdomain */ = 0, const std::shared_ptr<DD::SubdomainGrid<GridType>> dd_grid = nullptr) { static_assert(std::is_same<DdGridType, DD::SubdomainGrid<GridType>>::value, @@ -187,7 +198,7 @@ struct Layer<GridType, Layers::dd_subdomain_coupling, Backends::view, DdGridType return dd_grid->coupling_grid_view(0, 0); } - static type create(GridType& /*grid*/, const int subdomain, std::shared_ptr<DD::SubdomainGrid<GridType>> dd_grid) + static type create(GridType& /*grid*/, const int /*subdomain*/, std::shared_ptr<DD::SubdomainGrid<GridType>> dd_grid) { static_assert(std::is_same<DdGridType, DD::SubdomainGrid<GridType>>::value, "Only available for DD::SubdomainGrid!"); diff --git a/dune/xt/grid/parallel/partitioning/ranged.hh b/dune/xt/grid/parallel/partitioning/ranged.hh index 419cd63934c40bb096939053cbb477d0def505bf..e06dafcff07cd57050aa6c76c58ee17a21f92b64 100644 --- a/dune/xt/grid/parallel/partitioning/ranged.hh +++ b/dune/xt/grid/parallel/partitioning/ranged.hh @@ -7,7 +7,7 @@ // Authors: // Felix Schindler (2017) // Rene Milk (2017 - 2018) -// Tobias Leibner (2017) +// Tobias Leibner (2017 - 2018) #ifndef DUNE_XT_GRID_PARALLEL_PARTITIONING_RANGED_HH #define DUNE_XT_GRID_PARALLEL_PARTITIONING_RANGED_HH diff --git a/dune/xt/grid/test/.gitignore b/dune/xt/grid/test/.gitignore index bbf419026dd6a44676ea607ced46dded4abcf144..7ccfd849ec19f87995c30e01a9ab2685c44b600c 100644 --- a/dune/xt/grid/test/.gitignore +++ b/dune/xt/grid/test/.gitignore @@ -1,3 +1,4 @@ +# ~~~ # This file is part of the dune-xt-grid project: # https://github.com/dune-community/dune-xt-grid # Copyright 2009-2018 dune-xt-grid developers and contributors. All rights reserved. @@ -9,6 +10,7 @@ # # or GPL-2.0+ (http://opensource.org/licenses/gpl-license) # with "runtime exception" (http://www.dune-project.org/license.html) +# ~~~ test_validation *.o diff --git a/dune/xt/grid/test/CMakeLists.txt b/dune/xt/grid/test/CMakeLists.txt index aa6e79487932fbeb64119ee75a799fd1e090c846..bd100d2dfab3fea983698cc5945836cc14e118c9 100644 --- a/dune/xt/grid/test/CMakeLists.txt +++ b/dune/xt/grid/test/CMakeLists.txt @@ -1,3 +1,4 @@ +# ~~~ # This file is part of the dune-xt-grid project: # https://github.com/dune-community/dune-xt-grid # Copyright 2009-2018 dune-xt-grid developers and contributors. All rights reserved. @@ -9,32 +10,34 @@ # # or GPL-2.0+ (http://opensource.org/licenses/gpl-license) # with "runtime exception" (http://www.dune-project.org/license.html) +# ~~~ enable_testing() # link grid files -dune_symlink_to_source_files(FILES gmsh_2d_simplices.msh dgf_1d_interval.dgf dgf_2d_interval.dgf dgf_3d_interval.dgf dgf_4d_interval.dgf) +dune_symlink_to_source_files( + FILES gmsh_2d_simplices.msh dgf_1d_interval.dgf dgf_2d_interval.dgf dgf_3d_interval.dgf dgf_4d_interval.dgf) dxt_exclude_from_headercheck(dd_subdomains_cube.hh) -BEGIN_TESTCASES(dunextgrid) +begin_testcases(dunextgrid) -END_TESTCASES() +end_testcases() # load binning setup from file if(DEFINED ENV{TRAVIS}) - include("builder_definitions.cmake") + include("builder_definitions.cmake") endif(DEFINED ENV{TRAVIS}) add_dune_alberta_flags(GRIDDIM 2 test_dd_glued_2d) add_dune_alberta_flags(GRIDDIM 3 test_dd_glued_3d) -foreach (test ${dxt_test_binaries}) - if (${test} MATCHES alberta_1d) +foreach(test ${dxt_test_binaries}) + if(${test} MATCHES alberta_1d) add_dune_alberta_flags(GRIDDIM 1 ${test}) - elseif (${test} MATCHES alberta_2d) + elseif(${test} MATCHES alberta_2d) add_dune_alberta_flags(GRIDDIM 2 ${test}) - elseif (${test} MATCHES alberta_3d) + elseif(${test} MATCHES alberta_3d) add_dune_alberta_flags(GRIDDIM 3 ${test}) endif() endforeach() diff --git a/dune/xt/grid/test/builder_definitions.cmake b/dune/xt/grid/test/builder_definitions.cmake index b166656e1c293bf1a798e4a27be1bad8ea4ae468..1ac16a84c9053f5c286bf45ee15cd4a27e4bc45d 100644 --- a/dune/xt/grid/test/builder_definitions.cmake +++ b/dune/xt/grid/test/builder_definitions.cmake @@ -1,82 +1,80 @@ set(DXT_BIN_COUNT "2" CACHE STRING "number of bins for test targets" ) -add_custom_target(test_binaries_builder_0 DEPENDS headercheck__dune_xt_grid_boundaryinfo.hh headercheck__dune_xt_grid_boundaryinfo_boundarysegment.hh headercheck__dune_xt_grid_boundaryinfo_factory.hh headercheck__dune_xt_grid_boundaryinfo_interfaces.hh headercheck__dune_xt_grid_boundaryinfo_normalbased.hh headercheck__dune_xt_grid_capabilities.hh headercheck__dune_xt_grid_functors_boundary-detector.hh headercheck__dune_xt_grid_functors_interfaces.hh headercheck__dune_xt_grid_gridprovider_cube.lib.hh headercheck__dune_xt_grid_gridprovider_eoc.hh headercheck__dune_xt_grid_gridprovider_factory.hh headercheck__dune_xt_grid_gridprovider_provider.lib.hh headercheck__dune_xt_grid_grids.hh headercheck__dune_xt_grid_information.hh headercheck__dune_xt_grid_intersection.hh headercheck__dune_xt_grid_layers.hh headercheck__dune_xt_grid_output_entity_visualization.hh headercheck__dune_xt_grid_output_pgf.hh headercheck__dune_xt_grid_parallel_partitioning_ranged-internal.hh headercheck__dune_xt_grid_view_from-part.hh headercheck__dune_xt_grid_view_subdomain_entity-iterator.hh headercheck__dune_xt_grid_view_subdomain_view.hh headercheck__dune_xt_grid_walker.lib.hh headercheck__dune_xt_grid_walker_filters.hh headercheck__dune_xt_grid_walker_wrapper.hh headercheck__python_dune_xt_grid_boundaryinfo.bindings.hh headercheck__python_dune_xt_grid_grids.bindings.hh headercheck__python_dune_xt_grid_walker.bindings.hh test_boundaryinfo_factory_alberta_2d test_boundaryinfo_factory_alberta_3d test_boundaryinfo_factory_alu_2d_0000 test_boundaryinfo_factory_alu_3d_0001 test_boundaryinfo_factory_ug_3d test_boundaryinfo_factory_yasp_3d test_cube_gridprovider_alberta_3d test_cube_gridprovider_alu_2d_0000 test_cube_gridprovider_alu_3d_0000 test_cube_gridprovider_alu_3d_0001 test_cube_gridprovider_ug_2d test_cube_gridprovider_ug_3d test_dd_glued_3d test_dd_subdomains_cube_1d_alberta_1d test_dd_subdomains_cube_1d_oned_1d test_dd_subdomains_cube_1d_yasp_1d test_dd_subdomains_cube_2d_alu_2d_0000 test_dd_subdomains_cube_2d_alu_2d_0002 test_dd_subdomains_cube_2d_yasp_2d test_dd_subdomains_cube_3d_alu_3d_0001 test_dd_subdomains_cube_3d_alu_3d_0002 test_dgf_gridprovider_alberta_2d test_dgf_gridprovider_alberta_3d test_dgf_gridprovider_alu_2d_0000 test_dgf_gridprovider_alu_2d_0001 test_dgf_gridprovider_alu_3d_0000 test_dgf_gridprovider_alu_3d_0001 test_dgf_gridprovider_ug_3d test_dgf_gridprovider_yasp_3d test_empty test_gmsh_gridprovider_alu_2d_0002 test_information_1d test_information_2d test_periodic_gridview_alberta_1d test_periodic_gridview_alu_2d_0000 test_periodic_gridview_alu_3d_0002 test_periodic_gridview_ug_2d test_periodic_gridview_yasp_2d test_search_alberta_1d test_search_alberta_2d test_search_alberta_3d test_search_alu_2d_0000 test_search_alu_2d_0001 test_search_alu_3d_0001 test_search_alu_3d_0002 test_search_ug_2d test_search_ug_3d test_search_yasp_3d) -set_tests_properties(test_boundaryinfo_factory_alberta_2d_0004 PROPERTIES LABELS "builder_0") +add_custom_target(test_binaries_builder_0 DEPENDS headercheck__dune_xt_grid_boundaryinfo.hh headercheck__dune_xt_grid_boundaryinfo_boundarysegment.hh headercheck__dune_xt_grid_boundaryinfo_normalbased.hh headercheck__dune_xt_grid_boundaryinfo_types.hh headercheck__dune_xt_grid_capabilities.hh headercheck__dune_xt_grid_dd_glued.hh headercheck__dune_xt_grid_dd_subdomains_factory.hh headercheck__dune_xt_grid_dd_subdomains_grid.hh headercheck__dune_xt_grid_exceptions.hh headercheck__dune_xt_grid_gridprovider_cube.lib.hh headercheck__dune_xt_grid_gridprovider_dgf.hh headercheck__dune_xt_grid_gridprovider_eoc.hh headercheck__dune_xt_grid_gridprovider_factory.hh headercheck__dune_xt_grid_gridprovider_provider.lib.hh headercheck__dune_xt_grid_grids.hh headercheck__dune_xt_grid_intersection.hh headercheck__dune_xt_grid_layers.hh headercheck__dune_xt_grid_output_pgf.hh headercheck__dune_xt_grid_parallel_partitioning_ranged-internal.hh headercheck__dune_xt_grid_test_dd_glued.hh headercheck__dune_xt_grid_view_from-part.hh headercheck__dune_xt_grid_walk_functors.hh headercheck__dune_xt_grid_walker.hh headercheck__dune_xt_grid_walker_apply-on.hh headercheck__dune_xt_grid_walker_functors.hh headercheck__dune_xt_grid_walker_wrapper.hh headercheck__python_dune_xt_grid_gridprovider.hh headercheck__python_dune_xt_grid_walker.bindings.hh test_boundaryinfo_factory_alberta_1d test_boundaryinfo_factory_alberta_3d test_boundaryinfo_factory_alu_2d_0000 test_boundaryinfo_factory_alu_2d_0002 test_boundaryinfo_factory_alu_3d_0000 test_boundaryinfo_factory_alu_3d_0002 test_boundaryinfo_factory_yasp_2d test_cube_gridprovider_alberta_1d test_cube_gridprovider_alberta_2d test_cube_gridprovider_alberta_3d test_cube_gridprovider_alu_2d_0000 test_cube_gridprovider_alu_3d_0000 test_cube_gridprovider_alu_3d_0001 test_cube_gridprovider_ug_2d test_cube_gridprovider_yasp_1d test_cube_gridprovider_yasp_2d test_dd_glued_3d test_dd_subdomains_cube_1d_yasp_1d test_dd_subdomains_cube_2d_alu_2d_0000 test_dd_subdomains_cube_2d_alu_2d_0002 test_dd_subdomains_cube_2d_yasp_2d test_dd_subdomains_cube_3d_alberta_3d test_dd_subdomains_cube_3d_alu_3d_0001 test_dd_subdomains_cube_3d_alu_3d_0002 test_dgf_gridprovider_alu_2d_0000 test_dgf_gridprovider_alu_2d_0001 test_dgf_gridprovider_alu_3d_0000 test_dgf_gridprovider_alu_3d_0001 test_dgf_gridprovider_yasp_2d test_dgf_gridprovider_yasp_3d test_empty test_gmsh_gridprovider_alu_2d_0002 test_information_1d test_information_2d test_periodic_gridview_alberta_2d test_periodic_gridview_alu_2d_0000 test_periodic_gridview_alu_3d_0002 test_periodic_gridview_yasp_2d test_periodic_gridview_yasp_3d test_search_alberta_2d test_search_alu_2d_0000 test_search_alu_3d_0001 test_search_alu_3d_0002 test_search_ug_2d test_search_ug_3d test_search_yasp_1d test_search_yasp_2d) +set_tests_properties(test_boundaryinfo_factory_alberta_1d_0003 PROPERTIES LABELS "builder_0") set_tests_properties(test_boundaryinfo_factory_alberta_3d_0005 PROPERTIES LABELS "builder_0") set_tests_properties(test_boundaryinfo_factory_alu_2d_0000_0006 PROPERTIES LABELS "builder_0") -set_tests_properties(test_boundaryinfo_factory_alu_3d_0001_0010 PROPERTIES LABELS "builder_0") -set_tests_properties(test_boundaryinfo_factory_ug_3d_0013 PROPERTIES LABELS "builder_0") -set_tests_properties(test_boundaryinfo_factory_yasp_3d_0002 PROPERTIES LABELS "builder_0") +set_tests_properties(test_boundaryinfo_factory_alu_2d_0002_0008 PROPERTIES LABELS "builder_0") +set_tests_properties(test_boundaryinfo_factory_alu_3d_0000_0009 PROPERTIES LABELS "builder_0") +set_tests_properties(test_boundaryinfo_factory_alu_3d_0002_0011 PROPERTIES LABELS "builder_0") +set_tests_properties(test_boundaryinfo_factory_yasp_2d_0001 PROPERTIES LABELS "builder_0") +set_tests_properties(test_cube_gridprovider_alberta_1d_0003 PROPERTIES LABELS "builder_0") +set_tests_properties(test_cube_gridprovider_alberta_2d_0004 PROPERTIES LABELS "builder_0") set_tests_properties(test_cube_gridprovider_alberta_3d_0005 PROPERTIES LABELS "builder_0") set_tests_properties(test_cube_gridprovider_alu_2d_0000_0006 PROPERTIES LABELS "builder_0") set_tests_properties(test_cube_gridprovider_alu_3d_0000_0009 PROPERTIES LABELS "builder_0") set_tests_properties(test_cube_gridprovider_alu_3d_0001_0010 PROPERTIES LABELS "builder_0") set_tests_properties(test_cube_gridprovider_ug_2d_0012 PROPERTIES LABELS "builder_0") -set_tests_properties(test_cube_gridprovider_ug_3d_0013 PROPERTIES LABELS "builder_0") +set_tests_properties(test_cube_gridprovider_yasp_1d_0000 PROPERTIES LABELS "builder_0") +set_tests_properties(test_cube_gridprovider_yasp_2d_0001 PROPERTIES LABELS "builder_0") set_tests_properties(test_dd_glued_3d PROPERTIES LABELS "builder_0") -set_tests_properties(test_dd_subdomains_cube_1d_alberta_1d_0002 PROPERTIES LABELS "builder_0") -set_tests_properties(test_dd_subdomains_cube_1d_oned_1d_0000 PROPERTIES LABELS "builder_0") set_tests_properties(test_dd_subdomains_cube_1d_yasp_1d_0001 PROPERTIES LABELS "builder_0") set_tests_properties(test_dd_subdomains_cube_2d_alu_2d_0000_0002 PROPERTIES LABELS "builder_0") set_tests_properties(test_dd_subdomains_cube_2d_alu_2d_0002_0004 PROPERTIES LABELS "builder_0") set_tests_properties(test_dd_subdomains_cube_2d_yasp_2d_0000 PROPERTIES LABELS "builder_0") +set_tests_properties(test_dd_subdomains_cube_3d_alberta_3d_0001 PROPERTIES LABELS "builder_0") set_tests_properties(test_dd_subdomains_cube_3d_alu_3d_0001_0003 PROPERTIES LABELS "builder_0") set_tests_properties(test_dd_subdomains_cube_3d_alu_3d_0002_0004 PROPERTIES LABELS "builder_0") -set_tests_properties(test_dgf_gridprovider_alberta_2d_0004 PROPERTIES LABELS "builder_0") -set_tests_properties(test_dgf_gridprovider_alberta_3d_0005 PROPERTIES LABELS "builder_0") set_tests_properties(test_dgf_gridprovider_alu_2d_0000_0006 PROPERTIES LABELS "builder_0") set_tests_properties(test_dgf_gridprovider_alu_2d_0001_0007 PROPERTIES LABELS "builder_0") set_tests_properties(test_dgf_gridprovider_alu_3d_0000_0009 PROPERTIES LABELS "builder_0") set_tests_properties(test_dgf_gridprovider_alu_3d_0001_0010 PROPERTIES LABELS "builder_0") -set_tests_properties(test_dgf_gridprovider_ug_3d_0013 PROPERTIES LABELS "builder_0") +set_tests_properties(test_dgf_gridprovider_yasp_2d_0001 PROPERTIES LABELS "builder_0") set_tests_properties(test_dgf_gridprovider_yasp_3d_0002 PROPERTIES LABELS "builder_0") set_tests_properties(test_empty PROPERTIES LABELS "builder_0") set_tests_properties(test_gmsh_gridprovider_alu_2d_0002_0002 PROPERTIES LABELS "builder_0") set_tests_properties(test_information_1d_information_1d PROPERTIES LABELS "builder_0") set_tests_properties(test_information_2d_information_2d PROPERTIES LABELS "builder_0") -set_tests_properties(test_periodic_gridview_alberta_1d_nonperiodic_rectangle_simplex_0000 test_periodic_gridview_alberta_1d_nonperiodic_unit_cube_simplex_0000 test_periodic_gridview_alberta_1d_partially_periodic_rectangle_simplex_0000 test_periodic_gridview_alberta_1d_partially_periodic_unit_cube_simplex_0000 test_periodic_gridview_alberta_1d_periodic_rectangle_simplex_0000 test_periodic_gridview_alberta_1d_periodic_unit_cube_simplex_0000 PROPERTIES LABELS "builder_0") +set_tests_properties(test_periodic_gridview_alberta_2d_nonperiodic_rectangle_simplex_0001 test_periodic_gridview_alberta_2d_nonperiodic_unit_cube_simplex_0001 test_periodic_gridview_alberta_2d_partially_periodic_rectangle_simplex_0001 test_periodic_gridview_alberta_2d_partially_periodic_unit_cube_simplex_0001 test_periodic_gridview_alberta_2d_periodic_rectangle_simplex_0001 test_periodic_gridview_alberta_2d_periodic_unit_cube_simplex_0001 PROPERTIES LABELS "builder_0") set_tests_properties(test_periodic_gridview_alu_2d_0000_nonperiodic_rectangle_cube_0003 test_periodic_gridview_alu_2d_0000_nonperiodic_unit_cube_cube_0003 test_periodic_gridview_alu_2d_0000_partially_periodic_rectangle_cube_0003 test_periodic_gridview_alu_2d_0000_partially_periodic_unit_cube_cube_0003 test_periodic_gridview_alu_2d_0000_periodic_rectangle_cube_0003 test_periodic_gridview_alu_2d_0000_periodic_unit_cube_cube_0003 PROPERTIES LABELS "builder_0") set_tests_properties(test_periodic_gridview_alu_3d_0002_nonperiodic_rectangle_simplex_0006 test_periodic_gridview_alu_3d_0002_nonperiodic_unit_cube_simplex_0006 test_periodic_gridview_alu_3d_0002_partially_periodic_rectangle_simplex_0006 test_periodic_gridview_alu_3d_0002_partially_periodic_unit_cube_simplex_0006 test_periodic_gridview_alu_3d_0002_periodic_rectangle_simplex_0006 test_periodic_gridview_alu_3d_0002_periodic_unit_cube_simplex_0006 PROPERTIES LABELS "builder_0") -set_tests_properties(test_periodic_gridview_ug_2d_nonperiodic_rectangle_cube_0005 test_periodic_gridview_ug_2d_nonperiodic_rectangle_simplex_0007 test_periodic_gridview_ug_2d_nonperiodic_unit_cube_cube_0005 test_periodic_gridview_ug_2d_nonperiodic_unit_cube_simplex_0007 test_periodic_gridview_ug_2d_partially_periodic_rectangle_cube_0005 test_periodic_gridview_ug_2d_partially_periodic_rectangle_simplex_0007 test_periodic_gridview_ug_2d_partially_periodic_unit_cube_cube_0005 test_periodic_gridview_ug_2d_partially_periodic_unit_cube_simplex_0007 test_periodic_gridview_ug_2d_periodic_rectangle_cube_0005 test_periodic_gridview_ug_2d_periodic_rectangle_simplex_0007 test_periodic_gridview_ug_2d_periodic_unit_cube_cube_0005 test_periodic_gridview_ug_2d_periodic_unit_cube_simplex_0007 PROPERTIES LABELS "builder_0") set_tests_properties(test_periodic_gridview_yasp_2d_nonperiodic_rectangle_cube_0001 test_periodic_gridview_yasp_2d_nonperiodic_unit_cube_cube_0001 test_periodic_gridview_yasp_2d_partially_periodic_rectangle_cube_0001 test_periodic_gridview_yasp_2d_partially_periodic_unit_cube_cube_0001 test_periodic_gridview_yasp_2d_periodic_rectangle_cube_0001 test_periodic_gridview_yasp_2d_periodic_unit_cube_cube_0001 PROPERTIES LABELS "builder_0") -set_tests_properties(test_search_alberta_1d_0003 PROPERTIES LABELS "builder_0") +set_tests_properties(test_periodic_gridview_yasp_3d_nonperiodic_rectangle_cube_0002 test_periodic_gridview_yasp_3d_nonperiodic_unit_cube_cube_0002 test_periodic_gridview_yasp_3d_partially_periodic_rectangle_cube_0002 test_periodic_gridview_yasp_3d_partially_periodic_unit_cube_cube_0002 test_periodic_gridview_yasp_3d_periodic_rectangle_cube_0002 test_periodic_gridview_yasp_3d_periodic_unit_cube_cube_0002 PROPERTIES LABELS "builder_0") set_tests_properties(test_search_alberta_2d_0004 PROPERTIES LABELS "builder_0") -set_tests_properties(test_search_alberta_3d_0005 PROPERTIES LABELS "builder_0") set_tests_properties(test_search_alu_2d_0000_0006 PROPERTIES LABELS "builder_0") -set_tests_properties(test_search_alu_2d_0001_0007 PROPERTIES LABELS "builder_0") set_tests_properties(test_search_alu_3d_0001_0010 PROPERTIES LABELS "builder_0") set_tests_properties(test_search_alu_3d_0002_0011 PROPERTIES LABELS "builder_0") set_tests_properties(test_search_ug_2d_0012 PROPERTIES LABELS "builder_0") set_tests_properties(test_search_ug_3d_0013 PROPERTIES LABELS "builder_0") -set_tests_properties(test_search_yasp_3d_0002 PROPERTIES LABELS "builder_0") -add_custom_target(test_binaries_builder_1 DEPENDS headercheck__dune_xt_grid_boundaryinfo_alldirichlet.hh headercheck__dune_xt_grid_boundaryinfo_allneumann.hh headercheck__dune_xt_grid_boundaryinfo_allreflecting.hh headercheck__dune_xt_grid_boundaryinfo_types.hh headercheck__dune_xt_grid_dd_glued.hh headercheck__dune_xt_grid_dd_subdomains_factory.hh headercheck__dune_xt_grid_dd_subdomains_grid.hh headercheck__dune_xt_grid_entity.hh headercheck__dune_xt_grid_exceptions.hh headercheck__dune_xt_grid_functors_bounding-box.hh headercheck__dune_xt_grid_functors_lambda.hh headercheck__dune_xt_grid_functors_refinement.hh headercheck__dune_xt_grid_gridprovider.hh headercheck__dune_xt_grid_gridprovider_cube.hh headercheck__dune_xt_grid_gridprovider_dgf.hh headercheck__dune_xt_grid_gridprovider_gmsh.hh headercheck__dune_xt_grid_gridprovider_provider.hh headercheck__dune_xt_grid_gridprovider_starcd.hh headercheck__dune_xt_grid_parallel_partitioning_ranged.hh headercheck__dune_xt_grid_search.hh headercheck__dune_xt_grid_structuredgridfactory.hh headercheck__dune_xt_grid_test_dd_glued.hh headercheck__dune_xt_grid_test_provider.hh headercheck__dune_xt_grid_type_traits.hh headercheck__dune_xt_grid_view_gridview2gridpart.hh headercheck__dune_xt_grid_view_periodic.hh headercheck__dune_xt_grid_view_subdomain_indexset.hh headercheck__dune_xt_grid_view_subdomain_intersection-iterator.hh headercheck__dune_xt_grid_view_subdomain_intersection-wrapper.hh headercheck__dune_xt_grid_walker.hh headercheck__python_dune_xt_grid_layers.bindings.hh test_boundaryinfo_factory_alberta_1d test_boundaryinfo_factory_alu_2d_0001 test_boundaryinfo_factory_alu_2d_0002 test_boundaryinfo_factory_alu_3d_0000 test_boundaryinfo_factory_alu_3d_0002 test_boundaryinfo_factory_ug_2d test_boundaryinfo_factory_yasp_1d test_boundaryinfo_factory_yasp_2d test_cube_gridprovider_alberta_1d test_cube_gridprovider_alberta_2d test_cube_gridprovider_alu_2d_0001 test_cube_gridprovider_alu_2d_0002 test_cube_gridprovider_alu_3d_0002 test_cube_gridprovider_yasp_1d test_cube_gridprovider_yasp_2d test_cube_gridprovider_yasp_3d test_dd_glued_2d test_dd_subdomains_cube_2d_alberta_2d test_dd_subdomains_cube_2d_alu_2d_0001 test_dd_subdomains_cube_3d_alberta_3d test_dd_subdomains_cube_3d_alu_3d_0000 test_dd_subdomains_cube_3d_yasp_3d test_dgf_gridprovider_alberta_1d test_dgf_gridprovider_alu_2d_0002 test_dgf_gridprovider_alu_3d_0002 test_dgf_gridprovider_ug_2d test_dgf_gridprovider_yasp_1d test_dgf_gridprovider_yasp_2d test_gmsh_gridprovider_alu_2d_0000 test_gmsh_gridprovider_alu_2d_0001 test_gmsh_gridprovider_alu_3d_0000 test_gmsh_gridprovider_alu_3d_0001 test_gmsh_gridprovider_alu_3d_0002 test_information_3d test_output_pgf test_periodic_gridview_alberta_2d test_periodic_gridview_alberta_3d test_periodic_gridview_alu_2d_0001 test_periodic_gridview_alu_2d_0002 test_periodic_gridview_alu_3d_0000 test_periodic_gridview_alu_3d_0001 test_periodic_gridview_ug_3d test_periodic_gridview_yasp_1d test_periodic_gridview_yasp_3d test_search_alu_2d_0002 test_search_alu_3d_0000 test_search_yasp_1d test_search_yasp_2d) -set_tests_properties(test_boundaryinfo_factory_alberta_1d_0003 PROPERTIES LABELS "builder_1") +set_tests_properties(test_search_yasp_1d_0000 PROPERTIES LABELS "builder_0") +set_tests_properties(test_search_yasp_2d_0001 PROPERTIES LABELS "builder_0") +add_custom_target(test_binaries_builder_1 DEPENDS headercheck__dune_xt_grid_boundaryinfo_alldirichlet.hh headercheck__dune_xt_grid_boundaryinfo_allneumann.hh headercheck__dune_xt_grid_boundaryinfo_allreflecting.hh headercheck__dune_xt_grid_boundaryinfo_factory.hh headercheck__dune_xt_grid_boundaryinfo_interfaces.hh headercheck__dune_xt_grid_entity.hh headercheck__dune_xt_grid_gridprovider.hh headercheck__dune_xt_grid_gridprovider_cube.hh headercheck__dune_xt_grid_gridprovider_gmsh.hh headercheck__dune_xt_grid_gridprovider_provider.hh headercheck__dune_xt_grid_gridprovider_starcd.hh headercheck__dune_xt_grid_information.hh headercheck__dune_xt_grid_output_entity_visualization.hh headercheck__dune_xt_grid_parallel_partitioning_ranged.hh headercheck__dune_xt_grid_rangegenerators.hh headercheck__dune_xt_grid_search.hh headercheck__dune_xt_grid_structuredgridfactory.hh headercheck__dune_xt_grid_test_provider.hh headercheck__dune_xt_grid_type_traits.hh headercheck__dune_xt_grid_view_periodic.hh headercheck__dune_xt_grid_view_subdomain_entity-iterator.hh headercheck__dune_xt_grid_view_subdomain_indexset.hh headercheck__dune_xt_grid_view_subdomain_intersection-iterator.hh headercheck__dune_xt_grid_view_subdomain_intersection-wrapper.hh headercheck__dune_xt_grid_view_subdomain_view.hh headercheck__dune_xt_grid_walker.lib.hh headercheck__python_dune_xt_grid_boundaryinfo.bindings.hh headercheck__python_dune_xt_grid_grids.bindings.hh headercheck__python_dune_xt_grid_layers.bindings.hh test_boundaryinfo_factory_alberta_2d test_boundaryinfo_factory_alu_2d_0001 test_boundaryinfo_factory_alu_3d_0001 test_boundaryinfo_factory_ug_2d test_boundaryinfo_factory_ug_3d test_boundaryinfo_factory_yasp_1d test_boundaryinfo_factory_yasp_3d test_cube_gridprovider_alu_2d_0001 test_cube_gridprovider_alu_2d_0002 test_cube_gridprovider_alu_3d_0002 test_cube_gridprovider_ug_3d test_cube_gridprovider_yasp_3d test_dd_glued_2d test_dd_subdomains_cube_1d_alberta_1d test_dd_subdomains_cube_1d_oned_1d test_dd_subdomains_cube_2d_alberta_2d test_dd_subdomains_cube_2d_alu_2d_0001 test_dd_subdomains_cube_3d_alu_3d_0000 test_dd_subdomains_cube_3d_yasp_3d test_dgf_gridprovider_alberta_1d test_dgf_gridprovider_alberta_2d test_dgf_gridprovider_alberta_3d test_dgf_gridprovider_alu_2d_0002 test_dgf_gridprovider_alu_3d_0002 test_dgf_gridprovider_ug_2d test_dgf_gridprovider_ug_3d test_dgf_gridprovider_yasp_1d test_gmsh_gridprovider_alu_2d_0000 test_gmsh_gridprovider_alu_2d_0001 test_gmsh_gridprovider_alu_3d_0000 test_gmsh_gridprovider_alu_3d_0001 test_gmsh_gridprovider_alu_3d_0002 test_information_3d test_output_pgf test_periodic_gridview_alberta_1d test_periodic_gridview_alberta_3d test_periodic_gridview_alu_2d_0001 test_periodic_gridview_alu_2d_0002 test_periodic_gridview_alu_3d_0000 test_periodic_gridview_alu_3d_0001 test_periodic_gridview_ug_2d test_periodic_gridview_ug_3d test_periodic_gridview_yasp_1d test_search_alberta_1d test_search_alberta_3d test_search_alu_2d_0001 test_search_alu_2d_0002 test_search_alu_3d_0000 test_search_yasp_3d) +set_tests_properties(test_boundaryinfo_factory_alberta_2d_0004 PROPERTIES LABELS "builder_1") set_tests_properties(test_boundaryinfo_factory_alu_2d_0001_0007 PROPERTIES LABELS "builder_1") -set_tests_properties(test_boundaryinfo_factory_alu_2d_0002_0008 PROPERTIES LABELS "builder_1") -set_tests_properties(test_boundaryinfo_factory_alu_3d_0000_0009 PROPERTIES LABELS "builder_1") -set_tests_properties(test_boundaryinfo_factory_alu_3d_0002_0011 PROPERTIES LABELS "builder_1") +set_tests_properties(test_boundaryinfo_factory_alu_3d_0001_0010 PROPERTIES LABELS "builder_1") set_tests_properties(test_boundaryinfo_factory_ug_2d_0012 PROPERTIES LABELS "builder_1") +set_tests_properties(test_boundaryinfo_factory_ug_3d_0013 PROPERTIES LABELS "builder_1") set_tests_properties(test_boundaryinfo_factory_yasp_1d_0000 PROPERTIES LABELS "builder_1") -set_tests_properties(test_boundaryinfo_factory_yasp_2d_0001 PROPERTIES LABELS "builder_1") -set_tests_properties(test_cube_gridprovider_alberta_1d_0003 PROPERTIES LABELS "builder_1") -set_tests_properties(test_cube_gridprovider_alberta_2d_0004 PROPERTIES LABELS "builder_1") +set_tests_properties(test_boundaryinfo_factory_yasp_3d_0002 PROPERTIES LABELS "builder_1") set_tests_properties(test_cube_gridprovider_alu_2d_0001_0007 PROPERTIES LABELS "builder_1") set_tests_properties(test_cube_gridprovider_alu_2d_0002_0008 PROPERTIES LABELS "builder_1") set_tests_properties(test_cube_gridprovider_alu_3d_0002_0011 PROPERTIES LABELS "builder_1") -set_tests_properties(test_cube_gridprovider_yasp_1d_0000 PROPERTIES LABELS "builder_1") -set_tests_properties(test_cube_gridprovider_yasp_2d_0001 PROPERTIES LABELS "builder_1") +set_tests_properties(test_cube_gridprovider_ug_3d_0013 PROPERTIES LABELS "builder_1") set_tests_properties(test_cube_gridprovider_yasp_3d_0002 PROPERTIES LABELS "builder_1") set_tests_properties(test_dd_glued_2d PROPERTIES LABELS "builder_1") +set_tests_properties(test_dd_subdomains_cube_1d_alberta_1d_0002 PROPERTIES LABELS "builder_1") +set_tests_properties(test_dd_subdomains_cube_1d_oned_1d_0000 PROPERTIES LABELS "builder_1") set_tests_properties(test_dd_subdomains_cube_2d_alberta_2d_0001 PROPERTIES LABELS "builder_1") set_tests_properties(test_dd_subdomains_cube_2d_alu_2d_0001_0003 PROPERTIES LABELS "builder_1") -set_tests_properties(test_dd_subdomains_cube_3d_alberta_3d_0001 PROPERTIES LABELS "builder_1") set_tests_properties(test_dd_subdomains_cube_3d_alu_3d_0000_0002 PROPERTIES LABELS "builder_1") set_tests_properties(test_dd_subdomains_cube_3d_yasp_3d_0000 PROPERTIES LABELS "builder_1") set_tests_properties(test_dgf_gridprovider_alberta_1d_0003 PROPERTIES LABELS "builder_1") +set_tests_properties(test_dgf_gridprovider_alberta_2d_0004 PROPERTIES LABELS "builder_1") +set_tests_properties(test_dgf_gridprovider_alberta_3d_0005 PROPERTIES LABELS "builder_1") set_tests_properties(test_dgf_gridprovider_alu_2d_0002_0008 PROPERTIES LABELS "builder_1") set_tests_properties(test_dgf_gridprovider_alu_3d_0002_0011 PROPERTIES LABELS "builder_1") set_tests_properties(test_dgf_gridprovider_ug_2d_0012 PROPERTIES LABELS "builder_1") +set_tests_properties(test_dgf_gridprovider_ug_3d_0013 PROPERTIES LABELS "builder_1") set_tests_properties(test_dgf_gridprovider_yasp_1d_0000 PROPERTIES LABELS "builder_1") -set_tests_properties(test_dgf_gridprovider_yasp_2d_0001 PROPERTIES LABELS "builder_1") set_tests_properties(test_gmsh_gridprovider_alu_2d_0000_0000 PROPERTIES LABELS "builder_1") set_tests_properties(test_gmsh_gridprovider_alu_2d_0001_0001 PROPERTIES LABELS "builder_1") set_tests_properties(test_gmsh_gridprovider_alu_3d_0000_0003 PROPERTIES LABELS "builder_1") @@ -84,16 +82,18 @@ set_tests_properties(test_gmsh_gridprovider_alu_3d_0001_0004 PROPERTIES LABELS " set_tests_properties(test_gmsh_gridprovider_alu_3d_0002_0005 PROPERTIES LABELS "builder_1") set_tests_properties(test_information_3d_information_3d PROPERTIES LABELS "builder_1") set_tests_properties(test_output_pgf PROPERTIES LABELS "builder_1") -set_tests_properties(test_periodic_gridview_alberta_2d_nonperiodic_rectangle_simplex_0001 test_periodic_gridview_alberta_2d_nonperiodic_unit_cube_simplex_0001 test_periodic_gridview_alberta_2d_partially_periodic_rectangle_simplex_0001 test_periodic_gridview_alberta_2d_partially_periodic_unit_cube_simplex_0001 test_periodic_gridview_alberta_2d_periodic_rectangle_simplex_0001 test_periodic_gridview_alberta_2d_periodic_unit_cube_simplex_0001 PROPERTIES LABELS "builder_1") +set_tests_properties(test_periodic_gridview_alberta_1d_nonperiodic_rectangle_simplex_0000 test_periodic_gridview_alberta_1d_nonperiodic_unit_cube_simplex_0000 test_periodic_gridview_alberta_1d_partially_periodic_rectangle_simplex_0000 test_periodic_gridview_alberta_1d_partially_periodic_unit_cube_simplex_0000 test_periodic_gridview_alberta_1d_periodic_rectangle_simplex_0000 test_periodic_gridview_alberta_1d_periodic_unit_cube_simplex_0000 PROPERTIES LABELS "builder_1") set_tests_properties(test_periodic_gridview_alberta_3d_nonperiodic_rectangle_simplex_0002 test_periodic_gridview_alberta_3d_nonperiodic_unit_cube_simplex_0002 test_periodic_gridview_alberta_3d_partially_periodic_rectangle_simplex_0002 test_periodic_gridview_alberta_3d_partially_periodic_unit_cube_simplex_0002 test_periodic_gridview_alberta_3d_periodic_rectangle_simplex_0002 test_periodic_gridview_alberta_3d_periodic_unit_cube_simplex_0002 PROPERTIES LABELS "builder_1") set_tests_properties(test_periodic_gridview_alu_2d_0001_nonperiodic_rectangle_simplex_0003 test_periodic_gridview_alu_2d_0001_nonperiodic_unit_cube_simplex_0003 test_periodic_gridview_alu_2d_0001_partially_periodic_rectangle_simplex_0003 test_periodic_gridview_alu_2d_0001_partially_periodic_unit_cube_simplex_0003 test_periodic_gridview_alu_2d_0001_periodic_rectangle_simplex_0003 test_periodic_gridview_alu_2d_0001_periodic_unit_cube_simplex_0003 PROPERTIES LABELS "builder_1") set_tests_properties(test_periodic_gridview_alu_2d_0002_nonperiodic_rectangle_simplex_0004 test_periodic_gridview_alu_2d_0002_nonperiodic_unit_cube_simplex_0004 test_periodic_gridview_alu_2d_0002_partially_periodic_rectangle_simplex_0004 test_periodic_gridview_alu_2d_0002_partially_periodic_unit_cube_simplex_0004 test_periodic_gridview_alu_2d_0002_periodic_rectangle_simplex_0004 test_periodic_gridview_alu_2d_0002_periodic_unit_cube_simplex_0004 PROPERTIES LABELS "builder_1") set_tests_properties(test_periodic_gridview_alu_3d_0000_nonperiodic_rectangle_cube_0004 test_periodic_gridview_alu_3d_0000_nonperiodic_unit_cube_cube_0004 test_periodic_gridview_alu_3d_0000_partially_periodic_rectangle_cube_0004 test_periodic_gridview_alu_3d_0000_partially_periodic_unit_cube_cube_0004 test_periodic_gridview_alu_3d_0000_periodic_rectangle_cube_0004 test_periodic_gridview_alu_3d_0000_periodic_unit_cube_cube_0004 PROPERTIES LABELS "builder_1") set_tests_properties(test_periodic_gridview_alu_3d_0001_nonperiodic_rectangle_simplex_0005 test_periodic_gridview_alu_3d_0001_nonperiodic_unit_cube_simplex_0005 test_periodic_gridview_alu_3d_0001_partially_periodic_rectangle_simplex_0005 test_periodic_gridview_alu_3d_0001_partially_periodic_unit_cube_simplex_0005 test_periodic_gridview_alu_3d_0001_periodic_rectangle_simplex_0005 test_periodic_gridview_alu_3d_0001_periodic_unit_cube_simplex_0005 PROPERTIES LABELS "builder_1") +set_tests_properties(test_periodic_gridview_ug_2d_nonperiodic_rectangle_cube_0005 test_periodic_gridview_ug_2d_nonperiodic_rectangle_simplex_0007 test_periodic_gridview_ug_2d_nonperiodic_unit_cube_cube_0005 test_periodic_gridview_ug_2d_nonperiodic_unit_cube_simplex_0007 test_periodic_gridview_ug_2d_partially_periodic_rectangle_cube_0005 test_periodic_gridview_ug_2d_partially_periodic_rectangle_simplex_0007 test_periodic_gridview_ug_2d_partially_periodic_unit_cube_cube_0005 test_periodic_gridview_ug_2d_partially_periodic_unit_cube_simplex_0007 test_periodic_gridview_ug_2d_periodic_rectangle_cube_0005 test_periodic_gridview_ug_2d_periodic_rectangle_simplex_0007 test_periodic_gridview_ug_2d_periodic_unit_cube_cube_0005 test_periodic_gridview_ug_2d_periodic_unit_cube_simplex_0007 PROPERTIES LABELS "builder_1") set_tests_properties(test_periodic_gridview_ug_3d_nonperiodic_rectangle_cube_0006 test_periodic_gridview_ug_3d_nonperiodic_rectangle_simplex_0008 test_periodic_gridview_ug_3d_nonperiodic_unit_cube_cube_0006 test_periodic_gridview_ug_3d_nonperiodic_unit_cube_simplex_0008 test_periodic_gridview_ug_3d_partially_periodic_rectangle_cube_0006 test_periodic_gridview_ug_3d_partially_periodic_rectangle_simplex_0008 test_periodic_gridview_ug_3d_partially_periodic_unit_cube_cube_0006 test_periodic_gridview_ug_3d_partially_periodic_unit_cube_simplex_0008 test_periodic_gridview_ug_3d_periodic_rectangle_cube_0006 test_periodic_gridview_ug_3d_periodic_rectangle_simplex_0008 test_periodic_gridview_ug_3d_periodic_unit_cube_cube_0006 test_periodic_gridview_ug_3d_periodic_unit_cube_simplex_0008 PROPERTIES LABELS "builder_1") set_tests_properties(test_periodic_gridview_yasp_1d_nonperiodic_rectangle_cube_0000 test_periodic_gridview_yasp_1d_nonperiodic_unit_cube_cube_0000 test_periodic_gridview_yasp_1d_partially_periodic_rectangle_cube_0000 test_periodic_gridview_yasp_1d_partially_periodic_unit_cube_cube_0000 test_periodic_gridview_yasp_1d_periodic_rectangle_cube_0000 test_periodic_gridview_yasp_1d_periodic_unit_cube_cube_0000 PROPERTIES LABELS "builder_1") -set_tests_properties(test_periodic_gridview_yasp_3d_nonperiodic_rectangle_cube_0002 test_periodic_gridview_yasp_3d_nonperiodic_unit_cube_cube_0002 test_periodic_gridview_yasp_3d_partially_periodic_rectangle_cube_0002 test_periodic_gridview_yasp_3d_partially_periodic_unit_cube_cube_0002 test_periodic_gridview_yasp_3d_periodic_rectangle_cube_0002 test_periodic_gridview_yasp_3d_periodic_unit_cube_cube_0002 PROPERTIES LABELS "builder_1") +set_tests_properties(test_search_alberta_1d_0003 PROPERTIES LABELS "builder_1") +set_tests_properties(test_search_alberta_3d_0005 PROPERTIES LABELS "builder_1") +set_tests_properties(test_search_alu_2d_0001_0007 PROPERTIES LABELS "builder_1") set_tests_properties(test_search_alu_2d_0002_0008 PROPERTIES LABELS "builder_1") set_tests_properties(test_search_alu_3d_0000_0009 PROPERTIES LABELS "builder_1") -set_tests_properties(test_search_yasp_1d_0000 PROPERTIES LABELS "builder_1") -set_tests_properties(test_search_yasp_2d_0001 PROPERTIES LABELS "builder_1") +set_tests_properties(test_search_yasp_3d_0002 PROPERTIES LABELS "builder_1") diff --git a/dune/xt/grid/test/compiles_totals.pickle b/dune/xt/grid/test/compiles_totals.pickle index ea5ba531c4055b29187f1474613e9ddd2a546c3d..e149890ba3f112956852c0029ddc60b6d8e4fcbd 100644 --- a/dune/xt/grid/test/compiles_totals.pickle +++ b/dune/xt/grid/test/compiles_totals.pickle @@ -1 +1,5 @@ -{"headercheck__dune_xt_grid_boundaryinfo.hh": 15.615983963012695, "headercheck__dune_xt_grid_boundaryinfo_alldirichlet.hh": 14.889521360397339, "headercheck__dune_xt_grid_boundaryinfo_allneumann.hh": 15.696208238601685, "headercheck__dune_xt_grid_boundaryinfo_allreflecting.hh": 0.05450081825256348, "headercheck__dune_xt_grid_boundaryinfo_boundarysegment.hh": 15.654795408248901, "headercheck__dune_xt_grid_boundaryinfo_factory.hh": 15.011301517486572, "headercheck__dune_xt_grid_boundaryinfo_interfaces.hh": 12.98918080329895, "headercheck__dune_xt_grid_boundaryinfo_normalbased.hh": 14.861575365066528, "headercheck__dune_xt_grid_boundaryinfo_types.hh": 13.068084239959717, "headercheck__dune_xt_grid_capabilities.hh": 5.508548259735107, "headercheck__dune_xt_grid_dd_glued.hh": 16.311400413513184, "headercheck__dune_xt_grid_dd_subdomains_factory.hh": 16.603410005569458, "headercheck__dune_xt_grid_dd_subdomains_grid.hh": 7.199793100357056, "headercheck__dune_xt_grid_entity.hh": 14.566489696502686, "headercheck__dune_xt_grid_exceptions.hh": 0.5797884464263916, "headercheck__dune_xt_grid_functors_boundary-detector.hh": 9.291746854782104, "headercheck__dune_xt_grid_functors_bounding-box.hh": 9.734697818756104, "headercheck__dune_xt_grid_functors_interfaces.hh": 9.169167518615723, "headercheck__dune_xt_grid_functors_lambda.hh": 9.13120436668396, "headercheck__dune_xt_grid_functors_refinement.hh": 9.796465635299683, "headercheck__dune_xt_grid_gridprovider.hh": 15.75350832939148, "headercheck__dune_xt_grid_gridprovider_cube.hh": 15.646630764007568, "headercheck__dune_xt_grid_gridprovider_cube.lib.hh": 15.668450832366943, "headercheck__dune_xt_grid_gridprovider_dgf.hh": 14.227550983428955, "headercheck__dune_xt_grid_gridprovider_eoc.hh": 15.803757905960083, "headercheck__dune_xt_grid_gridprovider_factory.hh": 19.475318431854248, "headercheck__dune_xt_grid_gridprovider_gmsh.hh": 15.500884532928467, "headercheck__dune_xt_grid_gridprovider_provider.hh": 15.338162422180176, "headercheck__dune_xt_grid_gridprovider_provider.lib.hh": 15.399278163909912, "headercheck__dune_xt_grid_gridprovider_starcd.hh": 17.104496955871582, "headercheck__dune_xt_grid_grids.hh": 5.7532057762146, "headercheck__dune_xt_grid_information.hh": 16.327180862426758, "headercheck__dune_xt_grid_intersection.hh": 17.47262454032898, "headercheck__dune_xt_grid_layers.hh": 6.588227272033691, "headercheck__dune_xt_grid_output_entity_visualization.hh": 16.429991722106934, "headercheck__dune_xt_grid_output_pgf.hh": 14.739186525344849, "headercheck__dune_xt_grid_parallel_partitioning_ranged-internal.hh": 6.21062707901001, "headercheck__dune_xt_grid_parallel_partitioning_ranged.hh": 6.125450372695923, "headercheck__dune_xt_grid_search.hh": 14.83984923362732, "headercheck__dune_xt_grid_structuredgridfactory.hh": 18.08464241027832, "headercheck__dune_xt_grid_test_dd_glued.hh": 16.351179122924805, "headercheck__dune_xt_grid_test_provider.hh": 15.94580864906311, "headercheck__dune_xt_grid_type_traits.hh": 6.2084269523620605, "headercheck__dune_xt_grid_view_from-part.hh": 6.13268256187439, "headercheck__dune_xt_grid_view_gridview2gridpart.hh": 0.04950451850891113, "headercheck__dune_xt_grid_view_periodic.hh": 15.664304971694946, "headercheck__dune_xt_grid_view_subdomain_entity-iterator.hh": 0.7993688583374023, "headercheck__dune_xt_grid_view_subdomain_indexset.hh": 6.4803078174591064, "headercheck__dune_xt_grid_view_subdomain_intersection-iterator.hh": 6.660834789276123, "headercheck__dune_xt_grid_view_subdomain_intersection-wrapper.hh": 0.971346378326416, "headercheck__dune_xt_grid_view_subdomain_view.hh": 0.0428006649017334, "headercheck__dune_xt_grid_walker.hh": 14.082605838775635, "headercheck__dune_xt_grid_walker.lib.hh": 14.158512592315674, "headercheck__dune_xt_grid_walker_filters.hh": 9.088605642318726, "headercheck__dune_xt_grid_walker_wrapper.hh": 14.561433553695679, "headercheck__python_dune_xt_grid_boundaryinfo.bindings.hh": 16.240068435668945, "headercheck__python_dune_xt_grid_grids.bindings.hh": 13.800297975540161, "headercheck__python_dune_xt_grid_layers.bindings.hh": 5.718413829803467, "headercheck__python_dune_xt_grid_walker.bindings.hh": 15.749167680740356, "test_boundaryinfo_factory_alberta_1d": 20.10128355026245, "test_boundaryinfo_factory_alberta_2d": 21.30738615989685, "test_boundaryinfo_factory_alberta_3d": 20.304391622543335, "test_boundaryinfo_factory_alu_2d_0000": 20.891586780548096, "test_boundaryinfo_factory_alu_2d_0001": 22.327872276306152, "test_boundaryinfo_factory_alu_2d_0002": 23.566327333450317, "test_boundaryinfo_factory_alu_3d_0000": 21.421977758407593, "test_boundaryinfo_factory_alu_3d_0001": 24.902809143066406, "test_boundaryinfo_factory_alu_3d_0002": 25.10480761528015, "test_boundaryinfo_factory_ug_2d": 26.813920736312866, "test_boundaryinfo_factory_ug_3d": 21.458252429962158, "test_boundaryinfo_factory_yasp_1d": 20.32856774330139, "test_boundaryinfo_factory_yasp_2d": 20.262175798416138, "test_boundaryinfo_factory_yasp_3d": 20.254600286483765, "test_cube_gridprovider_alberta_1d": 29.882335424423218, "test_cube_gridprovider_alberta_2d": 32.76775240898132, "test_cube_gridprovider_alberta_3d": 33.399218797683716, "test_cube_gridprovider_alu_2d_0000": 37.792232036590576, "test_cube_gridprovider_alu_2d_0001": 44.885122299194336, "test_cube_gridprovider_alu_2d_0002": 43.71287178993225, "test_cube_gridprovider_alu_3d_0000": 39.73737978935242, "test_cube_gridprovider_alu_3d_0001": 39.451533794403076, "test_cube_gridprovider_alu_3d_0002": 41.87690043449402, "test_cube_gridprovider_ug_2d": 31.361640453338623, "test_cube_gridprovider_ug_3d": 30.2545223236084, "test_cube_gridprovider_yasp_1d": 30.218368768692017, "test_cube_gridprovider_yasp_2d": 30.87869381904602, "test_cube_gridprovider_yasp_3d": 31.77970838546753, "test_dd_glued_2d": 47.59047198295593, "test_dd_glued_3d": 72.38096737861633, "test_dd_subdomains_cube_1d_alberta_1d": 32.65306234359741, "test_dd_subdomains_cube_1d_oned_1d": 30.95809245109558, "test_dd_subdomains_cube_1d_yasp_1d": 39.5734589099884, "test_dd_subdomains_cube_2d_alberta_2d": 33.47791790962219, "test_dd_subdomains_cube_2d_alu_2d_0000": 40.817832231521606, "test_dd_subdomains_cube_2d_alu_2d_0001": 41.34266781806946, "test_dd_subdomains_cube_2d_alu_2d_0002": 43.98705530166626, "test_dd_subdomains_cube_2d_yasp_2d": 41.6374089717865, "test_dd_subdomains_cube_3d_alberta_3d": 34.382235527038574, "test_dd_subdomains_cube_3d_alu_3d_0000": 42.820916414260864, "test_dd_subdomains_cube_3d_alu_3d_0001": 42.952428579330444, "test_dd_subdomains_cube_3d_alu_3d_0002": 42.719929456710815, "test_dd_subdomains_cube_3d_yasp_3d": 37.5138258934021, "test_dgf_gridprovider_alberta_1d": 28.717551231384277, "test_dgf_gridprovider_alberta_2d": 29.837552309036255, "test_dgf_gridprovider_alberta_3d": 30.983155727386475, "test_dgf_gridprovider_alu_2d_0000": 36.58354449272156, "test_dgf_gridprovider_alu_2d_0001": 36.371814012527466, "test_dgf_gridprovider_alu_2d_0002": 38.96980571746826, "test_dgf_gridprovider_alu_3d_0000": 37.85637283325195, "test_dgf_gridprovider_alu_3d_0001": 37.708600997924805, "test_dgf_gridprovider_alu_3d_0002": 37.76925802230835, "test_dgf_gridprovider_ug_2d": 32.90612769126892, "test_dgf_gridprovider_ug_3d": 29.416306972503662, "test_dgf_gridprovider_yasp_1d": 30.38980507850647, "test_dgf_gridprovider_yasp_2d": 31.157761812210083, "test_dgf_gridprovider_yasp_3d": 37.51527190208435, "test_empty": 17.019262075424194, "test_gmsh_gridprovider_alu_2d_0000": 37.837767362594604, "test_gmsh_gridprovider_alu_2d_0001": 38.22988843917847, "test_gmsh_gridprovider_alu_2d_0002": 40.37570309638977, "test_gmsh_gridprovider_alu_3d_0000": 39.87834930419922, "test_gmsh_gridprovider_alu_3d_0001": 39.619710206985474, "test_gmsh_gridprovider_alu_3d_0002": 39.474732875823975, "test_information_1d": 22.540085077285767, "test_information_2d": 25.465412139892578, "test_information_3d": 23.106703281402588, "test_output_pgf": 20.955060958862305, "test_periodic_gridview_alberta_1d": 26.500367164611816, "test_periodic_gridview_alberta_2d": 27.455833911895752, "test_periodic_gridview_alberta_3d": 30.86421847343445, "test_periodic_gridview_alu_2d_0000": 38.39575457572937, "test_periodic_gridview_alu_2d_0001": 36.400352239608765, "test_periodic_gridview_alu_2d_0002": 36.183119773864746, "test_periodic_gridview_alu_3d_0000": 38.127026081085205, "test_periodic_gridview_alu_3d_0001": 40.577880859375, "test_periodic_gridview_alu_3d_0002": 38.143150329589844, "test_periodic_gridview_ug_2d": 30.48707890510559, "test_periodic_gridview_ug_3d": 25.53850245475769, "test_periodic_gridview_yasp_1d": 24.534114837646484, "test_periodic_gridview_yasp_2d": 28.027952194213867, "test_periodic_gridview_yasp_3d": 29.395564079284668, "test_search_alberta_1d": 24.591536045074463, "test_search_alberta_2d": 25.886425733566284, "test_search_alberta_3d": 30.119665384292603, "test_search_alu_2d_0000": 32.78598976135254, "test_search_alu_2d_0001": 33.557924032211304, "test_search_alu_2d_0002": 36.598793745040894, "test_search_alu_3d_0000": 34.747488260269165, "test_search_alu_3d_0001": 34.77951192855835, "test_search_alu_3d_0002": 34.66567897796631, "test_search_ug_2d": 23.453728199005127, "test_search_ug_3d": 24.26795983314514, "test_search_yasp_1d": 24.269371509552002, "test_search_yasp_2d": 26.243303775787354, "test_search_yasp_3d": 27.224441528320312} \ No newline at end of file +<<<<<<< HEAD +{"headercheck__dune_xt_grid_boundaryinfo.hh": 15.615983963012695, "headercheck__dune_xt_grid_boundaryinfo_alldirichlet.hh": 14.889521360397339, "headercheck__dune_xt_grid_boundaryinfo_allneumann.hh": 15.696208238601685, "headercheck__dune_xt_grid_boundaryinfo_allreflecting.hh": 0.05450081825256348, "headercheck__dune_xt_grid_boundaryinfo_boundarysegment.hh": 15.654795408248901, "headercheck__dune_xt_grid_boundaryinfo_factory.hh": 15.011301517486572, "headercheck__dune_xt_grid_boundaryinfo_interfaces.hh": 12.98918080329895, "headercheck__dune_xt_grid_boundaryinfo_normalbased.hh": 14.861575365066528, "headercheck__dune_xt_grid_boundaryinfo_types.hh": 13.068084239959717, "headercheck__dune_xt_grid_capabilities.hh": 5.508548259735107, "headercheck__dune_xt_grid_dd_glued.hh": 16.311400413513184, "headercheck__dune_xt_grid_dd_subdomains_factory.hh": 16.603410005569458, "headercheck__dune_xt_grid_dd_subdomains_grid.hh": 7.199793100357056, "headercheck__dune_xt_grid_entity.hh": 14.566489696502686, "headercheck__dune_xt_grid_exceptions.hh": 0.5797884464263916, "headercheck__dune_xt_grid_functors_boundary-detector.hh": 9.291746854782104, "headercheck__dune_xt_grid_functors_bounding-box.hh": 9.734697818756104, "headercheck__dune_xt_grid_functors_interfaces.hh": 9.169167518615723, "headercheck__dune_xt_grid_functors_lambda.hh": 9.13120436668396, "headercheck__dune_xt_grid_functors_refinement.hh": 9.796465635299683, "headercheck__dune_xt_grid_gridprovider.hh": 15.75350832939148, "headercheck__dune_xt_grid_gridprovider_cube.hh": 15.646630764007568, "headercheck__dune_xt_grid_gridprovider_cube.lib.hh": 15.668450832366943, "headercheck__dune_xt_grid_gridprovider_dgf.hh": 14.227550983428955, "headercheck__dune_xt_grid_gridprovider_eoc.hh": 15.803757905960083, "headercheck__dune_xt_grid_gridprovider_factory.hh": 19.475318431854248, "headercheck__dune_xt_grid_gridprovider_gmsh.hh": 15.500884532928467, "headercheck__dune_xt_grid_gridprovider_provider.hh": 15.338162422180176, "headercheck__dune_xt_grid_gridprovider_provider.lib.hh": 15.399278163909912, "headercheck__dune_xt_grid_gridprovider_starcd.hh": 17.104496955871582, "headercheck__dune_xt_grid_grids.hh": 5.7532057762146, "headercheck__dune_xt_grid_information.hh": 16.327180862426758, "headercheck__dune_xt_grid_intersection.hh": 17.47262454032898, "headercheck__dune_xt_grid_layers.hh": 6.588227272033691, "headercheck__dune_xt_grid_output_entity_visualization.hh": 16.429991722106934, "headercheck__dune_xt_grid_output_pgf.hh": 14.739186525344849, "headercheck__dune_xt_grid_parallel_partitioning_ranged-internal.hh": 6.21062707901001, "headercheck__dune_xt_grid_parallel_partitioning_ranged.hh": 6.125450372695923, "headercheck__dune_xt_grid_search.hh": 14.83984923362732, "headercheck__dune_xt_grid_structuredgridfactory.hh": 18.08464241027832, "headercheck__dune_xt_grid_test_dd_glued.hh": 16.351179122924805, "headercheck__dune_xt_grid_test_provider.hh": 15.94580864906311, "headercheck__dune_xt_grid_type_traits.hh": 6.2084269523620605, "headercheck__dune_xt_grid_view_from-part.hh": 6.13268256187439, "headercheck__dune_xt_grid_view_gridview2gridpart.hh": 0.04950451850891113, "headercheck__dune_xt_grid_view_periodic.hh": 15.664304971694946, "headercheck__dune_xt_grid_view_subdomain_entity-iterator.hh": 0.7993688583374023, "headercheck__dune_xt_grid_view_subdomain_indexset.hh": 6.4803078174591064, "headercheck__dune_xt_grid_view_subdomain_intersection-iterator.hh": 6.660834789276123, "headercheck__dune_xt_grid_view_subdomain_intersection-wrapper.hh": 0.971346378326416, "headercheck__dune_xt_grid_view_subdomain_view.hh": 0.0428006649017334, "headercheck__dune_xt_grid_walker.hh": 14.082605838775635, "headercheck__dune_xt_grid_walker.lib.hh": 14.158512592315674, "headercheck__dune_xt_grid_walker_filters.hh": 9.088605642318726, "headercheck__dune_xt_grid_walker_wrapper.hh": 14.561433553695679, "headercheck__python_dune_xt_grid_boundaryinfo.bindings.hh": 16.240068435668945, "headercheck__python_dune_xt_grid_grids.bindings.hh": 13.800297975540161, "headercheck__python_dune_xt_grid_layers.bindings.hh": 5.718413829803467, "headercheck__python_dune_xt_grid_walker.bindings.hh": 15.749167680740356, "test_boundaryinfo_factory_alberta_1d": 20.10128355026245, "test_boundaryinfo_factory_alberta_2d": 21.30738615989685, "test_boundaryinfo_factory_alberta_3d": 20.304391622543335, "test_boundaryinfo_factory_alu_2d_0000": 20.891586780548096, "test_boundaryinfo_factory_alu_2d_0001": 22.327872276306152, "test_boundaryinfo_factory_alu_2d_0002": 23.566327333450317, "test_boundaryinfo_factory_alu_3d_0000": 21.421977758407593, "test_boundaryinfo_factory_alu_3d_0001": 24.902809143066406, "test_boundaryinfo_factory_alu_3d_0002": 25.10480761528015, "test_boundaryinfo_factory_ug_2d": 26.813920736312866, "test_boundaryinfo_factory_ug_3d": 21.458252429962158, "test_boundaryinfo_factory_yasp_1d": 20.32856774330139, "test_boundaryinfo_factory_yasp_2d": 20.262175798416138, "test_boundaryinfo_factory_yasp_3d": 20.254600286483765, "test_cube_gridprovider_alberta_1d": 29.882335424423218, "test_cube_gridprovider_alberta_2d": 32.76775240898132, "test_cube_gridprovider_alberta_3d": 33.399218797683716, "test_cube_gridprovider_alu_2d_0000": 37.792232036590576, "test_cube_gridprovider_alu_2d_0001": 44.885122299194336, "test_cube_gridprovider_alu_2d_0002": 43.71287178993225, "test_cube_gridprovider_alu_3d_0000": 39.73737978935242, "test_cube_gridprovider_alu_3d_0001": 39.451533794403076, "test_cube_gridprovider_alu_3d_0002": 41.87690043449402, "test_cube_gridprovider_ug_2d": 31.361640453338623, "test_cube_gridprovider_ug_3d": 30.2545223236084, "test_cube_gridprovider_yasp_1d": 30.218368768692017, "test_cube_gridprovider_yasp_2d": 30.87869381904602, "test_cube_gridprovider_yasp_3d": 31.77970838546753, "test_dd_glued_2d": 47.59047198295593, "test_dd_glued_3d": 72.38096737861633, "test_dd_subdomains_cube_1d_alberta_1d": 32.65306234359741, "test_dd_subdomains_cube_1d_oned_1d": 30.95809245109558, "test_dd_subdomains_cube_1d_yasp_1d": 39.5734589099884, "test_dd_subdomains_cube_2d_alberta_2d": 33.47791790962219, "test_dd_subdomains_cube_2d_alu_2d_0000": 40.817832231521606, "test_dd_subdomains_cube_2d_alu_2d_0001": 41.34266781806946, "test_dd_subdomains_cube_2d_alu_2d_0002": 43.98705530166626, "test_dd_subdomains_cube_2d_yasp_2d": 41.6374089717865, "test_dd_subdomains_cube_3d_alberta_3d": 34.382235527038574, "test_dd_subdomains_cube_3d_alu_3d_0000": 42.820916414260864, "test_dd_subdomains_cube_3d_alu_3d_0001": 42.952428579330444, "test_dd_subdomains_cube_3d_alu_3d_0002": 42.719929456710815, "test_dd_subdomains_cube_3d_yasp_3d": 37.5138258934021, "test_dgf_gridprovider_alberta_1d": 28.717551231384277, "test_dgf_gridprovider_alberta_2d": 29.837552309036255, "test_dgf_gridprovider_alberta_3d": 30.983155727386475, "test_dgf_gridprovider_alu_2d_0000": 36.58354449272156, "test_dgf_gridprovider_alu_2d_0001": 36.371814012527466, "test_dgf_gridprovider_alu_2d_0002": 38.96980571746826, "test_dgf_gridprovider_alu_3d_0000": 37.85637283325195, "test_dgf_gridprovider_alu_3d_0001": 37.708600997924805, "test_dgf_gridprovider_alu_3d_0002": 37.76925802230835, "test_dgf_gridprovider_ug_2d": 32.90612769126892, "test_dgf_gridprovider_ug_3d": 29.416306972503662, "test_dgf_gridprovider_yasp_1d": 30.38980507850647, "test_dgf_gridprovider_yasp_2d": 31.157761812210083, "test_dgf_gridprovider_yasp_3d": 37.51527190208435, "test_empty": 17.019262075424194, "test_gmsh_gridprovider_alu_2d_0000": 37.837767362594604, "test_gmsh_gridprovider_alu_2d_0001": 38.22988843917847, "test_gmsh_gridprovider_alu_2d_0002": 40.37570309638977, "test_gmsh_gridprovider_alu_3d_0000": 39.87834930419922, "test_gmsh_gridprovider_alu_3d_0001": 39.619710206985474, "test_gmsh_gridprovider_alu_3d_0002": 39.474732875823975, "test_information_1d": 22.540085077285767, "test_information_2d": 25.465412139892578, "test_information_3d": 23.106703281402588, "test_output_pgf": 20.955060958862305, "test_periodic_gridview_alberta_1d": 26.500367164611816, "test_periodic_gridview_alberta_2d": 27.455833911895752, "test_periodic_gridview_alberta_3d": 30.86421847343445, "test_periodic_gridview_alu_2d_0000": 38.39575457572937, "test_periodic_gridview_alu_2d_0001": 36.400352239608765, "test_periodic_gridview_alu_2d_0002": 36.183119773864746, "test_periodic_gridview_alu_3d_0000": 38.127026081085205, "test_periodic_gridview_alu_3d_0001": 40.577880859375, "test_periodic_gridview_alu_3d_0002": 38.143150329589844, "test_periodic_gridview_ug_2d": 30.48707890510559, "test_periodic_gridview_ug_3d": 25.53850245475769, "test_periodic_gridview_yasp_1d": 24.534114837646484, "test_periodic_gridview_yasp_2d": 28.027952194213867, "test_periodic_gridview_yasp_3d": 29.395564079284668, "test_search_alberta_1d": 24.591536045074463, "test_search_alberta_2d": 25.886425733566284, "test_search_alberta_3d": 30.119665384292603, "test_search_alu_2d_0000": 32.78598976135254, "test_search_alu_2d_0001": 33.557924032211304, "test_search_alu_2d_0002": 36.598793745040894, "test_search_alu_3d_0000": 34.747488260269165, "test_search_alu_3d_0001": 34.77951192855835, "test_search_alu_3d_0002": 34.66567897796631, "test_search_ug_2d": 23.453728199005127, "test_search_ug_3d": 24.26795983314514, "test_search_yasp_1d": 24.269371509552002, "test_search_yasp_2d": 26.243303775787354, "test_search_yasp_3d": 27.224441528320312} +======= +{"headercheck__dune_xt_grid_boundaryinfo.hh": 15.615983963012695, "headercheck__dune_xt_grid_boundaryinfo_alldirichlet.hh": 14.889521360397339, "headercheck__dune_xt_grid_boundaryinfo_allneumann.hh": 15.696208238601685, "headercheck__dune_xt_grid_boundaryinfo_allreflecting.hh": 0.05450081825256348, "headercheck__dune_xt_grid_boundaryinfo_boundarysegment.hh": 15.654795408248901, "headercheck__dune_xt_grid_boundaryinfo_factory.hh": 15.011301517486572, "headercheck__dune_xt_grid_boundaryinfo_interfaces.hh": 12.98918080329895, "headercheck__dune_xt_grid_boundaryinfo_normalbased.hh": 14.861575365066528, "headercheck__dune_xt_grid_boundaryinfo_types.hh": 13.068084239959717, "headercheck__dune_xt_grid_capabilities.hh": 5.508548259735107, "headercheck__dune_xt_grid_dd_glued.hh": 16.311400413513184, "headercheck__dune_xt_grid_dd_subdomains_factory.hh": 16.603410005569458, "headercheck__dune_xt_grid_dd_subdomains_grid.hh": 7.199793100357056, "headercheck__dune_xt_grid_entity.hh": 14.566489696502686, "headercheck__dune_xt_grid_exceptions.hh": 0.5797884464263916, "headercheck__dune_xt_grid_gridprovider.hh": 15.75350832939148, "headercheck__dune_xt_grid_gridprovider_cube.hh": 15.646630764007568, "headercheck__dune_xt_grid_gridprovider_cube.lib.hh": 15.668450832366943, "headercheck__dune_xt_grid_gridprovider_dgf.hh": 14.227550983428955, "headercheck__dune_xt_grid_gridprovider_eoc.hh": 15.803757905960083, "headercheck__dune_xt_grid_gridprovider_factory.hh": 19.475318431854248, "headercheck__dune_xt_grid_gridprovider_gmsh.hh": 15.500884532928467, "headercheck__dune_xt_grid_gridprovider_provider.hh": 15.338162422180176, "headercheck__dune_xt_grid_gridprovider_provider.lib.hh": 15.399278163909912, "headercheck__dune_xt_grid_gridprovider_starcd.hh": 17.104496955871582, "headercheck__dune_xt_grid_grids.hh": 5.7532057762146, "headercheck__dune_xt_grid_information.hh": 16.327180862426758, "headercheck__dune_xt_grid_intersection.hh": 17.47262454032898, "headercheck__dune_xt_grid_layers.hh": 6.588227272033691, "headercheck__dune_xt_grid_output_entity_visualization.hh": 16.429991722106934, "headercheck__dune_xt_grid_output_pgf.hh": 14.739186525344849, "headercheck__dune_xt_grid_parallel_partitioning_ranged-internal.hh": 6.21062707901001, "headercheck__dune_xt_grid_parallel_partitioning_ranged.hh": 6.125450372695923, "headercheck__dune_xt_grid_rangegenerators.hh": 0.4594254493713379, "headercheck__dune_xt_grid_search.hh": 14.83984923362732, "headercheck__dune_xt_grid_structuredgridfactory.hh": 18.08464241027832, "headercheck__dune_xt_grid_test_dd_glued.hh": 16.351179122924805, "headercheck__dune_xt_grid_test_provider.hh": 15.94580864906311, "headercheck__dune_xt_grid_type_traits.hh": 6.2084269523620605, "headercheck__dune_xt_grid_view_from-part.hh": 6.13268256187439, "headercheck__dune_xt_grid_view_periodic.hh": 15.664304971694946, "headercheck__dune_xt_grid_view_subdomain_entity-iterator.hh": 0.7993688583374023, "headercheck__dune_xt_grid_view_subdomain_indexset.hh": 6.4803078174591064, "headercheck__dune_xt_grid_view_subdomain_intersection-iterator.hh": 6.660834789276123, "headercheck__dune_xt_grid_view_subdomain_intersection-wrapper.hh": 0.971346378326416, "headercheck__dune_xt_grid_view_subdomain_view.hh": 0.0428006649017334, "headercheck__dune_xt_grid_walk_functors.hh": 16.127413988113403, "headercheck__dune_xt_grid_walker.hh": 14.082605838775635, "headercheck__dune_xt_grid_walker.lib.hh": 14.158512592315674, "headercheck__dune_xt_grid_walker_apply-on.hh": 15.058823347091675, "headercheck__dune_xt_grid_walker_functors.hh": 14.957406282424927, "headercheck__dune_xt_grid_walker_wrapper.hh": 14.561433553695679, "headercheck__python_dune_xt_grid_boundaryinfo.bindings.hh": 16.240068435668945, "headercheck__python_dune_xt_grid_gridprovider.hh": 0.29808640480041504, "headercheck__python_dune_xt_grid_grids.bindings.hh": 13.800297975540161, "headercheck__python_dune_xt_grid_layers.bindings.hh": 5.718413829803467, "headercheck__python_dune_xt_grid_walker.bindings.hh": 15.749167680740356, "test_boundaryinfo_factory_alberta_1d": 18.120019912719727, "test_boundaryinfo_factory_alberta_2d": 19.290846347808838, "test_boundaryinfo_factory_alberta_3d": 17.924537181854248, "test_boundaryinfo_factory_alu_2d_0000": 20.891586780548096, "test_boundaryinfo_factory_alu_2d_0001": 22.327872276306152, "test_boundaryinfo_factory_alu_2d_0002": 23.566327333450317, "test_boundaryinfo_factory_alu_3d_0000": 21.421977758407593, "test_boundaryinfo_factory_alu_3d_0001": 24.902809143066406, "test_boundaryinfo_factory_alu_3d_0002": 25.10480761528015, "test_boundaryinfo_factory_ug_2d": 14.21441388130188, "test_boundaryinfo_factory_ug_3d": 31.54072618484497, "test_boundaryinfo_factory_yasp_1d": 20.32856774330139, "test_boundaryinfo_factory_yasp_2d": 20.262175798416138, "test_boundaryinfo_factory_yasp_3d": 20.254600286483765, "test_cube_gridprovider_alberta_1d": 24.685839414596558, "test_cube_gridprovider_alberta_2d": 25.307799577713013, "test_cube_gridprovider_alberta_3d": 26.748608589172363, "test_cube_gridprovider_alu_2d_0000": 37.792232036590576, "test_cube_gridprovider_alu_2d_0001": 44.885122299194336, "test_cube_gridprovider_alu_2d_0002": 43.71287178993225, "test_cube_gridprovider_alu_3d_0000": 39.73737978935242, "test_cube_gridprovider_alu_3d_0001": 39.451533794403076, "test_cube_gridprovider_alu_3d_0002": 41.87690043449402, "test_cube_gridprovider_ug_2d": 17.686360836029053, "test_cube_gridprovider_ug_3d": 18.55469822883606, "test_cube_gridprovider_yasp_1d": 30.218368768692017, "test_cube_gridprovider_yasp_2d": 30.87869381904602, "test_cube_gridprovider_yasp_3d": 31.77970838546753, "test_dd_glued_2d": 47.59047198295593, "test_dd_glued_3d": 72.38096737861633, "test_dd_subdomains_cube_1d_alberta_1d": 28.781522750854492, "test_dd_subdomains_cube_1d_oned_1d": 30.95809245109558, "test_dd_subdomains_cube_1d_yasp_1d": 39.5734589099884, "test_dd_subdomains_cube_2d_alberta_2d": 30.17898464202881, "test_dd_subdomains_cube_2d_alu_2d_0000": 40.817832231521606, "test_dd_subdomains_cube_2d_alu_2d_0001": 41.34266781806946, "test_dd_subdomains_cube_2d_alu_2d_0002": 43.98705530166626, "test_dd_subdomains_cube_2d_yasp_2d": 41.6374089717865, "test_dd_subdomains_cube_3d_alberta_3d": 31.72081208229065, "test_dd_subdomains_cube_3d_alu_3d_0000": 42.820916414260864, "test_dd_subdomains_cube_3d_alu_3d_0001": 42.952428579330444, "test_dd_subdomains_cube_3d_alu_3d_0002": 42.719929456710815, "test_dd_subdomains_cube_3d_yasp_3d": 37.5138258934021, "test_dgf_gridprovider_alberta_1d": 23.804073095321655, "test_dgf_gridprovider_alberta_2d": 24.78347897529602, "test_dgf_gridprovider_alberta_3d": 26.044527530670166, "test_dgf_gridprovider_alu_2d_0000": 36.58354449272156, "test_dgf_gridprovider_alu_2d_0001": 36.371814012527466, "test_dgf_gridprovider_alu_2d_0002": 38.96980571746826, "test_dgf_gridprovider_alu_3d_0000": 37.85637283325195, "test_dgf_gridprovider_alu_3d_0001": 37.708600997924805, "test_dgf_gridprovider_alu_3d_0002": 37.76925802230835, "test_dgf_gridprovider_ug_2d": 17.723196983337402, "test_dgf_gridprovider_ug_3d": 18.359837293624878, "test_dgf_gridprovider_yasp_1d": 30.38980507850647, "test_dgf_gridprovider_yasp_2d": 31.157761812210083, "test_dgf_gridprovider_yasp_3d": 37.51527190208435, "test_empty": 17.019262075424194, "test_gmsh_gridprovider_alu_2d_0000": 37.837767362594604, "test_gmsh_gridprovider_alu_2d_0001": 38.22988843917847, "test_gmsh_gridprovider_alu_2d_0002": 40.37570309638977, "test_gmsh_gridprovider_alu_3d_0000": 39.87834930419922, "test_gmsh_gridprovider_alu_3d_0001": 39.619710206985474, "test_gmsh_gridprovider_alu_3d_0002": 39.474732875823975, "test_information_1d": 22.540085077285767, "test_information_2d": 25.465412139892578, "test_information_3d": 23.106703281402588, "test_output_pgf": 20.955060958862305, "test_periodic_gridview_alberta_1d": 25.174728870391846, "test_periodic_gridview_alberta_2d": 23.791815280914307, "test_periodic_gridview_alberta_3d": 25.359989881515503, "test_periodic_gridview_alu_2d_0000": 38.39575457572937, "test_periodic_gridview_alu_2d_0001": 36.400352239608765, "test_periodic_gridview_alu_2d_0002": 36.183119773864746, "test_periodic_gridview_alu_3d_0000": 38.127026081085205, "test_periodic_gridview_alu_3d_0001": 40.577880859375, "test_periodic_gridview_alu_3d_0002": 38.143150329589844, "test_periodic_gridview_ug_2d": 16.956064701080322, "test_periodic_gridview_ug_3d": 17.546403884887695, "test_periodic_gridview_yasp_1d": 24.534114837646484, "test_periodic_gridview_yasp_2d": 28.027952194213867, "test_periodic_gridview_yasp_3d": 29.395564079284668, "test_search_alberta_1d": 23.77691912651062, "test_search_alberta_2d": 24.868733167648315, "test_search_alberta_3d": 26.35206937789917, "test_search_alu_2d_0000": 32.78598976135254, "test_search_alu_2d_0001": 33.557924032211304, "test_search_alu_2d_0002": 36.598793745040894, "test_search_alu_3d_0000": 34.747488260269165, "test_search_alu_3d_0001": 34.77951192855835, "test_search_alu_3d_0002": 34.66567897796631, "test_search_ug_2d": 18.64886736869812, "test_search_ug_3d": 18.41042160987854, "test_search_yasp_1d": 24.269371509552002, "test_search_yasp_2d": 26.243303775787354, "test_search_yasp_3d": 27.224441528320312} +>>>>>>> master diff --git a/dune/xt/grid/test/eoc_gridprovider.py b/dune/xt/grid/test/eoc_gridprovider.py new file mode 100644 index 0000000000000000000000000000000000000000..a80f334658a4b6c4d2a9b1179579beefa0a61ef1 --- /dev/null +++ b/dune/xt/grid/test/eoc_gridprovider.py @@ -0,0 +1,5 @@ +import dune.xt.grid.types as grid_types +from dune.xt.codegen import typeid_to_typedef_name as safe_name + +# alberta needs manual flag adding in cmake, so we skip it here +all_grids = ((safe_name(g), g) for g in grid_types.all_types(cache, list(range(1, 4))) if 'Alberta' not in g) diff --git a/python/dune/xt/boundaryinfo.bindings.cc b/dune/xt/grid/test/eoc_gridprovider.tpl similarity index 52% rename from python/dune/xt/boundaryinfo.bindings.cc rename to dune/xt/grid/test/eoc_gridprovider.tpl index 2d1f03e8307a8a48654de493752f186e2d31d70f..bd36fb30df29e5d2bf5ad53ab02237d40e71fef3 100644 --- a/python/dune/xt/boundaryinfo.bindings.cc +++ b/dune/xt/grid/test/eoc_gridprovider.tpl @@ -5,11 +5,21 @@ // or GPL-2.0+ (http://opensource.org/licenses/gpl-license) // with "runtime exception" (http://www.dune-project.org/license.html) // Authors: -// Felix Schindler (2017) // Rene Milk (2018) -#include "config.h" +#include <dune/xt/common/test/main.hxx> -#include <python/dune/xt/grid/boundaryinfo.bindings.hh> +#include <dune/xt/grid/gridprovider/eoc.hh> +#include <dune/xt/grid/grids.hh> -DUNE_XT_GRID_BOUNDARYINFO_BIND_LIB(template); + +{% for name, type in config.all_grids %} + +GTEST_TEST(EocProvider_{{name}}, layers) +{ + using Level = Dune::XT::Grid::LevelBasedEOCGridProvider<{{type}}>; + using DD = Dune::XT::Grid::DdSubdomainsBasedEOCGridProvider<{{type}}>; + using Leaf = Dune::XT::Grid::LeafBasedEOCGridProvider<{{type}}>; +} + +{% endfor %} diff --git a/dune/xt/grid/test/gmsh_2d_simplices.msh b/dune/xt/grid/test/gmsh_2d_simplices.msh index 378278a62475946c232399e248b15f542694a3ca..9d7b84d05122900a79ff6a14fa60c8e47026b5f3 100644 --- a/dune/xt/grid/test/gmsh_2d_simplices.msh +++ b/dune/xt/grid/test/gmsh_2d_simplices.msh @@ -1,3 +1,4 @@ +# ~~~ # This file is part of the dune-xt-grid project: # https://github.com/dune-community/dune-xt-grid # Copyright 2009-2018 dune-xt-grid developers and contributors. All rights reserved. @@ -9,6 +10,7 @@ # # or GPL-2.0+ (http://opensource.org/licenses/gpl-license) # with "runtime exception" (http://www.dune-project.org/license.html) +# ~~~ $MeshFormat 2.2 0 8 diff --git a/dune/xt/grid/test/information.cc b/dune/xt/grid/test/information.cc index f3e36075ecc2602aa134bbed8cc096bb37e1d1d4..2942165a1edf67c3afb2707fc2342ea2feaa3c9b 100644 --- a/dune/xt/grid/test/information.cc +++ b/dune/xt/grid/test/information.cc @@ -32,7 +32,7 @@ struct GridInfoTest : public ::testing::Test typedef Dune::YaspGrid<griddim, Dune::EquidistantOffsetCoordinates<double, griddim>> GridType; typedef Dimensions<typename GridType::LeafGridView> DimensionsType; - const GridProvider<GridType> grid_prv; + const GridProvider<GridType, none_t> grid_prv; GridInfoTest() : grid_prv(make_cube_grid<GridType>(0.f, 1.f, level)) { diff --git a/dune/xt/grid/test/provider.hh b/dune/xt/grid/test/provider.hh index 1c6b2039efdecef4924a15d329fef611401f7b50..fbce904bb78ad3c6becdf924dcae94a9dcb254c6 100644 --- a/dune/xt/grid/test/provider.hh +++ b/dune/xt/grid/test/provider.hh @@ -25,7 +25,7 @@ template <class GridType> struct GridProviderBase : public testing::Test { - typedef Dune::XT::Grid::GridProvider<GridType> GridProviderType; + typedef Dune::XT::Grid::GridProvider<GridType, Dune::XT::Grid::none_t> GridProviderType; static void check_layers(const GridProviderType& grid_provider) { diff --git a/dune/xt/grid/test/search.cc b/dune/xt/grid/test/search.cc index 9c69fd80a4714d35a10f32218f0f6f8fa032f470..6ecc1e5047c3e3b80d15f83d584d9c074fcc3f99 100644 --- a/dune/xt/grid/test/search.cc +++ b/dune/xt/grid/test/search.cc @@ -9,17 +9,18 @@ // Rene Milk (2016, 2018) #include <dune/xt/common/test/main.hxx> +#include <dune/xt/common/logging.hh> #include <dune/xt/grid/gridprovider.hh> #include <dune/xt/grid/grids.hh> -#include <dune/xt/grid/search.hh> #include <dune/xt/grid/information.hh> -#include <dune/xt/common/logging.hh> +#include <dune/xt/grid/search.hh> +#include <dune/xt/grid/view/periodic.hh> struct InLevelSearch : public testing::Test { typedef TESTGRIDTYPE GridType; - typedef Dune::XT::Grid::GridProvider<GridType> GridProviderType; + typedef Dune::XT::Grid::GridProvider<GridType, Dune::XT::Grid::none_t> GridProviderType; InLevelSearch() : grid_provider_(Dune::XT::Grid::make_cube_grid<TESTGRIDTYPE>()) @@ -29,11 +30,15 @@ struct InLevelSearch : public testing::Test void check() { const auto view = grid_provider_.leaf_view(); - const auto dimensions = Dune::XT::Grid::dimensions(grid_provider_.leaf_view()); + const auto periodic_view = Dune::XT::Grid::make_periodic_grid_layer(view); + const auto dimensions = Dune::XT::Grid::dimensions(view); Dune::XT::Grid::EntityInlevelSearch<decltype(view)> search(view); + Dune::XT::Grid::EntityInlevelSearch<decltype(periodic_view)> periodic_search(periodic_view); const auto center = dimensions.view_center(); const auto result = search(std::vector<std::remove_const<decltype(center)>::type>{center}); + const auto periodic_result = periodic_search(std::vector<std::remove_const<decltype(center)>::type>{center}); EXPECT_GE(result.size(), 1); + EXPECT_GE(periodic_result.size(), 1); } GridProviderType grid_provider_; diff --git a/dune/xt/grid/test/testruns_totals.pickle b/dune/xt/grid/test/testruns_totals.pickle index dc81a3d0e26fe838e4c87f509eb60004ac6ac4a9..b75ddbed43502a12337c25600f0c2799dcc5854e 100644 --- a/dune/xt/grid/test/testruns_totals.pickle +++ b/dune/xt/grid/test/testruns_totals.pickle @@ -1 +1 @@ -[["test_boundaryinfo_factory_yasp_1d_0000", "test_boundaryinfo_factory_yasp_2d_0001", "test_boundaryinfo_factory_yasp_3d_0002", "test_boundaryinfo_factory_alberta_1d_0003", "test_boundaryinfo_factory_alberta_2d_0004", "test_boundaryinfo_factory_alberta_3d_0005", "test_boundaryinfo_factory_alu_2d_0000_0006", "test_boundaryinfo_factory_alu_2d_0001_0007", "test_boundaryinfo_factory_alu_2d_0002_0008", "test_boundaryinfo_factory_alu_3d_0000_0009", "test_boundaryinfo_factory_alu_3d_0001_0010", "test_boundaryinfo_factory_alu_3d_0002_0011", "test_boundaryinfo_factory_ug_2d_0012", "test_boundaryinfo_factory_ug_3d_0013", "test_cube_gridprovider_yasp_1d_0000", "test_cube_gridprovider_yasp_2d_0001", "test_cube_gridprovider_yasp_3d_0002", "test_cube_gridprovider_alberta_1d_0003", "test_cube_gridprovider_alberta_2d_0004", "test_cube_gridprovider_alberta_3d_0005", "test_cube_gridprovider_alu_2d_0000_0006", "test_cube_gridprovider_alu_2d_0001_0007", "test_cube_gridprovider_alu_2d_0002_0008", "test_cube_gridprovider_alu_3d_0000_0009", "test_cube_gridprovider_alu_3d_0001_0010", "test_cube_gridprovider_alu_3d_0002_0011", "test_cube_gridprovider_ug_2d_0012", "test_cube_gridprovider_ug_3d_0013", "test_dd_glued_2d", "test_dd_glued_3d", "test_dd_subdomains_cube_1d_oned_1d_0000", "test_dd_subdomains_cube_1d_yasp_1d_0001", "test_dd_subdomains_cube_1d_alberta_1d_0002", "test_dd_subdomains_cube_2d_yasp_2d_0000", "test_dd_subdomains_cube_2d_alberta_2d_0001", "test_dd_subdomains_cube_2d_alu_2d_0000_0002", "test_dd_subdomains_cube_2d_alu_2d_0001_0003", "test_dd_subdomains_cube_2d_alu_2d_0002_0004", "test_dd_subdomains_cube_3d_yasp_3d_0000", "test_dd_subdomains_cube_3d_alberta_3d_0001", "test_dd_subdomains_cube_3d_alu_3d_0000_0002", "test_dd_subdomains_cube_3d_alu_3d_0001_0003", "test_dd_subdomains_cube_3d_alu_3d_0002_0004", "test_dgf_gridprovider_yasp_1d_0000", "test_dgf_gridprovider_yasp_2d_0001", "test_dgf_gridprovider_yasp_3d_0002", "test_dgf_gridprovider_alberta_1d_0003", "test_dgf_gridprovider_alberta_2d_0004", "test_dgf_gridprovider_alberta_3d_0005", "test_dgf_gridprovider_alu_2d_0000_0006", "test_dgf_gridprovider_alu_2d_0001_0007", "test_dgf_gridprovider_alu_2d_0002_0008", "test_dgf_gridprovider_alu_3d_0000_0009", "test_dgf_gridprovider_alu_3d_0001_0010", "test_dgf_gridprovider_alu_3d_0002_0011", "test_dgf_gridprovider_ug_2d_0012", "test_dgf_gridprovider_ug_3d_0013", "test_empty", "test_gmsh_gridprovider_alu_2d_0000_0000", "test_gmsh_gridprovider_alu_2d_0001_0001", "test_gmsh_gridprovider_alu_2d_0002_0002", "test_gmsh_gridprovider_alu_3d_0000_0003", "test_gmsh_gridprovider_alu_3d_0001_0004", "test_gmsh_gridprovider_alu_3d_0002_0005", "test_information_1d_information_1d", "test_information_2d_information_2d", "test_information_3d_information_3d", "test_output_pgf", "test_periodic_gridview_yasp_1d_nonperiodic_rectangle_cube_0000;test_periodic_gridview_yasp_1d_nonperiodic_unit_cube_cube_0000;test_periodic_gridview_yasp_1d_partially_periodic_rectangle_cube_0000;test_periodic_gridview_yasp_1d_partially_periodic_unit_cube_cube_0000;test_periodic_gridview_yasp_1d_periodic_rectangle_cube_0000;test_periodic_gridview_yasp_1d_periodic_unit_cube_cube_0000", "test_periodic_gridview_yasp_2d_nonperiodic_rectangle_cube_0001;test_periodic_gridview_yasp_2d_nonperiodic_unit_cube_cube_0001;test_periodic_gridview_yasp_2d_partially_periodic_rectangle_cube_0001;test_periodic_gridview_yasp_2d_partially_periodic_unit_cube_cube_0001;test_periodic_gridview_yasp_2d_periodic_rectangle_cube_0001;test_periodic_gridview_yasp_2d_periodic_unit_cube_cube_0001", "test_periodic_gridview_yasp_3d_nonperiodic_rectangle_cube_0002;test_periodic_gridview_yasp_3d_nonperiodic_unit_cube_cube_0002;test_periodic_gridview_yasp_3d_partially_periodic_rectangle_cube_0002;test_periodic_gridview_yasp_3d_partially_periodic_unit_cube_cube_0002;test_periodic_gridview_yasp_3d_periodic_rectangle_cube_0002;test_periodic_gridview_yasp_3d_periodic_unit_cube_cube_0002", "test_periodic_gridview_alberta_1d_nonperiodic_rectangle_simplex_0000;test_periodic_gridview_alberta_1d_nonperiodic_unit_cube_simplex_0000;test_periodic_gridview_alberta_1d_partially_periodic_rectangle_simplex_0000;test_periodic_gridview_alberta_1d_partially_periodic_unit_cube_simplex_0000;test_periodic_gridview_alberta_1d_periodic_rectangle_simplex_0000;test_periodic_gridview_alberta_1d_periodic_unit_cube_simplex_0000", "test_periodic_gridview_alberta_2d_nonperiodic_rectangle_simplex_0001;test_periodic_gridview_alberta_2d_nonperiodic_unit_cube_simplex_0001;test_periodic_gridview_alberta_2d_partially_periodic_rectangle_simplex_0001;test_periodic_gridview_alberta_2d_partially_periodic_unit_cube_simplex_0001;test_periodic_gridview_alberta_2d_periodic_rectangle_simplex_0001;test_periodic_gridview_alberta_2d_periodic_unit_cube_simplex_0001", "test_periodic_gridview_alberta_3d_nonperiodic_rectangle_simplex_0002;test_periodic_gridview_alberta_3d_nonperiodic_unit_cube_simplex_0002;test_periodic_gridview_alberta_3d_partially_periodic_rectangle_simplex_0002;test_periodic_gridview_alberta_3d_partially_periodic_unit_cube_simplex_0002;test_periodic_gridview_alberta_3d_periodic_rectangle_simplex_0002;test_periodic_gridview_alberta_3d_periodic_unit_cube_simplex_0002", "test_periodic_gridview_alu_2d_0000_nonperiodic_rectangle_cube_0003;test_periodic_gridview_alu_2d_0000_nonperiodic_unit_cube_cube_0003;test_periodic_gridview_alu_2d_0000_partially_periodic_rectangle_cube_0003;test_periodic_gridview_alu_2d_0000_partially_periodic_unit_cube_cube_0003;test_periodic_gridview_alu_2d_0000_periodic_rectangle_cube_0003;test_periodic_gridview_alu_2d_0000_periodic_unit_cube_cube_0003", "test_periodic_gridview_alu_2d_0001_nonperiodic_rectangle_simplex_0003;test_periodic_gridview_alu_2d_0001_nonperiodic_unit_cube_simplex_0003;test_periodic_gridview_alu_2d_0001_partially_periodic_rectangle_simplex_0003;test_periodic_gridview_alu_2d_0001_partially_periodic_unit_cube_simplex_0003;test_periodic_gridview_alu_2d_0001_periodic_rectangle_simplex_0003;test_periodic_gridview_alu_2d_0001_periodic_unit_cube_simplex_0003", "test_periodic_gridview_alu_2d_0002_nonperiodic_rectangle_simplex_0004;test_periodic_gridview_alu_2d_0002_nonperiodic_unit_cube_simplex_0004;test_periodic_gridview_alu_2d_0002_partially_periodic_rectangle_simplex_0004;test_periodic_gridview_alu_2d_0002_partially_periodic_unit_cube_simplex_0004;test_periodic_gridview_alu_2d_0002_periodic_rectangle_simplex_0004;test_periodic_gridview_alu_2d_0002_periodic_unit_cube_simplex_0004", "test_periodic_gridview_alu_3d_0000_nonperiodic_rectangle_cube_0004;test_periodic_gridview_alu_3d_0000_nonperiodic_unit_cube_cube_0004;test_periodic_gridview_alu_3d_0000_partially_periodic_rectangle_cube_0004;test_periodic_gridview_alu_3d_0000_partially_periodic_unit_cube_cube_0004;test_periodic_gridview_alu_3d_0000_periodic_rectangle_cube_0004;test_periodic_gridview_alu_3d_0000_periodic_unit_cube_cube_0004", "test_periodic_gridview_alu_3d_0001_nonperiodic_rectangle_simplex_0005;test_periodic_gridview_alu_3d_0001_nonperiodic_unit_cube_simplex_0005;test_periodic_gridview_alu_3d_0001_partially_periodic_rectangle_simplex_0005;test_periodic_gridview_alu_3d_0001_partially_periodic_unit_cube_simplex_0005;test_periodic_gridview_alu_3d_0001_periodic_rectangle_simplex_0005;test_periodic_gridview_alu_3d_0001_periodic_unit_cube_simplex_0005", "test_periodic_gridview_alu_3d_0002_nonperiodic_rectangle_simplex_0006;test_periodic_gridview_alu_3d_0002_nonperiodic_unit_cube_simplex_0006;test_periodic_gridview_alu_3d_0002_partially_periodic_rectangle_simplex_0006;test_periodic_gridview_alu_3d_0002_partially_periodic_unit_cube_simplex_0006;test_periodic_gridview_alu_3d_0002_periodic_rectangle_simplex_0006;test_periodic_gridview_alu_3d_0002_periodic_unit_cube_simplex_0006", "test_periodic_gridview_ug_2d_nonperiodic_rectangle_cube_0005;test_periodic_gridview_ug_2d_nonperiodic_rectangle_simplex_0007;test_periodic_gridview_ug_2d_nonperiodic_unit_cube_cube_0005;test_periodic_gridview_ug_2d_nonperiodic_unit_cube_simplex_0007;test_periodic_gridview_ug_2d_partially_periodic_rectangle_cube_0005;test_periodic_gridview_ug_2d_partially_periodic_rectangle_simplex_0007;test_periodic_gridview_ug_2d_partially_periodic_unit_cube_cube_0005;test_periodic_gridview_ug_2d_partially_periodic_unit_cube_simplex_0007;test_periodic_gridview_ug_2d_periodic_rectangle_cube_0005;test_periodic_gridview_ug_2d_periodic_rectangle_simplex_0007;test_periodic_gridview_ug_2d_periodic_unit_cube_cube_0005;test_periodic_gridview_ug_2d_periodic_unit_cube_simplex_0007", "test_periodic_gridview_ug_3d_nonperiodic_rectangle_cube_0006;test_periodic_gridview_ug_3d_nonperiodic_rectangle_simplex_0008;test_periodic_gridview_ug_3d_nonperiodic_unit_cube_cube_0006;test_periodic_gridview_ug_3d_nonperiodic_unit_cube_simplex_0008;test_periodic_gridview_ug_3d_partially_periodic_rectangle_cube_0006;test_periodic_gridview_ug_3d_partially_periodic_rectangle_simplex_0008;test_periodic_gridview_ug_3d_partially_periodic_unit_cube_cube_0006;test_periodic_gridview_ug_3d_partially_periodic_unit_cube_simplex_0008;test_periodic_gridview_ug_3d_periodic_rectangle_cube_0006;test_periodic_gridview_ug_3d_periodic_rectangle_simplex_0008;test_periodic_gridview_ug_3d_periodic_unit_cube_cube_0006;test_periodic_gridview_ug_3d_periodic_unit_cube_simplex_0008", "test_search_yasp_1d_0000", "test_search_yasp_2d_0001", "test_search_yasp_3d_0002", "test_search_alberta_1d_0003", "test_search_alberta_2d_0004", "test_search_alberta_3d_0005", "test_search_alu_2d_0000_0006", "test_search_alu_2d_0001_0007", "test_search_alu_2d_0002_0008", "test_search_alu_3d_0000_0009", "test_search_alu_3d_0001_0010", "test_search_alu_3d_0002_0011", "test_search_ug_2d_0012", "test_search_ug_3d_0013"], {"test_boundaryinfo_factory_alberta_1d_0003": 0.013814687728881836, "test_boundaryinfo_factory_alberta_2d_0004": 0.018439531326293945, "test_boundaryinfo_factory_alberta_3d_0005": 0.012996912002563477, "test_boundaryinfo_factory_alu_2d_0000_0006": 0.020161151885986328, "test_boundaryinfo_factory_alu_2d_0001_0007": 0.021579265594482422, "test_boundaryinfo_factory_alu_2d_0002_0008": 0.018848896026611328, "test_boundaryinfo_factory_alu_3d_0000_0009": 0.021801233291625977, "test_boundaryinfo_factory_alu_3d_0001_0010": 0.013073921203613281, "test_boundaryinfo_factory_alu_3d_0002_0011": 0.01934957504272461, "test_boundaryinfo_factory_ug_2d_0012": 0.014235973358154297, "test_boundaryinfo_factory_ug_3d_0013": 0.022176504135131836, "test_boundaryinfo_factory_yasp_1d_0000": 0.04857516288757324, "test_boundaryinfo_factory_yasp_2d_0001": 0.02437448501586914, "test_boundaryinfo_factory_yasp_3d_0002": 0.020878076553344727, "test_cube_gridprovider_alberta_1d_0003": 0.020861387252807617, "test_cube_gridprovider_alberta_2d_0004": 0.014606237411499023, "test_cube_gridprovider_alberta_3d_0005": 0.02063775062561035, "test_cube_gridprovider_alu_2d_0000_0006": 0.020139217376708984, "test_cube_gridprovider_alu_2d_0001_0007": 0.022524356842041016, "test_cube_gridprovider_alu_2d_0002_0008": 0.020697832107543945, "test_cube_gridprovider_alu_3d_0000_0009": 0.01953434944152832, "test_cube_gridprovider_alu_3d_0001_0010": 0.020487308502197266, "test_cube_gridprovider_alu_3d_0002_0011": 0.014725923538208008, "test_cube_gridprovider_ug_2d_0012": 0.021709203720092773, "test_cube_gridprovider_ug_3d_0013": 0.021831274032592773, "test_cube_gridprovider_yasp_1d_0000": 0.02048468589782715, "test_cube_gridprovider_yasp_2d_0001": 0.01860785484313965, "test_cube_gridprovider_yasp_3d_0002": 0.01403498649597168, "test_dd_glued_2d": 0.020163774490356445, "test_dd_glued_3d": 0.018154144287109375, "test_dd_subdomains_cube_1d_alberta_1d_0002": 0.023329973220825195, "test_dd_subdomains_cube_1d_oned_1d_0000": 0.01475834846496582, "test_dd_subdomains_cube_1d_yasp_1d_0001": 0.021187305450439453, "test_dd_subdomains_cube_2d_alberta_2d_0001": 0.02162623405456543, "test_dd_subdomains_cube_2d_alu_2d_0000_0002": 0.014841079711914062, "test_dd_subdomains_cube_2d_alu_2d_0001_0003": 0.014711856842041016, "test_dd_subdomains_cube_2d_alu_2d_0002_0004": 0.019779205322265625, "test_dd_subdomains_cube_2d_yasp_2d_0000": 0.015044212341308594, "test_dd_subdomains_cube_3d_alberta_3d_0001": 0.023333311080932617, "test_dd_subdomains_cube_3d_alu_3d_0000_0002": 0.01627326011657715, "test_dd_subdomains_cube_3d_alu_3d_0001_0003": 0.01916646957397461, "test_dd_subdomains_cube_3d_alu_3d_0002_0004": 0.017833232879638672, "test_dd_subdomains_cube_3d_yasp_3d_0000": 0.021175384521484375, "test_dgf_gridprovider_alberta_1d_0003": 0.02181386947631836, "test_dgf_gridprovider_alberta_2d_0004": 0.020039081573486328, "test_dgf_gridprovider_alberta_3d_0005": 0.020470380783081055, "test_dgf_gridprovider_alu_2d_0000_0006": 0.02131032943725586, "test_dgf_gridprovider_alu_2d_0001_0007": 0.02017378807067871, "test_dgf_gridprovider_alu_2d_0002_0008": 0.027289152145385742, "test_dgf_gridprovider_alu_3d_0000_0009": 0.021492481231689453, "test_dgf_gridprovider_alu_3d_0001_0010": 0.018991708755493164, "test_dgf_gridprovider_alu_3d_0002_0011": 0.025875091552734375, "test_dgf_gridprovider_ug_2d_0012": 0.05364274978637695, "test_dgf_gridprovider_ug_3d_0013": 0.02306056022644043, "test_dgf_gridprovider_yasp_1d_0000": 0.018175125122070312, "test_dgf_gridprovider_yasp_2d_0001": 0.017711162567138672, "test_dgf_gridprovider_yasp_3d_0002": 0.01462244987487793, "test_empty": 0.043166160583496094, "test_gmsh_gridprovider_alu_2d_0000_0000": 0.02014899253845215, "test_gmsh_gridprovider_alu_2d_0001_0001": 0.022755861282348633, "test_gmsh_gridprovider_alu_2d_0002_0002": 0.021397113800048828, "test_gmsh_gridprovider_alu_3d_0000_0003": 0.022572994232177734, "test_gmsh_gridprovider_alu_3d_0001_0004": 0.021507740020751953, "test_gmsh_gridprovider_alu_3d_0002_0005": 0.016646385192871094, "test_information_1d_information_1d": 0.015696048736572266, "test_information_2d_information_2d": 0.014620542526245117, "test_information_3d_information_3d": 0.022844552993774414, "test_output_pgf": 0.02042245864868164, "test_periodic_gridview_alberta_1d_nonperiodic_rectangle_simplex_0000;test_periodic_gridview_alberta_1d_nonperiodic_unit_cube_simplex_0000;test_periodic_gridview_alberta_1d_partially_periodic_rectangle_simplex_0000;test_periodic_gridview_alberta_1d_partially_periodic_unit_cube_simplex_0000;test_periodic_gridview_alberta_1d_periodic_rectangle_simplex_0000;test_periodic_gridview_alberta_1d_periodic_unit_cube_simplex_0000": 0.11000251770019531, "test_periodic_gridview_alberta_2d_nonperiodic_rectangle_simplex_0001;test_periodic_gridview_alberta_2d_nonperiodic_unit_cube_simplex_0001;test_periodic_gridview_alberta_2d_partially_periodic_rectangle_simplex_0001;test_periodic_gridview_alberta_2d_partially_periodic_unit_cube_simplex_0001;test_periodic_gridview_alberta_2d_periodic_rectangle_simplex_0001;test_periodic_gridview_alberta_2d_periodic_unit_cube_simplex_0001": 0.09993290901184082, "test_periodic_gridview_alberta_3d_nonperiodic_rectangle_simplex_0002;test_periodic_gridview_alberta_3d_nonperiodic_unit_cube_simplex_0002;test_periodic_gridview_alberta_3d_partially_periodic_rectangle_simplex_0002;test_periodic_gridview_alberta_3d_partially_periodic_unit_cube_simplex_0002;test_periodic_gridview_alberta_3d_periodic_rectangle_simplex_0002;test_periodic_gridview_alberta_3d_periodic_unit_cube_simplex_0002": 0.11704182624816895, "test_periodic_gridview_alu_2d_0000_nonperiodic_rectangle_cube_0003;test_periodic_gridview_alu_2d_0000_nonperiodic_unit_cube_cube_0003;test_periodic_gridview_alu_2d_0000_partially_periodic_rectangle_cube_0003;test_periodic_gridview_alu_2d_0000_partially_periodic_unit_cube_cube_0003;test_periodic_gridview_alu_2d_0000_periodic_rectangle_cube_0003;test_periodic_gridview_alu_2d_0000_periodic_unit_cube_cube_0003": 0.10288047790527344, "test_periodic_gridview_alu_2d_0001_nonperiodic_rectangle_simplex_0003;test_periodic_gridview_alu_2d_0001_nonperiodic_unit_cube_simplex_0003;test_periodic_gridview_alu_2d_0001_partially_periodic_rectangle_simplex_0003;test_periodic_gridview_alu_2d_0001_partially_periodic_unit_cube_simplex_0003;test_periodic_gridview_alu_2d_0001_periodic_rectangle_simplex_0003;test_periodic_gridview_alu_2d_0001_periodic_unit_cube_simplex_0003": 0.10729146003723145, "test_periodic_gridview_alu_2d_0002_nonperiodic_rectangle_simplex_0004;test_periodic_gridview_alu_2d_0002_nonperiodic_unit_cube_simplex_0004;test_periodic_gridview_alu_2d_0002_partially_periodic_rectangle_simplex_0004;test_periodic_gridview_alu_2d_0002_partially_periodic_unit_cube_simplex_0004;test_periodic_gridview_alu_2d_0002_periodic_rectangle_simplex_0004;test_periodic_gridview_alu_2d_0002_periodic_unit_cube_simplex_0004": 0.10921049118041992, "test_periodic_gridview_alu_3d_0000_nonperiodic_rectangle_cube_0004;test_periodic_gridview_alu_3d_0000_nonperiodic_unit_cube_cube_0004;test_periodic_gridview_alu_3d_0000_partially_periodic_rectangle_cube_0004;test_periodic_gridview_alu_3d_0000_partially_periodic_unit_cube_cube_0004;test_periodic_gridview_alu_3d_0000_periodic_rectangle_cube_0004;test_periodic_gridview_alu_3d_0000_periodic_unit_cube_cube_0004": 0.11465072631835938, "test_periodic_gridview_alu_3d_0001_nonperiodic_rectangle_simplex_0005;test_periodic_gridview_alu_3d_0001_nonperiodic_unit_cube_simplex_0005;test_periodic_gridview_alu_3d_0001_partially_periodic_rectangle_simplex_0005;test_periodic_gridview_alu_3d_0001_partially_periodic_unit_cube_simplex_0005;test_periodic_gridview_alu_3d_0001_periodic_rectangle_simplex_0005;test_periodic_gridview_alu_3d_0001_periodic_unit_cube_simplex_0005": 0.11975669860839844, "test_periodic_gridview_alu_3d_0002_nonperiodic_rectangle_simplex_0006;test_periodic_gridview_alu_3d_0002_nonperiodic_unit_cube_simplex_0006;test_periodic_gridview_alu_3d_0002_partially_periodic_rectangle_simplex_0006;test_periodic_gridview_alu_3d_0002_partially_periodic_unit_cube_simplex_0006;test_periodic_gridview_alu_3d_0002_periodic_rectangle_simplex_0006;test_periodic_gridview_alu_3d_0002_periodic_unit_cube_simplex_0006": 0.10587620735168457, "test_periodic_gridview_ug_2d_nonperiodic_rectangle_cube_0005;test_periodic_gridview_ug_2d_nonperiodic_rectangle_simplex_0007;test_periodic_gridview_ug_2d_nonperiodic_unit_cube_cube_0005;test_periodic_gridview_ug_2d_nonperiodic_unit_cube_simplex_0007;test_periodic_gridview_ug_2d_partially_periodic_rectangle_cube_0005;test_periodic_gridview_ug_2d_partially_periodic_rectangle_simplex_0007;test_periodic_gridview_ug_2d_partially_periodic_unit_cube_cube_0005;test_periodic_gridview_ug_2d_partially_periodic_unit_cube_simplex_0007;test_periodic_gridview_ug_2d_periodic_rectangle_cube_0005;test_periodic_gridview_ug_2d_periodic_rectangle_simplex_0007;test_periodic_gridview_ug_2d_periodic_unit_cube_cube_0005;test_periodic_gridview_ug_2d_periodic_unit_cube_simplex_0007": 0.23114800453186035, "test_periodic_gridview_ug_3d_nonperiodic_rectangle_cube_0006;test_periodic_gridview_ug_3d_nonperiodic_rectangle_simplex_0008;test_periodic_gridview_ug_3d_nonperiodic_unit_cube_cube_0006;test_periodic_gridview_ug_3d_nonperiodic_unit_cube_simplex_0008;test_periodic_gridview_ug_3d_partially_periodic_rectangle_cube_0006;test_periodic_gridview_ug_3d_partially_periodic_rectangle_simplex_0008;test_periodic_gridview_ug_3d_partially_periodic_unit_cube_cube_0006;test_periodic_gridview_ug_3d_partially_periodic_unit_cube_simplex_0008;test_periodic_gridview_ug_3d_periodic_rectangle_cube_0006;test_periodic_gridview_ug_3d_periodic_rectangle_simplex_0008;test_periodic_gridview_ug_3d_periodic_unit_cube_cube_0006;test_periodic_gridview_ug_3d_periodic_unit_cube_simplex_0008": 0.2386770248413086, "test_periodic_gridview_yasp_1d_nonperiodic_rectangle_cube_0000;test_periodic_gridview_yasp_1d_nonperiodic_unit_cube_cube_0000;test_periodic_gridview_yasp_1d_partially_periodic_rectangle_cube_0000;test_periodic_gridview_yasp_1d_partially_periodic_unit_cube_cube_0000;test_periodic_gridview_yasp_1d_periodic_rectangle_cube_0000;test_periodic_gridview_yasp_1d_periodic_unit_cube_cube_0000": 0.12091302871704102, "test_periodic_gridview_yasp_2d_nonperiodic_rectangle_cube_0001;test_periodic_gridview_yasp_2d_nonperiodic_unit_cube_cube_0001;test_periodic_gridview_yasp_2d_partially_periodic_rectangle_cube_0001;test_periodic_gridview_yasp_2d_partially_periodic_unit_cube_cube_0001;test_periodic_gridview_yasp_2d_periodic_rectangle_cube_0001;test_periodic_gridview_yasp_2d_periodic_unit_cube_cube_0001": 0.12057709693908691, "test_periodic_gridview_yasp_3d_nonperiodic_rectangle_cube_0002;test_periodic_gridview_yasp_3d_nonperiodic_unit_cube_cube_0002;test_periodic_gridview_yasp_3d_partially_periodic_rectangle_cube_0002;test_periodic_gridview_yasp_3d_partially_periodic_unit_cube_cube_0002;test_periodic_gridview_yasp_3d_periodic_rectangle_cube_0002;test_periodic_gridview_yasp_3d_periodic_unit_cube_cube_0002": 0.12546849250793457, "test_search_alberta_1d_0003": 0.02106165885925293, "test_search_alberta_2d_0004": 0.019028663635253906, "test_search_alberta_3d_0005": 0.020723342895507812, "test_search_alu_2d_0000_0006": 0.015004634857177734, "test_search_alu_2d_0001_0007": 0.02175450325012207, "test_search_alu_2d_0002_0008": 0.019686460494995117, "test_search_alu_3d_0000_0009": 0.018866539001464844, "test_search_alu_3d_0001_0010": 0.021307945251464844, "test_search_alu_3d_0002_0011": 0.018821001052856445, "test_search_ug_2d_0012": 0.020713090896606445, "test_search_ug_3d_0013": 0.015107870101928711, "test_search_yasp_1d_0000": 0.02102828025817871, "test_search_yasp_2d_0001": 0.019915103912353516, "test_search_yasp_3d_0002": 0.019326210021972656}] \ No newline at end of file +[["test_boundaryinfo_factory_yasp_1d_0000", "test_boundaryinfo_factory_yasp_2d_0001", "test_boundaryinfo_factory_yasp_3d_0002", "test_boundaryinfo_factory_alberta_1d_0003", "test_boundaryinfo_factory_alberta_2d_0004", "test_boundaryinfo_factory_alberta_3d_0005", "test_boundaryinfo_factory_alu_2d_0000_0006", "test_boundaryinfo_factory_alu_2d_0001_0007", "test_boundaryinfo_factory_alu_2d_0002_0008", "test_boundaryinfo_factory_alu_3d_0000_0009", "test_boundaryinfo_factory_alu_3d_0001_0010", "test_boundaryinfo_factory_alu_3d_0002_0011", "test_boundaryinfo_factory_ug_2d_0012", "test_boundaryinfo_factory_ug_3d_0013", "test_cube_gridprovider_yasp_1d_0000", "test_cube_gridprovider_yasp_2d_0001", "test_cube_gridprovider_yasp_3d_0002", "test_cube_gridprovider_alberta_1d_0003", "test_cube_gridprovider_alberta_2d_0004", "test_cube_gridprovider_alberta_3d_0005", "test_cube_gridprovider_alu_2d_0000_0006", "test_cube_gridprovider_alu_2d_0001_0007", "test_cube_gridprovider_alu_2d_0002_0008", "test_cube_gridprovider_alu_3d_0000_0009", "test_cube_gridprovider_alu_3d_0001_0010", "test_cube_gridprovider_alu_3d_0002_0011", "test_cube_gridprovider_ug_2d_0012", "test_cube_gridprovider_ug_3d_0013", "test_dd_glued_2d", "test_dd_glued_3d", "test_dd_subdomains_cube_1d_oned_1d_0000", "test_dd_subdomains_cube_1d_yasp_1d_0001", "test_dd_subdomains_cube_1d_alberta_1d_0002", "test_dd_subdomains_cube_2d_yasp_2d_0000", "test_dd_subdomains_cube_2d_alberta_2d_0001", "test_dd_subdomains_cube_2d_alu_2d_0000_0002", "test_dd_subdomains_cube_2d_alu_2d_0001_0003", "test_dd_subdomains_cube_2d_alu_2d_0002_0004", "test_dd_subdomains_cube_3d_yasp_3d_0000", "test_dd_subdomains_cube_3d_alberta_3d_0001", "test_dd_subdomains_cube_3d_alu_3d_0000_0002", "test_dd_subdomains_cube_3d_alu_3d_0001_0003", "test_dd_subdomains_cube_3d_alu_3d_0002_0004", "test_dgf_gridprovider_yasp_1d_0000", "test_dgf_gridprovider_yasp_2d_0001", "test_dgf_gridprovider_yasp_3d_0002", "test_dgf_gridprovider_alberta_1d_0003", "test_dgf_gridprovider_alberta_2d_0004", "test_dgf_gridprovider_alberta_3d_0005", "test_dgf_gridprovider_alu_2d_0000_0006", "test_dgf_gridprovider_alu_2d_0001_0007", "test_dgf_gridprovider_alu_2d_0002_0008", "test_dgf_gridprovider_alu_3d_0000_0009", "test_dgf_gridprovider_alu_3d_0001_0010", "test_dgf_gridprovider_alu_3d_0002_0011", "test_dgf_gridprovider_ug_2d_0012", "test_dgf_gridprovider_ug_3d_0013", "test_empty", "test_gmsh_gridprovider_alu_2d_0000_0000", "test_gmsh_gridprovider_alu_2d_0001_0001", "test_gmsh_gridprovider_alu_2d_0002_0002", "test_gmsh_gridprovider_alu_3d_0000_0003", "test_gmsh_gridprovider_alu_3d_0001_0004", "test_gmsh_gridprovider_alu_3d_0002_0005", "test_information_1d_information_1d", "test_information_2d_information_2d", "test_information_3d_information_3d", "test_output_pgf", "test_periodic_gridview_yasp_1d_nonperiodic_rectangle_cube_0000;test_periodic_gridview_yasp_1d_nonperiodic_unit_cube_cube_0000;test_periodic_gridview_yasp_1d_partially_periodic_rectangle_cube_0000;test_periodic_gridview_yasp_1d_partially_periodic_unit_cube_cube_0000;test_periodic_gridview_yasp_1d_periodic_rectangle_cube_0000;test_periodic_gridview_yasp_1d_periodic_unit_cube_cube_0000", "test_periodic_gridview_yasp_2d_nonperiodic_rectangle_cube_0001;test_periodic_gridview_yasp_2d_nonperiodic_unit_cube_cube_0001;test_periodic_gridview_yasp_2d_partially_periodic_rectangle_cube_0001;test_periodic_gridview_yasp_2d_partially_periodic_unit_cube_cube_0001;test_periodic_gridview_yasp_2d_periodic_rectangle_cube_0001;test_periodic_gridview_yasp_2d_periodic_unit_cube_cube_0001", "test_periodic_gridview_yasp_3d_nonperiodic_rectangle_cube_0002;test_periodic_gridview_yasp_3d_nonperiodic_unit_cube_cube_0002;test_periodic_gridview_yasp_3d_partially_periodic_rectangle_cube_0002;test_periodic_gridview_yasp_3d_partially_periodic_unit_cube_cube_0002;test_periodic_gridview_yasp_3d_periodic_rectangle_cube_0002;test_periodic_gridview_yasp_3d_periodic_unit_cube_cube_0002", "test_periodic_gridview_alberta_1d_nonperiodic_rectangle_simplex_0000;test_periodic_gridview_alberta_1d_nonperiodic_unit_cube_simplex_0000;test_periodic_gridview_alberta_1d_partially_periodic_rectangle_simplex_0000;test_periodic_gridview_alberta_1d_partially_periodic_unit_cube_simplex_0000;test_periodic_gridview_alberta_1d_periodic_rectangle_simplex_0000;test_periodic_gridview_alberta_1d_periodic_unit_cube_simplex_0000", "test_periodic_gridview_alberta_2d_nonperiodic_rectangle_simplex_0001;test_periodic_gridview_alberta_2d_nonperiodic_unit_cube_simplex_0001;test_periodic_gridview_alberta_2d_partially_periodic_rectangle_simplex_0001;test_periodic_gridview_alberta_2d_partially_periodic_unit_cube_simplex_0001;test_periodic_gridview_alberta_2d_periodic_rectangle_simplex_0001;test_periodic_gridview_alberta_2d_periodic_unit_cube_simplex_0001", "test_periodic_gridview_alberta_3d_nonperiodic_rectangle_simplex_0002;test_periodic_gridview_alberta_3d_nonperiodic_unit_cube_simplex_0002;test_periodic_gridview_alberta_3d_partially_periodic_rectangle_simplex_0002;test_periodic_gridview_alberta_3d_partially_periodic_unit_cube_simplex_0002;test_periodic_gridview_alberta_3d_periodic_rectangle_simplex_0002;test_periodic_gridview_alberta_3d_periodic_unit_cube_simplex_0002", "test_periodic_gridview_alu_2d_0000_nonperiodic_rectangle_cube_0003;test_periodic_gridview_alu_2d_0000_nonperiodic_unit_cube_cube_0003;test_periodic_gridview_alu_2d_0000_partially_periodic_rectangle_cube_0003;test_periodic_gridview_alu_2d_0000_partially_periodic_unit_cube_cube_0003;test_periodic_gridview_alu_2d_0000_periodic_rectangle_cube_0003;test_periodic_gridview_alu_2d_0000_periodic_unit_cube_cube_0003", "test_periodic_gridview_alu_2d_0001_nonperiodic_rectangle_simplex_0003;test_periodic_gridview_alu_2d_0001_nonperiodic_unit_cube_simplex_0003;test_periodic_gridview_alu_2d_0001_partially_periodic_rectangle_simplex_0003;test_periodic_gridview_alu_2d_0001_partially_periodic_unit_cube_simplex_0003;test_periodic_gridview_alu_2d_0001_periodic_rectangle_simplex_0003;test_periodic_gridview_alu_2d_0001_periodic_unit_cube_simplex_0003", "test_periodic_gridview_alu_2d_0002_nonperiodic_rectangle_simplex_0004;test_periodic_gridview_alu_2d_0002_nonperiodic_unit_cube_simplex_0004;test_periodic_gridview_alu_2d_0002_partially_periodic_rectangle_simplex_0004;test_periodic_gridview_alu_2d_0002_partially_periodic_unit_cube_simplex_0004;test_periodic_gridview_alu_2d_0002_periodic_rectangle_simplex_0004;test_periodic_gridview_alu_2d_0002_periodic_unit_cube_simplex_0004", "test_periodic_gridview_alu_3d_0000_nonperiodic_rectangle_cube_0004;test_periodic_gridview_alu_3d_0000_nonperiodic_unit_cube_cube_0004;test_periodic_gridview_alu_3d_0000_partially_periodic_rectangle_cube_0004;test_periodic_gridview_alu_3d_0000_partially_periodic_unit_cube_cube_0004;test_periodic_gridview_alu_3d_0000_periodic_rectangle_cube_0004;test_periodic_gridview_alu_3d_0000_periodic_unit_cube_cube_0004", "test_periodic_gridview_alu_3d_0001_nonperiodic_rectangle_simplex_0005;test_periodic_gridview_alu_3d_0001_nonperiodic_unit_cube_simplex_0005;test_periodic_gridview_alu_3d_0001_partially_periodic_rectangle_simplex_0005;test_periodic_gridview_alu_3d_0001_partially_periodic_unit_cube_simplex_0005;test_periodic_gridview_alu_3d_0001_periodic_rectangle_simplex_0005;test_periodic_gridview_alu_3d_0001_periodic_unit_cube_simplex_0005", "test_periodic_gridview_alu_3d_0002_nonperiodic_rectangle_simplex_0006;test_periodic_gridview_alu_3d_0002_nonperiodic_unit_cube_simplex_0006;test_periodic_gridview_alu_3d_0002_partially_periodic_rectangle_simplex_0006;test_periodic_gridview_alu_3d_0002_partially_periodic_unit_cube_simplex_0006;test_periodic_gridview_alu_3d_0002_periodic_rectangle_simplex_0006;test_periodic_gridview_alu_3d_0002_periodic_unit_cube_simplex_0006", "test_periodic_gridview_ug_2d_nonperiodic_rectangle_cube_0005;test_periodic_gridview_ug_2d_nonperiodic_rectangle_simplex_0007;test_periodic_gridview_ug_2d_nonperiodic_unit_cube_cube_0005;test_periodic_gridview_ug_2d_nonperiodic_unit_cube_simplex_0007;test_periodic_gridview_ug_2d_partially_periodic_rectangle_cube_0005;test_periodic_gridview_ug_2d_partially_periodic_rectangle_simplex_0007;test_periodic_gridview_ug_2d_partially_periodic_unit_cube_cube_0005;test_periodic_gridview_ug_2d_partially_periodic_unit_cube_simplex_0007;test_periodic_gridview_ug_2d_periodic_rectangle_cube_0005;test_periodic_gridview_ug_2d_periodic_rectangle_simplex_0007;test_periodic_gridview_ug_2d_periodic_unit_cube_cube_0005;test_periodic_gridview_ug_2d_periodic_unit_cube_simplex_0007", "test_periodic_gridview_ug_3d_nonperiodic_rectangle_cube_0006;test_periodic_gridview_ug_3d_nonperiodic_rectangle_simplex_0008;test_periodic_gridview_ug_3d_nonperiodic_unit_cube_cube_0006;test_periodic_gridview_ug_3d_nonperiodic_unit_cube_simplex_0008;test_periodic_gridview_ug_3d_partially_periodic_rectangle_cube_0006;test_periodic_gridview_ug_3d_partially_periodic_rectangle_simplex_0008;test_periodic_gridview_ug_3d_partially_periodic_unit_cube_cube_0006;test_periodic_gridview_ug_3d_partially_periodic_unit_cube_simplex_0008;test_periodic_gridview_ug_3d_periodic_rectangle_cube_0006;test_periodic_gridview_ug_3d_periodic_rectangle_simplex_0008;test_periodic_gridview_ug_3d_periodic_unit_cube_cube_0006;test_periodic_gridview_ug_3d_periodic_unit_cube_simplex_0008", "test_search_yasp_1d_0000", "test_search_yasp_2d_0001", "test_search_yasp_3d_0002", "test_search_alberta_1d_0003", "test_search_alberta_2d_0004", "test_search_alberta_3d_0005", "test_search_alu_2d_0000_0006", "test_search_alu_2d_0001_0007", "test_search_alu_2d_0002_0008", "test_search_alu_3d_0000_0009", "test_search_alu_3d_0001_0010", "test_search_alu_3d_0002_0011", "test_search_ug_2d_0012", "test_search_ug_3d_0013"], {"test_boundaryinfo_factory_alberta_1d_0003": 0.01879096031188965, "test_boundaryinfo_factory_alberta_2d_0004": 0.017849206924438477, "test_boundaryinfo_factory_alberta_3d_0005": 0.016821622848510742, "test_boundaryinfo_factory_alu_2d_0000_0006": 0.020161151885986328, "test_boundaryinfo_factory_alu_2d_0001_0007": 0.021579265594482422, "test_boundaryinfo_factory_alu_2d_0002_0008": 0.018848896026611328, "test_boundaryinfo_factory_alu_3d_0000_0009": 0.021801233291625977, "test_boundaryinfo_factory_alu_3d_0001_0010": 0.013073921203613281, "test_boundaryinfo_factory_alu_3d_0002_0011": 0.01934957504272461, "test_boundaryinfo_factory_ug_2d_0012": 0.06149005889892578, "test_boundaryinfo_factory_ug_3d_0013": 0.012807607650756836, "test_boundaryinfo_factory_yasp_1d_0000": 0.04857516288757324, "test_boundaryinfo_factory_yasp_2d_0001": 0.02437448501586914, "test_boundaryinfo_factory_yasp_3d_0002": 0.020878076553344727, "test_cube_gridprovider_alberta_1d_0003": 0.016344308853149414, "test_cube_gridprovider_alberta_2d_0004": 0.01675248146057129, "test_cube_gridprovider_alberta_3d_0005": 0.01607537269592285, "test_cube_gridprovider_alu_2d_0000_0006": 0.020139217376708984, "test_cube_gridprovider_alu_2d_0001_0007": 0.022524356842041016, "test_cube_gridprovider_alu_2d_0002_0008": 0.020697832107543945, "test_cube_gridprovider_alu_3d_0000_0009": 0.01953434944152832, "test_cube_gridprovider_alu_3d_0001_0010": 0.020487308502197266, "test_cube_gridprovider_alu_3d_0002_0011": 0.014725923538208008, "test_cube_gridprovider_ug_2d_0012": 0.013370037078857422, "test_cube_gridprovider_ug_3d_0013": 0.013493537902832031, "test_cube_gridprovider_yasp_1d_0000": 0.02048468589782715, "test_cube_gridprovider_yasp_2d_0001": 0.01860785484313965, "test_cube_gridprovider_yasp_3d_0002": 0.01403498649597168, "test_dd_glued_2d": 0.020163774490356445, "test_dd_glued_3d": 0.018154144287109375, "test_dd_subdomains_cube_1d_alberta_1d_0002": 0.015096187591552734, "test_dd_subdomains_cube_1d_oned_1d_0000": 0.01475834846496582, "test_dd_subdomains_cube_1d_yasp_1d_0001": 0.021187305450439453, "test_dd_subdomains_cube_2d_alberta_2d_0001": 0.014922618865966797, "test_dd_subdomains_cube_2d_alu_2d_0000_0002": 0.014841079711914062, "test_dd_subdomains_cube_2d_alu_2d_0001_0003": 0.014711856842041016, "test_dd_subdomains_cube_2d_alu_2d_0002_0004": 0.019779205322265625, "test_dd_subdomains_cube_2d_yasp_2d_0000": 0.015044212341308594, "test_dd_subdomains_cube_3d_alberta_3d_0001": 0.015231132507324219, "test_dd_subdomains_cube_3d_alu_3d_0000_0002": 0.01627326011657715, "test_dd_subdomains_cube_3d_alu_3d_0001_0003": 0.01916646957397461, "test_dd_subdomains_cube_3d_alu_3d_0002_0004": 0.017833232879638672, "test_dd_subdomains_cube_3d_yasp_3d_0000": 0.021175384521484375, "test_dgf_gridprovider_alberta_1d_0003": 0.014127731323242188, "test_dgf_gridprovider_alberta_2d_0004": 0.01454472541809082, "test_dgf_gridprovider_alberta_3d_0005": 0.014353275299072266, "test_dgf_gridprovider_alu_2d_0000_0006": 0.02131032943725586, "test_dgf_gridprovider_alu_2d_0001_0007": 0.02017378807067871, "test_dgf_gridprovider_alu_2d_0002_0008": 0.027289152145385742, "test_dgf_gridprovider_alu_3d_0000_0009": 0.021492481231689453, "test_dgf_gridprovider_alu_3d_0001_0010": 0.018991708755493164, "test_dgf_gridprovider_alu_3d_0002_0011": 0.025875091552734375, "test_dgf_gridprovider_ug_2d_0012": 0.013030052185058594, "test_dgf_gridprovider_ug_3d_0013": 0.013205289840698242, "test_dgf_gridprovider_yasp_1d_0000": 0.018175125122070312, "test_dgf_gridprovider_yasp_2d_0001": 0.017711162567138672, "test_dgf_gridprovider_yasp_3d_0002": 0.01462244987487793, "test_empty": 0.043166160583496094, "test_gmsh_gridprovider_alu_2d_0000_0000": 0.02014899253845215, "test_gmsh_gridprovider_alu_2d_0001_0001": 0.022755861282348633, "test_gmsh_gridprovider_alu_2d_0002_0002": 0.021397113800048828, "test_gmsh_gridprovider_alu_3d_0000_0003": 0.022572994232177734, "test_gmsh_gridprovider_alu_3d_0001_0004": 0.021507740020751953, "test_gmsh_gridprovider_alu_3d_0002_0005": 0.016646385192871094, "test_information_1d_information_1d": 0.015696048736572266, "test_information_2d_information_2d": 0.014620542526245117, "test_information_3d_information_3d": 0.022844552993774414, "test_output_pgf": 0.02042245864868164, "test_periodic_gridview_alberta_1d_nonperiodic_rectangle_simplex_0000;test_periodic_gridview_alberta_1d_nonperiodic_unit_cube_simplex_0000;test_periodic_gridview_alberta_1d_partially_periodic_rectangle_simplex_0000;test_periodic_gridview_alberta_1d_partially_periodic_unit_cube_simplex_0000;test_periodic_gridview_alberta_1d_periodic_rectangle_simplex_0000;test_periodic_gridview_alberta_1d_periodic_unit_cube_simplex_0000": 0.01412653923034668, "test_periodic_gridview_alberta_2d_nonperiodic_rectangle_simplex_0001;test_periodic_gridview_alberta_2d_nonperiodic_unit_cube_simplex_0001;test_periodic_gridview_alberta_2d_partially_periodic_rectangle_simplex_0001;test_periodic_gridview_alberta_2d_partially_periodic_unit_cube_simplex_0001;test_periodic_gridview_alberta_2d_periodic_rectangle_simplex_0001;test_periodic_gridview_alberta_2d_periodic_unit_cube_simplex_0001": 0.014034032821655273, "test_periodic_gridview_alberta_3d_nonperiodic_rectangle_simplex_0002;test_periodic_gridview_alberta_3d_nonperiodic_unit_cube_simplex_0002;test_periodic_gridview_alberta_3d_partially_periodic_rectangle_simplex_0002;test_periodic_gridview_alberta_3d_partially_periodic_unit_cube_simplex_0002;test_periodic_gridview_alberta_3d_periodic_rectangle_simplex_0002;test_periodic_gridview_alberta_3d_periodic_unit_cube_simplex_0002": 0.01592850685119629, "test_periodic_gridview_alu_2d_0000_nonperiodic_rectangle_cube_0003;test_periodic_gridview_alu_2d_0000_nonperiodic_unit_cube_cube_0003;test_periodic_gridview_alu_2d_0000_partially_periodic_rectangle_cube_0003;test_periodic_gridview_alu_2d_0000_partially_periodic_unit_cube_cube_0003;test_periodic_gridview_alu_2d_0000_periodic_rectangle_cube_0003;test_periodic_gridview_alu_2d_0000_periodic_unit_cube_cube_0003": 0.10288047790527344, "test_periodic_gridview_alu_2d_0001_nonperiodic_rectangle_simplex_0003;test_periodic_gridview_alu_2d_0001_nonperiodic_unit_cube_simplex_0003;test_periodic_gridview_alu_2d_0001_partially_periodic_rectangle_simplex_0003;test_periodic_gridview_alu_2d_0001_partially_periodic_unit_cube_simplex_0003;test_periodic_gridview_alu_2d_0001_periodic_rectangle_simplex_0003;test_periodic_gridview_alu_2d_0001_periodic_unit_cube_simplex_0003": 0.10729146003723145, "test_periodic_gridview_alu_2d_0002_nonperiodic_rectangle_simplex_0004;test_periodic_gridview_alu_2d_0002_nonperiodic_unit_cube_simplex_0004;test_periodic_gridview_alu_2d_0002_partially_periodic_rectangle_simplex_0004;test_periodic_gridview_alu_2d_0002_partially_periodic_unit_cube_simplex_0004;test_periodic_gridview_alu_2d_0002_periodic_rectangle_simplex_0004;test_periodic_gridview_alu_2d_0002_periodic_unit_cube_simplex_0004": 0.10921049118041992, "test_periodic_gridview_alu_3d_0000_nonperiodic_rectangle_cube_0004;test_periodic_gridview_alu_3d_0000_nonperiodic_unit_cube_cube_0004;test_periodic_gridview_alu_3d_0000_partially_periodic_rectangle_cube_0004;test_periodic_gridview_alu_3d_0000_partially_periodic_unit_cube_cube_0004;test_periodic_gridview_alu_3d_0000_periodic_rectangle_cube_0004;test_periodic_gridview_alu_3d_0000_periodic_unit_cube_cube_0004": 0.11465072631835938, "test_periodic_gridview_alu_3d_0001_nonperiodic_rectangle_simplex_0005;test_periodic_gridview_alu_3d_0001_nonperiodic_unit_cube_simplex_0005;test_periodic_gridview_alu_3d_0001_partially_periodic_rectangle_simplex_0005;test_periodic_gridview_alu_3d_0001_partially_periodic_unit_cube_simplex_0005;test_periodic_gridview_alu_3d_0001_periodic_rectangle_simplex_0005;test_periodic_gridview_alu_3d_0001_periodic_unit_cube_simplex_0005": 0.11975669860839844, "test_periodic_gridview_alu_3d_0002_nonperiodic_rectangle_simplex_0006;test_periodic_gridview_alu_3d_0002_nonperiodic_unit_cube_simplex_0006;test_periodic_gridview_alu_3d_0002_partially_periodic_rectangle_simplex_0006;test_periodic_gridview_alu_3d_0002_partially_periodic_unit_cube_simplex_0006;test_periodic_gridview_alu_3d_0002_periodic_rectangle_simplex_0006;test_periodic_gridview_alu_3d_0002_periodic_unit_cube_simplex_0006": 0.10587620735168457, "test_periodic_gridview_ug_2d_nonperiodic_rectangle_cube_0005;test_periodic_gridview_ug_2d_nonperiodic_rectangle_simplex_0007;test_periodic_gridview_ug_2d_nonperiodic_unit_cube_cube_0005;test_periodic_gridview_ug_2d_nonperiodic_unit_cube_simplex_0007;test_periodic_gridview_ug_2d_partially_periodic_rectangle_cube_0005;test_periodic_gridview_ug_2d_partially_periodic_rectangle_simplex_0007;test_periodic_gridview_ug_2d_partially_periodic_unit_cube_cube_0005;test_periodic_gridview_ug_2d_partially_periodic_unit_cube_simplex_0007;test_periodic_gridview_ug_2d_periodic_rectangle_cube_0005;test_periodic_gridview_ug_2d_periodic_rectangle_simplex_0007;test_periodic_gridview_ug_2d_periodic_unit_cube_cube_0005;test_periodic_gridview_ug_2d_periodic_unit_cube_simplex_0007": 0.013364315032958984, "test_periodic_gridview_ug_3d_nonperiodic_rectangle_cube_0006;test_periodic_gridview_ug_3d_nonperiodic_rectangle_simplex_0008;test_periodic_gridview_ug_3d_nonperiodic_unit_cube_cube_0006;test_periodic_gridview_ug_3d_nonperiodic_unit_cube_simplex_0008;test_periodic_gridview_ug_3d_partially_periodic_rectangle_cube_0006;test_periodic_gridview_ug_3d_partially_periodic_rectangle_simplex_0008;test_periodic_gridview_ug_3d_partially_periodic_unit_cube_cube_0006;test_periodic_gridview_ug_3d_partially_periodic_unit_cube_simplex_0008;test_periodic_gridview_ug_3d_periodic_rectangle_cube_0006;test_periodic_gridview_ug_3d_periodic_rectangle_simplex_0008;test_periodic_gridview_ug_3d_periodic_unit_cube_cube_0006;test_periodic_gridview_ug_3d_periodic_unit_cube_simplex_0008": 0.013238668441772461, "test_periodic_gridview_yasp_1d_nonperiodic_rectangle_cube_0000;test_periodic_gridview_yasp_1d_nonperiodic_unit_cube_cube_0000;test_periodic_gridview_yasp_1d_partially_periodic_rectangle_cube_0000;test_periodic_gridview_yasp_1d_partially_periodic_unit_cube_cube_0000;test_periodic_gridview_yasp_1d_periodic_rectangle_cube_0000;test_periodic_gridview_yasp_1d_periodic_unit_cube_cube_0000": 0.12091302871704102, "test_periodic_gridview_yasp_2d_nonperiodic_rectangle_cube_0001;test_periodic_gridview_yasp_2d_nonperiodic_unit_cube_cube_0001;test_periodic_gridview_yasp_2d_partially_periodic_rectangle_cube_0001;test_periodic_gridview_yasp_2d_partially_periodic_unit_cube_cube_0001;test_periodic_gridview_yasp_2d_periodic_rectangle_cube_0001;test_periodic_gridview_yasp_2d_periodic_unit_cube_cube_0001": 0.12057709693908691, "test_periodic_gridview_yasp_3d_nonperiodic_rectangle_cube_0002;test_periodic_gridview_yasp_3d_nonperiodic_unit_cube_cube_0002;test_periodic_gridview_yasp_3d_partially_periodic_rectangle_cube_0002;test_periodic_gridview_yasp_3d_partially_periodic_unit_cube_cube_0002;test_periodic_gridview_yasp_3d_periodic_rectangle_cube_0002;test_periodic_gridview_yasp_3d_periodic_unit_cube_cube_0002": 0.12546849250793457, "test_search_alberta_1d_0003": 0.014313936233520508, "test_search_alberta_2d_0004": 0.014206886291503906, "test_search_alberta_3d_0005": 0.014241695404052734, "test_search_alu_2d_0000_0006": 0.015004634857177734, "test_search_alu_2d_0001_0007": 0.02175450325012207, "test_search_alu_2d_0002_0008": 0.019686460494995117, "test_search_alu_3d_0000_0009": 0.018866539001464844, "test_search_alu_3d_0001_0010": 0.021307945251464844, "test_search_alu_3d_0002_0011": 0.018821001052856445, "test_search_ug_2d_0012": 0.013257026672363281, "test_search_ug_3d_0013": 0.01296544075012207, "test_search_yasp_1d_0000": 0.02102828025817871, "test_search_yasp_2d_0001": 0.019915103912353516, "test_search_yasp_3d_0002": 0.019326210021972656}] \ No newline at end of file diff --git a/dune/xt/grid/test/walker.cc b/dune/xt/grid/test/walker.cc index 1c7b7e71756dffc5a0c978bf5826fafd014ddc25..fd3d7fb58b2bba87d99e1fd7894b0e1560d1e1c1 100644 --- a/dune/xt/grid/test/walker.cc +++ b/dune/xt/grid/test/walker.cc @@ -38,7 +38,7 @@ struct GridWalkerTest : public ::testing::Test typedef typename GridType::LeafGridView GridLayerType; using EntityType = extract_entity_t<GridLayerType>; using IntersectionType = extract_intersection_t<GridLayerType>; - const GridProvider<GridType> grid_prv; + const GridProvider<GridType, none_t> grid_prv; GridWalkerTest() : grid_prv(make_cube_grid<GridType>(0.f, 1.f, level)) { diff --git a/dune/xt/grid/type_traits.hh b/dune/xt/grid/type_traits.hh index 552161dc488a71a9b8a755a09af8ccea7e480b2f..27c9c2ea7a70c783a141e85dcd56ece7489ef576 100644 --- a/dune/xt/grid/type_traits.hh +++ b/dune/xt/grid/type_traits.hh @@ -7,7 +7,7 @@ // Authors: // Felix Schindler (2016 - 2017) // Rene Milk (2016 - 2018) -// Tobias Leibner (2016 - 2017) +// Tobias Leibner (2016 - 2018) #ifndef DUNE_XT_GRID_TYPE_TRAITS_HH #define DUNE_XT_GRID_TYPE_TRAITS_HH @@ -18,7 +18,7 @@ #include <dune/grid/common/intersection.hh> #include <dune/grid/common/gridview.hh> - +#include <dune/xt/common/deprecated.hh> #include <dune/xt/common/type_traits.hh> #include <dune/xt/grid/grids.hh> @@ -459,24 +459,14 @@ template <class T, int c = 0, bool view = is_view<T>::value || is_dd_subdomain<T>::value || is_dd_subdomain_boundary<T>::value, bool part = is_part<T>::value> -struct extract_partition_iterator : public AlwaysFalse<T> +struct DXT_DEPRECATED_MSG("Use extract_iterator instead (24.04.2018)!") extract_partition_iterator + : public extract_iterator<T, c, pit, view, part> { }; -template <class T, PartitionIteratorType pit, int c> -struct extract_partition_iterator<T, pit, c, true, false> -{ - typedef typename T::template Codim<c>::template Partition<pit>::Iterator type; -}; - -template <class T, PartitionIteratorType pit, int c> -struct extract_partition_iterator<T, pit, c, false, true> -{ - typedef typename T::template Codim<c>::template Partition<pit>::IteratorType type; -}; - template <class T, PartitionIteratorType pit, int c = 0> -using extract_partition_iterator_t = typename extract_partition_iterator<T, pit, c>::type; +using extract_partition_iterator_t + DXT_DEPRECATED_MSG("Use extract_iterator_t instead (24.04.2018)!") = extract_iterator_t<T, c, pit>; } // namespace Grid diff --git a/dune/xt/grid/view/periodic.hh b/dune/xt/grid/view/periodic.hh index 334cef61a740a83f9db11f9945bb05a4bc548fc7..64d6f8de8575321bdfa4d87bbdcfbd2a7e823b18 100644 --- a/dune/xt/grid/view/periodic.hh +++ b/dune/xt/grid/view/periodic.hh @@ -5,7 +5,7 @@ // or GPL-2.0+ (http://opensource.org/licenses/gpl-license) // with "runtime exception" (http://www.dune-project.org/license.html) // Authors: -// Felix Schindler (2015 - 2017) +// Felix Schindler (2015 - 2018) // Rene Milk (2015 - 2018) // Tobias Leibner (2015 - 2017) @@ -636,10 +636,10 @@ public: /* PeriodicIterator is the same as the Iterator of the RealGridLayerType, except that it visits only one entity of * several periodically equivalent entities */ - class PeriodicIterator : public extract_iterator_t<RealGridLayerType, cd> + template <PartitionIteratorType pit> + class PeriodicIterator : public extract_iterator_t<RealGridLayerType, cd, pit> { - using BaseType = extract_iterator_t<RealGridLayerType, cd>; - typedef PeriodicIterator ThisType; + using BaseType = extract_iterator_t<RealGridLayerType, cd, pit>; using RealIndexSetType = extract_index_set_t<RealGridLayerType>; public: @@ -661,7 +661,7 @@ public: { } - ThisType& operator++() + PeriodicIterator& operator++() { BaseType::operator++(); while (cd > 0 && *this != *real_it_end_ @@ -671,7 +671,7 @@ public: return *this; } - ThisType operator++(int) + PeriodicIterator operator++(int) { return this->operator++(); } @@ -682,60 +682,12 @@ public: std::shared_ptr<const BaseType> real_it_end_; }; - typedef PeriodicIterator Iterator; + using Iterator = PeriodicIterator<All_Partition>; template <PartitionIteratorType pit> struct Partition : public RealGridLayerTraits::template Codim<cd>::template Partition<pit> { - /* PeriodicIterator is the same as the Iterator of the RealGridLayerType, except that it visits only one entity of - * several periodically equivalent entities */ - class PeriodicIterator : public extract_partition_iterator_t<RealGridLayerType, pit, cd> - { - using BaseType = extract_partition_iterator_t<RealGridLayerType, pit, cd>; - typedef PeriodicIterator ThisType; - using RealIndexSetType = extract_index_set_t<RealGridLayerType>; - - public: - typedef typename IndexSet::IndexType IndexType; - typedef std::ptrdiff_t difference_type; - using value_type = const extract_entity_t<RealGridLayerImp>; - typedef value_type* pointer; - typedef value_type& reference; - typedef std::forward_iterator_tag iterator_category; - - PeriodicIterator(BaseType real_iterator, - const std::array<std::unordered_set<IndexType>, num_geometries>* entities_to_skip, - const RealIndexSetType* real_index_set, - const BaseType& real_it_end) - : BaseType(real_iterator) - , entities_to_skip_(entities_to_skip) - , real_index_set_(real_index_set) - , real_it_end_(std::make_shared<const BaseType>(real_it_end)) - { - } - - // methods that differ from BaseType - ThisType& operator++() - { - BaseType::operator++(); - while (cd > 0 && *this != *real_it_end_ - && (*entities_to_skip_)[GlobalGeometryTypeIndex::index(this->type())].count( - real_index_set_->index(this->operator*()))) - BaseType::operator++(); - return *this; - } - - ThisType operator++(int) - { - return this->operator++(); - } - - private: - const std::array<std::unordered_set<IndexType>, num_geometries>* entities_to_skip_; - const RealIndexSetType* real_index_set_; - std::shared_ptr<const BaseType> real_it_end_; - }; - typedef PeriodicIterator Iterator; + using Iterator = PeriodicIterator<pit>; }; // struct Partition }; // ... struct Codim ... @@ -1006,9 +958,6 @@ std::pair<bool, typename PeriodicGridLayerWrapper<RealGridLayerImp, codim_iters_ * In the constructor, PeriodicGridLayerWrapper will build a map mapping intersections on a periodic boundary to the * corresponding outside entity. Further, periodically equivalent entities will be identified and given the same index. * Thus, the construction may take quite some time as several grid walks have to be done. - * By default, new indices will be assigned for all entities. This may take a lot of memory for fine grids. If - * use_less_memory is set to true, as few entities as possible will get new indices, which saves memory but may - * degrade performance. * By default, all coordinate directions will be made periodic. By supplying a std::bitset< dimension > you can decide * for each direction whether it should be periodic (1 means periodic, 0 means 'behave like underlying grid layer in that @@ -1070,12 +1019,12 @@ public: }; // class PeriodicGridView -template <bool use_less_memory, class GL> -PeriodicGridView<GL, use_less_memory> +template <bool codim_iters_provided, class GL> +PeriodicGridView<GL, codim_iters_provided> make_periodic_grid_view(const GL& real_grid_layer, const std::bitset<GL::dimension> periodic_directions = std::bitset<GL::dimension>().set()) { - return PeriodicGridView<GL, use_less_memory>(real_grid_layer, periodic_directions); + return PeriodicGridView<GL, codim_iters_provided>(real_grid_layer, periodic_directions); } template <class GL> @@ -1095,12 +1044,12 @@ make_periodic_grid_view(const GL& real_grid_layer, template <class GL, bool c = false> using PeriodicGridLayer = PeriodicGridView<GL, c>; -template <bool use_less_memory, class GP> -PeriodicGridLayer<GP, use_less_memory> +template <bool codim_iters_provided, class GP> +PeriodicGridLayer<GP, codim_iters_provided> make_periodic_grid_layer(const GP& real_grid_layer, const std::bitset<GP::dimension> periodic_directions = std::bitset<GP::dimension>().set()) { - return PeriodicGridLayer<GP, use_less_memory>(real_grid_layer, periodic_directions); + return PeriodicGridLayer<GP, codim_iters_provided>(real_grid_layer, periodic_directions); } template <class GP> diff --git a/dune/xt/grid/view/subdomain/indexset.hh b/dune/xt/grid/view/subdomain/indexset.hh index 981c267d5f13531815097583d4ddae8163de3dda..7a2e823b7c45c033d8e3792c5e7988028fb89237 100644 --- a/dune/xt/grid/view/subdomain/indexset.hh +++ b/dune/xt/grid/view/subdomain/indexset.hh @@ -167,6 +167,13 @@ public: return geometryTypesByCodim_[codim]; } + //! note here the container is returned by value opposed to a reference in geomTypes ! + const std::vector<GeometryType> types(int codim) const + { + return geomTypes(codim); + } + + IndexType size(GeometryType type) const { assert(sizeByGeometryType_.find(type) != sizeByGeometryType_.end()); diff --git a/dune/xt/grid/view/subdomain/view.hh b/dune/xt/grid/view/subdomain/view.hh index 29f33fe461ba683bc901e656047e330e2853778e..37cd7773cf75f0b2361fd514ea1708b8cdbe957c 100644 --- a/dune/xt/grid/view/subdomain/view.hh +++ b/dune/xt/grid/view/subdomain/view.hh @@ -7,6 +7,7 @@ // Authors: // Felix Schindler (2017) // Rene Milk (2018) +// Tobias Leibner (2018) #ifndef DUNE_XT_GRID_VIEW_SUBDOMAIN_PART_HH #define DUNE_XT_GRID_VIEW_SUBDOMAIN_PART_HH @@ -184,7 +185,7 @@ public: *globalGridView_, indexContainer_, true); } - int boundaryId(const Intersection& intersection) const + int boundaryId(const Intersection& /*intersection*/) const { DUNE_THROW(Dune::NotImplemented, "Call intersection.boundaryId() instead!"); return -1; diff --git a/dune/xt/grid/walker.hh b/dune/xt/grid/walker.hh index a025451be286faff611a4f8fab49aedaceef03ca..99f32b21db7420058960bb76be2598ede218ce6b 100644 --- a/dune/xt/grid/walker.hh +++ b/dune/xt/grid/walker.hh @@ -23,6 +23,7 @@ #include <tbb/tbb_stddef.h> #endif +#include <dune/common/unused.hh> #include <dune/common/version.hh> #include <dune/grid/common/rangegenerators.hh> @@ -412,7 +413,7 @@ public: return; } #else - DUNE_UNUSED const auto no_warning_for_use_tbb = use_tbb; + DUNE_UNUSED_PARAMETER(use_tbb); #endif // prepare functors prepare(); diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index 10bd26942fb62ed9ee878049bd541e56072ee040..e0242d80bf506bba8859c6fb2973d547e6caafcd 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -1,2 +1,11 @@ +# ~~~ +# This file is part of the dune-xt-grid project: +# https://github.com/dune-community/dune-xt-grid +# Copyright 2009-2018 dune-xt-grid developers and contributors. All rights reserved. +# License: Dual licensed as BSD 2-Clause License (http://opensource.org/licenses/BSD-2-Clause) +# Authors: +# Rene Milk (2018) +# ~~~ + add_subdirectory(dune) dxt_add_python_tests() diff --git a/python/dune/CMakeLists.txt b/python/dune/CMakeLists.txt index f44afda583c85ff89232dd0c76f9165a01ffa05e..1415fd9c50efad726bd5dcfc2802261f07a1a9fa 100644 --- a/python/dune/CMakeLists.txt +++ b/python/dune/CMakeLists.txt @@ -1 +1,10 @@ +# ~~~ +# This file is part of the dune-xt-grid project: +# https://github.com/dune-community/dune-xt-grid +# Copyright 2009-2018 dune-xt-grid developers and contributors. All rights reserved. +# License: Dual licensed as BSD 2-Clause License (http://opensource.org/licenses/BSD-2-Clause) +# Authors: +# Rene Milk (2018) +# ~~~ + add_subdirectory(xt) diff --git a/python/dune/__init__.py b/python/dune/__init__.py index cb7ccc730535d1684888ce4b59ad41ed54e29f82..91416c85109f868fd301d66f35c7d012a3a4c77a 100644 --- a/python/dune/__init__.py +++ b/python/dune/__init__.py @@ -1,3 +1,4 @@ +# ~~~ # This file is part of the dune-xt-grid project: # https://github.com/dune-community/dune-xt-grid # Copyright 2009-2018 dune-xt-grid developers and contributors. All rights reserved. @@ -8,5 +9,6 @@ # # or GPL-2.0+ (http://opensource.org/licenses/gpl-license) # with "runtime exception" (http://www.dune-project.org/license.html) +# ~~~ __import__('pkg_resources').declare_namespace(__name__) diff --git a/python/dune/xt/CMakeLists.txt b/python/dune/xt/CMakeLists.txt index 30c01f5dcece3812cd6fdc59380e3194fab2c42c..caa65f18675e0322585c2ef55b13fd4564b0acb6 100644 --- a/python/dune/xt/CMakeLists.txt +++ b/python/dune/xt/CMakeLists.txt @@ -1,3 +1,20 @@ +# ~~~ +# This file is part of the dune-xt-grid project: +# https://github.com/dune-community/dune-xt-grid +# Copyright 2009-2018 dune-xt-grid developers and contributors. All rights reserved. +# License: Dual licensed as BSD 2-Clause License (http://opensource.org/licenses/BSD-2-Clause) +# Authors: +# Rene Milk (2018) +# ~~~ + +dune_pybindxi_add_module(_grid EXCLUDE_FROM_ALL bindings.cc) +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(_provider EXCLUDE_FROM_ALL provider.cc) -dune_pybindxi_add_module(_grid EXCLUDE_FROM_ALL bindings.cc boundaryinfo.bindings.cc) add_dune_alberta_flags(GRIDDIM 2 _grid) +add_dune_alberta_flags(GRIDDIM 2 _boundaryinfo) +add_dune_alberta_flags(GRIDDIM 2 _types) +add_dune_alberta_flags(GRIDDIM 2 _walker) +add_dune_alberta_flags(GRIDDIM 2 _provider) diff --git a/python/dune/xt/__init__.py b/python/dune/xt/__init__.py index cb7ccc730535d1684888ce4b59ad41ed54e29f82..91416c85109f868fd301d66f35c7d012a3a4c77a 100644 --- a/python/dune/xt/__init__.py +++ b/python/dune/xt/__init__.py @@ -1,3 +1,4 @@ +# ~~~ # This file is part of the dune-xt-grid project: # https://github.com/dune-community/dune-xt-grid # Copyright 2009-2018 dune-xt-grid developers and contributors. All rights reserved. @@ -8,5 +9,6 @@ # # or GPL-2.0+ (http://opensource.org/licenses/gpl-license) # with "runtime exception" (http://www.dune-project.org/license.html) +# ~~~ __import__('pkg_resources').declare_namespace(__name__) diff --git a/python/dune/xt/bindings.cc b/python/dune/xt/bindings.cc index 472d0078f77fe92621ae1d64262545a1190e7d1e..e40eefb00f0621d37ca3c02b768c69ca6bae7afc 100644 --- a/python/dune/xt/bindings.cc +++ b/python/dune/xt/bindings.cc @@ -16,82 +16,20 @@ #include <dune/common/parallel/mpihelper.hh> #include <dune/pybindxi/pybind11.h> -#include <dune/pybindxi/stl.h> #include <python/dune/xt/common/exceptions.bindings.hh> -#include <dune/xt/grid/dd/subdomains/grid.hh> -#include <dune/xt/grid/grids.hh> -#include <dune/xt/grid/layers.hh> -#include <dune/xt/grid/intersection.hh> -#include <dune/xt/grid/type_traits.hh> - #include <python/dune/xt/common/bindings.hh> -#include <python/dune/xt/grid/boundaryinfo.bindings.hh> -#include <python/dune/xt/grid/gridprovider.pbh> -#include <python/dune/xt/grid/walker.bindings.hh> -#include <python/dune/xt/grid/walker/apply-on.bindings.hh> - - -template <class G, Dune::XT::Grid::Layers layer, Dune::XT::Grid::Backends backend> -void bind_walker(pybind11::module& m) -{ - try { - Dune::XT::Grid::bindings::Walker<G, layer, backend>::bind(m); - } catch (std::runtime_error&) { - } -} // ... bind_walker(...) - - -template <class G> -void addbind_for_Grid(pybind11::module& m) -{ - using namespace Dune::XT::Grid; - const auto grid_id = Dune::XT::Grid::bindings::grid_name<G>::value(); - typedef typename Layer<G, Layers::dd_subdomain, Backends::view, DD::SubdomainGrid<G>>::type DdSubdomainPart; - bind_GridProvider<G>(m, grid_id); - bind_make_cube_grid<G>(m, grid_id); - - bind_DdSubdomainsGridProvider<G>(m, grid_id); - bind_make_cube_dd_subdomains_grid<G>(m, grid_id); - - bind_walker<G, Layers::dd_subdomain, Backends::view>(m); - bind_walker<G, Layers::dd_subdomain_boundary, Backends::view>(m); - bind_walker<G, Layers::dd_subdomain_coupling, Backends::view>(m); - bind_walker<G, Layers::dd_subdomain_oversampled, Backends::view>(m); - bind_walker<G, Layers::leaf, Backends::view>(m); - bind_walker<G, Layers::level, Backends::view>(m); -} // ... addbind_for_Grid(...) - - -PYBIND11_PLUGIN(_grid) +PYBIND11_MODULE(_grid, m) { namespace py = pybind11; using namespace pybind11::literals; - py::module m("_grid", "dune-xt-grid"); - Dune::XT::Common::bindings::addbind_exceptions(m); py::module::import("dune.xt.common"); - addbind_for_Grid<Dune::YaspGrid<1, Dune::EquidistantOffsetCoordinates<double, 1>>>(m); - addbind_for_Grid<Dune::YaspGrid<2, Dune::EquidistantOffsetCoordinates<double, 2>>>(m); -#if HAVE_DUNE_ALUGRID - addbind_for_Grid<Dune::ALUGrid<2, 2, Dune::simplex, Dune::conforming>>(m); -#endif -#if HAVE_DUNE_UGGRID || HAVE_UG - addbind_for_Grid<Dune::UGGrid<2>>(m); -#endif -#if HAVE_ALBERTA - addbind_for_Grid<Dune::AlbertaGrid<2, 2>>(m); -#endif - - DUNE_XT_GRID_BOUNDARYINFO_BIND(m); - DUNE_XT_GRID_WALKER_APPLYON_BIND(m); Dune::XT::Common::bindings::add_initialization(m, "dune.xt.grid"); - - return m.ptr(); } diff --git a/python/dune/xt/boundaryinfo.cc b/python/dune/xt/boundaryinfo.cc new file mode 100644 index 0000000000000000000000000000000000000000..7ee0c77efe2105d6228ce3d861a1606c90e1b562 --- /dev/null +++ b/python/dune/xt/boundaryinfo.cc @@ -0,0 +1,101 @@ +// This file is part of the dune-xt-grid project: +// https://github.com/dune-community/dune-xt-grid +// Copyright 2009-2018 dune-xt-grid 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) +// Rene Milk (2018) + +#include "config.h" + +#include <string> +#include <vector> +#include <utility> + +#include <dune/common/parallel/mpihelper.hh> + +#include <dune/pybindxi/pybind11.h> +#include <dune/pybindxi/stl.h> +#include <dune/xt/grid/dd/subdomains/grid.hh> +#include <dune/xt/common/tuple.hh> + +#include <python/dune/xt/common/exceptions.bindings.hh> +#include <python/dune/xt/common/bindings.hh> +#include <python/dune/xt/grid/boundaryinfo.bindings.hh> +#include <python/dune/xt/grid/available_types.hh> + + +using namespace Dune::XT::Common; +using namespace Dune::XT::Grid; +using InfoTypes = template_tuple<tplwrap<AllDirichletBoundaryInfo>, + tplwrap<AllNeumannBoundaryInfo>, + tplwrap<BoundarySegmentIndexBasedBoundaryInfo>, + tplwrap<NormalBasedBoundaryInfo>>; +const std::array<std::string, 4> info_names{"all_dirichlet_boundary_info", + "all_neumann_boundary_info", + "boundary_segment_index_based_boundary_info", + "normal_based_boundary_info"}; +constexpr std::array<Layers, 6> layers{Layers::leaf, + Layers::level, + Layers::dd_subdomain, + Layers::dd_subdomain_oversampled, + Layers::dd_subdomain_boundary, + Layers::dd_subdomain_coupling}; + +template <class Grid, Layers layer, class InfoTuple = InfoTypes> +struct bind_grid_layer_info +{ + static void bind(pybind11::module& m, size_t info_name_no = 0) + { + using I = extract_intersection_t< + typename Dune::XT::Grid:: + Layer<Grid, layer, Dune::XT::Grid::Backends::view, Dune::XT::Grid::DD::SubdomainGrid<Grid>>::type>; + using Info = typename InfoTuple::template head_type<I>; + using binder = Dune::XT::Grid::bindings::BoundaryInfo<Info, Grid, layer>; + binder::bind(m, info_names[info_name_no], layer_names[layer]); + + using Tail = typename InfoTuple::template tail_type<I>; + bind_grid_layer_info<Grid, layer, Tail>::bind(m, ++info_name_no); + } +}; + +template <class Grid, Layers l> +struct bind_grid_layer_info<Grid, l, null_template_tuple> +{ + static void bind(pybind11::module&, size_t) + { + } +}; + + +template <class> +void bind_grid_layer(pybind11::module& m, std::integral_constant<size_t, 0>){}; + +template <class Grid, size_t counter> +void bind_grid_layer(pybind11::module& m, std::integral_constant<size_t, counter>) +{ + bind_grid_layer_info<Grid, layers[counter - 1]>::bind(m); + bind_grid_layer<Grid>(m, std::integral_constant<size_t, counter - 1>()); +}; + +template <class GridTuple = Dune::XT::Grid::bindings::AvailableTypes> +void bind_grid(pybind11::module& m) +{ + using Grid = typename GridTuple::head_type; + bind_grid_layer<Grid>(m, std::integral_constant<size_t, layers.size()>()); + bind_grid<typename GridTuple::tail_type>(m); +} + +template <> +void bind_grid<boost::tuples::null_type>(pybind11::module& m) +{ +} + +PYBIND11_MODULE(_boundaryinfo, m) +{ + namespace py = pybind11; + using namespace pybind11::literals; + bind_grid(m); +} diff --git a/python/dune/xt/grid/__init__.py b/python/dune/xt/grid/__init__.py index aba6c9e4336879c687b5f3fc7557bd07af1d207d..a07a91bfe59c1119d1f4d1c04b84a23984072dd9 100644 --- a/python/dune/xt/grid/__init__.py +++ b/python/dune/xt/grid/__init__.py @@ -1,3 +1,4 @@ +# ~~~ # This file is part of the dune-xt-grid project: # https://github.com/dune-community/dune-xt-grid # Copyright 2009-2018 dune-xt-grid developers and contributors. All rights reserved. @@ -8,72 +9,29 @@ # # or GPL-2.0+ (http://opensource.org/licenses/gpl-license) # with "runtime exception" (http://www.dune-project.org/license.html) +# ~~~ + +import dune.xt + +try: + from dune.xt._boundaryinfo import * + from dune.xt._types import * + from dune.xt._walker import * + from dune.xt._provider import * +except ImportError as e: + import os + import logging + if os.environ.get('DXT_PYTHON_DEBUG', False): + raise e + logging.error('dune-xt-grid bindings not available') -from importlib import import_module - -from dune.xt.common import DEBUG # inits MPI via mpi4py - -_init_logger_methods = list() -_test_logger_methods = list() -_init_mpi_methods = list() -_other_modules = ('xt.common', 'xt.la', 'xt.functions', 'gdt') - -from dune.xt._grid import __dict__ as module -to_import = [name for name in module if not name.startswith('_')] -globals().update({name: module[name] for name in to_import}) -_init_logger_methods.append(module['_init_logger']) -_test_logger_methods.append(module['_test_logger']) -_init_mpi_methods.append(module['_init_mpi']) -del to_import -del module - +HAVE_DUNE_ALUGRID = 'GridProvider__2d_simplex_aluconform' in globals() -def init_logger(max_info_level=999, - max_debug_level=999, - enable_warnings=True, - enable_colors=True, - info_color='blue', - debug_color='darkgray', - warning_color='red'): - init_logger_methods = _init_logger_methods.copy() - for module_name in _other_modules: - try: - mm = import_module('dune.{}'.format(module_name)) - for init_logger_method in mm._init_logger_methods: - init_logger_methods.append(init_logger_method) - except ModuleNotFoundError: - pass - for init_logger_method in init_logger_methods: - init_logger_method(max_info_level, max_debug_level, enable_warnings, enable_colors, info_color, debug_color, - warning_color) -def test_logger(info=True, debug=True, warning=True): - test_logger_methods = _test_logger_methods.copy() - for module_name in _other_modules: +def make_walker(gridprovider, level = 0): + for factory in [globals()[s] for s in globals().keys() if s.startswith('make_walker_on_')]: try: - mm = import_module('dune.{}'.format(module_name)) - for test_logger_method in mm._test_logger_methods: - test_logger_methods.append(test_logger_method) - except ModuleNotFoundError: - pass - for test_logger_method in test_logger_methods: - test_logger_method(info, debug, warning) - -def init_mpi(args=list()): - if DEBUG: - init_mpi_methods = [_init_mpi_methods[0],] - else: - init_mpi_methods = _init_mpi_methods.copy() - for module_name in _other_modules: - try: - mm = import_module('dune.{}'.format(module_name)) - for init_mpi_method in mm._init_mpi_methods: - init_mpi_methods.append(init_mpi_method) - except ModuleNotFoundError: - pass - for init_mpi_method in init_mpi_methods: - init_mpi_method(args) - - -HAVE_DUNE_ALUGRID = 'GridProvider__2d_simplex_aluconform' in globals() - + return factory(gridprovider, level) + except: + continue + raise TypeError('no matching walker for gridview {}'.format(gridprovider.__class__)) \ No newline at end of file diff --git a/python/dune/xt/grid/available_types.hh b/python/dune/xt/grid/available_types.hh new file mode 100644 index 0000000000000000000000000000000000000000..a568ddfddc3631a4c26c48a44cb98ebd4fd2f9f1 --- /dev/null +++ b/python/dune/xt/grid/available_types.hh @@ -0,0 +1,33 @@ +#ifndef PYTHON_DUNE_XT_GRID_TYPES_HH +#define PYTHON_DUNE_XT_GRID_TYPES_HH + +#include <dune/xt/grid/grids.hh> + +#include <boost/tuple/tuple.hpp> + +namespace Dune { +namespace XT { +namespace Grid { +namespace bindings { + +using AvailableTypes = boost::tuple<Dune::YaspGrid<1, Dune::EquidistantOffsetCoordinates<double, 1>>, + Dune::YaspGrid<2, Dune::EquidistantOffsetCoordinates<double, 2>> +#if HAVE_DUNE_ALUGRID + , + Dune::ALUGrid<2, 2, Dune::simplex, Dune::conforming> +#endif +#if HAVE_DUNE_UGGRID || HAVE_UG + , + Dune::UGGrid<2> +#endif +#if HAVE_ALBERTA + , + Dune::AlbertaGrid<2, 2> +#endif + >; +} // namespace bindings +} // namespace Grid +} // namespace XT +} // namespace Dune + +#endif // PYTHON_DUNE_XT_GRID_TYPES_HH \ No newline at end of file diff --git a/python/dune/xt/grid/boundaryinfo.bindings.hh b/python/dune/xt/grid/boundaryinfo.bindings.hh index 7bb3196bd01b9e12a0b907bf67e8773953268bc5..dd28eab74dad25d5160f73475d457e09eeb05ae6 100644 --- a/python/dune/xt/grid/boundaryinfo.bindings.hh +++ b/python/dune/xt/grid/boundaryinfo.bindings.hh @@ -22,7 +22,7 @@ #include <dune/xt/grid/type_traits.hh> #include <dune/xt/grid/layers.hh> #include <dune/xt/grid/dd/subdomains/grid.hh> -#include <python/dune/xt/common/configuration.pbh> +#include <python/dune/xt/common/configuration.hh> #include "grids.bindings.hh" #include "layers.bindings.hh" @@ -44,16 +44,16 @@ public: using namespace pybind11::literals; try { // guard since we might not be the first to do so for this grid/intersection - m.def(std::string("available_boundary_infos_on_" + layer_name<layer>::value() + "_layer").c_str(), + m.def(std::string("available_boundary_infos_on_" + layer_names[layer] + "_layer").c_str(), [](const GP& /*grid_provider*/) { return XT::Grid::BoundaryInfoFactory<I>::available(); }, "grid_provider"_a); - m.def(std::string("default_boundary_info_config_on_" + layer_name<layer>::value() + "_layer").c_str(), + m.def(std::string("default_boundary_info_config_on_" + layer_names[layer] + "_layer").c_str(), [](const GP& /*grid_provider*/, const std::string& type) { return XT::Grid::BoundaryInfoFactory<I>::default_config(type); }, "grid_provider"_a, "type"_a); - m.def(std::string("make_boundary_info_on_" + layer_name<layer>::value() + "_layer").c_str(), + m.def(std::string("make_boundary_info_on_" + layer_names[layer] + "_layer").c_str(), [](const GP& /*grid_provider*/, const Common::Configuration& cfg) { return XT::Grid::BoundaryInfoFactory<I>::create(cfg).release(); }, @@ -66,7 +66,7 @@ public: template <class I, class G, bool anything> -class BoundaryInfoFactory<I, GridProvider<G>, Layers::dd_subdomain, anything> +class BoundaryInfoFactory<I, GridProvider<G, Grid::none_t>, Layers::dd_subdomain, anything> { public: static void bind(pybind11::module& /*m*/) @@ -75,7 +75,7 @@ public: }; template <class I, class G, bool anything> -class BoundaryInfoFactory<I, GridProvider<G>, Layers::dd_subdomain_boundary, anything> +class BoundaryInfoFactory<I, GridProvider<G, Grid::none_t>, Layers::dd_subdomain_boundary, anything> { public: static void bind(pybind11::module& /*m*/) @@ -84,7 +84,7 @@ public: }; template <class I, class G, bool anything> -class BoundaryInfoFactory<I, GridProvider<G>, Layers::dd_subdomain_coupling, anything> +class BoundaryInfoFactory<I, GridProvider<G, Grid::none_t>, Layers::dd_subdomain_coupling, anything> { public: static void bind(pybind11::module& /*m*/) @@ -120,7 +120,7 @@ public: } // bind factory - internal::BoundaryInfoFactory<I, GridProvider<G>, layer>::bind(m); + internal::BoundaryInfoFactory<I, GridProvider<G, Grid::none_t>, layer>::bind(m); internal::BoundaryInfoFactory<I, GridProvider<G, DD::SubdomainGrid<G>>, layer>::bind(m); // bind class, guard since we might not be the first to do so for this intersection @@ -140,142 +140,4 @@ public: } // namespace XT } // namespace Dune - -// begin: this is what we need for the lib - -#define _DUNE_XT_GRID_BOUNDARYINFO_BIND_LIB(prefix, _B, _G, _layer, _backend) \ - prefix class Dune::XT::Grid::bindings:: \ - BoundaryInfo<_B<Dune::XT::Grid::extract_intersection_t< \ - typename Dune::XT::Grid::Layer<_G, \ - Dune::XT::Grid::Layers::_layer, \ - Dune::XT::Grid::Backends::_backend, \ - Dune::XT::Grid::DD::SubdomainGrid<_G>>::type>>, \ - _G, \ - Dune::XT::Grid::Layers::_layer> - -#define _DUNE_XT_GRID_BOUNDARYINFO_BIND_LIB_YASP(prefix, _B) \ - _DUNE_XT_GRID_BOUNDARYINFO_BIND_LIB(prefix, _B, YASP_1D_EQUIDISTANT_OFFSET, leaf, view); \ - _DUNE_XT_GRID_BOUNDARYINFO_BIND_LIB(prefix, _B, YASP_2D_EQUIDISTANT_OFFSET, leaf, view); \ - _DUNE_XT_GRID_BOUNDARYINFO_BIND_LIB(prefix, _B, YASP_1D_EQUIDISTANT_OFFSET, dd_subdomain, view); \ - _DUNE_XT_GRID_BOUNDARYINFO_BIND_LIB(prefix, _B, YASP_2D_EQUIDISTANT_OFFSET, dd_subdomain, view) - -#if HAVE_DUNE_ALUGRID - -#define _DUNE_XT_GRID_BOUNDARYINFO_BIND_LIB_ALU(prefix, _B) \ - _DUNE_XT_GRID_BOUNDARYINFO_BIND_LIB(prefix, _B, ALU_2D_SIMPLEX_CONFORMING, leaf, view); \ - _DUNE_XT_GRID_BOUNDARYINFO_BIND_LIB(prefix, _B, ALU_2D_SIMPLEX_CONFORMING, level, view) -// _DUNE_XT_GRID_BOUNDARYINFO_BIND_LIB(prefix, _B, ALU_2D_SIMPLEX_CONFORMING, dd_subdomain, view); \ -// _DUNE_XT_GRID_BOUNDARYINFO_BIND_LIB(prefix, _B, ALU_2D_SIMPLEX_CONFORMING, dd_subdomain_boundary, view) -#else // HAVE_DUNE_ALUGRID -#define _DUNE_XT_GRID_BOUNDARYINFO_BIND_LIB_ALU(prefix, _B) -#endif - -//#if HAVE_DUNE_UGGRID || HAVE_UG -//#define _DUNE_XT_GRID_BOUNDARYINFO_BIND_LIB_UG(prefix, _B) \ -// _DUNE_XT_GRID_BOUNDARYINFO_BIND_LIB(prefix, _B, UG_2D, leaf, view); \ -// _DUNE_XT_GRID_BOUNDARYINFO_BIND_LIB(prefix, _B, UG_2D, level, view); \ -// _DUNE_XT_GRID_BOUNDARYINFO_BIND_LIB(prefix, _B, UG_2D, dd_subdomain, view) -//#else -#define _DUNE_XT_GRID_BOUNDARYINFO_BIND_LIB_UG(prefix, _B) -//#endif - -//#if HAVE_ALBERTA -//#define _DUNE_XT_GRID_BOUNDARYINFO_BIND_LIB_ALBERTA(prefix, _B) \ -// _DUNE_XT_GRID_BOUNDARYINFO_BIND_LIB(prefix, _B, ALBERTA_2D, leaf, view); \ -// _DUNE_XT_GRID_BOUNDARYINFO_BIND_LIB(prefix, _B, ALBERTA_2D, dd_subdomain, view) -//#else -#define _DUNE_XT_GRID_BOUNDARYINFO_BIND_LIB_ALBERTA(prefix, _B) -//#endif - -#define _DUNE_XT_GRID_BOUNDARYINFO_BIND_LIB_ALL(prefix, _B) \ - _DUNE_XT_GRID_BOUNDARYINFO_BIND_LIB_YASP(prefix, _B); \ - _DUNE_XT_GRID_BOUNDARYINFO_BIND_LIB_UG(prefix, _B); \ - _DUNE_XT_GRID_BOUNDARYINFO_BIND_LIB_ALBERTA(prefix, _B); \ - _DUNE_XT_GRID_BOUNDARYINFO_BIND_LIB_ALU(prefix, _B) - -#define DUNE_XT_GRID_BOUNDARYINFO_BIND_LIB(prefix) \ - _DUNE_XT_GRID_BOUNDARYINFO_BIND_LIB_ALL(prefix, Dune::XT::Grid::AllDirichletBoundaryInfo); \ - _DUNE_XT_GRID_BOUNDARYINFO_BIND_LIB_ALL(prefix, Dune::XT::Grid::AllNeumannBoundaryInfo); \ - _DUNE_XT_GRID_BOUNDARYINFO_BIND_LIB_ALL(prefix, Dune::XT::Grid::BoundarySegmentIndexBasedBoundaryInfo); \ - _DUNE_XT_GRID_BOUNDARYINFO_BIND_LIB_ALL(prefix, Dune::XT::Grid::NormalBasedBoundaryInfo) - -DUNE_XT_GRID_BOUNDARYINFO_BIND_LIB(extern template); - -// end: this is what we need for the lib - - -// begin: this is what we need for the .so - -#define _DUNE_XT_GRID_BOUNDARYINFO_BIND(_m, _B, _G, _layer, _backend, _class_name, _layer_name) \ - Dune::XT::Grid::bindings:: \ - BoundaryInfo<_B<Dune::XT::Grid::extract_intersection_t< \ - typename Dune::XT::Grid::Layer<_G, \ - Dune::XT::Grid::Layers::_layer, \ - Dune::XT::Grid::Backends::_backend, \ - Dune::XT::Grid::DD::SubdomainGrid<_G>>::type>>, \ - _G, \ - Dune::XT::Grid::Layers::_layer>::bind(_m, _class_name, _layer_name) - -#define _DUNE_XT_GRID_BOUNDARYINFO_BIND_YASP(_m, _B, _class_name) \ - _DUNE_XT_GRID_BOUNDARYINFO_BIND(_m, _B, YASP_1D_EQUIDISTANT_OFFSET, leaf, view, _class_name, ""); \ - _DUNE_XT_GRID_BOUNDARYINFO_BIND( \ - _m, _B, YASP_1D_EQUIDISTANT_OFFSET, dd_subdomain, view, _class_name, "dd_subdomain"); \ - _DUNE_XT_GRID_BOUNDARYINFO_BIND( \ - _m, _B, YASP_1D_EQUIDISTANT_OFFSET, dd_subdomain_boundary, view, _class_name, "dd_subdomain_boundary"); \ - _DUNE_XT_GRID_BOUNDARYINFO_BIND( \ - _m, _B, YASP_1D_EQUIDISTANT_OFFSET, dd_subdomain_coupling, view, _class_name, "dd_subdomain_coupling"); \ - _DUNE_XT_GRID_BOUNDARYINFO_BIND(_m, _B, YASP_2D_EQUIDISTANT_OFFSET, leaf, view, _class_name, ""); \ - _DUNE_XT_GRID_BOUNDARYINFO_BIND( \ - _m, _B, YASP_2D_EQUIDISTANT_OFFSET, dd_subdomain, view, _class_name, "dd_subdomain"); \ - _DUNE_XT_GRID_BOUNDARYINFO_BIND( \ - _m, _B, YASP_2D_EQUIDISTANT_OFFSET, dd_subdomain_boundary, view, _class_name, "dd_subdomain_boundary"); \ - _DUNE_XT_GRID_BOUNDARYINFO_BIND( \ - _m, _B, YASP_2D_EQUIDISTANT_OFFSET, dd_subdomain_coupling, view, _class_name, "dd_subdomain_coupling") - -#if HAVE_DUNE_ALUGRID -#define _DUNE_XT_GRID_BOUNDARYINFO_BIND_ALU(_m, _B, _class_name) \ - _DUNE_XT_GRID_BOUNDARYINFO_BIND(_m, _B, ALU_2D_SIMPLEX_CONFORMING, leaf, view, _class_name, "leaf"); \ - _DUNE_XT_GRID_BOUNDARYINFO_BIND(_m, _B, ALU_2D_SIMPLEX_CONFORMING, level, view, _class_name, "level"); \ - _DUNE_XT_GRID_BOUNDARYINFO_BIND(_m, _B, ALU_2D_SIMPLEX_CONFORMING, dd_subdomain, view, _class_name, "dd_subdomain"); \ - _DUNE_XT_GRID_BOUNDARYINFO_BIND( \ - _m, _B, ALU_2D_SIMPLEX_CONFORMING, dd_subdomain_boundary, view, _class_name, "dd_subdomain_boundary"); \ - _DUNE_XT_GRID_BOUNDARYINFO_BIND( \ - _m, _B, ALU_2D_SIMPLEX_CONFORMING, dd_subdomain_coupling, view, _class_name, "dd_subdomain_coupling") -#else -#define _DUNE_XT_GRID_BOUNDARYINFO_BIND_ALU(_m, _B, _class_name) -#endif - -//#if HAVE_DUNE_UGGRID -//#define _DUNE_XT_GRID_BOUNDARYINFO_BIND_UG(_m, _B, _class_name) \ -// _DUNE_XT_GRID_BOUNDARYINFO_BIND(_m, _B, UG_2D, leaf, view, _class_name, "leaf"); \ -// _DUNE_XT_GRID_BOUNDARYINFO_BIND(_m, _B, UG_2D, level, view, _class_name, "level"); \ -// _DUNE_XT_GRID_BOUNDARYINFO_BIND(_m, _B, UG_2D, dd_subdomain, view, _class_name, "dd_subdomain") -//#else -#define _DUNE_XT_GRID_BOUNDARYINFO_BIND_UG(_m, _B, _class_name) -//#endif - -//#if HAVE_ALBERTA -//#define _DUNE_XT_GRID_BOUNDARYINFO_BIND_ALBERTA(_m, _B, _class_name) \ -// _DUNE_XT_GRID_BOUNDARYINFO_BIND(_m, _B, ALBERTA_2D, leaf, view, _class_name, ""); \ -// _DUNE_XT_GRID_BOUNDARYINFO_BIND(_m, _B, ALBERTA_2D, dd_subdomain, view, _class_name, "dd_subdomain") -//#else -#define _DUNE_XT_GRID_BOUNDARYINFO_BIND_ALBERTA(_m, _B, _class_name) -//#endif - -#define _DUNE_XT_GRID_BOUNDARYINFO_BIND_ALL(_m, _B, _class_name) \ - _DUNE_XT_GRID_BOUNDARYINFO_BIND_YASP(_m, Dune::XT::Grid::_B, _class_name); \ - _DUNE_XT_GRID_BOUNDARYINFO_BIND_UG(_m, Dune::XT::Grid::_B, _class_name); \ - _DUNE_XT_GRID_BOUNDARYINFO_BIND_ALBERTA(_m, Dune::XT::Grid::_B, _class_name); \ - _DUNE_XT_GRID_BOUNDARYINFO_BIND_ALU(_m, Dune::XT::Grid::_B, _class_name) - -#define DUNE_XT_GRID_BOUNDARYINFO_BIND(_m) \ - _DUNE_XT_GRID_BOUNDARYINFO_BIND_ALL(_m, AllDirichletBoundaryInfo, "all_dirichlet_boundary_info"); \ - _DUNE_XT_GRID_BOUNDARYINFO_BIND_ALL(_m, AllNeumannBoundaryInfo, "all_neumann_boundary_info"); \ - _DUNE_XT_GRID_BOUNDARYINFO_BIND_ALL( \ - _m, BoundarySegmentIndexBasedBoundaryInfo, "boundary_segment_index_based_boundary_info"); \ - _DUNE_XT_GRID_BOUNDARYINFO_BIND_ALL(_m, NormalBasedBoundaryInfo, "normal_based_boundary_info") - -// end: this is what we need for the .so - - #endif // DUNE_XT_GRID_BOUNDARYINFO_BINDINGS_HH diff --git a/python/dune/xt/grid/gridprovider.pbh b/python/dune/xt/grid/gridprovider.hh similarity index 97% rename from python/dune/xt/grid/gridprovider.pbh rename to python/dune/xt/grid/gridprovider.hh index 08c2954432b0c1de44360cf3b59c49930af65694..e8af7e3da5071dd50b0e315b3508dfccd493358e 100644 --- a/python/dune/xt/grid/gridprovider.pbh +++ b/python/dune/xt/grid/gridprovider.hh @@ -16,9 +16,9 @@ #include <dune/pybindxi/pybind11.h> #include <dune/pybindxi/stl.h> -#include <python/dune/xt/common/configuration.pbh> +#include <python/dune/xt/common/configuration.hh> #include <dune/xt/common/exceptions.hh> -#include <python/dune/xt/common/fvector.pbh> +#include <python/dune/xt/common/fvector.hh> #include <dune/xt/common/numeric_cast.hh> #include <dune/xt/grid/dd/subdomains/grid.hh> #include <dune/xt/grid/entity.hh> @@ -31,12 +31,12 @@ namespace Grid { template <class G> -pybind11::class_<GridProvider<G>> bind_GridProvider(pybind11::module& m, const std::string& grid_id) +pybind11::class_<GridProvider<G, Grid::none_t>> bind_GridProvider(pybind11::module& m, const std::string& grid_id) { namespace py = pybind11; using namespace pybind11::literals; - typedef GridProvider<G, int> C; + typedef GridProvider<G, Grid::none_t> C; py::class_<C> c(m, std::string("GridProvider__" + grid_id).c_str(), std::string("GridProvider__" + grid_id).c_str()); diff --git a/python/dune/xt/grid/layers.bindings.hh b/python/dune/xt/grid/layers.bindings.hh index 19a3cf496e21c9f37c112562aafa947ba0b32fa4..2a2a98311498ae0d8853b99c17bf37ae16522fee 100644 --- a/python/dune/xt/grid/layers.bindings.hh +++ b/python/dune/xt/grid/layers.bindings.hh @@ -45,75 +45,9 @@ struct backend_name<Backends::view> template <Layers layer> struct layer_name { - static_assert(AlwaysFalse<typename XT::Grid::internal::layer_dependent_typename<layer>::type>::value, - "Please add a specialization for this layer!"); - - static std::string value() - { - return ""; - } -}; - -template <> -struct layer_name<Layers::adaptive_leaf> -{ - static std::string value() - { - return "adaptive_leaf"; - } -}; - -template <> -struct layer_name<Layers::dd_subdomain> -{ - static std::string value() - { - return "dd_subdomain"; - } -}; - -template <> -struct layer_name<Layers::dd_subdomain_boundary> -{ - static std::string value() - { - return "dd_subdomain_boundary"; - } -}; - -template <> -struct layer_name<Layers::dd_subdomain_coupling> -{ - static std::string value() - { - return "dd_subdomain_coupling"; - } -}; - -template <> -struct layer_name<Layers::dd_subdomain_oversampled> -{ - static std::string value() - { - return "dd_subdomain_oversampled"; - } -}; - -template <> -struct layer_name<Layers::leaf> -{ - static std::string value() - { - return "leaf"; - } -}; - -template <> -struct layer_name<Layers::level> -{ - static std::string value() + DXT_DEPRECATED_MSG("use layer_names[layer] directly. 2018/7/2") static std::string value() { - return "level"; + return layer_names[layer]; } }; diff --git a/python/dune/xt/grid/types.py b/python/dune/xt/grid/types.py new file mode 100644 index 0000000000000000000000000000000000000000..f8449b24aa4b9cd17a705e28de35daa1e56dc823 --- /dev/null +++ b/python/dune/xt/grid/types.py @@ -0,0 +1,35 @@ +from collections import namedtuple + +arguments = {'alu': namedtuple('alu_args', 'dim element_type refinement'), + 'yasp': namedtuple('yasp_args', 'dim'), + 'ug': namedtuple('ug_args', 'dim'), + 'alberta': namedtuple('alberta_args', 'dim')} +templates = { 'alu': 'Dune::ALUGrid<{dim},{dim},Dune::{element_type},Dune::{refinement}>', + 'yasp': 'Dune::YaspGrid<{dim},Dune::EquidistantOffsetCoordinates<double,{dim}>>', + 'ug': 'Dune::UGGrid<{dim}>', + 'alberta': 'Dune::AlbertaGrid<{dim},{dim}>'} +guards = { 'alu': 'dune-alugrid', + 'yasp': 'dune-grid', + 'ug': 'dune-uggrid', + 'alberta': 'ALBERTA_FOUND'} + + +def _is_usable(grid, cache): + return cache[guards[grid]] + + +def all_args(dims): + two_and_three = [f for f in dims if 1 < f < 4] + return {'alu': [arguments['alu'](d, 'simplex', e) for e in ('nonconforming', 'conforming') for d in two_and_three] + + [arguments['alu'](d, 'cube', 'nonconforming') for d in two_and_three], + 'yasp': [arguments['yasp'](d) for d in dims if d > 0], + 'ug': [arguments['ug'](d) for d in two_and_three], + 'alberta': [arguments['alberta'](d) for d in two_and_three]} + + +def all_types(cache, dims, gridnames=None): + gridnames = gridnames or templates.keys() + return [templates[grid].format(**arg._asdict()) \ + for grid in gridnames if _is_usable(grid, cache) \ + for arg in all_args(dims)[grid]] + diff --git a/python/dune/xt/grid/walker.bindings.hh b/python/dune/xt/grid/walker.bindings.hh index 70e574aaa862245c637562ba72890aa10e87f7e5..78db04ba3718f73b76574d3224513fb8fee67fe7 100644 --- a/python/dune/xt/grid/walker.bindings.hh +++ b/python/dune/xt/grid/walker.bindings.hh @@ -26,32 +26,19 @@ namespace Grid { namespace bindings { namespace internal { - -template <class GL> -class Walker +template <class WalkerOrDerivedType, class... Bases> +static void bind_walker_functions(pybind11::class_<WalkerOrDerivedType, Bases...>& c) { - static_assert(is_layer<GL>::value, ""); - -public: - typedef XT::Grid::Walker<GL> type; - typedef pybind11::class_<type> bound_type; - - static bound_type bind(pybind11::module& m, const std::string& grid_and_layer_name) - { - namespace py = pybind11; - using namespace pybind11::literals; - - bound_type c(m, Common::to_camel_case(std::string("walker_") + grid_and_layer_name).c_str()); - c.def("clear", &type::clear); - c.def("append", [](type& self, type& other) { self.append(other); }, "other"_a, py::keep_alive<1, 2>()); - c.def("prepare", &type::prepare); - c.def("finalize", &type::finalize); - c.def("walk", [](type& self, const bool use_tbb) { self.walk(use_tbb); }, "use_tbb"_a = false); - - return c; - } // ... bind(...) -}; // class Walker + namespace py = pybind11; + using namespace pybind11::literals; + using type = WalkerOrDerivedType; + c.def("clear", &type::clear); + c.def("append", [](type& self, type& other) { self.append(other); }, "other"_a, py::keep_alive<1, 2>()); + c.def("prepare", &type::prepare); + c.def("finalize", &type::finalize); + c.def("walk", [](type& self, const bool use_tbb) { self.walk(use_tbb); }, "use_tbb"_a = false); +} // ... bind(...) } // namespace internal @@ -61,11 +48,10 @@ class Walker { static_assert(is_grid<G>::value, ""); typedef typename Layer<G, layer, backend>::type GL; - using binder = internal::Walker<GL>; public: - using type = typename binder::type; - using bound_type = typename binder::bound_type; + using type = XT::Grid::Walker<GL>; + using bound_type = pybind11::class_<type>; private: template <bool is_dd = (layer == Layers::dd_subdomain || layer == Layers::dd_subdomain_boundary @@ -78,7 +64,7 @@ private: { using namespace pybind11::literals; - m.def(std::string("make_walker_on_" + layer_name<layer>::value() + "_" + backend_name<backend>::value()).c_str(), + m.def(std::string("make_walker_on_" + layer_names[layer] + "_" + backend_name<backend>::value()).c_str(), [](GridProvider<G, DD::SubdomainGrid<G>>& grid_provider, const int level_or_subdomain) { return type(grid_provider.template layer<layer, backend>(level_or_subdomain)); }, @@ -94,8 +80,8 @@ private: { using namespace pybind11::literals; - m.def(std::string("make_walker_on_" + layer_name<layer>::value() + "_" + backend_name<backend>::value()).c_str(), - [](GridProvider<G>& grid_provider, const int level) { + m.def(std::string("make_walker_on_" + layer_names[layer] + "_" + backend_name<backend>::value()).c_str(), + [](GridProvider<G, Dune::XT::Grid::none_t>& grid_provider, const int level) { return type(grid_provider.template layer<layer, backend>(level)); }, "grid_provider"_a, @@ -111,8 +97,10 @@ public: // we need to add the factory methods first, since adding the class below might fail (if someone added it before) factory_method<>::addbind(m); - return binder::bind( - m, grid_name<G>::value() + "_" + layer_name<layer>::value() + "_" + backend_name<backend>::value()); + const auto gl_name = grid_name<G>::value() + "_" + layer_names[layer] + "_" + backend_name<backend>::value(); + bound_type c(m, Common::to_camel_case(std::string("walker_") + gl_name).c_str()); + internal::bind_walker_functions(c); + return c; } }; // class Walker diff --git a/python/dune/xt/grid/walker/apply-on.bindings.hh b/python/dune/xt/grid/walker/apply-on.bindings.hh index 6b5868eb12a2f23206543e52c078babe2e2a2b1f..8403b125c1d82ac1c3b28bbf945e2cb09509618f 100644 --- a/python/dune/xt/grid/walker/apply-on.bindings.hh +++ b/python/dune/xt/grid/walker/apply-on.bindings.hh @@ -120,10 +120,10 @@ public: Dune::XT::Grid::bindings::layer_name<Dune::XT::Grid::Layers::_layer>::value() + "_" \ + Dune::XT::Grid::bindings::backend_name<Dune::XT::Grid::Backends::_backend>::value()) -//#if HAVE_ALBERTA -//#define _DUNE_XT_GRID_WALKER_APPLYON_BIND_ALBERTA(_m, _W, _w, _layer, _backend, _class_name) \ -// _DUNE_XT_GRID_WALKER_APPLYON_BIND(_m, _W, _w, ALBERTA_2D, _layer, _backend, _class_name) -//#else +/*#if HAVE_ALBERTA +#define _DUNE_XT_GRID_WALKER_APPLYON_BIND_ALBERTA(_m, _W, _w, _layer, _backend, _class_name) \ + _DUNE_XT_GRID_WALKER_APPLYON_BIND(_m, _W, _w, ALBERTA_2D, _layer, _backend, _class_name) +#else*/ #define _DUNE_XT_GRID_WALKER_APPLYON_BIND_ALBERTA(_m, _W, _w, _layer, _backend, _class_name) //#endif @@ -134,10 +134,10 @@ public: #define _DUNE_XT_GRID_WALKER_APPLYON_BIND_ALU(_m, _W, _w, _layer, _backend, _class_name) #endif -//#if HAVE_DUNE_UGGRID -//#define _DUNE_XT_GRID_WALKER_APPLYON_BIND_UG(_m, _W, _w, _layer, _backend, _class_name) \ -// _DUNE_XT_GRID_WALKER_APPLYON_BIND(_m, _W, _w, UG_2D, _layer, _backend, _class_name) -//#else +/*#if HAVE_DUNE_UGGRID +#define _DUNE_XT_GRID_WALKER_APPLYON_BIND_UG(_m, _W, _w, _layer, _backend, _class_name) \ + _DUNE_XT_GRID_WALKER_APPLYON_BIND(_m, _W, _w, UG_2D, _layer, _backend, _class_name) +#else*/ #define _DUNE_XT_GRID_WALKER_APPLYON_BIND_UG(_m, _W, _w, _layer, _backend, _class_name) //#endif diff --git a/python/dune/xt/provider.cc b/python/dune/xt/provider.cc new file mode 100644 index 0000000000000000000000000000000000000000..d819068e4def418d63b650d2b352f2326001ac07 --- /dev/null +++ b/python/dune/xt/provider.cc @@ -0,0 +1,58 @@ +// This file is part of the dune-xt-grid project: +// https://github.com/dune-community/dune-xt-grid +// Copyright 2009-2018 dune-xt-grid 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 (2016 - 2017) +// Rene Milk (2018) + +#include "config.h" + +#include <string> +#include <vector> + +#include <dune/common/parallel/mpihelper.hh> + +#include <dune/pybindxi/pybind11.h> +#include <dune/pybindxi/stl.h> + +#include <dune/xt/grid/dd/subdomains/grid.hh> +#include <dune/xt/grid/grids.hh> +#include <dune/xt/grid/layers.hh> + +#include <python/dune/xt/common/bindings.hh> +#include <python/dune/xt/grid/grids.bindings.hh> +#include <python/dune/xt/grid/gridprovider.hh> +#include <python/dune/xt/grid/available_types.hh> + +template <class Tuple = Dune::XT::Grid::bindings::AvailableTypes> +void addbind_for_Grid(pybind11::module& m) +{ + using namespace Dune::XT::Grid; + using G = typename Tuple::head_type; + const auto grid_id = Dune::XT::Grid::bindings::grid_name<G>::value(); + typedef typename Layer<G, Layers::dd_subdomain, Backends::view, DD::SubdomainGrid<G>>::type DdSubdomainPart; + + bind_GridProvider<G>(m, grid_id); + bind_make_cube_grid<G>(m, grid_id); + + bind_DdSubdomainsGridProvider<G>(m, grid_id); + bind_make_cube_dd_subdomains_grid<G>(m, grid_id); + + addbind_for_Grid<typename Tuple::tail_type>(m); +} // ... addbind_for_Grid(...) + +template <> +void addbind_for_Grid<boost::tuples::null_type>(pybind11::module& m) +{ +} + +PYBIND11_MODULE(_provider, m) +{ + namespace py = pybind11; + using namespace pybind11::literals; + + addbind_for_Grid(m); +} diff --git a/python/dune/xt/types.cc b/python/dune/xt/types.cc new file mode 100644 index 0000000000000000000000000000000000000000..a1e15b67e33da7c633da1ab7c4377114f54eb3c1 --- /dev/null +++ b/python/dune/xt/types.cc @@ -0,0 +1,49 @@ +// This file is part of the dune-xt-grid project: +// https://github.com/dune-community/dune-xt-grid +// Copyright 2009-2018 dune-xt-grid 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 (2016 - 2017) +// Rene Milk (2018) + +#include "config.h" + +#include <string> +#include <vector> + +#include <boost/tuple/tuple.hpp> + +#include <dune/common/parallel/mpihelper.hh> + +#include <dune/pybindxi/pybind11.h> +#include <dune/pybindxi/stl.h> + +#include <python/dune/xt/grid/available_types.hh> +#include <python/dune/xt/grid/grids.bindings.hh> + +template <class Tuple = Dune::XT::Grid::bindings::AvailableTypes> +void addbind_for_Grid(pybind11::module& m, std::vector<std::string>& available_types) +{ + using G = typename Tuple::head_type; + const auto grid_id = Dune::XT::Grid::bindings::grid_name<G>::value(); + available_types.push_back(grid_id); + addbind_for_Grid<typename Tuple::tail_type>(m, available_types); +} // ... addbind_for_Grid(...) + + +template <> +void addbind_for_Grid<boost::tuples::null_type>(pybind11::module& m, std::vector<std::string>& available_types) +{ +} + +PYBIND11_MODULE(_types, m) +{ + namespace py = pybind11; + + py::module::import("dune.xt.common"); + std::vector<std::string> available_types; + addbind_for_Grid(m, available_types); + m.attr("available_types") = available_types; +} diff --git a/python/dune/xt/walker.cc b/python/dune/xt/walker.cc new file mode 100644 index 0000000000000000000000000000000000000000..bf8a77d79bcc4dd7cc8f858399457a939c627671 --- /dev/null +++ b/python/dune/xt/walker.cc @@ -0,0 +1,72 @@ +// This file is part of the dune-xt-grid project: +// https://github.com/dune-community/dune-xt-grid +// Copyright 2009-2018 dune-xt-grid 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 (2016 - 2017) +// Rene Milk (2018) + +#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/exceptions.bindings.hh> + +#include <dune/xt/grid/dd/subdomains/grid.hh> +#include <dune/xt/grid/grids.hh> +#include <dune/xt/grid/layers.hh> + +#include <python/dune/xt/common/bindings.hh> +#include <python/dune/xt/grid/boundaryinfo.bindings.hh> +#include <python/dune/xt/grid/walker.bindings.hh> +#include <python/dune/xt/grid/walker/apply-on.bindings.hh> + +#include <python/dune/xt/grid/available_types.hh> + +template <class G, Dune::XT::Grid::Layers layer, Dune::XT::Grid::Backends backend> +void bind_walker(pybind11::module& m) +{ + try { + Dune::XT::Grid::bindings::Walker<G, layer, backend>::bind(m); + } catch (std::runtime_error&) { + } +} // ... bind_walker(...) + + +template <class Tuple = Dune::XT::Grid::bindings::AvailableTypes> +void addbind_for_Grid(pybind11::module& m) +{ + using namespace Dune::XT::Grid; + using G = typename Tuple::head_type; + + bind_walker<G, Layers::dd_subdomain, Backends::view>(m); + bind_walker<G, Layers::dd_subdomain_boundary, Backends::view>(m); + bind_walker<G, Layers::dd_subdomain_coupling, Backends::view>(m); + bind_walker<G, Layers::dd_subdomain_oversampled, Backends::view>(m); + bind_walker<G, Layers::leaf, Backends::view>(m); + bind_walker<G, Layers::level, Backends::view>(m); + + addbind_for_Grid<typename Tuple::tail_type>(m); +} // ... addbind_for_Grid(...) + +template <> +void addbind_for_Grid<boost::tuples::null_type>(pybind11::module& m) +{ +} + + +PYBIND11_MODULE(_walker, m) +{ + namespace py = pybind11; + using namespace pybind11::literals; + addbind_for_Grid(m); + DUNE_XT_GRID_WALKER_APPLYON_BIND(m); +} diff --git a/python/setup.cfg b/python/setup.cfg index 0a8a83b61029800f037d23ce5913eac537c9cebb..b104fd8b24537a41032532371f09c2f57f095730 100644 --- a/python/setup.cfg +++ b/python/setup.cfg @@ -1,3 +1,12 @@ +# ~~~ +# This file is part of the dune-xt-grid project: +# https://github.com/dune-community/dune-xt-grid +# Copyright 2009-2018 dune-xt-grid developers and contributors. All rights reserved. +# License: Dual licensed as BSD 2-Clause License (http://opensource.org/licenses/BSD-2-Clause) +# Authors: +# Rene Milk (2018) +# ~~~ + [aliases] test = pytest @@ -25,7 +34,7 @@ python_files = test/*.py python_class = Test pep8maxlinelength = 120 pep8ignore = E221,E226,E241,E242 -addopts= --cov dune/ -p no:warnings +addopts= --cov dune/ -p no:warnings -s [metadata] # this is mandatory to lave license end up in .whl diff --git a/python/setup.py b/python/setup.py index 1a954006fccc66ce671035712c1dabae3fb3ecae..9bfddeef625490b9404248275f78753f004c1098 100644 --- a/python/setup.py +++ b/python/setup.py @@ -1,15 +1,18 @@ #!/usr/bin/env python # -# This file is part of the dune-xt-common project: -# https://github.com/dune-community/dune-xt-common -# Copyright 2009-2018 dune-xt-common developers and contributors. All rights reserved. +# ~~~ +# This file is part of the dune-xt-grid project: +# https://github.com/dune-community/dune-xt-grid +# Copyright 2009-2018 dune-xt-grid developers and contributors. All rights reserved. # License: Dual licensed as BSD 2-Clause License (http://opensource.org/licenses/BSD-2-Clause) # Authors: -# Felix Schindler (2017) -# Rene Milk (2016 - 2018) +# Rene Milk (2018) +# +# This file is part of the dune-xt-common project: # # or GPL-2.0+ (http://opensource.org/licenses/gpl-license) # with "runtime exception" (http://www.dune-project.org/license.html) +# ~~~ import sys from setuptools import setup, find_packages diff --git a/python/test/base.py b/python/test/base.py index d123f9eb9d4e25eb386305bb88fc583be0ed4be2..c1bea381de38611e55e43e358baab428b584676b 100644 --- a/python/test/base.py +++ b/python/test/base.py @@ -1,3 +1,11 @@ +# ~~~ +# This file is part of the dune-xt-grid project: +# https://github.com/dune-community/dune-xt-grid +# Copyright 2009-2018 dune-xt-grid developers and contributors. All rights reserved. +# License: Dual licensed as BSD 2-Clause License (http://opensource.org/licenses/BSD-2-Clause) +# Authors: +# Rene Milk (2018) +# ~~~ import pytest from dune.xt.common.test import load_all_submodule diff --git a/python/test/walker.py b/python/test/walker.py new file mode 100644 index 0000000000000000000000000000000000000000..e2ead162d23cb86e7b5e16fdc19edbc6f17d3d1d --- /dev/null +++ b/python/test/walker.py @@ -0,0 +1,51 @@ +# ~~~ +# This file is part of the dune-xt-grid project: +# https://github.com/dune-community/dune-xt-grid +# Copyright 2009-2018 dune-xt-grid developers and contributors. All rights reserved. +# License: Dual licensed as BSD 2-Clause License (http://opensource.org/licenses/BSD-2-Clause) +# Authors: +# Rene Milk (2018) +# ~~~ + +import pytest +import dune.xt.common as xtc +import dune.xt.grid as xtg + + +@pytest.fixture(params=xtg.available_types) +def grid_provider(request): + fn = 'make_cube_grid__{}'.format(request.param) + maker = getattr(xtg, fn) + return maker() + + +def test_available(): + assert len(xtg.available_types) > 0 + + +def test_grid_provider(grid_provider): + assert grid_provider.max_level() >= 0 + num_el = grid_provider.num_elements + assert num_el > 1 + grid_provider.global_refine(1) + try: + grid_provider.visualize() + except xtc.DuneError as e: + if 'NotImplemented' not in str(e): + raise e + assert grid_provider.num_elements > num_el + assert grid_provider.num_subdomains == 1 + assert grid_provider.max_entity_diameter() > 0 + assert grid_provider.dim > 0 + + +def test_walker(grid_provider): + walker = xtg.make_walker(grid_provider) + walker.walk() + walker.clear() + + + +def test_count(): + pass + diff --git a/stamp-vc b/stamp-vc index 4819f96ae0883ae60ccffc5b8d5956d627a64d0e..698b40b3575c25964bfb0f42b39c9ef899ec0819 100644 --- a/stamp-vc +++ b/stamp-vc @@ -1,3 +1,4 @@ +# ~~~ # This file is part of the dune-xt-grid project: # https://github.com/dune-community/dune-xt-grid # Copyright 2009-2018 dune-xt-grid developers and contributors. All rights reserved. @@ -8,5 +9,6 @@ # # or GPL-2.0+ (http://opensource.org/licenses/gpl-license) # with "runtime exception" (http://www.dune-project.org/license.html) +# ~~~ A stamp file to signify that this directory comes from a version control system, not an unpacked tarball