From c9a968bea468834fdb8b1120b6882a3e36ae4210 Mon Sep 17 00:00:00 2001 From: sbstndb/sbstndbs Date: Tue, 15 Apr 2025 14:26:40 +0200 Subject: [PATCH 01/36] feat: support xtensor@0.26 headers - The Xtensor@0.26 moves the headers to folders. --- include/samurai/algorithm.hpp | 6 ++++-- include/samurai/algorithm/graduation.hpp | 6 ++++-- include/samurai/algorithm/update.hpp | 6 ++++-- include/samurai/box.hpp | 6 ++++-- include/samurai/cell.hpp | 9 ++++++--- include/samurai/field.hpp | 6 ++++-- include/samurai/field_expression.hpp | 6 ++++-- include/samurai/io/hdf5.hpp | 10 +++++++--- include/samurai/level_cell_list.hpp | 6 ++++-- include/samurai/mesh_interval.hpp | 6 ++++-- include/samurai/mr/operators.hpp | 9 ++++++--- include/samurai/petsc/utils.hpp | 3 ++- include/samurai/schemes/fv/cell_based/local_field.hpp | 3 ++- include/samurai/static_algorithm.hpp | 3 ++- include/samurai/stencil_field.hpp | 9 ++++++--- include/samurai/storage/containers_config.hpp | 3 ++- include/samurai/storage/xtensor/xtensor.hpp | 10 +++++++--- include/samurai/storage/xtensor/xtensor_static.hpp | 3 ++- include/samurai/subset/node.hpp | 3 ++- 19 files changed, 76 insertions(+), 37 deletions(-) diff --git a/include/samurai/algorithm.hpp b/include/samurai/algorithm.hpp index d07483d53..8e746be1c 100644 --- a/include/samurai/algorithm.hpp +++ b/include/samurai/algorithm.hpp @@ -8,8 +8,10 @@ #endif #include -#include -#include +// #include +// #include +#include +#include #include "cell.hpp" #include "mesh_holder.hpp" diff --git a/include/samurai/algorithm/graduation.hpp b/include/samurai/algorithm/graduation.hpp index d749f3201..485a3daad 100644 --- a/include/samurai/algorithm/graduation.hpp +++ b/include/samurai/algorithm/graduation.hpp @@ -3,8 +3,10 @@ #pragma once -#include -#include +// #include +// #include +#include +#include #include "../array_of_interval_and_point.hpp" #include "../cell_flag.hpp" diff --git a/include/samurai/algorithm/update.hpp b/include/samurai/algorithm/update.hpp index d6c6436ed..7333c1176 100644 --- a/include/samurai/algorithm/update.hpp +++ b/include/samurai/algorithm/update.hpp @@ -5,7 +5,8 @@ #include -#include +// #include +#include #include "../algorithm.hpp" #include "../bc.hpp" @@ -21,7 +22,8 @@ using namespace xt::placeholders; #ifdef SAMURAI_WITH_MPI #include -#include +// #include +#include namespace mpi = boost::mpi; #endif diff --git a/include/samurai/box.hpp b/include/samurai/box.hpp index ff55b83b8..11807a7cc 100644 --- a/include/samurai/box.hpp +++ b/include/samurai/box.hpp @@ -3,8 +3,10 @@ #pragma once -#include -#include +// #include +// #include +#include +#include namespace samurai { diff --git a/include/samurai/cell.hpp b/include/samurai/cell.hpp index 901e7fb77..fa3fd7ca8 100644 --- a/include/samurai/cell.hpp +++ b/include/samurai/cell.hpp @@ -5,9 +5,12 @@ #include -#include -#include -#include +// #include +// #include +// #include +#include +#include +#include namespace samurai { diff --git a/include/samurai/field.hpp b/include/samurai/field.hpp index be02e9162..a5f7efc5d 100644 --- a/include/samurai/field.hpp +++ b/include/samurai/field.hpp @@ -14,8 +14,10 @@ namespace fs = std::filesystem; #include -#include -#include +// include +// #include +#include +#include #include "algorithm.hpp" #include "bc.hpp" diff --git a/include/samurai/field_expression.hpp b/include/samurai/field_expression.hpp index 7a459f55a..04779bb9d 100644 --- a/include/samurai/field_expression.hpp +++ b/include/samurai/field_expression.hpp @@ -5,8 +5,10 @@ #include -#include -#include +// #include +// #include +#include +#include #include "cell.hpp" #include "interval.hpp" diff --git a/include/samurai/io/hdf5.hpp b/include/samurai/io/hdf5.hpp index cf368878e..863907753 100644 --- a/include/samurai/io/hdf5.hpp +++ b/include/samurai/io/hdf5.hpp @@ -22,9 +22,13 @@ namespace fs = std::filesystem; #include #include #include -#include -#include -#include + +// #include +// #include +// #include +#include +#include +#include #include diff --git a/include/samurai/level_cell_list.hpp b/include/samurai/level_cell_list.hpp index 8033f4fce..ab99f9bb1 100644 --- a/include/samurai/level_cell_list.hpp +++ b/include/samurai/level_cell_list.hpp @@ -7,8 +7,10 @@ #include #include -#include -#include +// #include +// #include +#include +#include #include "cell.hpp" #include "list_of_intervals.hpp" diff --git a/include/samurai/mesh_interval.hpp b/include/samurai/mesh_interval.hpp index 6c58211e4..c46a5cd16 100644 --- a/include/samurai/mesh_interval.hpp +++ b/include/samurai/mesh_interval.hpp @@ -1,6 +1,8 @@ #pragma once -#include -#include +// #include +// #include +#include +#include using namespace xt::placeholders; diff --git a/include/samurai/mr/operators.hpp b/include/samurai/mr/operators.hpp index 549798179..4e9513190 100644 --- a/include/samurai/mr/operators.hpp +++ b/include/samurai/mr/operators.hpp @@ -3,9 +3,12 @@ #pragma once -#include -#include -#include +// #include +// #include +// #include +#include +#include +#include #include "../cell_flag.hpp" #include "../field.hpp" diff --git a/include/samurai/petsc/utils.hpp b/include/samurai/petsc/utils.hpp index 29816ef62..6d7cc60eb 100644 --- a/include/samurai/petsc/utils.hpp +++ b/include/samurai/petsc/utils.hpp @@ -1,6 +1,7 @@ #pragma once #include -#include +// #include +#include namespace samurai { diff --git a/include/samurai/schemes/fv/cell_based/local_field.hpp b/include/samurai/schemes/fv/cell_based/local_field.hpp index 1cb35c065..17527a935 100644 --- a/include/samurai/schemes/fv/cell_based/local_field.hpp +++ b/include/samurai/schemes/fv/cell_based/local_field.hpp @@ -1,5 +1,6 @@ #pragma once -#include +// #include +#include namespace samurai { diff --git a/include/samurai/static_algorithm.hpp b/include/samurai/static_algorithm.hpp index 048b15623..e617bd972 100644 --- a/include/samurai/static_algorithm.hpp +++ b/include/samurai/static_algorithm.hpp @@ -5,7 +5,8 @@ #include -#include +// #include +#include namespace samurai { diff --git a/include/samurai/stencil_field.hpp b/include/samurai/stencil_field.hpp index 95a23b75d..0c35587c7 100644 --- a/include/samurai/stencil_field.hpp +++ b/include/samurai/stencil_field.hpp @@ -3,9 +3,12 @@ #pragma once -#include -#include -#include +// #include +// #include +// #include +#include +#include +#include #include "cell.hpp" #include "field_expression.hpp" diff --git a/include/samurai/storage/containers_config.hpp b/include/samurai/storage/containers_config.hpp index a70d4261c..085619605 100644 --- a/include/samurai/storage/containers_config.hpp +++ b/include/samurai/storage/containers_config.hpp @@ -14,7 +14,8 @@ // #define EIGEN_DEFAULT_DENSE_INDEX_TYPE int64_t #include "eigen/eigen.hpp" #else - #include "xtensor/xtensor.hpp" +// #include "xtensor/xtensor.hpp" + #include "xtensor/containers/xtensor.hpp" #endif #include "xtensor/xtensor_static.hpp" diff --git a/include/samurai/storage/xtensor/xtensor.hpp b/include/samurai/storage/xtensor/xtensor.hpp index b415d6a72..3643bc256 100644 --- a/include/samurai/storage/xtensor/xtensor.hpp +++ b/include/samurai/storage/xtensor/xtensor.hpp @@ -4,9 +4,13 @@ #pragma once // #include -#include -#include -#include + +// #include +// #include +// #include +#include +#include +#include #include "../utils.hpp" diff --git a/include/samurai/storage/xtensor/xtensor_static.hpp b/include/samurai/storage/xtensor/xtensor_static.hpp index 463e422c2..6a0f76ca1 100644 --- a/include/samurai/storage/xtensor/xtensor_static.hpp +++ b/include/samurai/storage/xtensor/xtensor_static.hpp @@ -4,7 +4,8 @@ #pragma once #include "../collapsable.hpp" -#include +// #include +#include namespace samurai { diff --git a/include/samurai/subset/node.hpp b/include/samurai/subset/node.hpp index c12ea1a5f..865aa8e46 100644 --- a/include/samurai/subset/node.hpp +++ b/include/samurai/subset/node.hpp @@ -10,7 +10,8 @@ #include #include -#include +// #include +#include #include "../algorithm.hpp" #include "apply.hpp" From f9e75ee22ac7354d27d03230fb8c83da11d7236f Mon Sep 17 00:00:00 2001 From: sbstndb/sbstndbs Date: Tue, 15 Apr 2025 14:30:58 +0200 Subject: [PATCH 02/36] feat: adapt to xtensor026 folders --- include/samurai/mr/mesh.hpp | 6 ++++-- include/samurai/mr/mesh_with_overleaves.hpp | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/include/samurai/mr/mesh.hpp b/include/samurai/mr/mesh.hpp index b847cad98..d75534752 100644 --- a/include/samurai/mr/mesh.hpp +++ b/include/samurai/mr/mesh.hpp @@ -5,8 +5,10 @@ #include -#include -#include +// #include +// #include +#include +#include #include "../box.hpp" #include "../mesh.hpp" diff --git a/include/samurai/mr/mesh_with_overleaves.hpp b/include/samurai/mr/mesh_with_overleaves.hpp index 5bd2d0d41..d2871a6fa 100644 --- a/include/samurai/mr/mesh_with_overleaves.hpp +++ b/include/samurai/mr/mesh_with_overleaves.hpp @@ -5,7 +5,8 @@ #include -#include +// #include +#include #include "../box.hpp" #include "../mesh.hpp" From f4f6b281f757dfa818f62c733aeb8a1fb617f94d Mon Sep 17 00:00:00 2001 From: sbstndb/sbstndbs Date: Tue, 15 Apr 2025 14:38:16 +0200 Subject: [PATCH 03/36] fix: macro for backward compatibility --- include/samurai/storage/containers_config.hpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/include/samurai/storage/containers_config.hpp b/include/samurai/storage/containers_config.hpp index 085619605..799eae767 100644 --- a/include/samurai/storage/containers_config.hpp +++ b/include/samurai/storage/containers_config.hpp @@ -14,8 +14,11 @@ // #define EIGEN_DEFAULT_DENSE_INDEX_TYPE int64_t #include "eigen/eigen.hpp" #else -// #include "xtensor/xtensor.hpp" - #include "xtensor/containers/xtensor.hpp" + #if XTENSOR_VERSION_MINOR < 26 + #include "xtensor/xtensor.hpp" + #else + #include "xtensor/containers/xtensor.hpp" + #endif #endif #include "xtensor/xtensor_static.hpp" From be3a79a4aae5322cddc365981d007c95ff30b066 Mon Sep 17 00:00:00 2001 From: sbstndb/sbstndbs Date: Tue, 15 Apr 2025 14:45:01 +0200 Subject: [PATCH 04/36] fix: adapt to new xtensor folders --- demos/FiniteVolume/advection_1d.cpp | 3 ++- demos/FiniteVolume/advection_2d.cpp | 3 ++- demos/FiniteVolume/advection_2d_user_bc.cpp | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/demos/FiniteVolume/advection_1d.cpp b/demos/FiniteVolume/advection_1d.cpp index 5f8f409b6..6a57fdd57 100644 --- a/demos/FiniteVolume/advection_1d.cpp +++ b/demos/FiniteVolume/advection_1d.cpp @@ -1,6 +1,7 @@ // Copyright 2018-2025 the samurai's authors // SPDX-License-Identifier: BSD-3-Clause -#include +// #include +#include #include #include diff --git a/demos/FiniteVolume/advection_2d.cpp b/demos/FiniteVolume/advection_2d.cpp index c07d2296b..13f3fd4f1 100644 --- a/demos/FiniteVolume/advection_2d.cpp +++ b/demos/FiniteVolume/advection_2d.cpp @@ -3,7 +3,8 @@ #include -#include +// #include +#include #include #include diff --git a/demos/FiniteVolume/advection_2d_user_bc.cpp b/demos/FiniteVolume/advection_2d_user_bc.cpp index 017b55a41..e58b4d2df 100644 --- a/demos/FiniteVolume/advection_2d_user_bc.cpp +++ b/demos/FiniteVolume/advection_2d_user_bc.cpp @@ -2,7 +2,8 @@ // SPDX-License-Identifier: BSD-3-Clause #include -#include +// #include +#include // ----------------------------- From ea77a7b5e4093c503c0e8691b4ccf26662750fd8 Mon Sep 17 00:00:00 2001 From: sbstndb/sbstndbs Date: Tue, 15 Apr 2025 14:49:12 +0200 Subject: [PATCH 05/36] fix: adapt to new xtensor folders --- tests/test_bc.cpp | 3 ++- tests/test_box.cpp | 3 ++- tests/test_cell.cpp | 6 ++++-- tests/test_common.hpp | 3 ++- tests/test_level_cell_list.cpp | 3 ++- tests/test_list_of_intervals.cpp | 6 ++++-- tests/test_periodic.cpp | 3 ++- tests/test_subset.cpp | 3 ++- 8 files changed, 20 insertions(+), 10 deletions(-) diff --git a/tests/test_bc.cpp b/tests/test_bc.cpp index 085fa2f1a..ac6a2e395 100644 --- a/tests/test_bc.cpp +++ b/tests/test_bc.cpp @@ -4,7 +4,8 @@ #include #include -#include +// #include +#include namespace samurai { diff --git a/tests/test_box.cpp b/tests/test_box.cpp index fa11baa65..0db33fa31 100644 --- a/tests/test_box.cpp +++ b/tests/test_box.cpp @@ -3,7 +3,8 @@ #include // #include -#include +// #include +#include #include diff --git a/tests/test_cell.cpp b/tests/test_cell.cpp index 9893d47dd..c7232dd3a 100644 --- a/tests/test_cell.cpp +++ b/tests/test_cell.cpp @@ -1,6 +1,8 @@ #include -#include -#include +// #include +// #include +#include +#include #include #include diff --git a/tests/test_common.hpp b/tests/test_common.hpp index c1d8bbe8d..3199009ad 100644 --- a/tests/test_common.hpp +++ b/tests/test_common.hpp @@ -1,6 +1,7 @@ #pragma once -#include +// #include +#include #include #include diff --git a/tests/test_level_cell_list.cpp b/tests/test_level_cell_list.cpp index e46b722e3..f68546587 100644 --- a/tests/test_level_cell_list.cpp +++ b/tests/test_level_cell_list.cpp @@ -1,5 +1,6 @@ #include -#include +// #include +#include #include diff --git a/tests/test_list_of_intervals.cpp b/tests/test_list_of_intervals.cpp index 48e6ded6a..73dcebad7 100644 --- a/tests/test_list_of_intervals.cpp +++ b/tests/test_list_of_intervals.cpp @@ -1,6 +1,8 @@ #include -#include -#include +// #include +// #include +#include +#include #include #include diff --git a/tests/test_periodic.cpp b/tests/test_periodic.cpp index 0b8695e2a..aac1d0800 100644 --- a/tests/test_periodic.cpp +++ b/tests/test_periodic.cpp @@ -1,6 +1,7 @@ #include -#include +// #include +#include #include #include diff --git a/tests/test_subset.cpp b/tests/test_subset.cpp index 04da53e45..15cb0d0cd 100644 --- a/tests/test_subset.cpp +++ b/tests/test_subset.cpp @@ -2,7 +2,8 @@ #include #include #include -#include +// #include +#include #include From 923a2120bdcdee232775271a5f371de9958947c5 Mon Sep 17 00:00:00 2001 From: sbstndb/sbstndbs Date: Tue, 15 Apr 2025 14:50:10 +0200 Subject: [PATCH 06/36] fix: adapt to new xtensor folders --- tests/test_interval.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/test_interval.cpp b/tests/test_interval.cpp index 90b2a9966..6c433a16b 100644 --- a/tests/test_interval.cpp +++ b/tests/test_interval.cpp @@ -2,7 +2,8 @@ #include -#include +// #include +#include #include From 8b94ce49434b1fb006a51637f1b19cbfaf24a527 Mon Sep 17 00:00:00 2001 From: sbstndb/sbstndbs Date: Tue, 15 Apr 2025 14:51:41 +0200 Subject: [PATCH 07/36] fix: adapt to new xtensor folders --- benchmark/benchmark_search.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/benchmark/benchmark_search.cpp b/benchmark/benchmark_search.cpp index 9bb3cbf67..ef3b59331 100644 --- a/benchmark/benchmark_search.cpp +++ b/benchmark/benchmark_search.cpp @@ -2,8 +2,10 @@ #include #include -#include -#include +// #include +// #include +#include +#include #include #include From abf859ea000c70d8bb7897acfdf13befd6be8f29 Mon Sep 17 00:00:00 2001 From: sbstndb/sbstndbs Date: Tue, 15 Apr 2025 14:54:47 +0200 Subject: [PATCH 08/36] fix: adapt to new xtensor folders --- .../AMR_1D_Burgers/step_5/make_graduation.hpp | 3 ++- demos/tutorial/graduation_case_1.cpp | 12 ++++++++---- demos/tutorial/graduation_case_2.cpp | 12 ++++++++---- demos/tutorial/graduation_case_3.cpp | 3 ++- 4 files changed, 20 insertions(+), 10 deletions(-) diff --git a/demos/tutorial/AMR_1D_Burgers/step_5/make_graduation.hpp b/demos/tutorial/AMR_1D_Burgers/step_5/make_graduation.hpp index d4a8f7afd..3546fe56c 100644 --- a/demos/tutorial/AMR_1D_Burgers/step_5/make_graduation.hpp +++ b/demos/tutorial/AMR_1D_Burgers/step_5/make_graduation.hpp @@ -5,7 +5,8 @@ #include -#include +// #include +#include #include #include diff --git a/demos/tutorial/graduation_case_1.cpp b/demos/tutorial/graduation_case_1.cpp index 7de51c534..225258aac 100644 --- a/demos/tutorial/graduation_case_1.cpp +++ b/demos/tutorial/graduation_case_1.cpp @@ -3,10 +3,14 @@ #include -#include -#include -#include -#include +// #include +// #include +// #include +// #include +#include +#include +#include +#include #include #include diff --git a/demos/tutorial/graduation_case_2.cpp b/demos/tutorial/graduation_case_2.cpp index 8f6821325..19697c046 100644 --- a/demos/tutorial/graduation_case_2.cpp +++ b/demos/tutorial/graduation_case_2.cpp @@ -3,10 +3,14 @@ #include -#include -#include -#include -#include +// #include +// #include +// #include +// #include +#include +#include +#include +#include #include #include diff --git a/demos/tutorial/graduation_case_3.cpp b/demos/tutorial/graduation_case_3.cpp index 73dcd2904..63f223ea2 100644 --- a/demos/tutorial/graduation_case_3.cpp +++ b/demos/tutorial/graduation_case_3.cpp @@ -5,7 +5,8 @@ #include -#include +// #include +#include #include #include From 72a564d882834d3e0a021e78120579aceb12284f Mon Sep 17 00:00:00 2001 From: sbstndb/sbstndbs Date: Tue, 15 Apr 2025 15:09:18 +0200 Subject: [PATCH 09/36] fix: disable xtensor for highfive --- CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index b350620b8..7db5ae8df 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -111,6 +111,8 @@ endif() # Force HIGHFIVE_USE_INSTALL_DEPS option to be true option(HIGHFIVE_USE_INSTALL_DEPS "End applications by default use detected dependencies here" OFF) +option(HIGHFIVE_USE_XTENSOR OFF) + foreach(DEPENDENCY ${DEPENDENCIES_CONFIGURED}) find_package(${DEPENDENCY} CONFIG REQUIRED) From 1fdef762d18a340b07530f9192155ecd64c4fc05 Mon Sep 17 00:00:00 2001 From: sbstndb/sbstndbs Date: Tue, 15 Apr 2025 15:14:23 +0200 Subject: [PATCH 10/36] fix: add xtensor namespace --- include/samurai/storage/containers_config.hpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/samurai/storage/containers_config.hpp b/include/samurai/storage/containers_config.hpp index 799eae767..0b8f8fc62 100644 --- a/include/samurai/storage/containers_config.hpp +++ b/include/samurai/storage/containers_config.hpp @@ -28,6 +28,8 @@ // clang-format on +using namespace xt; + namespace samurai { //-----------------// From 7a95a0db91d897ec63fcf26b1415cf470c33852e Mon Sep 17 00:00:00 2001 From: sbstndb/sbstndbs Date: Tue, 15 Apr 2025 15:21:59 +0200 Subject: [PATCH 11/36] fix: modification for xtl@0.8.0 --- include/samurai/field_expression.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/samurai/field_expression.hpp b/include/samurai/field_expression.hpp index 04779bb9d..0fe0934aa 100644 --- a/include/samurai/field_expression.hpp +++ b/include/samurai/field_expression.hpp @@ -28,7 +28,7 @@ namespace samurai }; template - struct field_comparable : xtl::conjunction...> + struct field_comparable : std::conjunction...> { }; From d0ed4e2dd76b0ece5d3b39af9d1fdf7f53368454 Mon Sep 17 00:00:00 2001 From: sbstndb/sbstndbs Date: Tue, 15 Apr 2025 15:35:02 +0200 Subject: [PATCH 12/36] fix: use macro to ensure backward xtensor compat --- include/samurai/algorithm.hpp | 9 +++++---- include/samurai/box.hpp | 7 +++++-- include/samurai/cell.hpp | 10 ++++++---- include/samurai/field.hpp | 7 +++++-- include/samurai/field_expression.hpp | 7 +++++-- include/samurai/level_cell_list.hpp | 7 +++++-- include/samurai/mesh_interval.hpp | 8 ++++++-- include/samurai/static_algorithm.hpp | 5 ++++- include/samurai/stencil_field.hpp | 9 ++++++--- 9 files changed, 47 insertions(+), 22 deletions(-) diff --git a/include/samurai/algorithm.hpp b/include/samurai/algorithm.hpp index 8e746be1c..3cc2f4413 100644 --- a/include/samurai/algorithm.hpp +++ b/include/samurai/algorithm.hpp @@ -7,12 +7,13 @@ #include #endif #include - -// #include -// #include +#if XTENSOR_VERSION_MINOR < 26 +#include +#include +#else #include #include - +#endif #include "cell.hpp" #include "mesh_holder.hpp" diff --git a/include/samurai/box.hpp b/include/samurai/box.hpp index 11807a7cc..e166f42da 100644 --- a/include/samurai/box.hpp +++ b/include/samurai/box.hpp @@ -3,10 +3,13 @@ #pragma once -// #include -// #include +#if XTENSOR_VERSION_MINOR < 26 +#include +#include +#else #include #include +#endif namespace samurai { diff --git a/include/samurai/cell.hpp b/include/samurai/cell.hpp index fa3fd7ca8..dbb12d402 100644 --- a/include/samurai/cell.hpp +++ b/include/samurai/cell.hpp @@ -5,13 +5,15 @@ #include -// #include -// #include -// #include +#if XTENSOR_VERSION_MINOR < 26 +#include +#include +#include +#else #include #include #include - +#endif namespace samurai { template ::value, bool> = true> diff --git a/include/samurai/field.hpp b/include/samurai/field.hpp index a5f7efc5d..23e73d751 100644 --- a/include/samurai/field.hpp +++ b/include/samurai/field.hpp @@ -14,10 +14,13 @@ namespace fs = std::filesystem; #include -// include -// #include +#if XTENSOR_VERSION_MINOR < 26 +#include +#include +#else #include #include +#endif #include "algorithm.hpp" #include "bc.hpp" diff --git a/include/samurai/field_expression.hpp b/include/samurai/field_expression.hpp index 0fe0934aa..0b0d15b96 100644 --- a/include/samurai/field_expression.hpp +++ b/include/samurai/field_expression.hpp @@ -5,10 +5,13 @@ #include -// #include -// #include +#if XTENSOR_VERSION_MINOR < 26 +#include +#include +#else #include #include +#endif #include "cell.hpp" #include "interval.hpp" diff --git a/include/samurai/level_cell_list.hpp b/include/samurai/level_cell_list.hpp index ab99f9bb1..fe910b96a 100644 --- a/include/samurai/level_cell_list.hpp +++ b/include/samurai/level_cell_list.hpp @@ -7,10 +7,13 @@ #include #include -// #include -// #include +#if XTENSOR_VERSION_MINOR < 26 +#include +#include +#else #include #include +#endif #include "cell.hpp" #include "list_of_intervals.hpp" diff --git a/include/samurai/mesh_interval.hpp b/include/samurai/mesh_interval.hpp index c46a5cd16..4df9d2ba8 100644 --- a/include/samurai/mesh_interval.hpp +++ b/include/samurai/mesh_interval.hpp @@ -1,8 +1,12 @@ #pragma once -// #include -// #include + +#if XTENSOR_VERSION_MINOR < 26 +#include +#include +#else #include #include +#endif using namespace xt::placeholders; diff --git a/include/samurai/static_algorithm.hpp b/include/samurai/static_algorithm.hpp index e617bd972..0a0f05d78 100644 --- a/include/samurai/static_algorithm.hpp +++ b/include/samurai/static_algorithm.hpp @@ -5,8 +5,11 @@ #include -// #include +#if XTENSOR_VERSION_MINOR < 26 +#include +#else #include +#endif namespace samurai { diff --git a/include/samurai/stencil_field.hpp b/include/samurai/stencil_field.hpp index 0c35587c7..6aca92107 100644 --- a/include/samurai/stencil_field.hpp +++ b/include/samurai/stencil_field.hpp @@ -3,12 +3,15 @@ #pragma once -// #include -// #include -// #include +#if XTENSOR_VERSION_MINOR < 26 +#include +#include +#include +#else #include #include #include +#endif #include "cell.hpp" #include "field_expression.hpp" From 497551aa2f68ebf775a32e06146bbfb5259f2e88 Mon Sep 17 00:00:00 2001 From: sbstndb/sbstndbs Date: Tue, 15 Apr 2025 15:37:08 +0200 Subject: [PATCH 13/36] fix: ensure xtensor compatibility --- demos/FiniteVolume/advection_1d.cpp | 6 +++++- demos/FiniteVolume/advection_2d.cpp | 5 ++++- demos/FiniteVolume/advection_2d_user_bc.cpp | 5 ++++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/demos/FiniteVolume/advection_1d.cpp b/demos/FiniteVolume/advection_1d.cpp index 6a57fdd57..ad2d9e7f7 100644 --- a/demos/FiniteVolume/advection_1d.cpp +++ b/demos/FiniteVolume/advection_1d.cpp @@ -1,7 +1,11 @@ // Copyright 2018-2025 the samurai's authors // SPDX-License-Identifier: BSD-3-Clause -// #include + +#if XTENSOR_VERSION_MINOR < 26 +#include +#else #include +#endif #include #include diff --git a/demos/FiniteVolume/advection_2d.cpp b/demos/FiniteVolume/advection_2d.cpp index 13f3fd4f1..0199aa0ac 100644 --- a/demos/FiniteVolume/advection_2d.cpp +++ b/demos/FiniteVolume/advection_2d.cpp @@ -3,8 +3,11 @@ #include -// #include +#if XTENSOR_VERSION_MINOR < 26 +#include +#else #include +#endif #include #include diff --git a/demos/FiniteVolume/advection_2d_user_bc.cpp b/demos/FiniteVolume/advection_2d_user_bc.cpp index e58b4d2df..ccfe59a76 100644 --- a/demos/FiniteVolume/advection_2d_user_bc.cpp +++ b/demos/FiniteVolume/advection_2d_user_bc.cpp @@ -2,8 +2,11 @@ // SPDX-License-Identifier: BSD-3-Clause #include -// #include +#if XTENSOR_VERSION_MINOR < 26 +#include +#else #include +#endif // ----------------------------- From ec46dd8ea2a2a86fb3e866e0f6e8c297b762a382 Mon Sep 17 00:00:00 2001 From: sbstndb/sbstndbs Date: Tue, 15 Apr 2025 15:40:25 +0200 Subject: [PATCH 14/36] fix: ensure xtensor compat --- tests/test_bc.cpp | 5 ++++- tests/test_box.cpp | 5 ++++- tests/test_cell.cpp | 8 ++++++-- tests/test_common.hpp | 5 ++++- tests/test_interval.cpp | 5 ++++- tests/test_level_cell_list.cpp | 10 +++++++--- tests/test_list_of_intervals.cpp | 8 ++++++-- tests/test_periodic.cpp | 5 ++++- tests/test_subset.cpp | 6 +++++- 9 files changed, 44 insertions(+), 13 deletions(-) diff --git a/tests/test_bc.cpp b/tests/test_bc.cpp index ac6a2e395..1f456c7f5 100644 --- a/tests/test_bc.cpp +++ b/tests/test_bc.cpp @@ -4,8 +4,11 @@ #include #include -// #include +#if XTENSOR_VERSION_MINOR < 26 +#include +#else #include +#endif namespace samurai { diff --git a/tests/test_box.cpp b/tests/test_box.cpp index 0db33fa31..f9e69cd03 100644 --- a/tests/test_box.cpp +++ b/tests/test_box.cpp @@ -3,8 +3,11 @@ #include // #include -// #include +#if XTENSOR_VERSION_MINOR < 26 +#include +#else #include +#endif #include diff --git a/tests/test_cell.cpp b/tests/test_cell.cpp index c7232dd3a..fbaba5e63 100644 --- a/tests/test_cell.cpp +++ b/tests/test_cell.cpp @@ -1,8 +1,12 @@ #include -// #include -// #include + +#if XTENSOR_VERSION_MINOR < 26 +#include +#include +#else #include #include +#endif #include #include diff --git a/tests/test_common.hpp b/tests/test_common.hpp index 3199009ad..b8952fef2 100644 --- a/tests/test_common.hpp +++ b/tests/test_common.hpp @@ -1,7 +1,10 @@ #pragma once -// #include +#if XTENSOR_VERSION_MINOR < 26 +#include +#else #include +#endif #include #include diff --git a/tests/test_interval.cpp b/tests/test_interval.cpp index 6c433a16b..0afeff57a 100644 --- a/tests/test_interval.cpp +++ b/tests/test_interval.cpp @@ -2,8 +2,11 @@ #include -// #include +#if XTENSOR_VERSION_MINOR < 26 +#include +#else #include +#endif #include diff --git a/tests/test_level_cell_list.cpp b/tests/test_level_cell_list.cpp index f68546587..8f0109e81 100644 --- a/tests/test_level_cell_list.cpp +++ b/tests/test_level_cell_list.cpp @@ -1,10 +1,14 @@ #include -// #include -#include +#if XTENSOR_VERSION_MINOR < 26 +#include +#else +#include +#endif +x #include -namespace samurai + namespace samurai { TEST(level_cell_list, add_interval) { diff --git a/tests/test_list_of_intervals.cpp b/tests/test_list_of_intervals.cpp index 73dcebad7..6955791e1 100644 --- a/tests/test_list_of_intervals.cpp +++ b/tests/test_list_of_intervals.cpp @@ -1,8 +1,12 @@ #include -// #include -// #include + +#if XTENSOR_VERSION_MINOR < 26 +#include +#include +#else #include #include +#endif #include #include diff --git a/tests/test_periodic.cpp b/tests/test_periodic.cpp index aac1d0800..fd461e20c 100644 --- a/tests/test_periodic.cpp +++ b/tests/test_periodic.cpp @@ -1,7 +1,10 @@ #include -// #include +#if XTENSOR_VERSION_MINOR < 26 +#include +#else #include +#endif #include #include diff --git a/tests/test_subset.cpp b/tests/test_subset.cpp index 15cb0d0cd..a048f30dc 100644 --- a/tests/test_subset.cpp +++ b/tests/test_subset.cpp @@ -2,8 +2,12 @@ #include #include #include -// #include + +#if XTENSOR_VERSION_MINOR < 26 +#include +#else #include +#endif #include From 649c3ddd4cc7479dfd9d969ec182b188eb78edb7 Mon Sep 17 00:00:00 2001 From: sbstndb/sbstndbs Date: Tue, 15 Apr 2025 15:41:55 +0200 Subject: [PATCH 15/36] fix: do not change old xtensor behavior --- include/samurai/storage/containers_config.hpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/samurai/storage/containers_config.hpp b/include/samurai/storage/containers_config.hpp index 0b8f8fc62..1e783bab5 100644 --- a/include/samurai/storage/containers_config.hpp +++ b/include/samurai/storage/containers_config.hpp @@ -28,7 +28,10 @@ // clang-format on +#if XTENSOR_VERSION_MINOR < 26 +#else using namespace xt; +#endif namespace samurai { From e3200809e84093d9372301ddc7b6b6b6b4895264 Mon Sep 17 00:00:00 2001 From: sbstndb/sbstndbs Date: Tue, 15 Apr 2025 15:47:08 +0200 Subject: [PATCH 16/36] fix: ensure xtensor compat --- include/samurai/storage/xtensor/xtensor.hpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/include/samurai/storage/xtensor/xtensor.hpp b/include/samurai/storage/xtensor/xtensor.hpp index 3643bc256..77aa961ce 100644 --- a/include/samurai/storage/xtensor/xtensor.hpp +++ b/include/samurai/storage/xtensor/xtensor.hpp @@ -5,12 +5,15 @@ // #include -// #include -// #include -// #include +#if XTENSOR_VERSION_MINOR < 26 +#include +#include +#include +#else #include #include #include +#endif #include "../utils.hpp" From a9a572b3ed343dc731db0514da3e2394ee05cb84 Mon Sep 17 00:00:00 2001 From: sbstndb/sbstndbs Date: Tue, 15 Apr 2025 15:52:17 +0200 Subject: [PATCH 17/36] fix: ensure xtensor compat --- include/samurai/algorithm/graduation.hpp | 7 +++++-- include/samurai/algorithm/update.hpp | 10 ++++++++-- include/samurai/io/hdf5.hpp | 9 ++++++--- include/samurai/mr/mesh.hpp | 7 +++++-- include/samurai/mr/mesh_with_overleaves.hpp | 5 ++++- include/samurai/mr/operators.hpp | 9 ++++++--- include/samurai/petsc/utils.hpp | 6 +++++- include/samurai/schemes/fv/cell_based/local_field.hpp | 6 +++++- include/samurai/storage/xtensor/xtensor_static.hpp | 6 +++++- include/samurai/subset/node.hpp | 5 ++++- 10 files changed, 53 insertions(+), 17 deletions(-) diff --git a/include/samurai/algorithm/graduation.hpp b/include/samurai/algorithm/graduation.hpp index 485a3daad..d25a9f630 100644 --- a/include/samurai/algorithm/graduation.hpp +++ b/include/samurai/algorithm/graduation.hpp @@ -3,10 +3,13 @@ #pragma once -// #include -// #include +#if XTENSOR_VERSION_MINOR < 26 +#include +#include +#else #include #include +#endif #include "../array_of_interval_and_point.hpp" #include "../cell_flag.hpp" diff --git a/include/samurai/algorithm/update.hpp b/include/samurai/algorithm/update.hpp index 7333c1176..ae700d7fb 100644 --- a/include/samurai/algorithm/update.hpp +++ b/include/samurai/algorithm/update.hpp @@ -5,8 +5,11 @@ #include -// #include +#if XTENSOR_VERSION_MINOR < 26 +#include +#else #include +#endif #include "../algorithm.hpp" #include "../bc.hpp" @@ -22,8 +25,11 @@ using namespace xt::placeholders; #ifdef SAMURAI_WITH_MPI #include -// #include +#if XTENSOR_VERSION_MINOR < 26 +#include +#else #include +#endif namespace mpi = boost::mpi; #endif diff --git a/include/samurai/io/hdf5.hpp b/include/samurai/io/hdf5.hpp index 863907753..5133dca5d 100644 --- a/include/samurai/io/hdf5.hpp +++ b/include/samurai/io/hdf5.hpp @@ -23,12 +23,15 @@ namespace fs = std::filesystem; #include #include -// #include -// #include -// #include +#if XTENSOR_VERSION_MINOR < 26 +#include +#include +#include +#else #include #include #include +#endif #include diff --git a/include/samurai/mr/mesh.hpp b/include/samurai/mr/mesh.hpp index d75534752..34ea761f8 100644 --- a/include/samurai/mr/mesh.hpp +++ b/include/samurai/mr/mesh.hpp @@ -5,10 +5,13 @@ #include -// #include -// #include +#if XTENSOR_VERSION_MINOR < 26 +#include +#include +#else #include #include +#endif #include "../box.hpp" #include "../mesh.hpp" diff --git a/include/samurai/mr/mesh_with_overleaves.hpp b/include/samurai/mr/mesh_with_overleaves.hpp index d2871a6fa..00595fcdb 100644 --- a/include/samurai/mr/mesh_with_overleaves.hpp +++ b/include/samurai/mr/mesh_with_overleaves.hpp @@ -5,8 +5,11 @@ #include -// #include +#if XTENSOR_VERSION_MINOR < 26 +#include +#else #include +#endif #include "../box.hpp" #include "../mesh.hpp" diff --git a/include/samurai/mr/operators.hpp b/include/samurai/mr/operators.hpp index 4e9513190..620cf5d5c 100644 --- a/include/samurai/mr/operators.hpp +++ b/include/samurai/mr/operators.hpp @@ -3,12 +3,15 @@ #pragma once -// #include -// #include -// #include +#if XTENSOR_VERSION_MINOR < 26 +#include +#include +#include +#else #include #include #include +#endif #include "../cell_flag.hpp" #include "../field.hpp" diff --git a/include/samurai/petsc/utils.hpp b/include/samurai/petsc/utils.hpp index 6d7cc60eb..654870c4a 100644 --- a/include/samurai/petsc/utils.hpp +++ b/include/samurai/petsc/utils.hpp @@ -1,7 +1,11 @@ #pragma once #include -// #include + +#if XTENSOR_VERSION_MINOR < 26 +#include +#else #include +#endif namespace samurai { diff --git a/include/samurai/schemes/fv/cell_based/local_field.hpp b/include/samurai/schemes/fv/cell_based/local_field.hpp index 17527a935..e2ade0257 100644 --- a/include/samurai/schemes/fv/cell_based/local_field.hpp +++ b/include/samurai/schemes/fv/cell_based/local_field.hpp @@ -1,6 +1,10 @@ #pragma once -// #include + +#if XTENSOR_VERSION_MINOR < 26 +#include +#else #include +#endif namespace samurai { diff --git a/include/samurai/storage/xtensor/xtensor_static.hpp b/include/samurai/storage/xtensor/xtensor_static.hpp index 6a0f76ca1..a95cd222a 100644 --- a/include/samurai/storage/xtensor/xtensor_static.hpp +++ b/include/samurai/storage/xtensor/xtensor_static.hpp @@ -4,8 +4,12 @@ #pragma once #include "../collapsable.hpp" -// #include + +#if XTENSOR_VERSION_MINOR < 26 +#include +#else #include +#endif namespace samurai { diff --git a/include/samurai/subset/node.hpp b/include/samurai/subset/node.hpp index 865aa8e46..5692940f8 100644 --- a/include/samurai/subset/node.hpp +++ b/include/samurai/subset/node.hpp @@ -10,8 +10,11 @@ #include #include -// #include +#if XTENSOR_VERSION_MINOR < 26 +#include +#else #include +#endif #include "../algorithm.hpp" #include "apply.hpp" From 9b72928172066e77d7d44b96aa197297ac0fa435 Mon Sep 17 00:00:00 2001 From: sbstndb/sbstndbs Date: Tue, 15 Apr 2025 15:56:19 +0200 Subject: [PATCH 18/36] ficx: preserve the same code as before --- include/samurai/field_expression.hpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/include/samurai/field_expression.hpp b/include/samurai/field_expression.hpp index 0b0d15b96..ba0926523 100644 --- a/include/samurai/field_expression.hpp +++ b/include/samurai/field_expression.hpp @@ -11,8 +11,7 @@ #else #include #include -#endif - +#end #include "cell.hpp" #include "interval.hpp" #include "samurai_config.hpp" @@ -31,7 +30,11 @@ namespace samurai }; template +#if XTENSOR_VERSION_MINOR < 26 + struct field_comparable : xtl::conjunction...> +#else struct field_comparable : std::conjunction...> +#endif { }; From 22af9dadab47fe76c2d890a9f8d7083d88831160 Mon Sep 17 00:00:00 2001 From: sbstndb/sbstndbs Date: Tue, 15 Apr 2025 15:57:48 +0200 Subject: [PATCH 19/36] fix: typo --- tests/test_level_cell_list.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_level_cell_list.cpp b/tests/test_level_cell_list.cpp index 8f0109e81..a81dd5ddd 100644 --- a/tests/test_level_cell_list.cpp +++ b/tests/test_level_cell_list.cpp @@ -5,10 +5,10 @@ #else #include #endif -x + #include - namespace samurai +namespace samurai { TEST(level_cell_list, add_interval) { From 7f689ea2deacd12a4a081ca8a24ef434b9818f4a Mon Sep 17 00:00:00 2001 From: sbstndb/sbstndbs Date: Tue, 15 Apr 2025 16:02:19 +0200 Subject: [PATCH 20/36] fix: typo --- include/samurai/field_expression.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/samurai/field_expression.hpp b/include/samurai/field_expression.hpp index ba0926523..f0208557f 100644 --- a/include/samurai/field_expression.hpp +++ b/include/samurai/field_expression.hpp @@ -11,7 +11,7 @@ #else #include #include -#end +#endif #include "cell.hpp" #include "interval.hpp" #include "samurai_config.hpp" From 1c95ceda506f52601ec4c717e967584df0d10a2b Mon Sep 17 00:00:00 2001 From: sbstndb/sbstndbs Date: Tue, 15 Apr 2025 16:13:30 +0200 Subject: [PATCH 21/36] fix: fix CI MPI --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7db5ae8df..19bd7fc7c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -111,7 +111,7 @@ endif() # Force HIGHFIVE_USE_INSTALL_DEPS option to be true option(HIGHFIVE_USE_INSTALL_DEPS "End applications by default use detected dependencies here" OFF) -option(HIGHFIVE_USE_XTENSOR OFF) +option(HIGHFIVE_USE_XTENSOR OFF CACHE BOOL FORCE) foreach(DEPENDENCY ${DEPENDENCIES_CONFIGURED}) From a76b31692324fc0fd197556faddf8f8a5a26256e Mon Sep 17 00:00:00 2001 From: sbstndb/sbstndbs Date: Tue, 15 Apr 2025 16:17:41 +0200 Subject: [PATCH 22/36] fix: try find MPI CI --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 19bd7fc7c..3fb51d750 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -111,7 +111,7 @@ endif() # Force HIGHFIVE_USE_INSTALL_DEPS option to be true option(HIGHFIVE_USE_INSTALL_DEPS "End applications by default use detected dependencies here" OFF) -option(HIGHFIVE_USE_XTENSOR OFF CACHE BOOL FORCE) +option(H5_USE_XTENSOR OFF) foreach(DEPENDENCY ${DEPENDENCIES_CONFIGURED}) From a18626fd9e1bedff24c12edc27b4deb06685e267 Mon Sep 17 00:00:00 2001 From: sbstndb/sbstndbs Date: Tue, 15 Apr 2025 16:20:13 +0200 Subject: [PATCH 23/36] fix: ensure compatility --- .../AMR_1D_Burgers/step_5/make_graduation.hpp | 5 ++++- demos/tutorial/graduation_case_1.cpp | 11 +++++++---- demos/tutorial/graduation_case_2.cpp | 11 +++++++---- demos/tutorial/graduation_case_3.cpp | 5 ++++- 4 files changed, 22 insertions(+), 10 deletions(-) diff --git a/demos/tutorial/AMR_1D_Burgers/step_5/make_graduation.hpp b/demos/tutorial/AMR_1D_Burgers/step_5/make_graduation.hpp index 3546fe56c..75a77306f 100644 --- a/demos/tutorial/AMR_1D_Burgers/step_5/make_graduation.hpp +++ b/demos/tutorial/AMR_1D_Burgers/step_5/make_graduation.hpp @@ -5,8 +5,11 @@ #include -// #include +#if XTENSOR_VERSION_MINOR < 26 +#include +#else #include +#endif #include #include diff --git a/demos/tutorial/graduation_case_1.cpp b/demos/tutorial/graduation_case_1.cpp index 225258aac..fb5c5fab6 100644 --- a/demos/tutorial/graduation_case_1.cpp +++ b/demos/tutorial/graduation_case_1.cpp @@ -3,14 +3,17 @@ #include -// #include -// #include -// #include -// #include +#if XTENSOR_VERSION_MINOR < 26 +#include +#include +#include +#include +#else #include #include #include #include +#endif #include #include diff --git a/demos/tutorial/graduation_case_2.cpp b/demos/tutorial/graduation_case_2.cpp index 19697c046..fa418ecab 100644 --- a/demos/tutorial/graduation_case_2.cpp +++ b/demos/tutorial/graduation_case_2.cpp @@ -3,14 +3,17 @@ #include -// #include -// #include -// #include -// #include +#if XTENSOR_VERSION_MINOR < 26 +#include +#include +#include +#include +#else #include #include #include #include +#endif #include #include diff --git a/demos/tutorial/graduation_case_3.cpp b/demos/tutorial/graduation_case_3.cpp index 63f223ea2..65c8f6d04 100644 --- a/demos/tutorial/graduation_case_3.cpp +++ b/demos/tutorial/graduation_case_3.cpp @@ -5,8 +5,11 @@ #include -// #include +#if XTENSOR_VERSION_MINOR < 26 +#include +#else #include +#endif #include #include From 6bd7dd9a4e4fd9c5a3e2d094b1b640f4f8eba3c6 Mon Sep 17 00:00:00 2001 From: sbstndb/sbstndbs Date: Tue, 15 Apr 2025 16:39:49 +0200 Subject: [PATCH 24/36] fix: is XTENSOR_MINOR_VERSIOn WORK ???????? --- include/samurai/field.hpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/samurai/field.hpp b/include/samurai/field.hpp index 23e73d751..f7d2c0031 100644 --- a/include/samurai/field.hpp +++ b/include/samurai/field.hpp @@ -14,6 +14,8 @@ namespace fs = std::filesystem; #include +#include + #if XTENSOR_VERSION_MINOR < 26 #include #include From 5affe0b98a96bc2a86ad07a8ef4980bf2631ce0f Mon Sep 17 00:00:00 2001 From: sbstndb/sbstndbs Date: Tue, 15 Apr 2025 16:47:44 +0200 Subject: [PATCH 25/36] fix: delete line --- include/samurai/field.hpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/include/samurai/field.hpp b/include/samurai/field.hpp index f7d2c0031..23e73d751 100644 --- a/include/samurai/field.hpp +++ b/include/samurai/field.hpp @@ -14,8 +14,6 @@ namespace fs = std::filesystem; #include -#include - #if XTENSOR_VERSION_MINOR < 26 #include #include From 5f16fd2cb02f5998fd1e17647f09d2fb60c14a43 Mon Sep 17 00:00:00 2001 From: sbstndb/sbstndbs Date: Tue, 15 Apr 2025 17:53:13 +0200 Subject: [PATCH 26/36] fix: try to resolve the macro issue --- CMakeLists.txt | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3fb51d750..6405d3f18 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -112,6 +112,7 @@ endif() # Force HIGHFIVE_USE_INSTALL_DEPS option to be true option(HIGHFIVE_USE_INSTALL_DEPS "End applications by default use detected dependencies here" OFF) option(H5_USE_XTENSOR OFF) +option(HIGHFIVE_USE_XTENSOR OFF) foreach(DEPENDENCY ${DEPENDENCIES_CONFIGURED}) @@ -136,6 +137,20 @@ if(SAMURAI_FIELD_CONTAINER MATCHES xtensor) INTERFACE xtensor ) + +file(STRINGS "/home/sbstndbs/xtensor/include/xtensor/core/xtensor_config.hpp" xtensor_version_defines + REGEX "#define XTENSOR_VERSION_(MAJOR|MINOR|PATCH)") +foreach(ver ${xtensor_version_defines}) + if(ver MATCHES "#define XTENSOR_VERSION_(MAJOR|MINOR|PATCH) +([^ ]+)$") + set(XTENSOR_VERSION_${CMAKE_MATCH_1} "${CMAKE_MATCH_2}" CACHE INTERNAL "") + endif() +endforeach() +set(${PROJECT_NAME}_VERSION + ${XTENSOR_VERSION_MAJOR}.${XTENSOR_VERSION_MINOR}.${XTENSOR_VERSION_PATCH}) +message(STATUS "Building xtensor v${${PROJECT_NAME}_VERSION}") +add_definitions(-DXTENSOR_VERSION_MINOR=${XTENSOR_VERSION_MINOR}) + + endif() if(SAMURAI_FIELD_CONTAINER MATCHES eigen3) message(STATUS "Using Eigen3 as field container") From b6f32f94d1c606b0d69a3eae40331396d7b3e811 Mon Sep 17 00:00:00 2001 From: sbstndb/sbstndbs Date: Tue, 15 Apr 2025 17:55:13 +0200 Subject: [PATCH 27/36] fix: remove path --- CMakeLists.txt | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6405d3f18..e9cd4ffc0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -138,17 +138,6 @@ if(SAMURAI_FIELD_CONTAINER MATCHES xtensor) xtensor ) -file(STRINGS "/home/sbstndbs/xtensor/include/xtensor/core/xtensor_config.hpp" xtensor_version_defines - REGEX "#define XTENSOR_VERSION_(MAJOR|MINOR|PATCH)") -foreach(ver ${xtensor_version_defines}) - if(ver MATCHES "#define XTENSOR_VERSION_(MAJOR|MINOR|PATCH) +([^ ]+)$") - set(XTENSOR_VERSION_${CMAKE_MATCH_1} "${CMAKE_MATCH_2}" CACHE INTERNAL "") - endif() -endforeach() -set(${PROJECT_NAME}_VERSION - ${XTENSOR_VERSION_MAJOR}.${XTENSOR_VERSION_MINOR}.${XTENSOR_VERSION_PATCH}) -message(STATUS "Building xtensor v${${PROJECT_NAME}_VERSION}") -add_definitions(-DXTENSOR_VERSION_MINOR=${XTENSOR_VERSION_MINOR}) endif() From d5ae8d0cbe27e8fb98c53eac25d071dc5dc3a392 Mon Sep 17 00:00:00 2001 From: sbstndb/sbstndbs Date: Tue, 15 Apr 2025 18:24:49 +0200 Subject: [PATCH 28/36] fix: now the macro works !!! - TODO : issue on H5. --- CMakeLists.txt | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e9cd4ffc0..88a7582b4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -132,15 +132,29 @@ if(SAMURAI_FIELD_CONTAINER MATCHES xtensor) message(STATUS "Using xtensor as field container") list(APPEND DEPENDENCIES_CONFIGURED xtensor) find_package(xtensor CONFIG REQUIRED) + + if(DEFINED xtensor_VERSION_MINOR) + # message(STATUS "xtensor version detected by find_package: ${xtensor_VERSION}") + # message(STATUS "xtensor minor version: ${xtensor_VERSION_MINOR}") + + # Add the definitions to the samurai target + target_compile_definitions(samurai INTERFACE + XTENSOR_VERSION_MAJOR=${xtensor_VERSION_MAJOR} + XTENSOR_VERSION_MINOR=${xtensor_VERSION_MINOR} + XTENSOR_VERSION_PATCH=${xtensor_VERSION_PATCH} + ) + + endif() + target_link_system_libraries( samurai INTERFACE xtensor ) +endif() -endif() if(SAMURAI_FIELD_CONTAINER MATCHES eigen3) message(STATUS "Using Eigen3 as field container") endif() From e685a82c7103f5a37b6a0d1510101e9057524154 Mon Sep 17 00:00:00 2001 From: sbstndb/sbstndbs Date: Tue, 15 Apr 2025 18:30:53 +0200 Subject: [PATCH 29/36] fix: try to solve issue --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 88a7582b4..2f9206be5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -133,7 +133,7 @@ if(SAMURAI_FIELD_CONTAINER MATCHES xtensor) list(APPEND DEPENDENCIES_CONFIGURED xtensor) find_package(xtensor CONFIG REQUIRED) - if(DEFINED xtensor_VERSION_MINOR) + # if(DEFINED xtensor_VERSION_MINOR) # message(STATUS "xtensor version detected by find_package: ${xtensor_VERSION}") # message(STATUS "xtensor minor version: ${xtensor_VERSION_MINOR}") @@ -144,7 +144,7 @@ if(SAMURAI_FIELD_CONTAINER MATCHES xtensor) XTENSOR_VERSION_PATCH=${xtensor_VERSION_PATCH} ) - endif() + # endif() target_link_system_libraries( samurai From 4511127027088809c4a1948c877074da195520cc Mon Sep 17 00:00:00 2001 From: sbstndb/sbstndbs Date: Tue, 15 Apr 2025 18:40:32 +0200 Subject: [PATCH 30/36] fix: add print to delete --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2f9206be5..d1b3b4b4e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -134,8 +134,8 @@ if(SAMURAI_FIELD_CONTAINER MATCHES xtensor) find_package(xtensor CONFIG REQUIRED) # if(DEFINED xtensor_VERSION_MINOR) - # message(STATUS "xtensor version detected by find_package: ${xtensor_VERSION}") - # message(STATUS "xtensor minor version: ${xtensor_VERSION_MINOR}") + message(STATUS "xtensor version detected by find_package: ${xtensor_VERSION}") + message(STATUS "xtensor minor version: ${xtensor_VERSION_MINOR}") # Add the definitions to the samurai target target_compile_definitions(samurai INTERFACE From 4b9a99c40391bfa2a0e612622764d3a2d96c1cd9 Mon Sep 17 00:00:00 2001 From: sbstndb/sbstndbs Date: Tue, 15 Apr 2025 18:44:10 +0200 Subject: [PATCH 31/36] fix: try 1 --- include/samurai/storage/containers_config.hpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/include/samurai/storage/containers_config.hpp b/include/samurai/storage/containers_config.hpp index 1e783bab5..7b84c5b3a 100644 --- a/include/samurai/storage/containers_config.hpp +++ b/include/samurai/storage/containers_config.hpp @@ -14,11 +14,11 @@ // #define EIGEN_DEFAULT_DENSE_INDEX_TYPE int64_t #include "eigen/eigen.hpp" #else - #if XTENSOR_VERSION_MINOR < 26 + //#if XTENSOR_VERSION_MINOR < 26 #include "xtensor/xtensor.hpp" - #else - #include "xtensor/containers/xtensor.hpp" - #endif + //#else + // #include "xtensor/containers/xtensor.hpp" + //#endif #endif #include "xtensor/xtensor_static.hpp" From 8da25a9d1505792a012b951cc2398f87741533af Mon Sep 17 00:00:00 2001 From: sbstndb/sbstndbs Date: Tue, 15 Apr 2025 18:44:48 +0200 Subject: [PATCH 32/36] fix: try 2 --- include/samurai/storage/containers_config.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/samurai/storage/containers_config.hpp b/include/samurai/storage/containers_config.hpp index 7b84c5b3a..bfff4d905 100644 --- a/include/samurai/storage/containers_config.hpp +++ b/include/samurai/storage/containers_config.hpp @@ -15,9 +15,9 @@ #include "eigen/eigen.hpp" #else //#if XTENSOR_VERSION_MINOR < 26 - #include "xtensor/xtensor.hpp" + // #include "xtensor/xtensor.hpp" //#else - // #include "xtensor/containers/xtensor.hpp" + #include "xtensor/containers/xtensor.hpp" //#endif #endif #include "xtensor/xtensor_static.hpp" From 3aceda5351dc03cea783853a2081a54cdfdf1e2a Mon Sep 17 00:00:00 2001 From: sbstndb/sbstndbs Date: Wed, 16 Apr 2025 10:34:56 +0200 Subject: [PATCH 33/36] fix: try to resolve cppcheck issue --- include/samurai/storage/containers_config.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/samurai/storage/containers_config.hpp b/include/samurai/storage/containers_config.hpp index bfff4d905..7b84c5b3a 100644 --- a/include/samurai/storage/containers_config.hpp +++ b/include/samurai/storage/containers_config.hpp @@ -15,9 +15,9 @@ #include "eigen/eigen.hpp" #else //#if XTENSOR_VERSION_MINOR < 26 - // #include "xtensor/xtensor.hpp" + #include "xtensor/xtensor.hpp" //#else - #include "xtensor/containers/xtensor.hpp" + // #include "xtensor/containers/xtensor.hpp" //#endif #endif #include "xtensor/xtensor_static.hpp" From 8f88b4bc1bf4f4dc1f0e5d835aaec35ca6a1f9d6 Mon Sep 17 00:00:00 2001 From: sbstndb/sbstndbs Date: Wed, 16 Apr 2025 10:41:01 +0200 Subject: [PATCH 34/36] fix: add xtensor compat --- include/samurai/operators_base.hpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/samurai/operators_base.hpp b/include/samurai/operators_base.hpp index ad7002723..746566f64 100644 --- a/include/samurai/operators_base.hpp +++ b/include/samurai/operators_base.hpp @@ -3,7 +3,11 @@ #pragma once +#if XTENSOR_VERSION_MINOR < 26 #include +#else +#include +#endif #include "field_expression.hpp" #include "utils.hpp" From 70b90bb787f566204ae6a85c3a6810eaa5edc69c Mon Sep 17 00:00:00 2001 From: sbstndb/sbstndbs Date: Wed, 16 Apr 2025 10:49:23 +0200 Subject: [PATCH 35/36] fix: add xtensor compat --- include/samurai/io/cgal.hpp | 4 ++++ include/samurai/numeric/prediction.hpp | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/include/samurai/io/cgal.hpp b/include/samurai/io/cgal.hpp index 0b15b03c5..4491e7f9d 100644 --- a/include/samurai/io/cgal.hpp +++ b/include/samurai/io/cgal.hpp @@ -13,7 +13,11 @@ #include #include +#if XTENSOR_VERSION_MINOR < 26 #include +#else +#include +#endif #include "../box.hpp" #include "../cell_array.hpp" diff --git a/include/samurai/numeric/prediction.hpp b/include/samurai/numeric/prediction.hpp index 506a8a748..657d8c91c 100644 --- a/include/samurai/numeric/prediction.hpp +++ b/include/samurai/numeric/prediction.hpp @@ -6,8 +6,13 @@ #include #include +#if XTENSOR_VERSION_MINOR < 26 #include #include +#else +#include +#include +#endif #include "../operators_base.hpp" #include "../storage/utils.hpp" From bf7279aff00e8c46ea082cc33a99f559a7270076 Mon Sep 17 00:00:00 2001 From: sbstndb/sbstndbs Date: Wed, 16 Apr 2025 10:50:15 +0200 Subject: [PATCH 36/36] fix: typo --- include/samurai/schemes/fv/cell_based/local_field.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/samurai/schemes/fv/cell_based/local_field.hpp b/include/samurai/schemes/fv/cell_based/local_field.hpp index e2ade0257..45b66d109 100644 --- a/include/samurai/schemes/fv/cell_based/local_field.hpp +++ b/include/samurai/schemes/fv/cell_based/local_field.hpp @@ -3,7 +3,7 @@ #if XTENSOR_VERSION_MINOR < 26 #include #else -#include +#include #endif namespace samurai