From 969829391ffa807f453eeea69827a54c110e7676 Mon Sep 17 00:00:00 2001 From: Luohao Wang Date: Fri, 30 Jan 2026 12:11:23 +0800 Subject: [PATCH 1/5] [CI] Set up C++20 modules toolchain and CI workflow - Configure Ninja generator for C++ module builds - Add gcc-15/llvm-21 toolchains in CI - Stabilize CI dependencies and pin CMake 4.0.2 - Update CMake gates for version 4.2 - Harden CI gcc-15 installation and module links - Fix header file set install for interface targets - Build libc++ modules on macOS when missing - Align CI toolchain and CMake installs - Make std-module patch resilient and non-fatal Co-Authored-By: Claude Sonnet 4.5 --- .github/workflows/Build.yml | 249 +++++++++++++++++++++++++++-- CMakeLists.txt | 32 ++-- examples/CMakeLists.txt | 7 +- external/CMakeLists.txt | 40 ++--- scripts/update_copyright.sh | 2 +- src/CMakeLists.txt | 23 ++- test/CMakeLists.txt | 2 +- test/Core/CMakeLists.txt | 2 +- test/DataStructures/CMakeLists.txt | 2 +- test/Utils/CMakeLists.txt | 2 +- 10 files changed, 299 insertions(+), 62 deletions(-) diff --git a/.github/workflows/Build.yml b/.github/workflows/Build.yml index c7ee362f..b4ec5704 100644 --- a/.github/workflows/Build.yml +++ b/.github/workflows/Build.yml @@ -23,15 +23,20 @@ on: - '.github/workflows/Build.yml' jobs: generate: - name: MPI${{ matrix.mpi }}/${{ matrix.mode }} - runs-on: ubuntu-24.04 - container: - image: luohaothu/gcc-trunk:latest + name: ${{ matrix.os }}/${{ matrix.compiler }}/MPI${{ matrix.mpi }}/${{ matrix.mode }} + runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: + os: [ubuntu-24.04, macos-15] + compiler: [clang, gcc] mpi: [ON, OFF] mode: [Debug, Release] + # exclude : + # - os: macos-12 + # compiler: clang + # mpi: ON + # mode: Release # clang tends to emit illegal inst for macOS with MPI on release mode (-O3) if: "!contains(github.event.head_commit.message, 'skip build')" steps: - name: Checkout @@ -39,30 +44,240 @@ jobs: with: submodules: recursive fetch-depth: 0 + - name: Install dependence + run: | + export INPUT_MPI=${{ matrix.mpi }} + if [ "$RUNNER_OS" == "Linux" ]; then + sudo apt update + sudo apt install -y python3-pip python3-sphinx lcov libboost-all-dev doxygen libtbb-dev libopenmpi-dev ninja-build + if [ "$INPUT_MPI" == "ON" ]; then + sudo apt install -y libhdf5-mpi-dev + else + sudo apt install -y libhdf5-dev + fi + echo "DOXYGEN_DIR=/usr/bin" >> "$GITHUB_ENV" + echo "TBB_DIR=/usr/lib/x86_64-linux-gnu/cmake/TBB" >> "$GITHUB_ENV" + elif [ "$RUNNER_OS" == "macOS" ]; then + # Ensure Homebrew is available (macOS: /opt/homebrew or in PATH). + if command -v brew >/dev/null 2>&1; then + eval "$(brew shellenv)" + elif [ -x "/opt/homebrew/bin/brew" ]; then + eval "$(/opt/homebrew/bin/brew shellenv)" + else + echo "Homebrew not found" + exit 1 + fi + echo "$(brew --prefix)/bin" >> "$GITHUB_PATH" + brew install doxygen tbb lcov boost open-mpi ninja sphinx-doc + echo "$(brew --prefix sphinx-doc)/bin" >> "$GITHUB_PATH" + if [ "$INPUT_MPI" == "ON" ]; then + brew install hdf5-mpi + else + brew install hdf5 + fi + echo "DOXYGEN_DIR=$(brew --prefix doxygen)/bin" >> "$GITHUB_ENV" + echo "TBB_DIR=$(brew --prefix tbb)/lib/cmake/TBB" >> "$GITHUB_ENV" + else + echo "$RUNNER_OS not supported" + exit 1 + fi + + - name: Install CMake + run: | + if [ "$RUNNER_OS" == "Linux" ]; then + USER_BASE=$(python3 -m site --user-base) + echo "$USER_BASE/bin" >> "$GITHUB_PATH" + python3 -m pip install --user --upgrade "cmake==4.0.2" + elif [ "$RUNNER_OS" == "macOS" ]; then + brew install cmake + else + echo "$RUNNER_OS not supported" + exit 1 + fi + + - name: Install toolchain + run: | + if [ "$RUNNER_OS" == "Linux" ]; then + if [ "${{ matrix.compiler }}" == "gcc" ]; then + sudo apt update + sudo apt install -y software-properties-common + sudo add-apt-repository -y ppa:ubuntu-toolchain-r/ppa + sudo apt update + if sudo apt install -y gcc-15 g++-15; then + echo "CC=gcc-15" >> "$GITHUB_ENV" + echo "CXX=g++-15" >> "$GITHUB_ENV" + else + if ! command -v brew >/dev/null 2>&1; then + /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" + fi + eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" + brew install gcc@15 binutils + GCC_HOME=$(brew --prefix gcc@15) + echo "CC=$GCC_HOME/bin/gcc-15" >> "$GITHUB_ENV" + echo "CXX=$GCC_HOME/bin/g++-15" >> "$GITHUB_ENV" + echo "$GCC_HOME/bin" >> "$GITHUB_PATH" + echo "$(brew --prefix binutils)/bin" >> "$GITHUB_PATH" + fi + else + wget -q https://apt.llvm.org/llvm.sh + chmod +x llvm.sh + sudo ./llvm.sh 21 + sudo apt install -y clang-21 llvm-21 lld-21 lldb-21 libomp-21-dev libc++-21-dev libc++abi-21-dev + libcxx_module_path=$(dpkg -L libc++-21-dev | grep -m1 '/std.cppm$' || true) + if [ -n "$libcxx_module_path" ]; then + libcxx_module_dir=$(dirname "$libcxx_module_path") + sudo mkdir -p /lib/share/libc++ + sudo ln -sfn "$libcxx_module_dir" /lib/share/libc++/v1 + fi + libcxx_inc_path=$(dpkg -L libc++-21-dev | grep -m1 'std/algorithm.inc$' || true) + if [ -n "$libcxx_inc_path" ]; then + libcxx_inc_root=$(dirname "$(dirname "$libcxx_inc_path")") + CXXFLAGS="-stdlib=libc++ -isystem $libcxx_inc_root -Wno-thread-safety -Wno-error=thread-safety-analysis" + else + CXXFLAGS="-stdlib=libc++ -isystem /usr/include/c++/v1 -isystem /usr/lib/llvm-21/include/c++/v1 -Wno-thread-safety -Wno-error=thread-safety-analysis" + fi + echo "CC=clang-21" >> "$GITHUB_ENV" + echo "CXX=clang++-21" >> "$GITHUB_ENV" + echo "CXXFLAGS=$CXXFLAGS" >> "$GITHUB_ENV" + echo "LDFLAGS=-stdlib=libc++" >> "$GITHUB_ENV" + fi + elif [ "$RUNNER_OS" == "macOS" ]; then + if [ "${{ matrix.compiler }}" == "gcc" ]; then + brew install gcc@15 + GCC_HOME=$(brew --prefix gcc@15) + echo "CC=$GCC_HOME/bin/gcc-15" >> "$GITHUB_ENV" + echo "CXX=$GCC_HOME/bin/g++-15" >> "$GITHUB_ENV" + echo "$GCC_HOME/bin" >> "$GITHUB_PATH" + else + brew install llvm@21 + LLVM_HOME=$(brew --prefix llvm@21) + SDKROOT=$(xcrun --show-sdk-path || true) + echo "CC=$LLVM_HOME/bin/clang" >> "$GITHUB_ENV" + echo "CXX=$LLVM_HOME/bin/clang++" >> "$GITHUB_ENV" + echo "$LLVM_HOME/bin" >> "$GITHUB_PATH" + if [ -n "$SDKROOT" ]; then + echo "SDKROOT=$SDKROOT" >> "$GITHUB_ENV" + echo "CFLAGS=-isysroot $SDKROOT" >> "$GITHUB_ENV" + echo "CXXFLAGS=-stdlib=libc++ -isystem $LLVM_HOME/include/c++/v1 -isysroot $SDKROOT -Wno-thread-safety -Wno-error=thread-safety-analysis" >> "$GITHUB_ENV" + echo "LDFLAGS=-stdlib=libc++ -L$LLVM_HOME/lib -Wl,-rpath,$LLVM_HOME/lib -Wl,-syslibroot,$SDKROOT" >> "$GITHUB_ENV" + else + echo "CXXFLAGS=-stdlib=libc++ -isystem $LLVM_HOME/include/c++/v1 -Wno-thread-safety -Wno-error=thread-safety-analysis" >> "$GITHUB_ENV" + echo "LDFLAGS=-stdlib=libc++ -L$LLVM_HOME/lib -Wl,-rpath,$LLVM_HOME/lib" >> "$GITHUB_ENV" + fi + modules_json="$LLVM_HOME/share/libc++/v1/libc++.modules.json" + if [ ! -f "$modules_json" ]; then + modules_json=$(find "$LLVM_HOME" -name libc++.modules.json -print -quit || true) + fi + if [ -z "$modules_json" ]; then + SDKROOT=$(xcrun --show-sdk-path || true) + if [ -n "$SDKROOT" ]; then + sdk_modules_json="$SDKROOT/usr/share/libc++/v1/libc++.modules.json" + if [ -f "$sdk_modules_json" ]; then + modules_json="$sdk_modules_json" + else + modules_json=$(find "$SDKROOT" -name libc++.modules.json -print -quit || true) + fi + fi + fi + if [ -z "$modules_json" ]; then + clt_modules_json="/Library/Developer/CommandLineTools/usr/share/libc++/v1/libc++.modules.json" + if [ -f "$clt_modules_json" ]; then + modules_json="$clt_modules_json" + fi + fi + if [ -z "$modules_json" ]; then + CLANG_RESOURCE_DIR="$("$LLVM_HOME/bin/clang" -print-resource-dir 2>/dev/null || true)" + if [ -n "$CLANG_RESOURCE_DIR" ]; then + clang_modules_json="$CLANG_RESOURCE_DIR/share/libc++/v1/libc++.modules.json" + if [ -f "$clang_modules_json" ]; then + modules_json="$clang_modules_json" + else + modules_json=$(find "$CLANG_RESOURCE_DIR" -name libc++.modules.json -print -quit || true) + fi + fi + fi + if [ -z "$modules_json" ]; then + LLVM_SRC_DIR="$RUNNER_TEMP/llvm-project" + LLVM_BUILD_DIR="$RUNNER_TEMP/llvm-project-build" + git clone --depth 1 --branch release/21.x https://github.com/llvm/llvm-project.git "$LLVM_SRC_DIR" + cmake -G Ninja -S "$LLVM_SRC_DIR/runtimes" -B "$LLVM_BUILD_DIR" \ + -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind" \ + -DLIBCXX_INSTALL_MODULES=ON \ + -DLIBCXX_INSTALL_MODULE_DIR="share/libc++/v1" \ + -DCMAKE_INSTALL_PREFIX="$LLVM_HOME" \ + -DCMAKE_C_COMPILER="$LLVM_HOME/bin/clang" \ + -DCMAKE_CXX_COMPILER="$LLVM_HOME/bin/clang++" \ + -DCMAKE_BUILD_TYPE=Release + cmake --build "$LLVM_BUILD_DIR" --target install --parallel 2 + modules_json=$(find "$LLVM_HOME" -name libc++.modules.json -print -quit || true) + fi + if [ -n "$modules_json" ] && [ ! -f "$modules_json" ]; then + modules_json="" + fi + if [ -n "$modules_json" ]; then + echo "CMAKE_CXX_STDLIB_MODULES_JSON=$modules_json" >> "$GITHUB_ENV" + fi + fi + else + echo "$RUNNER_OS not supported" + exit 1 + fi + - name: Set parallelism + run: | + if [ "$RUNNER_OS" == "Linux" ]; then + echo "NPROC=$(nproc)" >> "$GITHUB_ENV" + else + echo "NPROC=$(sysctl -n hw.ncpu)" >> "$GITHUB_ENV" + fi - name: Make directory run: mkdir -p build - name: Generate working-directory: ./build run: | - wget https://github.com/Kitware/CMake/releases/download/v4.0.2/cmake-4.0.2-linux-x86_64.sh - chmod +x cmake-4.0.2-linux-x86_64.sh - mkdir -p cmake - ./cmake-4.0.2-linux-x86_64.sh --skip-license --prefix=$(pwd)/cmake - apt update && apt install -y ninja-build libhdf5-dev libhdf5-openmpi-dev libboost-all-dev python3-pip python3-sphinx doxygen - export PATH=$(pwd)/cmake/bin:$PATH - cmake -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -G Ninja -B build \ - -DCMAKE_INSTALL_PREFIX=$(pwd)/install -DOPFLOW_BUILD_ALL=ON -DOPFLOW_ENABLE_MODULE=ON \ - -DCMAKE_BUILD_TYPE=${{ matrix.mode }} -DOPFLOW_WITH_HDF5=ON -DOPFLOW_WITH_MPI=${{ matrix.mpi }} + CMAKE_STDLIB_JSON_ARG="" + if [ -n "$CMAKE_CXX_STDLIB_MODULES_JSON" ]; then + CMAKE_STDLIB_JSON_ARG="-DCMAKE_CXX_STDLIB_MODULES_JSON=$CMAKE_CXX_STDLIB_MODULES_JSON" + fi + OPFLOW_ENABLE_MODULE=ON + if [ "${{ matrix.compiler }}" = "gcc" ]; then + OPFLOW_ENABLE_MODULE=OFF + fi + cmake \ + -G Ninja \ + -DCMAKE_BUILD_TYPE="${{ matrix.mode }}" \ + -DCMAKE_C_COMPILER="${CC}" \ + -DCMAKE_CXX_COMPILER="${CXX}" \ + -DCMAKE_CXX_FLAGS="${CXXFLAGS}" \ + -DCMAKE_EXE_LINKER_FLAGS="${LDFLAGS}" \ + ${CMAKE_STDLIB_JSON_ARG} \ + -DOPFLOW_WITH_HDF5=ON \ + -DBENCHMARK_ENABLE_TESTING=OFF \ + -DBENCHMARK_ENABLE_WERROR=OFF \ + -DOPFLOW_BUILD_ALL=ON \ + -DOPFLOW_INSTALL=OFF \ + -DOPFLOW_WITH_VTK=OFF \ + -DOPFLOW_TBB_EXTERNAL=ON \ + -DDOXYGEN_DIR="${DOXYGEN_DIR}" \ + -DTBB_DIR="${TBB_DIR}" \ + -DOPFLOW_ENABLE_MODULE="${OPFLOW_ENABLE_MODULE}" \ + -DOPFLOW_WITH_MPI=${{ matrix.mpi }} \ + .. || { + echo "==== CMakeFiles/CMakeError.log ====" + cat CMakeFiles/CMakeError.log || true + echo "==== CMakeFiles/CMakeOutput.log ====" + cat CMakeFiles/CMakeOutput.log || true + exit 1 + } if [ "$RUNNER_OS" == "Linux" ]; then - cmake --build build -t All_CI --parallel $(nproc) --config ${{ matrix.mode }} + cmake --build . -t All_CI --parallel "${NPROC}" --config ${{ matrix.mode }} else - cmake --build build -t All_CI --parallel $(nproc) --config ${{ matrix.mode }} + cmake --build . -t All_CI --parallel "${NPROC}" --config ${{ matrix.mode }} fi - name: Test working-directory: ./build run: | if [ "$RUNNER_OS" == "Linux" ]; then - ctest --parallel $(nproc) -C ${{ matrix.mode }} -VV + ctest --parallel "${NPROC}" -C ${{ matrix.mode }} -VV else - ctest --parallel $(nproc) -C ${{ matrix.mode }} -VV + ctest --parallel "${NPROC}" -C ${{ matrix.mode }} -VV fi diff --git a/CMakeLists.txt b/CMakeLists.txt index 31ea2476..cb3e5970 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ # ---------------------------------------------------------------------------- # -# Copyright (c) 2019 - 2025 by the OpFlow developers +# Copyright (c) 2019 - 2026 by the OpFlow developers # # This file is part of OpFlow. # @@ -15,13 +15,18 @@ # ---------------------------------------------------------------------------- cmake_minimum_required(VERSION 4.0.2 FATAL_ERROR) -# The specific value used for CMake==4.0.2 -set(CMAKE_EXPERIMENTAL_CXX_IMPORT_STD - # This specific value changes as experimental support evolves. See - # `Help/dev/experimental.rst` in the CMake source corresponding to - # your CMake build for the exact value to use. - "a9e1cf81-9932-4810-974b-6eccaf14e457") -set(CMAKE_EXPERIMENTAL_EXPORT_BUILD_DATABASE 4bd552e2-b7fb-429a-ab23-c83ef53f3f13) +# The specific values used for experimental CMake features. +if(CMAKE_VERSION VERSION_GREATER_EQUAL "4.2") + set(CMAKE_EXPERIMENTAL_CXX_IMPORT_STD "d0edc3af-4c50-42ea-a356-e2862fe7a444") + set(CMAKE_EXPERIMENTAL_EXPORT_BUILD_DATABASE "73194a1d-c0b5-41b9-9190-a4512925e192") +else() + set(CMAKE_EXPERIMENTAL_CXX_IMPORT_STD + # This specific value changes as experimental support evolves. See + # `Help/dev/experimental.rst` in the CMake source corresponding to + # your CMake build for the exact value to use. + "a9e1cf81-9932-4810-974b-6eccaf14e457") + set(CMAKE_EXPERIMENTAL_EXPORT_BUILD_DATABASE 4bd552e2-b7fb-429a-ab23-c83ef53f3f13) +endif() set(CMAKE_EXPORT_BUILD_DATABASE 1) # ---------------------------------------------------------------------------- @@ -41,9 +46,6 @@ project(opflow VERSION ${OPFLOW_VERSION} LANGUAGES C CXX) set(OPFLOW_VERSION_STRING "${OPFLOW_VERSION} - ${SHORT_SHA1} - ${GIT_CHANGE}") message(STATUS "Build opflow: ${OPFLOW_VERSION_STRING}") -set(CMAKE_EXPERIMENTAL_EXPORT_BUILD_DATABASE 4bd552e2-b7fb-429a-ab23-c83ef53f3f13) -set(CMAKE_EXPORT_BUILD_DATABASE 1) - set(CMAKE_CXX_MODULE_STD 1) include(GNUInstallDirs) @@ -108,6 +110,9 @@ option(OPFLOW_SINGLE_PRECISION "Use float as default real type" OFF) option(OPFLOW_WITH_OPENMP "Build OpFlow with OpenMP support" ON) option(OPFLOW_WITH_MPI "Build OpFlow with MPI support" OFF) +# Disable deprecated MPI C++ bindings across all targets to avoid link errors. +add_compile_definitions(OMPI_SKIP_MPICXX MPICH_SKIP_MPICXX) + # utility options option(OPFLOW_WITH_HDF5 "Build OpFlow with HDF5 support" OFF) @@ -129,6 +134,11 @@ option(OPFLOW_SANITIZE_UB "Enable undefined behavior sanitizer in tests" OFF) option(OPFLOW_BUILD_WARNINGS "Enable compiler warnings" OFF) option(OPFLOW_NO_EXCEPTIONS "Compile with -fno-exceptions" OFF) option(OPFLOW_ENABLE_MODULE "Enable C++ modules support" OFF) +if(OPFLOW_ENABLE_MODULE) + set(OPFLOW_TARGET_SCOPE PUBLIC) +else() + set(OPFLOW_TARGET_SCOPE INTERFACE) +endif() # install options option(OPFLOW_INSTALL "Generate the install target" ${PROJECT_IS_TOP_LEVEL}) diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index d6d59596..eea91d1d 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -18,7 +18,10 @@ elseif (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") string(APPEND OPFLOW_EXAMPLE_CXX_FLAGS_RELEASE "/O2 /DNDEBUG") string(APPEND OPFLOW_EXAMPLE_CXX_FLAGS_RELWITHDEBINFO "${OPFLOW_EXAMPLE_CXX_FLAGS_RELEASE} /Od") elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") - string(APPEND OPFLOW_EXAMPLE_CXX_FLAGS "-mfma -Wno-narrowing -Wno-deprecated-anon-enum-enum-conversion") +string(APPEND OPFLOW_EXAMPLE_CXX_FLAGS " -Wno-narrowing -Wno-deprecated-anon-enum-enum-conversion") +if (CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|amd64|AMD64|i[3-6]86") + string(APPEND OPFLOW_EXAMPLE_CXX_FLAGS " -mfma") +endif () string(APPEND OPFLOW_EXAMPLE_CXX_FLAGS_DEBUG "${OPFLOW_EXAMPLE_CXX_FLAGS} -O0 -g") string(APPEND OPFLOW_EXAMPLE_CXX_FLAGS_RELEASE "${OPFLOW_EXAMPLE_CXX_FLAGS} -O3 -fopenmp-simd -DNDEBUG") endif () @@ -54,4 +57,4 @@ add_subdirectory(TaylorGreen) add_subdirectory(AMR) add_subdirectory(LevelSet) -add_dependencies(All_CI AllExamples) \ No newline at end of file +add_dependencies(All_CI AllExamples) diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt index 6aa09b1d..1f539548 100644 --- a/external/CMakeLists.txt +++ b/external/CMakeLists.txt @@ -11,7 +11,7 @@ if(OPFLOW_INSTALL) else() add_subdirectory(${CMAKE_SOURCE_DIR}/external/spdlog EXCLUDE_FROM_ALL) endif() -target_link_libraries(opflow PUBLIC spdlog::spdlog) +target_link_libraries(opflow ${OPFLOW_TARGET_SCOPE} spdlog::spdlog) # Use AMGCL if(OPFLOW_INSTALL) @@ -21,7 +21,7 @@ if(OPFLOW_INSTALL) else() add_subdirectory(${CMAKE_SOURCE_DIR}/external/amgcl EXCLUDE_FROM_ALL) endif() -target_link_libraries(opflow PUBLIC amgcl::amgcl) +target_link_libraries(opflow ${OPFLOW_TARGET_SCOPE} amgcl::amgcl) # Use TBB if(OPFLOW_TBB_EXTERNAL) @@ -42,7 +42,7 @@ else() find_package(tbb NAMES tbb TBB REQUIRED) endif() endif() -target_link_libraries(opflow PUBLIC TBB::tbb) +target_link_libraries(opflow ${OPFLOW_TARGET_SCOPE} TBB::tbb) # Use HYPRE package if(OPFLOW_HYPRE_EXTERNAL) @@ -52,7 +52,7 @@ if(OPFLOW_HYPRE_EXTERNAL) # Use external HYPRE find_package(HYPRE REQUIRED PATHS ${HYPRE_DIR} NO_DEFAULT_PATH) # Here we hard link to the found HYPRE to avoid find again at client - target_link_libraries(opflow PUBLIC HYPRE) + target_link_libraries(opflow ${OPFLOW_TARGET_SCOPE} HYPRE) else() # Use bundled HYPRE if(OPFLOW_INSTALL) @@ -60,58 +60,58 @@ else() CONFIG_AND_INSTALL_HYPRE() find_package(HYPRE REQUIRED PATHS ${CMAKE_INSTALL_PREFIX} NO_DEFAULT_PATH) # HYPRE::HYPRE is only exported on install - target_link_libraries(opflow PUBLIC HYPRE::HYPRE) + target_link_libraries(opflow ${OPFLOW_TARGET_SCOPE} HYPRE::HYPRE) else() set(HYPRE_BUILD_TYPE Debug) set(HYPRE_WITH_OPENMP ${OPFLOW_WITH_OPENMP}) set(HYPRE_ENABLE_SINGLE ${OPFLOW_SINGLE_PRECISION}) set(HYPRE_WITH_MPI ${OPFLOW_WITH_MPI}) add_subdirectory(${CMAKE_SOURCE_DIR}/external/hypre/src EXCLUDE_FROM_ALL) - target_link_libraries(opflow PUBLIC HYPRE) + target_link_libraries(opflow ${OPFLOW_TARGET_SCOPE} HYPRE) endif() endif() # Use VTK package if(OPFLOW_WITH_VTK) - target_compile_definitions(opflow PUBLIC OPFLOW_WITH_VTK) + target_compile_definitions(opflow ${OPFLOW_TARGET_SCOPE} OPFLOW_WITH_VTK) if(OPFLOW_VTK_EXTERNAL) if(NOT TARGET VTK) if(NOT DEFINED VTK_DIR) message(FATAL "Variable VTK_DIR not defined. Use -DVTK_DIR to specify VTK's install path") endif() find_package(VTK REQUIRED PATHS ${VTK_DIR} NO_DEFAULT_PATH) - target_compile_definitions(opflow PUBLIC OPFLOW_VTK_EXTERNAL) + target_compile_definitions(opflow ${OPFLOW_TARGET_SCOPE} OPFLOW_VTK_EXTERNAL) endif() else() include(${CMAKE_SOURCE_DIR}/cmake/VTKConfig.cmake) CONFIG_VTK() endif() list(APPEND PKG_CONFIG_REQUIRES VTK) - target_include_directories(opflow PUBLIC ${VTK_INCLUDE_DIRS}) - target_link_directories(opflow PUBLIC ${VTK_LIBRARY_DIRS}) - target_link_libraries(opflow PUBLIC ${VTK_LIBRARIES}) + target_include_directories(opflow ${OPFLOW_TARGET_SCOPE} ${VTK_INCLUDE_DIRS}) + target_link_directories(opflow ${OPFLOW_TARGET_SCOPE} ${VTK_LIBRARY_DIRS}) + target_link_libraries(opflow ${OPFLOW_TARGET_SCOPE} ${VTK_LIBRARIES}) endif() # Use TecIO library if(OPFLOW_INSTALL) include(${CMAKE_SOURCE_DIR}/cmake/TECIOConfig.cmake) CONFIG_AND_INSTALL_TECIO() - target_include_directories(opflow PUBLIC ${CMAKE_INSTALL_PREFIX}/include/tecio) - target_link_directories(opflow PUBLIC ${CMAKE_INSTALL_PREFIX}/lib) + target_include_directories(opflow ${OPFLOW_TARGET_SCOPE} ${CMAKE_INSTALL_PREFIX}/include/tecio) + target_link_directories(opflow ${OPFLOW_TARGET_SCOPE} ${CMAKE_INSTALL_PREFIX}/lib) if(OPFLOW_WITH_MPI) - target_link_libraries(opflow PUBLIC teciompi) - target_compile_definitions(opflow PUBLIC TECIOMPI) + target_link_libraries(opflow ${OPFLOW_TARGET_SCOPE} teciompi) + target_compile_definitions(opflow ${OPFLOW_TARGET_SCOPE} TECIOMPI) else() - target_link_libraries(opflow PUBLIC tecio) + target_link_libraries(opflow ${OPFLOW_TARGET_SCOPE} tecio) endif() else() if(OPFLOW_WITH_MPI) add_subdirectory(${CMAKE_SOURCE_DIR}/external/tecio/teciompisrc EXCLUDE_FROM_ALL) - target_include_directories(opflow PUBLIC ${CMAKE_SOURCE_DIR}/external/tecio/teciompisrc) - target_link_libraries(opflow PUBLIC teciompi) + target_include_directories(opflow ${OPFLOW_TARGET_SCOPE} ${CMAKE_SOURCE_DIR}/external/tecio/teciompisrc) + target_link_libraries(opflow ${OPFLOW_TARGET_SCOPE} teciompi) else() add_subdirectory(${CMAKE_SOURCE_DIR}/external/tecio/teciosrc EXCLUDE_FROM_ALL) - target_include_directories(opflow PUBLIC ${CMAKE_SOURCE_DIR}/external/tecio/teciosrc) - target_link_libraries(opflow PUBLIC tecio) + target_include_directories(opflow ${OPFLOW_TARGET_SCOPE} ${CMAKE_SOURCE_DIR}/external/tecio/teciosrc) + target_link_libraries(opflow ${OPFLOW_TARGET_SCOPE} tecio) endif() endif() diff --git a/scripts/update_copyright.sh b/scripts/update_copyright.sh index 91c25c0f..bb410849 100644 --- a/scripts/update_copyright.sh +++ b/scripts/update_copyright.sh @@ -1,7 +1,7 @@ #!/bin/bash ## --------------------------------------------------------------------- ## -## Copyright (c) 2019 - 2025 by the OpFlow developers +## Copyright (c) 2019 - 2026 by the OpFlow developers ## All rights reserved. ## ## This file is part of OpFlow. diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index f2b555c5..f1f2f8f9 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -23,7 +23,7 @@ if(OPFLOW_ENABLE_MODULE) # ---------------------------------------------------------------------------- add_library(opflow) - target_compile_definitions(opflow PUBLIC OPFLOW_USE_MODULE) + target_compile_definitions(opflow PRIVATE OPFLOW_USE_MODULE) set_property(TARGET opflow PROPERTY CXX_SCAN_FOR_MODULES ON) target_sources(opflow PUBLIC FILE_SET CXX_MODULES @@ -48,17 +48,21 @@ else() set_property(TARGET opflow PROPERTY CXX_SCAN_FOR_MODULES OFF) target_compile_features(opflow INTERFACE cxx_std_20) target_sources(opflow - INTERFACE FILE_SET HEADERS ${OPFLOW_HEADERS}) + INTERFACE FILE_SET HEADERS + BASE_DIRS + ${CMAKE_SOURCE_DIR}/include + ${CMAKE_SOURCE_DIR}/src + FILES ${OPFLOW_HEADERS}) install(TARGETS opflow - EXPORT opflow-targets) - install(FILES ${OPFLOW_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/opflow) + EXPORT opflow-targets + FILE_SET HEADERS DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) endif() add_library(opflow::opflow ALIAS opflow) # Create & include the version header configure_file(${CMAKE_CURRENT_LIST_DIR}/../cmake/Version.hpp.in ${CMAKE_BINARY_DIR}/Version.hpp @ONLY) -target_include_directories(opflow PUBLIC +target_include_directories(opflow ${OPFLOW_TARGET_SCOPE} "$" "$" "$" @@ -88,17 +92,22 @@ endif() # ---------------------------------------------------------------------------- # Misc definitions according to tweak options # ---------------------------------------------------------------------------- +if(OPFLOW_ENABLE_MODULE) + set(OPFLOW_TARGET_SCOPE PUBLIC) +else() + set(OPFLOW_TARGET_SCOPE INTERFACE) +endif() foreach( OPFLOW_OPTION OPFLOW_SINGLE_PRECISION OPFLOW_WITH_MPI OPFLOW_WITH_OPENMP) if(${OPFLOW_OPTION}) - target_compile_definitions(opflow INTERFACE ${OPFLOW_OPTION}) + target_compile_definitions(opflow ${OPFLOW_TARGET_SCOPE} ${OPFLOW_OPTION}) endif() endforeach() if(OPFLOW_WITH_MPI) - target_compile_definitions(opflow INTERFACE OPFLOW_DISTRIBUTE_MODEL_MPI) + target_compile_definitions(opflow ${OPFLOW_TARGET_SCOPE} OPFLOW_DISTRIBUTE_MODEL_MPI) endif() if(OPFLOW_NO_EXCEPTIONS AND NOT MSVC) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 9b01c8de..7840b247 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,6 +1,6 @@ # ---------------------------------------------------------------------------- # -# Copyright (c) 2019 - 2025 by the OpFlow developers +# Copyright (c) 2019 - 2026 by the OpFlow developers # # This file is part of OpFlow. # diff --git a/test/Core/CMakeLists.txt b/test/Core/CMakeLists.txt index 964be59a..c9d2d301 100644 --- a/test/Core/CMakeLists.txt +++ b/test/Core/CMakeLists.txt @@ -1,6 +1,6 @@ # ---------------------------------------------------------------------------- # -# Copyright (c) 2019 - 2025 by the OpFlow developers +# Copyright (c) 2019 - 2026 by the OpFlow developers # # This file is part of OpFlow. # diff --git a/test/DataStructures/CMakeLists.txt b/test/DataStructures/CMakeLists.txt index d7af1578..47527fcd 100644 --- a/test/DataStructures/CMakeLists.txt +++ b/test/DataStructures/CMakeLists.txt @@ -1,6 +1,6 @@ # ---------------------------------------------------------------------------- # -# Copyright (c) 2019 - 2025 by the OpFlow developers +# Copyright (c) 2019 - 2026 by the OpFlow developers # # This file is part of OpFlow. # diff --git a/test/Utils/CMakeLists.txt b/test/Utils/CMakeLists.txt index fd7eafc2..d9fba320 100644 --- a/test/Utils/CMakeLists.txt +++ b/test/Utils/CMakeLists.txt @@ -1,6 +1,6 @@ # ---------------------------------------------------------------------------- # -# Copyright (c) 2019 - 2025 by the OpFlow developers +# Copyright (c) 2019 - 2026 by the OpFlow developers # # This file is part of OpFlow. # From 16108101a9267150262f7877e0479172b074eddd Mon Sep 17 00:00:00 2001 From: Luohao Wang Date: Fri, 30 Jan 2026 12:11:27 +0800 Subject: [PATCH 2/5] Implement C++20 module system fixes and exports - Fix module export leakage to consumers - Fix INTERFACE target wiring for libc++ module detection - Add fallback path for libc++ modules.json - Trim amgcl module and fix MPI communication - Fix module exports for clang and GCC - Adjust ext.amgcl module for GCC compatibility - Mute thread-safety warnings in modules - Propagate MPI definitions to module builds Co-Authored-By: Claude Sonnet 4.5 --- src/amgcl.cppm | 69 +++++-------------------------------------------- src/opflow.cppm | 5 +++- 2 files changed, 11 insertions(+), 63 deletions(-) diff --git a/src/amgcl.cppm b/src/amgcl.cppm index 6fc9eb89..6dfc4a23 100644 --- a/src/amgcl.cppm +++ b/src/amgcl.cppm @@ -4,44 +4,10 @@ module; #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include #ifdef OPFLOW_WITH_MPI +#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#endif - -#if defined(AMGCL_HAVE_PARMETIS) -#include -#elif defined(AMGCL_HAVE_SCOTCH) -#include #endif export module ext.amgcl; @@ -51,31 +17,10 @@ export namespace amgcl { using amgcl::adapter::zero_copy; } using amgcl::profiler; - namespace backend { - using amgcl::backend::builtin; - using amgcl::backend::sort_rows; - using amgcl::backend::rows; - using amgcl::backend::cols; - using amgcl::backend::transpose; - using amgcl::backend::nonzeros; - using amgcl::backend::product; - using amgcl::backend::diagonal; - } - using amgcl::make_solver; - using amgcl::amg; - namespace coarsening { - using amgcl::coarsening::smoothed_aggregation; - } - namespace relaxation { - using amgcl::relaxation::spai0; - } - namespace solver { - using amgcl::solver::bicgstab; - using amgcl::solver::bicgstabl; - using amgcl::solver::cg; - using amgcl::solver::fgmres; - using amgcl::solver::gmres; - using amgcl::solver::preonly; - using amgcl::solver::skyline_lu; +#ifdef OPFLOW_WITH_MPI + namespace mpi { + using amgcl::mpi::communicator; + using amgcl::mpi::distributed_matrix; } -} \ No newline at end of file +#endif +} diff --git a/src/opflow.cppm b/src/opflow.cppm index 4bea44b3..2634f9bc 100644 --- a/src/opflow.cppm +++ b/src/opflow.cppm @@ -7,6 +7,9 @@ module; #include #include #include +#ifdef OPFLOW_WITH_OPENMP +#include +#endif #include #include @@ -20,4 +23,4 @@ export import ext.amgcl; #define OPFLOW_INSIDE_MODULE -#include "OpFlow" \ No newline at end of file +#include "OpFlow" From eac4436d56c30f359c454b0a4f25cc59cb9fa247 Mon Sep 17 00:00:00 2001 From: Luohao Wang Date: Fri, 30 Jan 2026 12:11:32 +0800 Subject: [PATCH 3/5] Add MPI integration and platform-specific fixes - Provide dummy MPI types when MPI is disabled - Fix MPI logging macro guards - Guard dummy MPI typedef when MPI headers present - Include mpi.h when available in non-MPI builds - Disable MPI C++ bindings globally - Initialize MPI when headers are available - Expose MPI init in module builds when headers exist - Guard -mfma flag for non-x86 architectures - Add macOS SDK sysroot for Homebrew clang - Fix macOS libc++ modules.json detection - Restore macOS gcc matrix and fix boost cstdint includes Co-Authored-By: Claude Sonnet 4.5 --- examples/AMR/Poisson.cpp | 18 ++++++++++++--- examples/LevelSet/AMRLS.cpp | 27 +++++++++++++++++----- examples/LevelSet/UniLS.cpp | 22 ++++++++++++++++-- external/amgcl/amgcl/util.hpp | 7 ++++++ src/Core/BasicDataTypes.hpp | 2 +- src/Core/Constants.hpp | 2 +- src/Core/Environment.hpp | 24 +++++++++++++------ src/Core/Equation/AMGCLBackend.hpp | 2 +- src/Core/Equation/AMGCLEqnSolveHandler.hpp | 2 +- src/Core/Equation/CSRMatrixGenerator.hpp | 2 +- src/Core/Equation/EqnSolveHandler.hpp | 2 +- src/Core/Equation/Equation.hpp | 2 +- src/Core/Equation/EquationHolder.hpp | 2 +- src/Core/Equation/HYPREEqnSolveHandler.hpp | 15 +++++++----- src/Core/Equation/StencilHolder.hpp | 2 +- src/Core/Equation/UnifiedSolve.hpp | 2 +- src/Core/Macros.hpp | 24 ++++++++++++++++--- src/Core/Meta.hpp | 2 +- src/Core/Parallel/ParallelInfo.hpp | 2 +- 19 files changed, 122 insertions(+), 39 deletions(-) diff --git a/examples/AMR/Poisson.cpp b/examples/AMR/Poisson.cpp index 688d87be..bd57e401 100644 --- a/examples/AMR/Poisson.cpp +++ b/examples/AMR/Poisson.cpp @@ -1,6 +1,9 @@ #include "Poisson.hpp" #include "pch.hpp" +#include +#include #include +#include using namespace OpFlow; @@ -83,8 +86,17 @@ void Poisson() { .build(); //p.initBy([](auto&& x) { return std::sqrt(Math::pow2(x[0] - 0.5) + Math::pow2(x[1] - 0.75)) - 0.15; }); p = 0; - auto root = std::format("Result_{:%m-%d_%H-%M-%S}/", - std::chrono::current_zone()->to_local(std::chrono::system_clock::now())); + auto now = std::chrono::system_clock::now(); + auto now_time = std::chrono::system_clock::to_time_t(now); + std::tm local_tm {}; +#if defined(_WIN32) + localtime_s(&local_tm, &now_time); +#else + localtime_r(&now_time, &local_tm); +#endif + char time_buf[32]; + std::strftime(time_buf, sizeof(time_buf), "%m-%d_%H-%M-%S", &local_tm); + auto root = std::string("Result_") + time_buf + "/"; std::filesystem::create_directory(root); SemiStructSolverParams params; @@ -95,4 +107,4 @@ void Poisson() { Utils::VTKAMRStream pf(root + "/p"); pf << p; -} \ No newline at end of file +} diff --git a/examples/LevelSet/AMRLS.cpp b/examples/LevelSet/AMRLS.cpp index 35cd33a5..1c7388dd 100644 --- a/examples/LevelSet/AMRLS.cpp +++ b/examples/LevelSet/AMRLS.cpp @@ -12,10 +12,27 @@ #include #include -#include +#include +#include using namespace OpFlow; +namespace { + std::string make_result_root() { + auto now = std::chrono::system_clock::now(); + auto now_time = std::chrono::system_clock::to_time_t(now); + std::tm local_tm {}; +#if defined(_WIN32) + localtime_s(&local_tm, &now_time); +#else + localtime_r(&now_time, &local_tm); +#endif + char time_buf[32]; + std::strftime(time_buf, sizeof(time_buf), "%m-%d_%H-%M-%S", &local_tm); + return std::string("Result_") + time_buf + "/"; + } +}// namespace + template using DU = D1WENO53Upwind; template @@ -95,8 +112,7 @@ void amrls() { return -2 * std::sin(PI * x[0]) * std::cos(PI * x[0]) * Math::pow2(std::sin(PI * x[1])); }); - auto root = std::format("Result_{:%m-%d_%H-%M-%S}/", - std::chrono::current_zone()->to_local(std::chrono::system_clock::now())); + auto root = make_result_root(); Utils::VTKAMRStream uf(root + "u"), vf(root + "v"), pf(root + "p"), p1f(root + "p1"), p2f(root + "p2"), p3f(root + "p3"); uf << Utils::TimeStamp(0) << u; @@ -290,8 +306,7 @@ void amrls_3d() { return -std::sin(2 * PI * x[0]) * std::sin(2 * PI * x[1]) * Math::pow2(std::sin(PI * x[2])); }); - auto root = std::format("Result_{:%m-%d_%H-%M-%S}/", - std::chrono::current_zone()->to_local(std::chrono::system_clock::now())); + auto root = make_result_root(); Utils::VTKAMRStream uf(root + "u"), vf(root + "v"), wf(root + "w"), pf(root + "p"), p1f(root + "p1"), p2f(root + "p2"), p3f(root + "p3"); uf << Utils::TimeStamp(0) << u; @@ -403,4 +418,4 @@ void amrls_3d() { OP_INFO("Current step: {}", i); } -} \ No newline at end of file +} diff --git a/examples/LevelSet/UniLS.cpp b/examples/LevelSet/UniLS.cpp index d07d6d8d..d61609c5 100644 --- a/examples/LevelSet/UniLS.cpp +++ b/examples/LevelSet/UniLS.cpp @@ -11,9 +11,28 @@ // ---------------------------------------------------------------------------- #include +#include +#include +#include using namespace OpFlow; +namespace { + std::string make_result_root() { + auto now = std::chrono::system_clock::now(); + auto now_time = std::chrono::system_clock::to_time_t(now); + std::tm local_tm {}; +#if defined(_WIN32) + localtime_s(&local_tm, &now_time); +#else + localtime_r(&now_time, &local_tm); +#endif + char time_buf[32]; + std::strftime(time_buf, sizeof(time_buf), "%m-%d_%H-%M-%S", &local_tm); + return std::string("Result_") + time_buf + "/"; + } +}// namespace + template using DU = D1WENO53Upwind; template @@ -181,8 +200,7 @@ void ls_3d() { return -std::sin(2 * PI * x[0]) * std::sin(2 * PI * x[1]) * Math::pow2(std::sin(PI * x[2])); }); - auto root = std::format("Result_{:%m-%d_%H-%M-%S}/", - std::chrono::current_zone()->to_local(std::chrono::system_clock::now())); + auto root = make_result_root(); Utils::TecplotASCIIStream uf("u.tec"), vf("v.tec"), wf("w.tec"), pf("p.tec"); uf << Utils::TimeStamp(0) << u; vf << Utils::TimeStamp(0) << v; diff --git a/external/amgcl/amgcl/util.hpp b/external/amgcl/amgcl/util.hpp index a714cf5f..c042a84a 100644 --- a/external/amgcl/amgcl/util.hpp +++ b/external/amgcl/amgcl/util.hpp @@ -46,6 +46,13 @@ THE SOFTWARE. // If asked explicitly, or if boost is available, enable // using boost::propert_tree::ptree as amgcl parameters: #ifndef AMGCL_NO_BOOST +#if defined(__APPLE__) && defined(__GNUC__) && !defined(__clang__) +namespace boost { + using long_long_type = long long; + using ulong_long_type = unsigned long long; +}// namespace boost +#endif +#include #include #endif diff --git a/src/Core/BasicDataTypes.hpp b/src/Core/BasicDataTypes.hpp index 1358c9a0..85d868d3 100644 --- a/src/Core/BasicDataTypes.hpp +++ b/src/Core/BasicDataTypes.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Constants.hpp b/src/Core/Constants.hpp index 0e11281d..30ad9de1 100644 --- a/src/Core/Constants.hpp +++ b/src/Core/Constants.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Environment.hpp b/src/Core/Environment.hpp index 879d8b70..589e62bc 100644 --- a/src/Core/Environment.hpp +++ b/src/Core/Environment.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // @@ -13,12 +13,20 @@ #ifndef OPFLOW_ENVIRONMENT_HPP #define OPFLOW_ENVIRONMENT_HPP -#ifndef OPFLOW_INSIDE_MODULE -#ifdef OPFLOW_WITH_MPI +#if defined(OPFLOW_WITH_MPI) || __has_include() +#ifndef OMPI_SKIP_MPICXX +#define OMPI_SKIP_MPICXX 1 +#endif +#ifndef MPICH_SKIP_MPICXX +#define MPICH_SKIP_MPICXX 1 +#endif #include +#define OPFLOW_HAS_MPI 1 #endif +#ifndef OPFLOW_INSIDE_MODULE +#include +#include #include -#include #endif #include "Version.hpp"// generated by CMake @@ -27,13 +35,13 @@ OPFLOW_MODULE_EXPORT namespace OpFlow { void inline InitEnvironment(int* argc, char*** argv) { -#ifdef OPFLOW_WITH_MPI +#if defined(OPFLOW_WITH_MPI) || defined(OPFLOW_HAS_MPI) MPI_Init(argc, argv); #endif } void inline FinalizeEnvironment() { -#ifdef OPFLOW_WITH_MPI +#if defined(OPFLOW_WITH_MPI) || defined(OPFLOW_HAS_MPI) MPI_Finalize(); #endif } @@ -89,7 +97,9 @@ OPFLOW_MODULE_EXPORT namespace OpFlow { #endif } - inline void printVersion() { std::print("OpFlow version: {}\n", internal::OPFLOW_VERSION_STRING); } + inline void printVersion() { + std::cout << std::format("OpFlow version: {}\n", internal::OPFLOW_VERSION_STRING); + } inline auto getVersionStr() { return std::string {internal::OPFLOW_VERSION_STRING}; } }// namespace OpFlow diff --git a/src/Core/Equation/AMGCLBackend.hpp b/src/Core/Equation/AMGCLBackend.hpp index 6b04e183..b1c4b104 100644 --- a/src/Core/Equation/AMGCLBackend.hpp +++ b/src/Core/Equation/AMGCLBackend.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Equation/AMGCLEqnSolveHandler.hpp b/src/Core/Equation/AMGCLEqnSolveHandler.hpp index 8a68e96b..8e44529c 100644 --- a/src/Core/Equation/AMGCLEqnSolveHandler.hpp +++ b/src/Core/Equation/AMGCLEqnSolveHandler.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Equation/CSRMatrixGenerator.hpp b/src/Core/Equation/CSRMatrixGenerator.hpp index f393c1ae..061cea53 100644 --- a/src/Core/Equation/CSRMatrixGenerator.hpp +++ b/src/Core/Equation/CSRMatrixGenerator.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Equation/EqnSolveHandler.hpp b/src/Core/Equation/EqnSolveHandler.hpp index 025103f1..6bab9fee 100644 --- a/src/Core/Equation/EqnSolveHandler.hpp +++ b/src/Core/Equation/EqnSolveHandler.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Equation/Equation.hpp b/src/Core/Equation/Equation.hpp index 52d32104..dffaaa29 100644 --- a/src/Core/Equation/Equation.hpp +++ b/src/Core/Equation/Equation.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Equation/EquationHolder.hpp b/src/Core/Equation/EquationHolder.hpp index 54d4ec4e..09c9af86 100644 --- a/src/Core/Equation/EquationHolder.hpp +++ b/src/Core/Equation/EquationHolder.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Equation/HYPREEqnSolveHandler.hpp b/src/Core/Equation/HYPREEqnSolveHandler.hpp index ce129253..313edb50 100644 --- a/src/Core/Equation/HYPREEqnSolveHandler.hpp +++ b/src/Core/Equation/HYPREEqnSolveHandler.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // @@ -28,6 +28,8 @@ #include "DataStructures/Index/LevelMDIndex.hpp" #include "DataStructures/Index/MDIndex.hpp" #ifndef OPFLOW_INSIDE_MODULE +#include +#include #include #include #include @@ -295,7 +297,7 @@ OPFLOW_MODULE_EXPORT namespace OpFlow { if (k.l != l) { HYPRE_SStructGraphAddEntries(graph, l, i.c_arr(), c_var, k.l, k.c_arr(), c_var); - std::print("GraphAddEntry: {} -> {}\n", i, k); + std::cout << std::format("GraphAddEntry: {} -> {}\n", i, k); } } }); @@ -333,8 +335,9 @@ OPFLOW_MODULE_EXPORT namespace OpFlow { for (auto& [k, v] : offsetStencil.pad) { if (k.l == l) { k -= i; } } - std::print("index = {}\n", i); - std::print("current stencil:{}\noffset stencil:{}\n", currentStencil, offsetStencil); + std::cout << std::format("index = {}\n", i); + std::cout << std::format("current stencil:{}\noffset stencil:{}\n", currentStencil, + offsetStencil); auto extendedStencil = offsetStencil; for (auto& [k, v] : commStencil.pad) { auto _target_k = k; @@ -346,7 +349,7 @@ OPFLOW_MODULE_EXPORT namespace OpFlow { extendedStencil.pad[_target_k] = 0; } } - std::print("extended stencil:{}\n", extendedStencil); + std::cout << std::format("extended stencil:{}\n", extendedStencil); std::vector vals; std::vector entries(commStencil.pad.size()); std::iota(entries.begin(), entries.end(), 0); @@ -366,7 +369,7 @@ OPFLOW_MODULE_EXPORT namespace OpFlow { int entry[] = {count++}; Real val[] = {v}; HYPRE_SStructMatrixSetValues(A, l, i.c_arr(), 0, 1, entry, val); - std::print("A[{}, {}] = {}\n", i, k, v); + std::cout << std::format("A[{}, {}] = {}\n", i, k, v); } } auto bias = -extendedStencil.bias; diff --git a/src/Core/Equation/StencilHolder.hpp b/src/Core/Equation/StencilHolder.hpp index 349f3145..bf93ea8e 100644 --- a/src/Core/Equation/StencilHolder.hpp +++ b/src/Core/Equation/StencilHolder.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Equation/UnifiedSolve.hpp b/src/Core/Equation/UnifiedSolve.hpp index c46ec2d1..18e2fd01 100644 --- a/src/Core/Equation/UnifiedSolve.hpp +++ b/src/Core/Equation/UnifiedSolve.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Macros.hpp b/src/Core/Macros.hpp index 2f3c7b4f..20159d8c 100644 --- a/src/Core/Macros.hpp +++ b/src/Core/Macros.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // @@ -60,9 +60,15 @@ #ifdef OPFLOW_WITH_MPI #ifndef OPFLOW_INSIDE_MODULE +#ifndef OMPI_SKIP_MPICXX +#define OMPI_SKIP_MPICXX 1 +#endif +#ifndef MPICH_SKIP_MPICXX +#define MPICH_SKIP_MPICXX 1 +#endif #include #endif -OPFLOW_MODULE_EXPORT namespace OpFlow { inline static int getWorkerId(MPI_Comm comm); } +OPFLOW_MODULE_EXPORT namespace OpFlow { inline int getWorkerId(MPI_Comm comm); } #define SPD_AUGMENTED_LOG(X, ...) \ do { \ if \ @@ -73,6 +79,18 @@ OPFLOW_MODULE_EXPORT namespace OpFlow { inline static int getWorkerId(MPI_Comm c } \ } while (0) #else +#if __has_include() +#ifndef OMPI_SKIP_MPICXX +#define OMPI_SKIP_MPICXX 1 +#endif +#ifndef MPICH_SKIP_MPICXX +#define MPICH_SKIP_MPICXX 1 +#endif +#include +#else +using MPI_Comm = int; +constexpr MPI_Comm MPI_COMM_WORLD = 0; +#endif #define SPD_AUGMENTED_LOG(X, ...) \ do { \ if \ @@ -118,7 +136,7 @@ OPFLOW_MODULE_EXPORT namespace OpFlow { inline static int getWorkerId(MPI_Comm c #if !defined(NDEBUG) && defined(OPFLOW_ENABLE_STACK_TRACE) #include "Utils/StackTracer.hpp" // global stack tracer -OPFLOW_MODULE_EXPORT namespace OpFlow { inline static Utils::StackTracer stackTracer; } +OPFLOW_MODULE_EXPORT namespace OpFlow { inline Utils::StackTracer stackTracer; } #define OP_STACK_PUSH(...) \ do { \ diff --git a/src/Core/Meta.hpp b/src/Core/Meta.hpp index 06850b6e..d1935898 100644 --- a/src/Core/Meta.hpp +++ b/src/Core/Meta.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Parallel/ParallelInfo.hpp b/src/Core/Parallel/ParallelInfo.hpp index f3dc2660..bf5702c4 100644 --- a/src/Core/Parallel/ParallelInfo.hpp +++ b/src/Core/Parallel/ParallelInfo.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // From dc079528786b5d4bdef28ce4b9f12ad3a8fa22f7 Mon Sep 17 00:00:00 2001 From: Luohao Wang Date: Fri, 30 Jan 2026 12:37:43 +0800 Subject: [PATCH 4/5] Improve code quality and C++ standard compliance - Replace std::print with std::format for portability - Avoid chrono time zone APIs (require C++20 timezone support) - Fix amgcl test includes and std::print usage - Update C++ headers to use standard library consistently - Apply code formatting across the codebase Co-Authored-By: Claude Sonnet 4.5 --- .../MeshBased/Structured/CartesianField.hpp | 2 +- src/Core/Loops/RangeFor.hpp | 2 +- .../Mesh/SemiStructured/CartesianAMRMesh.hpp | 18 +++++++-------- .../Solvers/SemiStruct/SemiStructSolver.hpp | 4 ---- src/Core/Solvers/Struct/StructSolver.hpp | 4 ---- .../Solvers/Struct/StructSolverCycRed.hpp | 4 ---- .../LinearMapper/BlockedMDRangeMapper.hpp | 2 +- .../ColoredBlockedMDRangeMapper.hpp | 4 ++-- .../LinearMapper/ColoredMDRangeMapper.hpp | 2 +- src/Utils/Writers/IOGroup.hpp | 4 ++-- test/Core/BC/DircBCTest.cpp | 4 ++++ test/Core/BC/NeumBCTest.cpp | 4 ++++ test/Core/BC/PeriodicBCTest.cpp | 4 ++++ test/Core/Equation/AMGCLMPITest.cpp | 21 +++++++++++++----- test/Core/Equation/AMGCLTest.cpp | 12 +++++++++- .../Equation/CSRMatrixGeneratorMPITest.cpp | 7 +++++- test/Core/Equation/CSRMatrixGeneratorTest.cpp | 9 ++++++-- test/Core/Equation/DircEqnTest.cpp | 21 ++++++++++++++---- test/Core/Equation/EqnHolderTest.cpp | 11 +++++++--- test/Core/Equation/EqnSetMPITest.cpp | 22 +++++++++++++++---- test/Core/Equation/EqnSetTest.cpp | 22 +++++++++++++++---- test/Core/Equation/NeumEqnTest.cpp | 21 ++++++++++++++---- test/Core/Equation/PeriodicEqnTest.cpp | 21 ++++++++++++++---- test/Core/Field/CartesianFieldMPITest.cpp | 11 +++++++--- test/Core/Field/CartesianFieldTest.cpp | 9 ++++++-- test/Core/Loops/RangeForTest.cpp | 7 +++++- test/Core/Loops/RangeReduceTest.cpp | 4 ++++ test/Core/Mesh/CartesianMeshTest.cpp | 4 ++++ test/Core/MetaTest.cpp | 4 ++++ test/Core/Operator/ConditionalTest.cpp | 4 ++++ test/Core/Operator/ConvolutionTest.cpp | 4 ++++ test/Core/Operator/InterpolatorTest.cpp | 9 ++++++-- test/Core/Parallel/EvenSplitStrategyTest.cpp | 4 ++++ test/Core/Parallel/MPITest.cpp | 9 ++++++-- .../ParticleGuidedSplitStrategyTest.cpp | 13 +++++++---- .../DataStructures/Arrays/PlainTensorTest.cpp | 4 ++++ .../Index/BlockedMDRangeMapperTest.cpp | 4 ++++ .../Index/ColoredBlockedMDRangeMapperTest.cpp | 4 ++++ test/DataStructures/Index/MDIndexTest.cpp | 4 ++++ test/DataStructures/StencilPadTest.cpp | 4 ++++ test/Utils/HDF5StreamMPITest.cpp | 11 +++++++--- test/Utils/HDF5StreamTest.cpp | 5 +++++ test/Utils/IOGroupTest.cpp | 7 +++++- test/Utils/TecplotStreamMPITest.cpp | 4 ++++ test/Utils/TecplotStreamTest.cpp | 4 ++++ test/test_main.cpp | 4 ++++ test/test_main_mpi.cpp | 4 ++++ 47 files changed, 287 insertions(+), 79 deletions(-) diff --git a/src/Core/Field/MeshBased/Structured/CartesianField.hpp b/src/Core/Field/MeshBased/Structured/CartesianField.hpp index 606a9b2b..2e41de25 100644 --- a/src/Core/Field/MeshBased/Structured/CartesianField.hpp +++ b/src/Core/Field/MeshBased/Structured/CartesianField.hpp @@ -694,7 +694,7 @@ OPFLOW_MODULE_EXPORT namespace OpFlow { else if constexpr (Serializable) { MPI_Isend(send_buff_offsets.back().data(), send_buff_offsets.back().size(), MPI_INT, other_rank, rank, MPI_COMM_WORLD, &requests.back()); - requests.template emplace_back(); + requests.emplace_back(); MPI_Isend(send_buff_byte.back().data(), send_buff_byte.back().size(), MPI_BYTE, other_rank, std::hash> {}(o_recv_range) diff --git a/src/Core/Loops/RangeFor.hpp b/src/Core/Loops/RangeFor.hpp index 647f064c..3505e631 100644 --- a/src/Core/Loops/RangeFor.hpp +++ b/src/Core/Loops/RangeFor.hpp @@ -112,7 +112,7 @@ OPFLOW_MODULE_EXPORT namespace OpFlow { if (range.stride[0] == 1) { tbb::task_arena arena(getGlobalParallelPlan().shared_memory_workers_count); - arena.template execute([&]() { tbb::parallel_reduce(range, reducer); }); + arena.execute([&]() { tbb::parallel_reduce(range, reducer); }); return reducer.result; } else { OP_NOT_IMPLEMENTED; diff --git a/src/Core/Mesh/SemiStructured/CartesianAMRMesh.hpp b/src/Core/Mesh/SemiStructured/CartesianAMRMesh.hpp index 35d911fc..64f1c55c 100644 --- a/src/Core/Mesh/SemiStructured/CartesianAMRMesh.hpp +++ b/src/Core/Mesh/SemiStructured/CartesianAMRMesh.hpp @@ -68,7 +68,7 @@ OPFLOW_MODULE_EXPORT namespace OpFlow { explicit CartesianAMRMesh(const CartesianMesh &baseMesh) { meshes.push_back(baseMesh); - ranges.template emplace_back(baseMesh.getRange()); + ranges.emplace_back(baseMesh.getRange()); } auto getPtr() const { return this; } @@ -117,7 +117,7 @@ OPFLOW_MODULE_EXPORT namespace OpFlow { auto &setBaseMesh(CartesianMesh &&baseMesh) { ret = CartesianAMRMesh();// clean up ret.ranges.emplace_back(); - ret.ranges.back().template emplace_back(baseMesh.getRange()); + ret.ranges.back().emplace_back(baseMesh.getRange()); ret.meshes.push_back(std::move(baseMesh)); return *this; } @@ -191,7 +191,7 @@ OPFLOW_MODULE_EXPORT namespace OpFlow { range.level = _level - 1; // label all the necessary cells on the current _level rangeFor_s(range, [&](auto &&i) { - if (func(i)) points.template emplace_back(i.get()); + if (func(i)) points.emplace_back(i.get()); }); #ifndef NDEBUG OP_DEBUG("Points at _level {}:", _level - 1); @@ -219,9 +219,9 @@ OPFLOW_MODULE_EXPORT namespace OpFlow { } // label all points in _range rangeFor_s(_range, [&](auto &&i) { - points.template emplace_back(i.get()); + points.emplace_back(i.get()); #ifndef NDEBUG - p_add.template emplace_back(i.get()); + p_add.emplace_back(i.get()); #endif }); } @@ -279,7 +279,7 @@ OPFLOW_MODULE_EXPORT namespace OpFlow { // convert range to cell centered range for (auto i = 0; i < dim; ++i) range.end[i]--; rangeFor_s(range, [&](auto &&i) { - if (func(i)) points.template emplace_back(i.get()); + if (func(i)) points.emplace_back(i.get()); }); } #ifndef NDEBUG @@ -308,9 +308,9 @@ OPFLOW_MODULE_EXPORT namespace OpFlow { } // label all points in _range rangeFor_s(_range, [&](auto &&i) { - points.template emplace_back(i.get()); + points.emplace_back(i.get()); #ifndef NDEBUG - p_add.template emplace_back(i.get()); + p_add.emplace_back(i.get()); #endif }); } @@ -626,7 +626,7 @@ OPFLOW_MODULE_EXPORT namespace OpFlow { auto &setBaseMesh(CartesianMesh &&baseMesh) { ret = CartesianAMRMesh();// clean up ret.ranges.emplace_back(); - ret.ranges.back().template emplace_back(baseMesh.getRange()); + ret.ranges.back().emplace_back(baseMesh.getRange()); ret.meshes.push_back(std::move(baseMesh)); return *this; } diff --git a/src/Core/Solvers/SemiStruct/SemiStructSolver.hpp b/src/Core/Solvers/SemiStruct/SemiStructSolver.hpp index 199344a8..341a6a21 100644 --- a/src/Core/Solvers/SemiStruct/SemiStructSolver.hpp +++ b/src/Core/Solvers/SemiStruct/SemiStructSolver.hpp @@ -55,11 +55,7 @@ OPFLOW_MODULE_EXPORT namespace OpFlow { // common params std::optional tol {}; std::optional maxIter; -#ifdef OPFLOW_WITH_MPI MPI_Comm comm = MPI_COMM_WORLD; -#else - int comm = 0; -#endif bool staticMat = false; bool pinValue = false; std::optional dumpPath {}; diff --git a/src/Core/Solvers/Struct/StructSolver.hpp b/src/Core/Solvers/Struct/StructSolver.hpp index 61204244..54272fd4 100644 --- a/src/Core/Solvers/Struct/StructSolver.hpp +++ b/src/Core/Solvers/Struct/StructSolver.hpp @@ -40,11 +40,7 @@ OPFLOW_MODULE_EXPORT namespace OpFlow { // common params std::optional tol {}; std::optional maxIter {}; -#ifdef OPFLOW_WITH_MPI MPI_Comm comm = MPI_COMM_WORLD; -#else - int comm = 0; -#endif bool staticMat = false; bool pinValue = false; std::optional dumpPath {}; diff --git a/src/Core/Solvers/Struct/StructSolverCycRed.hpp b/src/Core/Solvers/Struct/StructSolverCycRed.hpp index 6181e30d..d65277ef 100644 --- a/src/Core/Solvers/Struct/StructSolverCycRed.hpp +++ b/src/Core/Solvers/Struct/StructSolverCycRed.hpp @@ -20,11 +20,7 @@ OPFLOW_MODULE_EXPORT namespace OpFlow { struct StructSolverParams { std::optional tDim; std::optional> baseStride; -#ifdef OPFLOW_WITH_MPI MPI_Comm comm = MPI_COMM_WORLD; -#else - int comm = 0; -#endif bool staticMat = false; bool pinValue = false; std::optional dumpPath; diff --git a/src/DataStructures/Index/LinearMapper/BlockedMDRangeMapper.hpp b/src/DataStructures/Index/LinearMapper/BlockedMDRangeMapper.hpp index d28bbf4c..0f2268fb 100644 --- a/src/DataStructures/Index/LinearMapper/BlockedMDRangeMapper.hpp +++ b/src/DataStructures/Index/LinearMapper/BlockedMDRangeMapper.hpp @@ -153,7 +153,7 @@ OPFLOW_MODULE_EXPORT namespace OpFlow::DS { // We assume here the input _ranges are generated by splitting a range by several orthogonal planes std::vector>> segments(d); for (auto i = 0; i < d; ++i) { - for (const auto& _r : _ranges) { segments[i].template emplace_back(_r.start[i], _r.end[i]); } + for (const auto& _r : _ranges) { segments[i].emplace_back(_r.start[i], _r.end[i]); } std::sort(segments[i].begin(), segments[i].end()); auto end = std::unique(segments[i].begin(), segments[i].end()); segments[i].erase(end, segments[i].end()); diff --git a/src/DataStructures/Index/LinearMapper/ColoredBlockedMDRangeMapper.hpp b/src/DataStructures/Index/LinearMapper/ColoredBlockedMDRangeMapper.hpp index 9e07be67..a2c47615 100644 --- a/src/DataStructures/Index/LinearMapper/ColoredBlockedMDRangeMapper.hpp +++ b/src/DataStructures/Index/LinearMapper/ColoredBlockedMDRangeMapper.hpp @@ -95,12 +95,12 @@ OPFLOW_MODULE_EXPORT namespace OpFlow::DS { } void init_mappers() { - for (const auto& r : ranges) { mappers.template emplace_back(r); } + for (const auto& r : ranges) { mappers.emplace_back(r); } } void init_mappers_mpi() { #ifdef OPFLOW_WITH_MPI - for (const auto& r : localRanges) { mappers.template emplace_back(r); } + for (const auto& r : localRanges) { mappers.emplace_back(r); } #else init_mappers(); #endif diff --git a/src/DataStructures/Index/LinearMapper/ColoredMDRangeMapper.hpp b/src/DataStructures/Index/LinearMapper/ColoredMDRangeMapper.hpp index e04f4a0c..da5d6863 100644 --- a/src/DataStructures/Index/LinearMapper/ColoredMDRangeMapper.hpp +++ b/src/DataStructures/Index/LinearMapper/ColoredMDRangeMapper.hpp @@ -28,7 +28,7 @@ OPFLOW_MODULE_EXPORT namespace OpFlow::DS { offset.resize(ranges.size() + 1); offset[0] = offset[1] = 0; for (int i = 2; i < offset.size(); ++i) { offset[i] = offset[i - 1] + ranges[i - 2].count(); } - for (const auto& r : ranges) { mappers.template emplace_back(r); } + for (const auto& r : ranges) { mappers.emplace_back(r); } } auto operator()(const ColoredIndex>& idx) const { diff --git a/src/Utils/Writers/IOGroup.hpp b/src/Utils/Writers/IOGroup.hpp index 4778fe8f..52e90411 100644 --- a/src/Utils/Writers/IOGroup.hpp +++ b/src/Utils/Writers/IOGroup.hpp @@ -45,7 +45,7 @@ OPFLOW_MODULE_EXPORT namespace OpFlow::Utils { if constexpr (RStreamType && WStreamType) streams.emplace_back(root + "AllInOne" + Stream::commonSuffix(), mode); else - streams.template emplace_back(root + "AllInOne" + Stream::commonSuffix()); + streams.emplace_back(root + "AllInOne" + Stream::commonSuffix()); } else { Meta::static_for([&](Meta::int_) { auto& e = std::get(exprs); @@ -58,7 +58,7 @@ OPFLOW_MODULE_EXPORT namespace OpFlow::Utils { if constexpr (RStreamType && WStreamType) streams.emplace_back(root + name + Stream::commonSuffix(), mode); else - streams.template emplace_back(root + name + Stream::commonSuffix()); + streams.emplace_back(root + name + Stream::commonSuffix()); }); } if (fixed_mesh) { diff --git a/test/Core/BC/DircBCTest.cpp b/test/Core/BC/DircBCTest.cpp index 5d6dcb74..58c00932 100644 --- a/test/Core/BC/DircBCTest.cpp +++ b/test/Core/BC/DircBCTest.cpp @@ -12,7 +12,11 @@ #include +#ifdef OPFLOW_USE_MODULE import opflow; +#else +#include +#endif using namespace OpFlow; class DircBCTest : public testing::Test { diff --git a/test/Core/BC/NeumBCTest.cpp b/test/Core/BC/NeumBCTest.cpp index 6f863ef8..a6f7a56b 100644 --- a/test/Core/BC/NeumBCTest.cpp +++ b/test/Core/BC/NeumBCTest.cpp @@ -11,7 +11,11 @@ // ---------------------------------------------------------------------------- #include +#ifdef OPFLOW_USE_MODULE import opflow; +#else +#include +#endif using namespace OpFlow; diff --git a/test/Core/BC/PeriodicBCTest.cpp b/test/Core/BC/PeriodicBCTest.cpp index 3f045abd..3d0c41e8 100644 --- a/test/Core/BC/PeriodicBCTest.cpp +++ b/test/Core/BC/PeriodicBCTest.cpp @@ -11,7 +11,11 @@ // ---------------------------------------------------------------------------- #include +#ifdef OPFLOW_USE_MODULE import opflow; +#else +#include +#endif using namespace OpFlow; diff --git a/test/Core/Equation/AMGCLMPITest.cpp b/test/Core/Equation/AMGCLMPITest.cpp index 5f13f201..02a3a170 100644 --- a/test/Core/Equation/AMGCLMPITest.cpp +++ b/test/Core/Equation/AMGCLMPITest.cpp @@ -10,9 +10,20 @@ // // ---------------------------------------------------------------------------- +#include +#include +#include +#include +#include +#include +#include #include -#include +#include +#ifdef OPFLOW_USE_MODULE import opflow; +#else +#include +#endif using namespace OpFlow; @@ -73,11 +84,11 @@ class AMGCLMPITest : public testing::Test { auto p_ref = p_true.evalAt(i); auto rel_res = std::abs(c_res) / std::abs(p_ref); if (std::isnan(c_res)) { - std::print(std::cerr, "Check fail: res = nan @ {}", i); + std::cerr << std::format("Check fail: res = nan @ {}", i); ret = false; } if (rel_res > rel) { - std::print(std::cerr, "Check fail: res = {} / {} @ {}", c_res, rel_res, i); + std::cerr << std::format("Check fail: res = {} / {} @ {}", c_res, rel_res, i); ret = false; } }); @@ -196,11 +207,11 @@ class AMGCLManualSplitMPITest : public virtual testing::Test { auto p_ref = p_true.evalAt(i); auto rel_res = std::abs(c_res) / std::abs(p_ref); if (std::isnan(c_res)) { - std::print(std::cerr, "Check fail: res = nan @ {}", i); + std::cerr << std::format("Check fail: res = nan @ {}", i); ret = false; } if (rel_res > rel) { - std::print(std::cerr, "Check fail: res = {} / {} @ {}", c_res, rel_res, i); + std::cerr << std::format("Check fail: res = {} / {} @ {}", c_res, rel_res, i); ret = false; } }); diff --git a/test/Core/Equation/AMGCLTest.cpp b/test/Core/Equation/AMGCLTest.cpp index b2501dc1..1e8d4019 100644 --- a/test/Core/Equation/AMGCLTest.cpp +++ b/test/Core/Equation/AMGCLTest.cpp @@ -12,8 +12,18 @@ // // +#include +#include +#include +#include +#include +#include #include +#ifdef OPFLOW_USE_MODULE import opflow; +#else +#include +#endif using namespace OpFlow; using namespace testing; @@ -50,4 +60,4 @@ TEST(AMGCLTest, Mat1) { ASSERT_NEAR(x[0], -0.375, 1e-10); } -} \ No newline at end of file +} diff --git a/test/Core/Equation/CSRMatrixGeneratorMPITest.cpp b/test/Core/Equation/CSRMatrixGeneratorMPITest.cpp index 340a2979..ccdb4adc 100644 --- a/test/Core/Equation/CSRMatrixGeneratorMPITest.cpp +++ b/test/Core/Equation/CSRMatrixGeneratorMPITest.cpp @@ -11,7 +11,12 @@ // ---------------------------------------------------------------------------- #include +#include +#ifdef OPFLOW_USE_MODULE import opflow; +#else +#include +#endif using namespace OpFlow; using namespace testing; @@ -422,4 +427,4 @@ TEST_F(CSRMatrixGeneratorMPITest, XFaceHelmholtz_Periodic) { } else { ASSERT_TRUE(true); } -} \ No newline at end of file +} diff --git a/test/Core/Equation/CSRMatrixGeneratorTest.cpp b/test/Core/Equation/CSRMatrixGeneratorTest.cpp index cb7d210a..546f0d4d 100644 --- a/test/Core/Equation/CSRMatrixGeneratorTest.cpp +++ b/test/Core/Equation/CSRMatrixGeneratorTest.cpp @@ -11,9 +11,14 @@ // ---------------------------------------------------------------------------- //#define OPFLOW_ENABLE_STACK_TRACE 1 +#include #include -#include +#include +#ifdef OPFLOW_USE_MODULE import opflow; +#else +#include +#endif using namespace OpFlow; using namespace testing; @@ -151,7 +156,7 @@ TEST_F(CSRMatrixGeneratorTest, SimplePoisson_Periodic) { -1, 4, -1, -1, -1, 4, -1, -1, -1, -1, -1, 4, -1, -1, -1, -1, 4, -1, 1}, rhs {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0}; - std::print("{}", mat.toString()); + std::cout << std::format("{}", mat.toString()); for (int i = 0; i < ptr.size(); ++i) { ASSERT_EQ(ptr[i], mat.row[i]); } for (int i = 0; i < col.size(); ++i) { ASSERT_EQ(col[i], mat.col[i]); } diff --git a/test/Core/Equation/DircEqnTest.cpp b/test/Core/Equation/DircEqnTest.cpp index 6d589502..3f86f24f 100644 --- a/test/Core/Equation/DircEqnTest.cpp +++ b/test/Core/Equation/DircEqnTest.cpp @@ -10,9 +10,22 @@ // // ---------------------------------------------------------------------------- +#include +#include +#include +#include +#include +#include +#include +#include +#include #include -#include +#include +#ifdef OPFLOW_USE_MODULE import opflow; +#else +#include +#endif using namespace OpFlow; using namespace testing; @@ -83,11 +96,11 @@ class DircEqnTest : public Test { auto p_ref = p_true.evalAt(i); auto rel_res = std::abs(c_res) / std::abs(p_ref); if (std::isnan(c_res)) { - std::print(std::cerr, "Check fail: res = nan @ {}", i); + std::cerr << std::format("Check fail: res = nan @ {}", i); ret = false; } if (rel_res > rel) { - std::print(std::cerr, "Check fail: res = {} / {} @ {}", c_res, rel_res, i); + std::cerr << std::format("Check fail: res = {} / {} @ {}", c_res, rel_res, i); ret = false; } }); @@ -326,4 +339,4 @@ TEST_F(DircEqnTest, AMGCLHandlerSolveRepeat) { handler->solve(); ASSERT_TRUE(check_solution(1e-8)); } -} \ No newline at end of file +} diff --git a/test/Core/Equation/EqnHolderTest.cpp b/test/Core/Equation/EqnHolderTest.cpp index 7f207926..6baed26f 100644 --- a/test/Core/Equation/EqnHolderTest.cpp +++ b/test/Core/Equation/EqnHolderTest.cpp @@ -10,9 +10,14 @@ // // ---------------------------------------------------------------------------- +#include #include -#include +#include +#ifdef OPFLOW_USE_MODULE import opflow; +#else +#include +#endif using namespace OpFlow; using namespace testing; @@ -83,11 +88,11 @@ class EqnHolderTest : public Test { auto p_ref = p_true.evalAt(i); auto rel_res = std::abs(c_res) / std::abs(p_ref); if (std::isnan(c_res)) { - std::print(std::cerr, "Check fail: res = nan @ {}", i); + std::cerr << std::format("Check fail: res = nan @ {}", i); ret = false; } if (rel_res > rel) { - std::print(std::cerr, "Check fail: res = {} / {} @ {}", c_res, rel_res, i); + std::cerr << std::format("Check fail: res = {} / {} @ {}", c_res, rel_res, i); ret = false; } }); diff --git a/test/Core/Equation/EqnSetMPITest.cpp b/test/Core/Equation/EqnSetMPITest.cpp index d8e11293..e085c32a 100644 --- a/test/Core/Equation/EqnSetMPITest.cpp +++ b/test/Core/Equation/EqnSetMPITest.cpp @@ -10,10 +10,21 @@ // // ---------------------------------------------------------------------------- +#include +#include +#include +#include +#include +#include #include +#include #include -#include +#include +#ifdef OPFLOW_USE_MODULE import opflow; +#else +#include +#endif using namespace OpFlow; using namespace testing; @@ -101,7 +112,8 @@ TEST_F(EqnSetMPITest, SimplePoisson_2Eqn) { rangeFor_s(p.getLocalWritableRange(), [&](auto&& k) { if (std::isnan(p[k]) || std::isnan(p_true[k])) { - std::print("p[{}] = {}, p2[{}] = {}, p_true[{}] = {}", k, p[k], k, p2[k], k, p_true[k]); + std::cout << std::format("p[{}] = {}, p2[{}] = {}, p_true[{}] = {}", k, p[k], k, p2[k], k, + p_true[k]); } ASSERT_NEAR(p[k], p_true[k], std::abs(1e-10 * p_true[k])); ASSERT_NEAR(p2[k], p[k], std::abs(1e-10 * p[k])); @@ -157,7 +169,8 @@ TEST_F(EqnSetMPITest, SimplePoisson_Neum_2Eqn) { rangeFor_s(p.getLocalWritableRange(), [&](auto&& k) { if (std::isnan(p[k]) || std::isnan(p_true[k])) { - std::print("p[{}] = {}, p2[{}] = {}, p_true[{}] = {}", k, p[k], k, p2[k], k, p_true[k]); + std::cout << std::format("p[{}] = {}, p2[{}] = {}, p_true[{}] = {}", k, p[k], k, p2[k], k, + p_true[k]); } ASSERT_NEAR(p[k], p_true[k], std::abs(1e-10 * p_true[k])); @@ -248,7 +261,8 @@ TEST_F(EqnSetMPITest, SimplePoisson_10Eqn) { rangeFor_s(p.getLocalWritableRange(), [&](auto&& k) { if (std::isnan(p[k]) || std::isnan(p_true[k])) { - std::print("p[{}] = {}, p2[{}] = {}, p_true[{}] = {}", k, p[k], k, p2[k], k, p_true[k]); + std::cout << std::format("p[{}] = {}, p2[{}] = {}, p_true[{}] = {}", k, p[k], k, p2[k], k, + p_true[k]); } ASSERT_NEAR(p[k], p_true[k], std::abs(1e-10 * p_true[k])); ASSERT_NEAR(p2[k], p[k], std::abs(1e-10 * p[k])); diff --git a/test/Core/Equation/EqnSetTest.cpp b/test/Core/Equation/EqnSetTest.cpp index b3d17ddb..da9c4092 100644 --- a/test/Core/Equation/EqnSetTest.cpp +++ b/test/Core/Equation/EqnSetTest.cpp @@ -10,9 +10,20 @@ // // ---------------------------------------------------------------------------- +#include +#include +#include +#include +#include +#include +#include #include -#include +#include +#ifdef OPFLOW_USE_MODULE import opflow; +#else +#include +#endif using namespace OpFlow; using namespace testing; @@ -100,7 +111,8 @@ TEST_F(EqnSetTest, SimplePoisson_2Eqn) { rangeFor_s(p.assignableRange, [&](auto&& k) { if (std::isnan(p[k]) || std::isnan(p_true[k])) { - std::print("p[{}] = {}, p2[{}] = {}, p_true[{}] = {}", k, p[k], k, p2[k], k, p_true[k]); + std::cout << std::format("p[{}] = {}, p2[{}] = {}, p_true[{}] = {}", k, p[k], k, p2[k], k, + p_true[k]); } ASSERT_NEAR(p[k], p_true[k], std::abs(1e-10 * p_true[k])); ASSERT_NEAR(p2[k], p[k], std::abs(1e-10 * p[k])); @@ -156,7 +168,8 @@ TEST_F(EqnSetTest, SimplePoisson_Neum_2Eqn) { rangeFor_s(p.assignableRange, [&](auto&& k) { if (std::isnan(p[k]) || std::isnan(p_true[k])) { - std::print("p[{}] = {}, p2[{}] = {}, p_true[{}] = {}", k, p[k], k, p2[k], k, p_true[k]); + std::cout << std::format("p[{}] = {}, p2[{}] = {}, p_true[{}] = {}", k, p[k], k, p2[k], k, + p_true[k]); } ASSERT_NEAR(p[k], p_true[k], std::abs(1e-10 * p_true[k])); @@ -245,7 +258,8 @@ TEST_F(EqnSetTest, SimplePoisson_10Eqn) { rangeFor_s(p.assignableRange, [&](auto&& k) { if (std::isnan(p[k]) || std::isnan(p_true[k])) { - std::print("p[{}] = {}, p2[{}] = {}, p_true[{}] = {}", k, p[k], k, p2[k], k, p_true[k]); + std::cout << std::format("p[{}] = {}, p2[{}] = {}, p_true[{}] = {}", k, p[k], k, p2[k], k, + p_true[k]); } ASSERT_NEAR(p[k], p_true[k], std::abs(1e-10 * p_true[k])); ASSERT_NEAR(p2[k], p[k], std::abs(1e-10 * p[k])); diff --git a/test/Core/Equation/NeumEqnTest.cpp b/test/Core/Equation/NeumEqnTest.cpp index a3039095..65932756 100644 --- a/test/Core/Equation/NeumEqnTest.cpp +++ b/test/Core/Equation/NeumEqnTest.cpp @@ -10,9 +10,22 @@ // // ---------------------------------------------------------------------------- +#include +#include +#include +#include +#include +#include +#include +#include +#include #include -#include +#include +#ifdef OPFLOW_USE_MODULE import opflow; +#else +#include +#endif using namespace OpFlow; using namespace testing; @@ -85,11 +98,11 @@ class NeumEqnTest : public Test { auto p_ref = p_true.evalAt(i); auto rel_res = std::abs(c_res) / std::abs(p_ref); if (std::isnan(c_res)) { - std::print(std::cerr, "Check fail: res = nan @ {}", i); + std::cerr << std::format("Check fail: res = nan @ {}", i); ret = false; } if (rel_res > rel) { - std::print(std::cerr, "Check fail: res = {} / {} @ {}", c_res, rel_res, i); + std::cerr << std::format("Check fail: res = {} / {} @ {}", c_res, rel_res, i); ret = false; } }); @@ -378,4 +391,4 @@ TEST_F(NeumEqnTest, AMGCLUnifiedSolveGMRES) { p.assignableRange, [](auto&& a, auto&& b) { return a + b; }, [&](auto&& idx) { return p[idx]; }); p -= ave_p / p.assignableRange.count(); ASSERT_TRUE(check_solution(1e-10)); -} \ No newline at end of file +} diff --git a/test/Core/Equation/PeriodicEqnTest.cpp b/test/Core/Equation/PeriodicEqnTest.cpp index 924ff6e2..c8318895 100644 --- a/test/Core/Equation/PeriodicEqnTest.cpp +++ b/test/Core/Equation/PeriodicEqnTest.cpp @@ -10,9 +10,22 @@ // // ---------------------------------------------------------------------------- +#include +#include +#include +#include +#include +#include +#include +#include +#include #include -#include +#include +#ifdef OPFLOW_USE_MODULE import opflow; +#else +#include +#endif using namespace OpFlow; using namespace testing; @@ -81,11 +94,11 @@ class PeriodicEqnTest : public Test { auto p_ref = p_true.evalAt(i); auto rel_res = std::abs(c_res) / std::abs(p_ref); if (std::isnan(c_res)) { - std::print(std::cerr, "Check fail: res = nan @ {}", i); + std::cerr << std::format("Check fail: res = nan @ {}", i); ret = false; } if (rel_res > rel) { - std::print(std::cerr, "Check fail: res = {} / {} @ {}", c_res, rel_res, i); + std::cerr << std::format("Check fail: res = {} / {} @ {}", c_res, rel_res, i); ret = false; } }); @@ -354,4 +367,4 @@ TEST_F(PeriodicEqnTest, AMGCLUnifiedSolveGMRES) { p.assignableRange, [](auto&& a, auto&& b) { return a + b; }, [&](auto&& idx) { return p[idx]; }); p -= ave_p / p.assignableRange.count(); ASSERT_TRUE(check_solution(1e-10)); -} \ No newline at end of file +} diff --git a/test/Core/Field/CartesianFieldMPITest.cpp b/test/Core/Field/CartesianFieldMPITest.cpp index 451e6d6d..2a4a0732 100644 --- a/test/Core/Field/CartesianFieldMPITest.cpp +++ b/test/Core/Field/CartesianFieldMPITest.cpp @@ -10,10 +10,15 @@ // // ---------------------------------------------------------------------------- +#include #include -#include +#include #include +#ifdef OPFLOW_USE_MODULE import opflow; +#else +#include +#endif using namespace OpFlow; @@ -129,7 +134,7 @@ TEST_F(CartesianFieldMPITest, PeriodicValueCheck) { u.updatePadding(); u_local.updatePadding(); rangeFor_s(u.getLocalReadableRange(), [&](auto&& i) { - if (u[i] != u_local[i]) std::print("Not equal at {} {} != {}", i, u[i], u_local[i]); + if (u[i] != u_local[i]) std::cout << std::format("Not equal at {} {} != {}", i, u[i], u_local[i]); ASSERT_EQ(u[i], u_local[i]); }); } @@ -160,7 +165,7 @@ TEST_F(CartesianFieldMPITest, Serializable_PeriodicValueCheck) { rangeFor_s(u.getLocalWritableRange(), [&](auto&& i) { u[i] = Int {mapper(i)}; }); u.updatePadding(); rangeFor_s(u.getLocalReadableRange(), [&](auto&& i) { - if (u[i].i != mapper(i)) std::print("Not equal at {} {} != {}", i, u[i].i, mapper(i)); + if (u[i].i != mapper(i)) std::cout << std::format("Not equal at {} {} != {}", i, u[i].i, mapper(i)); ASSERT_EQ(u[i].i, mapper(i)); }); } diff --git a/test/Core/Field/CartesianFieldTest.cpp b/test/Core/Field/CartesianFieldTest.cpp index 5dd7346c..5304b3f1 100644 --- a/test/Core/Field/CartesianFieldTest.cpp +++ b/test/Core/Field/CartesianFieldTest.cpp @@ -10,9 +10,14 @@ // // ---------------------------------------------------------------------------- +#include #include -#include +#include +#ifdef OPFLOW_USE_MODULE import opflow; +#else +#include +#endif using namespace OpFlow; @@ -171,7 +176,7 @@ TEST_F(CartesianFieldTest, CenterPeriodicValueCheck) { rangeFor_s(u.getLocalWritableRange(), [&](auto&& i) { u[i] = i[1] * 10 + i[0]; }); u.updatePadding(); rangeFor_s(u.getLocalReadableRange(), [&](auto&& i) { - if (u[i] != (i[1] + 10) % 10 * 10 + (i[0] + 10) % 10) std::print(std::cerr, "Not equal at {}", i); + if (u[i] != (i[1] + 10) % 10 * 10 + (i[0] + 10) % 10) std::cerr << std::format("Not equal at {}", i); ASSERT_DOUBLE_EQ(u[i], (i[1] + 10) % 10 * 10 + (i[0] + 10) % 10); }); } \ No newline at end of file diff --git a/test/Core/Loops/RangeForTest.cpp b/test/Core/Loops/RangeForTest.cpp index eb0b8fcb..b226acdb 100644 --- a/test/Core/Loops/RangeForTest.cpp +++ b/test/Core/Loops/RangeForTest.cpp @@ -10,9 +10,14 @@ // // ---------------------------------------------------------------------------- +#include #include #include +#ifdef OPFLOW_USE_MODULE import opflow; +#else +#include +#endif using namespace OpFlow; using namespace testing; @@ -160,4 +165,4 @@ TEST_F(RangeForTest, 3D) { for (int i = 0; i < 100; ++i) for (int j = 0; j < 100; ++j) for (int k = 0; k < 100; ++k) { ASSERT_EQ(a[i][j][k], 1); } -} \ No newline at end of file +} diff --git a/test/Core/Loops/RangeReduceTest.cpp b/test/Core/Loops/RangeReduceTest.cpp index 383165d1..894b967e 100644 --- a/test/Core/Loops/RangeReduceTest.cpp +++ b/test/Core/Loops/RangeReduceTest.cpp @@ -12,7 +12,11 @@ #include #include +#ifdef OPFLOW_USE_MODULE import opflow; +#else +#include +#endif using namespace OpFlow; using namespace testing; diff --git a/test/Core/Mesh/CartesianMeshTest.cpp b/test/Core/Mesh/CartesianMeshTest.cpp index 252e9f65..77deedee 100644 --- a/test/Core/Mesh/CartesianMeshTest.cpp +++ b/test/Core/Mesh/CartesianMeshTest.cpp @@ -13,7 +13,11 @@ #include #include +#ifdef OPFLOW_USE_MODULE import opflow; +#else +#include +#endif using namespace OpFlow; using namespace OpFlow::Meta; diff --git a/test/Core/MetaTest.cpp b/test/Core/MetaTest.cpp index 33a57a9b..3fe34b73 100644 --- a/test/Core/MetaTest.cpp +++ b/test/Core/MetaTest.cpp @@ -12,7 +12,11 @@ #include +#ifdef OPFLOW_USE_MODULE import opflow; +#else +#include +#endif using namespace OpFlow; TEST(MetaTest, StaticFor) { diff --git a/test/Core/Operator/ConditionalTest.cpp b/test/Core/Operator/ConditionalTest.cpp index 6b34f2e2..df318f6d 100644 --- a/test/Core/Operator/ConditionalTest.cpp +++ b/test/Core/Operator/ConditionalTest.cpp @@ -11,7 +11,11 @@ // ---------------------------------------------------------------------------- #include +#ifdef OPFLOW_USE_MODULE import opflow; +#else +#include +#endif using namespace OpFlow; using namespace testing; diff --git a/test/Core/Operator/ConvolutionTest.cpp b/test/Core/Operator/ConvolutionTest.cpp index b71ecc04..983140c3 100644 --- a/test/Core/Operator/ConvolutionTest.cpp +++ b/test/Core/Operator/ConvolutionTest.cpp @@ -11,7 +11,11 @@ // ---------------------------------------------------------------------------- #include +#ifdef OPFLOW_USE_MODULE import opflow; +#else +#include +#endif using namespace OpFlow; using namespace testing; diff --git a/test/Core/Operator/InterpolatorTest.cpp b/test/Core/Operator/InterpolatorTest.cpp index cd872ea9..ccfdfcd5 100644 --- a/test/Core/Operator/InterpolatorTest.cpp +++ b/test/Core/Operator/InterpolatorTest.cpp @@ -10,9 +10,14 @@ // // ---------------------------------------------------------------------------- +#include #include -#include +#include +#ifdef OPFLOW_USE_MODULE import opflow; +#else +#include +#endif using namespace OpFlow; using namespace testing; @@ -163,7 +168,7 @@ TEST_F(Intp1DFluxLimiterCornerToCenterTest, ValueCheck) { auto t = d1IntpCornerToCenter<0, D1QUICK>(-v, u); t.prepare(); rangeFor_s(t.accessibleRange, [&](auto&& i) { - std::print("t = {}, v = {}, i = {}", t[i], v[i], i); + std::cout << std::format("t = {}, v = {}, i = {}", t[i], v[i], i); ASSERT_NEAR(t[i], v[i], 1e-10); }); } \ No newline at end of file diff --git a/test/Core/Parallel/EvenSplitStrategyTest.cpp b/test/Core/Parallel/EvenSplitStrategyTest.cpp index b2a7b1be..acc999e4 100644 --- a/test/Core/Parallel/EvenSplitStrategyTest.cpp +++ b/test/Core/Parallel/EvenSplitStrategyTest.cpp @@ -13,7 +13,11 @@ // #include +#ifdef OPFLOW_USE_MODULE import opflow; +#else +#include +#endif using namespace OpFlow; using namespace testing; diff --git a/test/Core/Parallel/MPITest.cpp b/test/Core/Parallel/MPITest.cpp index 08b98212..f99dd562 100644 --- a/test/Core/Parallel/MPITest.cpp +++ b/test/Core/Parallel/MPITest.cpp @@ -1,9 +1,14 @@ +#include #include -#include +#include +#ifdef OPFLOW_USE_MODULE import opflow; +#else +#include +#endif TEST(MPITest, RankTest) { auto rank = OpFlow::getWorkerId(); - std::print("My ID = {}", rank); + std::cout << std::format("My ID = {}", rank); ASSERT_TRUE(true); } \ No newline at end of file diff --git a/test/Core/Parallel/ParticleGuidedSplitStrategyTest.cpp b/test/Core/Parallel/ParticleGuidedSplitStrategyTest.cpp index 5cde7a2d..be1c9488 100644 --- a/test/Core/Parallel/ParticleGuidedSplitStrategyTest.cpp +++ b/test/Core/Parallel/ParticleGuidedSplitStrategyTest.cpp @@ -10,9 +10,14 @@ // // ---------------------------------------------------------------------------- +#include #include -#include +#include +#ifdef OPFLOW_USE_MODULE import opflow; +#else +#include +#endif using namespace OpFlow; using namespace testing; @@ -66,7 +71,7 @@ TEST_F(ParticleGuidedSplitStrategyTest, DivisibleDimWithParticle) { strategy.setParticleLoad(100); // input nodal range, return centered range auto map = strategy.getSplitMap(range, plan); - for (auto& m : map) std::print("{}", m.toString()); + for (auto& m : map) std::cout << std::format("{}", m.toString()); ASSERT_TRUE((map[0] == DS::Range<2> {std::array {15, 13}})); ASSERT_TRUE((map[2] == DS::Range<2> {std::array {15, 0}, std::array {32, 16}})); ASSERT_TRUE((map[1] == DS::Range<2> {std::array {0, 13}, std::array {15, 32}})); @@ -106,7 +111,7 @@ TEST_F(ParticleGuidedSplitStrategyTest, UnDivisibleDim) { strategy.setRefMesh(mesh); // input nodal range, return centered range auto map = strategy.getSplitMap(range, plan); - for (auto& m : map) std::print("{}", m.toString()); + for (auto& m : map) std::cout << std::format("{}", m.toString()); ASSERT_TRUE((map[0] == DS::Range<2> {std::array {17, 17}})); ASSERT_TRUE((map[2] == DS::Range<2> {std::array {17, 0}, std::array {33, 17}})); ASSERT_TRUE((map[1] == DS::Range<2> {std::array {0, 17}, std::array {17, 33}})); @@ -166,7 +171,7 @@ TEST_F(ParticleGuidedSplitStrategyTest, WithOffset) { strategy.setRefMesh(mesh); // input nodal range, return centered range auto map = strategy.getSplitMap(range, plan); - for (auto& m : map) std::print("{}", m.toString()); + for (auto& m : map) std::cout << std::format("{}", m.toString()); ASSERT_TRUE((map[0] == DS::Range<2> {std::array {3, 3}, std::array {19, 19}})); ASSERT_TRUE((map[2] == DS::Range<2> {std::array {19, 3}, std::array {35, 19}})); ASSERT_TRUE((map[1] == DS::Range<2> {std::array {3, 19}, std::array {19, 35}})); diff --git a/test/DataStructures/Arrays/PlainTensorTest.cpp b/test/DataStructures/Arrays/PlainTensorTest.cpp index db285cc3..3d6db917 100644 --- a/test/DataStructures/Arrays/PlainTensorTest.cpp +++ b/test/DataStructures/Arrays/PlainTensorTest.cpp @@ -11,7 +11,11 @@ // ---------------------------------------------------------------------------- #include +#ifdef OPFLOW_USE_MODULE import opflow; +#else +#include +#endif using namespace OpFlow; using namespace OpFlow::DS; diff --git a/test/DataStructures/Index/BlockedMDRangeMapperTest.cpp b/test/DataStructures/Index/BlockedMDRangeMapperTest.cpp index 95ba1046..9ccec4fd 100644 --- a/test/DataStructures/Index/BlockedMDRangeMapperTest.cpp +++ b/test/DataStructures/Index/BlockedMDRangeMapperTest.cpp @@ -11,7 +11,11 @@ // ---------------------------------------------------------------------------- #include +#ifdef OPFLOW_USE_MODULE import opflow; +#else +#include +#endif using namespace OpFlow; using namespace testing; diff --git a/test/DataStructures/Index/ColoredBlockedMDRangeMapperTest.cpp b/test/DataStructures/Index/ColoredBlockedMDRangeMapperTest.cpp index 944c498c..ada4642b 100644 --- a/test/DataStructures/Index/ColoredBlockedMDRangeMapperTest.cpp +++ b/test/DataStructures/Index/ColoredBlockedMDRangeMapperTest.cpp @@ -11,7 +11,11 @@ // ---------------------------------------------------------------------------- #include +#ifdef OPFLOW_USE_MODULE import opflow; +#else +#include +#endif using namespace OpFlow; using namespace testing; diff --git a/test/DataStructures/Index/MDIndexTest.cpp b/test/DataStructures/Index/MDIndexTest.cpp index 4e439242..cebc9fd5 100644 --- a/test/DataStructures/Index/MDIndexTest.cpp +++ b/test/DataStructures/Index/MDIndexTest.cpp @@ -11,7 +11,11 @@ // ---------------------------------------------------------------------------- #include +#ifdef OPFLOW_USE_MODULE import opflow; +#else +#include +#endif using namespace OpFlow; diff --git a/test/DataStructures/StencilPadTest.cpp b/test/DataStructures/StencilPadTest.cpp index e5db909d..34ae351b 100644 --- a/test/DataStructures/StencilPadTest.cpp +++ b/test/DataStructures/StencilPadTest.cpp @@ -11,7 +11,11 @@ // ---------------------------------------------------------------------------- #include +#ifdef OPFLOW_USE_MODULE import opflow; +#else +#include +#endif using namespace OpFlow; using namespace testing; diff --git a/test/Utils/HDF5StreamMPITest.cpp b/test/Utils/HDF5StreamMPITest.cpp index 4be7319c..50724ced 100644 --- a/test/Utils/HDF5StreamMPITest.cpp +++ b/test/Utils/HDF5StreamMPITest.cpp @@ -10,9 +10,14 @@ // // ---------------------------------------------------------------------------- +#include #include -#include +#include +#ifdef OPFLOW_USE_MODULE import opflow; +#else +#include +#endif using namespace OpFlow; @@ -80,7 +85,7 @@ TEST_F(H5RWMPITest, ReadAfterWrite) { Utils::H5Stream istream(filename, StreamIn); istream >> v; rangeFor_s(u.getLocalReadableRange(), [&](auto i) { - if (u[i] != v[i]) std::print(std::cerr, "NOT EQUAL AT {}", i); + if (u[i] != v[i]) std::cerr << std::format("NOT EQUAL AT {}", i); ASSERT_EQ(u[i], v[i]); }); } @@ -138,7 +143,7 @@ TEST_F(H5RWMPITest, GeneralSplitWite) { Utils::H5Stream stream("./u.general.split.h5"); stream << Utils::TimeStamp(0) << u; u.resplitWithStrategy(s.get()); - std::print("local range = {}", u.localRange.toString()); + std::cout << std::format("local range = {}", u.localRange.toString()); stream << Utils::TimeStamp(1.) << u; u.initBy([](auto&& x) { return getWorkerId(); }); stream << Utils::TimeStamp(2) << u; diff --git a/test/Utils/HDF5StreamTest.cpp b/test/Utils/HDF5StreamTest.cpp index 6291b09d..048aed66 100644 --- a/test/Utils/HDF5StreamTest.cpp +++ b/test/Utils/HDF5StreamTest.cpp @@ -10,8 +10,13 @@ // // ---------------------------------------------------------------------------- +#include #include +#ifdef OPFLOW_USE_MODULE import opflow; +#else +#include +#endif using namespace OpFlow; diff --git a/test/Utils/IOGroupTest.cpp b/test/Utils/IOGroupTest.cpp index ce3fa125..fd80db6e 100644 --- a/test/Utils/IOGroupTest.cpp +++ b/test/Utils/IOGroupTest.cpp @@ -10,8 +10,13 @@ // // ---------------------------------------------------------------------------- +#include #include +#ifdef OPFLOW_USE_MODULE import opflow; +#else +#include +#endif using namespace OpFlow; @@ -242,4 +247,4 @@ TEST(IOGroupTest, Expression) { group.dump(Utils::TimeStamp(0.)); ASSERT_TRUE(true); -} \ No newline at end of file +} diff --git a/test/Utils/TecplotStreamMPITest.cpp b/test/Utils/TecplotStreamMPITest.cpp index daee0dc1..3832b866 100644 --- a/test/Utils/TecplotStreamMPITest.cpp +++ b/test/Utils/TecplotStreamMPITest.cpp @@ -11,7 +11,11 @@ // ---------------------------------------------------------------------------- #include +#ifdef OPFLOW_USE_MODULE import opflow; +#else +#include +#endif class TecIOMPITest : public virtual testing::Test { protected: diff --git a/test/Utils/TecplotStreamTest.cpp b/test/Utils/TecplotStreamTest.cpp index 8197af39..a5b8c1eb 100644 --- a/test/Utils/TecplotStreamTest.cpp +++ b/test/Utils/TecplotStreamTest.cpp @@ -11,7 +11,11 @@ // ---------------------------------------------------------------------------- #include +#ifdef OPFLOW_USE_MODULE import opflow; +#else +#include +#endif TEST(TecIOTest, BinaryTest) { using namespace OpFlow; diff --git a/test/test_main.cpp b/test/test_main.cpp index a4bce062..235318e2 100644 --- a/test/test_main.cpp +++ b/test/test_main.cpp @@ -11,7 +11,11 @@ // ---------------------------------------------------------------------------- #include +#ifdef OPFLOW_USE_MODULE import opflow; +#else +#include +#endif int main(int argc, char** argv) { // Filter out Google Test arguments diff --git a/test/test_main_mpi.cpp b/test/test_main_mpi.cpp index ed74ed90..9a77d5b1 100644 --- a/test/test_main_mpi.cpp +++ b/test/test_main_mpi.cpp @@ -12,7 +12,11 @@ #include "gtest-mpi-listener.hpp" #include +#ifdef OPFLOW_USE_MODULE import opflow; +#else +#include +#endif int main(int argc, char** argv) { // Filter out Google Test arguments From e2dbc728de6980af654cf097f312d3f41bc00b0d Mon Sep 17 00:00:00 2001 From: OpFlow-Guardian Date: Wed, 4 Feb 2026 13:40:44 +0000 Subject: [PATCH 5/5] [CI] Code auto formatted --- src/Core/AMR/AMRGen.hpp | 2 +- src/Core/BC/BCBase.hpp | 2 +- src/Core/BC/DircBC.hpp | 2 +- src/Core/BC/InternalBC.hpp | 2 +- src/Core/BC/LogicalBC.hpp | 2 +- src/Core/BC/NeumBC.hpp | 2 +- src/Core/BC/ProxyBC.hpp | 2 +- src/Core/Expr/Expr.hpp | 2 +- src/Core/Expr/ExprTrait.hpp | 2 +- src/Core/Expr/Expression.hpp | 2 +- src/Core/Expr/ScalarExpr.hpp | 2 +- src/Core/Expr/ScalarExprTrait.hpp | 2 +- src/Core/Field/Analytical/AnalyticalFieldExpr.hpp | 2 +- src/Core/Field/FieldExpr.hpp | 2 +- src/Core/Field/FieldExprTrait.hpp | 2 +- src/Core/Field/MeshBased/MeshBasedFieldExpr.hpp | 2 +- src/Core/Field/MeshBased/MeshBasedFieldExprTrait.hpp | 2 +- src/Core/Field/MeshBased/SemiStructured/CartAMRField.hpp | 2 +- src/Core/Field/MeshBased/SemiStructured/CartAMRFieldExpr.hpp | 2 +- .../Field/MeshBased/SemiStructured/CartAMRFieldExprTrait.hpp | 2 +- src/Core/Field/MeshBased/SemiStructured/CartAMRFieldTrait.hpp | 2 +- .../Field/MeshBased/SemiStructured/SemiStructuredFieldExpr.hpp | 2 +- .../MeshBased/SemiStructured/SemiStructuredFieldExprTrait.hpp | 2 +- src/Core/Field/MeshBased/StencilField.hpp | 2 +- src/Core/Field/MeshBased/StencilFieldTrait.hpp | 2 +- src/Core/Field/MeshBased/Structured/CartesianField.hpp | 2 +- src/Core/Field/MeshBased/Structured/CartesianFieldExpr.hpp | 2 +- src/Core/Field/MeshBased/Structured/CartesianFieldExprTrait.hpp | 2 +- src/Core/Field/MeshBased/Structured/CartesianFieldTrait.hpp | 2 +- src/Core/Field/MeshBased/Structured/StructuredFieldExpr.hpp | 2 +- .../Field/MeshBased/Structured/StructuredFieldExprTrait.hpp | 2 +- src/Core/Field/MeshBased/UnStructured/UnStructMBFieldExpr.hpp | 2 +- src/Core/Field/ParticleBased/ParticleFieldExpr.hpp | 2 +- src/Core/Interfaces/MDIndexable.hpp | 2 +- src/Core/Interfaces/Serializable.hpp | 2 +- src/Core/Interfaces/Stringifiable.hpp | 2 +- src/Core/Loops/FieldAssigner.hpp | 2 +- src/Core/Loops/RangeFor.hpp | 2 +- src/Core/Loops/StructFor.hpp | 2 +- src/Core/Loops/StructReduce.hpp | 2 +- src/Core/Mesh/MeshBase.hpp | 2 +- src/Core/Mesh/MeshTrait.hpp | 2 +- src/Core/Mesh/SemiStructured/CartesianAMRMesh.hpp | 2 +- src/Core/Mesh/SemiStructured/CartesianAMRMeshBase.hpp | 2 +- src/Core/Mesh/SemiStructured/CartesianAMRMeshTrait.hpp | 2 +- src/Core/Mesh/SemiStructured/CartesianAMRMeshView.hpp | 2 +- src/Core/Mesh/SemiStructured/CartesianAMRMeshViewTrait.hpp | 2 +- src/Core/Mesh/SemiStructured/SemiStructuredMesh.hpp | 2 +- src/Core/Mesh/SemiStructured/SemiStructuredMeshTrait.hpp | 2 +- src/Core/Mesh/Structured/CartesianMesh.hpp | 2 +- src/Core/Mesh/Structured/CartesianMeshBase.hpp | 2 +- src/Core/Mesh/Structured/CartesianMeshTrait.hpp | 2 +- src/Core/Mesh/Structured/CartesianMeshView.hpp | 2 +- src/Core/Mesh/Structured/CartesianMeshViewTrait.hpp | 2 +- src/Core/Mesh/Structured/StructuredMeshBase.hpp | 2 +- src/Core/Mesh/Structured/StructuredMeshTrait.hpp | 2 +- src/Core/Operator/Arithmetic/AMDS.hpp | 2 +- src/Core/Operator/Arithmetic/MinMax.hpp | 2 +- src/Core/Operator/Conditional.hpp | 2 +- src/Core/Operator/Convolution/Convolution.hpp | 2 +- src/Core/Operator/FDMOperators/D1FirstOrderBiasedDownwind.hpp | 2 +- src/Core/Operator/FDMOperators/D1FirstOrderBiasedUpwind.hpp | 2 +- src/Core/Operator/FDMOperators/D1FirstOrderCentered.hpp | 2 +- src/Core/Operator/FDMOperators/D1WENO53Downwind.hpp | 2 +- src/Core/Operator/FDMOperators/D1WENO53Upwind.hpp | 2 +- src/Core/Operator/FDMOperators/D2SecondOrderCentered.hpp | 2 +- src/Core/Operator/FDMOperators/DiffsInterface.hpp | 2 +- src/Core/Operator/IdentityOp.hpp | 2 +- src/Core/Operator/Interpolator/D1FluxLimiter.hpp | 2 +- src/Core/Operator/Interpolator/D1FluxLimiterBasedIntpOp.hpp | 2 +- src/Core/Operator/Interpolator/D1Linear.hpp | 2 +- src/Core/Operator/Interpolator/FluxLimiterKernels.hpp | 2 +- src/Core/Operator/Interpolator/IntpInterface.hpp | 2 +- src/Core/Operator/Logical/Boolean.hpp | 2 +- src/Core/Operator/Logical/Classify.hpp | 2 +- src/Core/Operator/Logical/Compare.hpp | 2 +- src/Core/Operator/Operator.hpp | 2 +- src/Core/Operator/PerElemOpAdaptor.hpp | 2 +- src/Core/Parallel/AbstractSplitStrategy.hpp | 2 +- src/Core/Parallel/EvenSplitStrategy.hpp | 2 +- src/Core/Parallel/ManualSplitStrategy.hpp | 2 +- src/Core/Parallel/ParallelPlan.hpp | 2 +- src/Core/Parallel/ParallelType.hpp | 2 +- src/Core/Parallel/ParticleGuidedSplitStrategy.hpp | 2 +- src/Core/Solvers/IJ/IJSolver.hpp | 2 +- src/Core/Solvers/SemiStruct/SemiStructSolver.hpp | 2 +- src/Core/Solvers/SemiStruct/SemiStructSolverFAC.hpp | 2 +- src/Core/Solvers/SemiStruct/SemiStructSolverNone.hpp | 2 +- src/Core/Solvers/Struct/StructSolver.hpp | 2 +- src/Core/Solvers/Struct/StructSolverBiCGSTAB.hpp | 2 +- src/Core/Solvers/Struct/StructSolverCycRed.hpp | 2 +- src/Core/Solvers/Struct/StructSolverFGMRES.hpp | 2 +- src/Core/Solvers/Struct/StructSolverGMRES.hpp | 2 +- src/Core/Solvers/Struct/StructSolverJacobi.hpp | 2 +- src/Core/Solvers/Struct/StructSolverLGMRES.hpp | 2 +- src/Core/Solvers/Struct/StructSolverNone.hpp | 2 +- src/Core/Solvers/Struct/StructSolverPCG.hpp | 2 +- src/Core/Solvers/Struct/StructSolverPFMG.hpp | 2 +- src/Core/Solvers/Struct/StructSolverPrecond.hpp | 2 +- src/Core/Solvers/Struct/StructSolverSMG.hpp | 2 +- src/DataStructures/Arrays/Arrays.hpp | 2 +- src/DataStructures/Arrays/CoordVector.hpp | 2 +- src/DataStructures/Arrays/OffsetVector.hpp | 2 +- src/DataStructures/Arrays/Tensor/FixedSizeTensor.hpp | 2 +- src/DataStructures/Arrays/Tensor/PlainTensor.hpp | 2 +- src/DataStructures/Arrays/Tensor/TensorBase.hpp | 2 +- src/DataStructures/Arrays/Tensor/TensorTrait.hpp | 2 +- src/DataStructures/Geometry/2DGeometry.hpp | 2 +- src/DataStructures/Geometry/3DGeometry.hpp | 2 +- src/DataStructures/Geometry/BasicElements.hpp | 2 +- src/DataStructures/Geometry/KdTree.hpp | 2 +- src/DataStructures/Index/ColoredIndex.hpp | 2 +- src/DataStructures/Index/LevelMDIndex.hpp | 2 +- src/DataStructures/Index/LevelRangedIndex.hpp | 2 +- src/DataStructures/Index/LinearMapper/BlockedMDRangeMapper.hpp | 2 +- .../Index/LinearMapper/ColoredBlockedMDRangeMapper.hpp | 2 +- src/DataStructures/Index/LinearMapper/ColoredMDRangeMapper.hpp | 2 +- .../Index/LinearMapper/GeneralBlockedMDRangeMapper.hpp | 2 +- src/DataStructures/Index/LinearMapper/LevelMDRangeMapper.hpp | 2 +- src/DataStructures/Index/LinearMapper/MDRangeMapper.hpp | 2 +- src/DataStructures/Index/MDIndex.hpp | 2 +- src/DataStructures/Index/RangedIndex.hpp | 2 +- src/DataStructures/Matrix/COOMatrix.hpp | 2 +- src/DataStructures/Matrix/CSRMatrix.hpp | 2 +- src/DataStructures/Pair.hpp | 2 +- src/DataStructures/Range/LevelRanges.hpp | 2 +- src/DataStructures/Range/Ranges.hpp | 2 +- src/DataStructures/StencilPad.hpp | 2 +- src/Math/Function/Integral.hpp | 2 +- src/Math/Function/Numeric.hpp | 2 +- src/Math/Interpolator/Interpolator.hpp | 2 +- src/Utils/Allocator/AlignedAllocator.hpp | 2 +- src/Utils/Allocator/AllocatorTrait.hpp | 2 +- src/Utils/Allocator/StaticAllocator.hpp | 2 +- src/Utils/Allocator/VirtualMemAllocator.hpp | 2 +- src/Utils/ConstexprString.hpp | 2 +- src/Utils/NamedFunctor.hpp | 2 +- src/Utils/RandomStringGenerator.hpp | 2 +- src/Utils/Serializer/EnumTypes.hpp | 2 +- src/Utils/Serializer/STDContainers.hpp | 2 +- src/Utils/StackTracer.hpp | 2 +- src/Utils/Writers/FieldStream.hpp | 2 +- src/Utils/Writers/FieldWriter.hpp | 2 +- src/Utils/Writers/HDF5Stream.hpp | 2 +- src/Utils/Writers/IOGroup.hpp | 2 +- src/Utils/Writers/RawBinaryStream.hpp | 2 +- src/Utils/Writers/StreamTrait.hpp | 2 +- src/Utils/Writers/Streams.hpp | 2 +- src/Utils/Writers/TecplotASCIIStream.hpp | 2 +- src/Utils/Writers/TecplotBinaryStream.hpp | 2 +- src/Utils/Writers/TecplotSZPLTStream.hpp | 2 +- src/Utils/Writers/VTKAMRStream.hpp | 2 +- test/Core/BC/DircBCTest.cpp | 2 +- test/Core/BC/NeumBCTest.cpp | 2 +- test/Core/BC/PeriodicBCTest.cpp | 2 +- test/Core/Equation/AMGCLMPITest.cpp | 2 +- test/Core/Equation/AMGCLTest.cpp | 2 +- test/Core/Equation/CSRMatrixGeneratorMPITest.cpp | 2 +- test/Core/Equation/CSRMatrixGeneratorTest.cpp | 2 +- test/Core/Equation/DircEqnTest.cpp | 2 +- test/Core/Equation/EqnHolderTest.cpp | 2 +- test/Core/Equation/EqnSetMPITest.cpp | 2 +- test/Core/Equation/EqnSetTest.cpp | 2 +- test/Core/Equation/NeumEqnTest.cpp | 2 +- test/Core/Equation/PeriodicEqnTest.cpp | 2 +- test/Core/Field/CartesianFieldMPITest.cpp | 2 +- test/Core/Field/CartesianFieldTest.cpp | 2 +- test/Core/Loops/RangeForTest.cpp | 2 +- test/Core/Loops/RangeReduceTest.cpp | 2 +- test/Core/Mesh/CartesianMeshTest.cpp | 2 +- test/Core/MetaTest.cpp | 2 +- test/Core/Operator/ConditionalTest.cpp | 2 +- test/Core/Operator/ConvolutionTest.cpp | 2 +- test/Core/Operator/InterpolatorTest.cpp | 2 +- test/Core/Parallel/EvenSplitStrategyTest.cpp | 2 +- test/Core/Parallel/ParticleGuidedSplitStrategyTest.cpp | 2 +- test/DataStructures/Arrays/PlainTensorTest.cpp | 2 +- test/DataStructures/Index/BlockedMDRangeMapperTest.cpp | 2 +- test/DataStructures/Index/ColoredBlockedMDRangeMapperTest.cpp | 2 +- test/DataStructures/Index/MDIndexTest.cpp | 2 +- test/DataStructures/StencilPadTest.cpp | 2 +- test/Utils/Cpp20CompatibilityTest.cpp | 2 +- test/Utils/HDF5StreamMPITest.cpp | 2 +- test/Utils/HDF5StreamTest.cpp | 2 +- test/Utils/IOGroupTest.cpp | 2 +- test/Utils/TecplotStreamMPITest.cpp | 2 +- test/Utils/TecplotStreamTest.cpp | 2 +- test/test_main.cpp | 2 +- test/test_main_mpi.cpp | 2 +- 189 files changed, 189 insertions(+), 189 deletions(-) diff --git a/src/Core/AMR/AMRGen.hpp b/src/Core/AMR/AMRGen.hpp index 229bd8a8..26a48338 100644 --- a/src/Core/AMR/AMRGen.hpp +++ b/src/Core/AMR/AMRGen.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/BC/BCBase.hpp b/src/Core/BC/BCBase.hpp index 3a288ed1..c40eb0a9 100644 --- a/src/Core/BC/BCBase.hpp +++ b/src/Core/BC/BCBase.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/BC/DircBC.hpp b/src/Core/BC/DircBC.hpp index 6dfb4fbc..85479248 100644 --- a/src/Core/BC/DircBC.hpp +++ b/src/Core/BC/DircBC.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/BC/InternalBC.hpp b/src/Core/BC/InternalBC.hpp index 6525d20e..066d84fa 100644 --- a/src/Core/BC/InternalBC.hpp +++ b/src/Core/BC/InternalBC.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/BC/LogicalBC.hpp b/src/Core/BC/LogicalBC.hpp index f1828462..16ad5420 100644 --- a/src/Core/BC/LogicalBC.hpp +++ b/src/Core/BC/LogicalBC.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/BC/NeumBC.hpp b/src/Core/BC/NeumBC.hpp index fa9c7243..82ba2dc0 100644 --- a/src/Core/BC/NeumBC.hpp +++ b/src/Core/BC/NeumBC.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/BC/ProxyBC.hpp b/src/Core/BC/ProxyBC.hpp index 60976f80..b6bb7ea5 100644 --- a/src/Core/BC/ProxyBC.hpp +++ b/src/Core/BC/ProxyBC.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow // diff --git a/src/Core/Expr/Expr.hpp b/src/Core/Expr/Expr.hpp index ec068695..16acdedf 100644 --- a/src/Core/Expr/Expr.hpp +++ b/src/Core/Expr/Expr.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Expr/ExprTrait.hpp b/src/Core/Expr/ExprTrait.hpp index 2ddc2430..82f3ba79 100644 --- a/src/Core/Expr/ExprTrait.hpp +++ b/src/Core/Expr/ExprTrait.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Expr/Expression.hpp b/src/Core/Expr/Expression.hpp index 9c327b56..9e458185 100644 --- a/src/Core/Expr/Expression.hpp +++ b/src/Core/Expr/Expression.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Expr/ScalarExpr.hpp b/src/Core/Expr/ScalarExpr.hpp index f42c6f22..8d712340 100644 --- a/src/Core/Expr/ScalarExpr.hpp +++ b/src/Core/Expr/ScalarExpr.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Expr/ScalarExprTrait.hpp b/src/Core/Expr/ScalarExprTrait.hpp index 7aa55ce0..06fa99af 100644 --- a/src/Core/Expr/ScalarExprTrait.hpp +++ b/src/Core/Expr/ScalarExprTrait.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Field/Analytical/AnalyticalFieldExpr.hpp b/src/Core/Field/Analytical/AnalyticalFieldExpr.hpp index 3be9ce22..a62da0de 100644 --- a/src/Core/Field/Analytical/AnalyticalFieldExpr.hpp +++ b/src/Core/Field/Analytical/AnalyticalFieldExpr.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Field/FieldExpr.hpp b/src/Core/Field/FieldExpr.hpp index 5c9ca1e3..4f184c9a 100644 --- a/src/Core/Field/FieldExpr.hpp +++ b/src/Core/Field/FieldExpr.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Field/FieldExprTrait.hpp b/src/Core/Field/FieldExprTrait.hpp index 03be3fcd..80babdde 100644 --- a/src/Core/Field/FieldExprTrait.hpp +++ b/src/Core/Field/FieldExprTrait.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Field/MeshBased/MeshBasedFieldExpr.hpp b/src/Core/Field/MeshBased/MeshBasedFieldExpr.hpp index 32af36b0..7b4f8b0f 100644 --- a/src/Core/Field/MeshBased/MeshBasedFieldExpr.hpp +++ b/src/Core/Field/MeshBased/MeshBasedFieldExpr.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Field/MeshBased/MeshBasedFieldExprTrait.hpp b/src/Core/Field/MeshBased/MeshBasedFieldExprTrait.hpp index 69713e92..1ab5adbc 100644 --- a/src/Core/Field/MeshBased/MeshBasedFieldExprTrait.hpp +++ b/src/Core/Field/MeshBased/MeshBasedFieldExprTrait.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Field/MeshBased/SemiStructured/CartAMRField.hpp b/src/Core/Field/MeshBased/SemiStructured/CartAMRField.hpp index 7e48510e..bb04867c 100644 --- a/src/Core/Field/MeshBased/SemiStructured/CartAMRField.hpp +++ b/src/Core/Field/MeshBased/SemiStructured/CartAMRField.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Field/MeshBased/SemiStructured/CartAMRFieldExpr.hpp b/src/Core/Field/MeshBased/SemiStructured/CartAMRFieldExpr.hpp index cccce868..6aa78d81 100644 --- a/src/Core/Field/MeshBased/SemiStructured/CartAMRFieldExpr.hpp +++ b/src/Core/Field/MeshBased/SemiStructured/CartAMRFieldExpr.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Field/MeshBased/SemiStructured/CartAMRFieldExprTrait.hpp b/src/Core/Field/MeshBased/SemiStructured/CartAMRFieldExprTrait.hpp index f7ca6117..683a5d21 100644 --- a/src/Core/Field/MeshBased/SemiStructured/CartAMRFieldExprTrait.hpp +++ b/src/Core/Field/MeshBased/SemiStructured/CartAMRFieldExprTrait.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Field/MeshBased/SemiStructured/CartAMRFieldTrait.hpp b/src/Core/Field/MeshBased/SemiStructured/CartAMRFieldTrait.hpp index e1854ba7..4c21b505 100644 --- a/src/Core/Field/MeshBased/SemiStructured/CartAMRFieldTrait.hpp +++ b/src/Core/Field/MeshBased/SemiStructured/CartAMRFieldTrait.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Field/MeshBased/SemiStructured/SemiStructuredFieldExpr.hpp b/src/Core/Field/MeshBased/SemiStructured/SemiStructuredFieldExpr.hpp index 43c9aa79..0cbd4e64 100644 --- a/src/Core/Field/MeshBased/SemiStructured/SemiStructuredFieldExpr.hpp +++ b/src/Core/Field/MeshBased/SemiStructured/SemiStructuredFieldExpr.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Field/MeshBased/SemiStructured/SemiStructuredFieldExprTrait.hpp b/src/Core/Field/MeshBased/SemiStructured/SemiStructuredFieldExprTrait.hpp index c98aff07..01419cb3 100644 --- a/src/Core/Field/MeshBased/SemiStructured/SemiStructuredFieldExprTrait.hpp +++ b/src/Core/Field/MeshBased/SemiStructured/SemiStructuredFieldExprTrait.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Field/MeshBased/StencilField.hpp b/src/Core/Field/MeshBased/StencilField.hpp index 869fcc3f..56c60c8d 100644 --- a/src/Core/Field/MeshBased/StencilField.hpp +++ b/src/Core/Field/MeshBased/StencilField.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Field/MeshBased/StencilFieldTrait.hpp b/src/Core/Field/MeshBased/StencilFieldTrait.hpp index 4e9e77dc..da55dddd 100644 --- a/src/Core/Field/MeshBased/StencilFieldTrait.hpp +++ b/src/Core/Field/MeshBased/StencilFieldTrait.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Field/MeshBased/Structured/CartesianField.hpp b/src/Core/Field/MeshBased/Structured/CartesianField.hpp index 2e41de25..6eec6115 100644 --- a/src/Core/Field/MeshBased/Structured/CartesianField.hpp +++ b/src/Core/Field/MeshBased/Structured/CartesianField.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Field/MeshBased/Structured/CartesianFieldExpr.hpp b/src/Core/Field/MeshBased/Structured/CartesianFieldExpr.hpp index e9f3e470..1680e8f1 100644 --- a/src/Core/Field/MeshBased/Structured/CartesianFieldExpr.hpp +++ b/src/Core/Field/MeshBased/Structured/CartesianFieldExpr.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Field/MeshBased/Structured/CartesianFieldExprTrait.hpp b/src/Core/Field/MeshBased/Structured/CartesianFieldExprTrait.hpp index e0379101..63a92d2d 100644 --- a/src/Core/Field/MeshBased/Structured/CartesianFieldExprTrait.hpp +++ b/src/Core/Field/MeshBased/Structured/CartesianFieldExprTrait.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Field/MeshBased/Structured/CartesianFieldTrait.hpp b/src/Core/Field/MeshBased/Structured/CartesianFieldTrait.hpp index dc21c1a1..0d072d71 100644 --- a/src/Core/Field/MeshBased/Structured/CartesianFieldTrait.hpp +++ b/src/Core/Field/MeshBased/Structured/CartesianFieldTrait.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Field/MeshBased/Structured/StructuredFieldExpr.hpp b/src/Core/Field/MeshBased/Structured/StructuredFieldExpr.hpp index 794b9dc9..11652b8c 100644 --- a/src/Core/Field/MeshBased/Structured/StructuredFieldExpr.hpp +++ b/src/Core/Field/MeshBased/Structured/StructuredFieldExpr.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Field/MeshBased/Structured/StructuredFieldExprTrait.hpp b/src/Core/Field/MeshBased/Structured/StructuredFieldExprTrait.hpp index 68cdfb5a..8c17e3ac 100644 --- a/src/Core/Field/MeshBased/Structured/StructuredFieldExprTrait.hpp +++ b/src/Core/Field/MeshBased/Structured/StructuredFieldExprTrait.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Field/MeshBased/UnStructured/UnStructMBFieldExpr.hpp b/src/Core/Field/MeshBased/UnStructured/UnStructMBFieldExpr.hpp index d0947f2e..e4b8f890 100644 --- a/src/Core/Field/MeshBased/UnStructured/UnStructMBFieldExpr.hpp +++ b/src/Core/Field/MeshBased/UnStructured/UnStructMBFieldExpr.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Field/ParticleBased/ParticleFieldExpr.hpp b/src/Core/Field/ParticleBased/ParticleFieldExpr.hpp index 466ed243..eb294c85 100644 --- a/src/Core/Field/ParticleBased/ParticleFieldExpr.hpp +++ b/src/Core/Field/ParticleBased/ParticleFieldExpr.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Interfaces/MDIndexable.hpp b/src/Core/Interfaces/MDIndexable.hpp index c16c0067..2853be87 100644 --- a/src/Core/Interfaces/MDIndexable.hpp +++ b/src/Core/Interfaces/MDIndexable.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Interfaces/Serializable.hpp b/src/Core/Interfaces/Serializable.hpp index 8fb25b6f..819fcf4d 100644 --- a/src/Core/Interfaces/Serializable.hpp +++ b/src/Core/Interfaces/Serializable.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Interfaces/Stringifiable.hpp b/src/Core/Interfaces/Stringifiable.hpp index d5e0dfb6..e4e448b8 100644 --- a/src/Core/Interfaces/Stringifiable.hpp +++ b/src/Core/Interfaces/Stringifiable.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Loops/FieldAssigner.hpp b/src/Core/Loops/FieldAssigner.hpp index 8109969c..10d0d14a 100644 --- a/src/Core/Loops/FieldAssigner.hpp +++ b/src/Core/Loops/FieldAssigner.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Loops/RangeFor.hpp b/src/Core/Loops/RangeFor.hpp index 3505e631..1ff84f25 100644 --- a/src/Core/Loops/RangeFor.hpp +++ b/src/Core/Loops/RangeFor.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Loops/StructFor.hpp b/src/Core/Loops/StructFor.hpp index 0f4c2ab9..262c4ebd 100644 --- a/src/Core/Loops/StructFor.hpp +++ b/src/Core/Loops/StructFor.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Loops/StructReduce.hpp b/src/Core/Loops/StructReduce.hpp index 950e04e6..e621e473 100644 --- a/src/Core/Loops/StructReduce.hpp +++ b/src/Core/Loops/StructReduce.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Mesh/MeshBase.hpp b/src/Core/Mesh/MeshBase.hpp index ff801406..46620363 100644 --- a/src/Core/Mesh/MeshBase.hpp +++ b/src/Core/Mesh/MeshBase.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Mesh/MeshTrait.hpp b/src/Core/Mesh/MeshTrait.hpp index 90f85e0f..6edb9199 100644 --- a/src/Core/Mesh/MeshTrait.hpp +++ b/src/Core/Mesh/MeshTrait.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Mesh/SemiStructured/CartesianAMRMesh.hpp b/src/Core/Mesh/SemiStructured/CartesianAMRMesh.hpp index 64f1c55c..0fb77347 100644 --- a/src/Core/Mesh/SemiStructured/CartesianAMRMesh.hpp +++ b/src/Core/Mesh/SemiStructured/CartesianAMRMesh.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Mesh/SemiStructured/CartesianAMRMeshBase.hpp b/src/Core/Mesh/SemiStructured/CartesianAMRMeshBase.hpp index 422d49e2..a5028490 100644 --- a/src/Core/Mesh/SemiStructured/CartesianAMRMeshBase.hpp +++ b/src/Core/Mesh/SemiStructured/CartesianAMRMeshBase.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Mesh/SemiStructured/CartesianAMRMeshTrait.hpp b/src/Core/Mesh/SemiStructured/CartesianAMRMeshTrait.hpp index d5b4dd6a..841c81b8 100644 --- a/src/Core/Mesh/SemiStructured/CartesianAMRMeshTrait.hpp +++ b/src/Core/Mesh/SemiStructured/CartesianAMRMeshTrait.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Mesh/SemiStructured/CartesianAMRMeshView.hpp b/src/Core/Mesh/SemiStructured/CartesianAMRMeshView.hpp index aa987cbc..9a658ae4 100644 --- a/src/Core/Mesh/SemiStructured/CartesianAMRMeshView.hpp +++ b/src/Core/Mesh/SemiStructured/CartesianAMRMeshView.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Mesh/SemiStructured/CartesianAMRMeshViewTrait.hpp b/src/Core/Mesh/SemiStructured/CartesianAMRMeshViewTrait.hpp index 9d0df674..813da791 100644 --- a/src/Core/Mesh/SemiStructured/CartesianAMRMeshViewTrait.hpp +++ b/src/Core/Mesh/SemiStructured/CartesianAMRMeshViewTrait.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Mesh/SemiStructured/SemiStructuredMesh.hpp b/src/Core/Mesh/SemiStructured/SemiStructuredMesh.hpp index c83910b7..a03b8b10 100644 --- a/src/Core/Mesh/SemiStructured/SemiStructuredMesh.hpp +++ b/src/Core/Mesh/SemiStructured/SemiStructuredMesh.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Mesh/SemiStructured/SemiStructuredMeshTrait.hpp b/src/Core/Mesh/SemiStructured/SemiStructuredMeshTrait.hpp index 6004906f..5cd70e4d 100644 --- a/src/Core/Mesh/SemiStructured/SemiStructuredMeshTrait.hpp +++ b/src/Core/Mesh/SemiStructured/SemiStructuredMeshTrait.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Mesh/Structured/CartesianMesh.hpp b/src/Core/Mesh/Structured/CartesianMesh.hpp index d564084e..b730e736 100644 --- a/src/Core/Mesh/Structured/CartesianMesh.hpp +++ b/src/Core/Mesh/Structured/CartesianMesh.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Mesh/Structured/CartesianMeshBase.hpp b/src/Core/Mesh/Structured/CartesianMeshBase.hpp index a2db7a6c..4aaedd26 100644 --- a/src/Core/Mesh/Structured/CartesianMeshBase.hpp +++ b/src/Core/Mesh/Structured/CartesianMeshBase.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Mesh/Structured/CartesianMeshTrait.hpp b/src/Core/Mesh/Structured/CartesianMeshTrait.hpp index ec3d9788..292030c0 100644 --- a/src/Core/Mesh/Structured/CartesianMeshTrait.hpp +++ b/src/Core/Mesh/Structured/CartesianMeshTrait.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Mesh/Structured/CartesianMeshView.hpp b/src/Core/Mesh/Structured/CartesianMeshView.hpp index 4453d656..e41918fe 100644 --- a/src/Core/Mesh/Structured/CartesianMeshView.hpp +++ b/src/Core/Mesh/Structured/CartesianMeshView.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Mesh/Structured/CartesianMeshViewTrait.hpp b/src/Core/Mesh/Structured/CartesianMeshViewTrait.hpp index a11d88d1..e2e4b8eb 100644 --- a/src/Core/Mesh/Structured/CartesianMeshViewTrait.hpp +++ b/src/Core/Mesh/Structured/CartesianMeshViewTrait.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Mesh/Structured/StructuredMeshBase.hpp b/src/Core/Mesh/Structured/StructuredMeshBase.hpp index cd50eabc..1c729868 100644 --- a/src/Core/Mesh/Structured/StructuredMeshBase.hpp +++ b/src/Core/Mesh/Structured/StructuredMeshBase.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Mesh/Structured/StructuredMeshTrait.hpp b/src/Core/Mesh/Structured/StructuredMeshTrait.hpp index 0da4398d..1baf8d19 100644 --- a/src/Core/Mesh/Structured/StructuredMeshTrait.hpp +++ b/src/Core/Mesh/Structured/StructuredMeshTrait.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Operator/Arithmetic/AMDS.hpp b/src/Core/Operator/Arithmetic/AMDS.hpp index 5369efba..93e3bc06 100644 --- a/src/Core/Operator/Arithmetic/AMDS.hpp +++ b/src/Core/Operator/Arithmetic/AMDS.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Operator/Arithmetic/MinMax.hpp b/src/Core/Operator/Arithmetic/MinMax.hpp index 6655334a..fca4ceea 100644 --- a/src/Core/Operator/Arithmetic/MinMax.hpp +++ b/src/Core/Operator/Arithmetic/MinMax.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Operator/Conditional.hpp b/src/Core/Operator/Conditional.hpp index fc633523..c51528d8 100644 --- a/src/Core/Operator/Conditional.hpp +++ b/src/Core/Operator/Conditional.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Operator/Convolution/Convolution.hpp b/src/Core/Operator/Convolution/Convolution.hpp index 3b7104aa..3cfb5ce1 100644 --- a/src/Core/Operator/Convolution/Convolution.hpp +++ b/src/Core/Operator/Convolution/Convolution.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Operator/FDMOperators/D1FirstOrderBiasedDownwind.hpp b/src/Core/Operator/FDMOperators/D1FirstOrderBiasedDownwind.hpp index 230ef277..7552ac62 100644 --- a/src/Core/Operator/FDMOperators/D1FirstOrderBiasedDownwind.hpp +++ b/src/Core/Operator/FDMOperators/D1FirstOrderBiasedDownwind.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Operator/FDMOperators/D1FirstOrderBiasedUpwind.hpp b/src/Core/Operator/FDMOperators/D1FirstOrderBiasedUpwind.hpp index 115f9342..8c452c19 100644 --- a/src/Core/Operator/FDMOperators/D1FirstOrderBiasedUpwind.hpp +++ b/src/Core/Operator/FDMOperators/D1FirstOrderBiasedUpwind.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Operator/FDMOperators/D1FirstOrderCentered.hpp b/src/Core/Operator/FDMOperators/D1FirstOrderCentered.hpp index 55ae00c0..55829d08 100644 --- a/src/Core/Operator/FDMOperators/D1FirstOrderCentered.hpp +++ b/src/Core/Operator/FDMOperators/D1FirstOrderCentered.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Operator/FDMOperators/D1WENO53Downwind.hpp b/src/Core/Operator/FDMOperators/D1WENO53Downwind.hpp index 847022a8..787eefc8 100644 --- a/src/Core/Operator/FDMOperators/D1WENO53Downwind.hpp +++ b/src/Core/Operator/FDMOperators/D1WENO53Downwind.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Operator/FDMOperators/D1WENO53Upwind.hpp b/src/Core/Operator/FDMOperators/D1WENO53Upwind.hpp index fbf4fe05..51d73249 100644 --- a/src/Core/Operator/FDMOperators/D1WENO53Upwind.hpp +++ b/src/Core/Operator/FDMOperators/D1WENO53Upwind.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Operator/FDMOperators/D2SecondOrderCentered.hpp b/src/Core/Operator/FDMOperators/D2SecondOrderCentered.hpp index d550ee34..f01193b2 100644 --- a/src/Core/Operator/FDMOperators/D2SecondOrderCentered.hpp +++ b/src/Core/Operator/FDMOperators/D2SecondOrderCentered.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Operator/FDMOperators/DiffsInterface.hpp b/src/Core/Operator/FDMOperators/DiffsInterface.hpp index 3166e867..971fa253 100644 --- a/src/Core/Operator/FDMOperators/DiffsInterface.hpp +++ b/src/Core/Operator/FDMOperators/DiffsInterface.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Operator/IdentityOp.hpp b/src/Core/Operator/IdentityOp.hpp index c3505e0f..b2d012a9 100644 --- a/src/Core/Operator/IdentityOp.hpp +++ b/src/Core/Operator/IdentityOp.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Operator/Interpolator/D1FluxLimiter.hpp b/src/Core/Operator/Interpolator/D1FluxLimiter.hpp index 9f53344b..558cd8db 100644 --- a/src/Core/Operator/Interpolator/D1FluxLimiter.hpp +++ b/src/Core/Operator/Interpolator/D1FluxLimiter.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Operator/Interpolator/D1FluxLimiterBasedIntpOp.hpp b/src/Core/Operator/Interpolator/D1FluxLimiterBasedIntpOp.hpp index 5e84dfdd..0d207b48 100644 --- a/src/Core/Operator/Interpolator/D1FluxLimiterBasedIntpOp.hpp +++ b/src/Core/Operator/Interpolator/D1FluxLimiterBasedIntpOp.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Operator/Interpolator/D1Linear.hpp b/src/Core/Operator/Interpolator/D1Linear.hpp index 3ace5f80..e0aa03a9 100644 --- a/src/Core/Operator/Interpolator/D1Linear.hpp +++ b/src/Core/Operator/Interpolator/D1Linear.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Operator/Interpolator/FluxLimiterKernels.hpp b/src/Core/Operator/Interpolator/FluxLimiterKernels.hpp index 85699dd5..d3817f8d 100644 --- a/src/Core/Operator/Interpolator/FluxLimiterKernels.hpp +++ b/src/Core/Operator/Interpolator/FluxLimiterKernels.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Operator/Interpolator/IntpInterface.hpp b/src/Core/Operator/Interpolator/IntpInterface.hpp index 8e37ac35..2aacd1fc 100644 --- a/src/Core/Operator/Interpolator/IntpInterface.hpp +++ b/src/Core/Operator/Interpolator/IntpInterface.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Operator/Logical/Boolean.hpp b/src/Core/Operator/Logical/Boolean.hpp index f6cbb0fd..b083b29f 100644 --- a/src/Core/Operator/Logical/Boolean.hpp +++ b/src/Core/Operator/Logical/Boolean.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Operator/Logical/Classify.hpp b/src/Core/Operator/Logical/Classify.hpp index 6b3d588a..576456af 100644 --- a/src/Core/Operator/Logical/Classify.hpp +++ b/src/Core/Operator/Logical/Classify.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Operator/Logical/Compare.hpp b/src/Core/Operator/Logical/Compare.hpp index ec4d4908..5668b029 100644 --- a/src/Core/Operator/Logical/Compare.hpp +++ b/src/Core/Operator/Logical/Compare.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Operator/Operator.hpp b/src/Core/Operator/Operator.hpp index fc0edd8b..f693c6f2 100644 --- a/src/Core/Operator/Operator.hpp +++ b/src/Core/Operator/Operator.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Operator/PerElemOpAdaptor.hpp b/src/Core/Operator/PerElemOpAdaptor.hpp index e0ea9aeb..c396c365 100644 --- a/src/Core/Operator/PerElemOpAdaptor.hpp +++ b/src/Core/Operator/PerElemOpAdaptor.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Parallel/AbstractSplitStrategy.hpp b/src/Core/Parallel/AbstractSplitStrategy.hpp index 28835c53..5545404d 100644 --- a/src/Core/Parallel/AbstractSplitStrategy.hpp +++ b/src/Core/Parallel/AbstractSplitStrategy.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Parallel/EvenSplitStrategy.hpp b/src/Core/Parallel/EvenSplitStrategy.hpp index ef4533b0..42f457c8 100644 --- a/src/Core/Parallel/EvenSplitStrategy.hpp +++ b/src/Core/Parallel/EvenSplitStrategy.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Parallel/ManualSplitStrategy.hpp b/src/Core/Parallel/ManualSplitStrategy.hpp index 5bae5f24..03c1828c 100644 --- a/src/Core/Parallel/ManualSplitStrategy.hpp +++ b/src/Core/Parallel/ManualSplitStrategy.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Parallel/ParallelPlan.hpp b/src/Core/Parallel/ParallelPlan.hpp index e6175f84..6d0531d3 100644 --- a/src/Core/Parallel/ParallelPlan.hpp +++ b/src/Core/Parallel/ParallelPlan.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Parallel/ParallelType.hpp b/src/Core/Parallel/ParallelType.hpp index 5508f783..c259e7f5 100644 --- a/src/Core/Parallel/ParallelType.hpp +++ b/src/Core/Parallel/ParallelType.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Parallel/ParticleGuidedSplitStrategy.hpp b/src/Core/Parallel/ParticleGuidedSplitStrategy.hpp index 7425cafb..9931b582 100644 --- a/src/Core/Parallel/ParticleGuidedSplitStrategy.hpp +++ b/src/Core/Parallel/ParticleGuidedSplitStrategy.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Solvers/IJ/IJSolver.hpp b/src/Core/Solvers/IJ/IJSolver.hpp index 61a256ac..61b82c8b 100644 --- a/src/Core/Solvers/IJ/IJSolver.hpp +++ b/src/Core/Solvers/IJ/IJSolver.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Solvers/SemiStruct/SemiStructSolver.hpp b/src/Core/Solvers/SemiStruct/SemiStructSolver.hpp index 341a6a21..ef613775 100644 --- a/src/Core/Solvers/SemiStruct/SemiStructSolver.hpp +++ b/src/Core/Solvers/SemiStruct/SemiStructSolver.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Solvers/SemiStruct/SemiStructSolverFAC.hpp b/src/Core/Solvers/SemiStruct/SemiStructSolverFAC.hpp index 677f130e..5ef49b00 100644 --- a/src/Core/Solvers/SemiStruct/SemiStructSolverFAC.hpp +++ b/src/Core/Solvers/SemiStruct/SemiStructSolverFAC.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Solvers/SemiStruct/SemiStructSolverNone.hpp b/src/Core/Solvers/SemiStruct/SemiStructSolverNone.hpp index 42fa03e4..035e0310 100644 --- a/src/Core/Solvers/SemiStruct/SemiStructSolverNone.hpp +++ b/src/Core/Solvers/SemiStruct/SemiStructSolverNone.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Solvers/Struct/StructSolver.hpp b/src/Core/Solvers/Struct/StructSolver.hpp index 54272fd4..ba9cffe1 100644 --- a/src/Core/Solvers/Struct/StructSolver.hpp +++ b/src/Core/Solvers/Struct/StructSolver.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Solvers/Struct/StructSolverBiCGSTAB.hpp b/src/Core/Solvers/Struct/StructSolverBiCGSTAB.hpp index d0ecbbab..2c61a651 100644 --- a/src/Core/Solvers/Struct/StructSolverBiCGSTAB.hpp +++ b/src/Core/Solvers/Struct/StructSolverBiCGSTAB.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Solvers/Struct/StructSolverCycRed.hpp b/src/Core/Solvers/Struct/StructSolverCycRed.hpp index d65277ef..b8e04b82 100644 --- a/src/Core/Solvers/Struct/StructSolverCycRed.hpp +++ b/src/Core/Solvers/Struct/StructSolverCycRed.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Solvers/Struct/StructSolverFGMRES.hpp b/src/Core/Solvers/Struct/StructSolverFGMRES.hpp index 9b80e86d..53672f00 100644 --- a/src/Core/Solvers/Struct/StructSolverFGMRES.hpp +++ b/src/Core/Solvers/Struct/StructSolverFGMRES.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Solvers/Struct/StructSolverGMRES.hpp b/src/Core/Solvers/Struct/StructSolverGMRES.hpp index 7636b433..5deef1bc 100644 --- a/src/Core/Solvers/Struct/StructSolverGMRES.hpp +++ b/src/Core/Solvers/Struct/StructSolverGMRES.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Solvers/Struct/StructSolverJacobi.hpp b/src/Core/Solvers/Struct/StructSolverJacobi.hpp index af18b272..eb9761bd 100644 --- a/src/Core/Solvers/Struct/StructSolverJacobi.hpp +++ b/src/Core/Solvers/Struct/StructSolverJacobi.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Solvers/Struct/StructSolverLGMRES.hpp b/src/Core/Solvers/Struct/StructSolverLGMRES.hpp index 86ae6cc1..82dd5cfe 100644 --- a/src/Core/Solvers/Struct/StructSolverLGMRES.hpp +++ b/src/Core/Solvers/Struct/StructSolverLGMRES.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Solvers/Struct/StructSolverNone.hpp b/src/Core/Solvers/Struct/StructSolverNone.hpp index c4544aff..28f967ab 100644 --- a/src/Core/Solvers/Struct/StructSolverNone.hpp +++ b/src/Core/Solvers/Struct/StructSolverNone.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Solvers/Struct/StructSolverPCG.hpp b/src/Core/Solvers/Struct/StructSolverPCG.hpp index 67825a5a..bc3e474a 100644 --- a/src/Core/Solvers/Struct/StructSolverPCG.hpp +++ b/src/Core/Solvers/Struct/StructSolverPCG.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Solvers/Struct/StructSolverPFMG.hpp b/src/Core/Solvers/Struct/StructSolverPFMG.hpp index 066a39a0..ad38f824 100644 --- a/src/Core/Solvers/Struct/StructSolverPFMG.hpp +++ b/src/Core/Solvers/Struct/StructSolverPFMG.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Solvers/Struct/StructSolverPrecond.hpp b/src/Core/Solvers/Struct/StructSolverPrecond.hpp index ac93a15a..8fb570a7 100644 --- a/src/Core/Solvers/Struct/StructSolverPrecond.hpp +++ b/src/Core/Solvers/Struct/StructSolverPrecond.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Core/Solvers/Struct/StructSolverSMG.hpp b/src/Core/Solvers/Struct/StructSolverSMG.hpp index 8612f715..837c9d44 100644 --- a/src/Core/Solvers/Struct/StructSolverSMG.hpp +++ b/src/Core/Solvers/Struct/StructSolverSMG.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/DataStructures/Arrays/Arrays.hpp b/src/DataStructures/Arrays/Arrays.hpp index f87c778a..676c8656 100644 --- a/src/DataStructures/Arrays/Arrays.hpp +++ b/src/DataStructures/Arrays/Arrays.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/DataStructures/Arrays/CoordVector.hpp b/src/DataStructures/Arrays/CoordVector.hpp index 5890ee08..36cf0c27 100644 --- a/src/DataStructures/Arrays/CoordVector.hpp +++ b/src/DataStructures/Arrays/CoordVector.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/DataStructures/Arrays/OffsetVector.hpp b/src/DataStructures/Arrays/OffsetVector.hpp index 001c5f15..9bda3360 100644 --- a/src/DataStructures/Arrays/OffsetVector.hpp +++ b/src/DataStructures/Arrays/OffsetVector.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/DataStructures/Arrays/Tensor/FixedSizeTensor.hpp b/src/DataStructures/Arrays/Tensor/FixedSizeTensor.hpp index 54a2b61f..71e0eb76 100644 --- a/src/DataStructures/Arrays/Tensor/FixedSizeTensor.hpp +++ b/src/DataStructures/Arrays/Tensor/FixedSizeTensor.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/DataStructures/Arrays/Tensor/PlainTensor.hpp b/src/DataStructures/Arrays/Tensor/PlainTensor.hpp index b3b054f1..839ceed9 100644 --- a/src/DataStructures/Arrays/Tensor/PlainTensor.hpp +++ b/src/DataStructures/Arrays/Tensor/PlainTensor.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/DataStructures/Arrays/Tensor/TensorBase.hpp b/src/DataStructures/Arrays/Tensor/TensorBase.hpp index 2fb348e4..8926d637 100644 --- a/src/DataStructures/Arrays/Tensor/TensorBase.hpp +++ b/src/DataStructures/Arrays/Tensor/TensorBase.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/DataStructures/Arrays/Tensor/TensorTrait.hpp b/src/DataStructures/Arrays/Tensor/TensorTrait.hpp index 5cfd10d1..51930f23 100644 --- a/src/DataStructures/Arrays/Tensor/TensorTrait.hpp +++ b/src/DataStructures/Arrays/Tensor/TensorTrait.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/DataStructures/Geometry/2DGeometry.hpp b/src/DataStructures/Geometry/2DGeometry.hpp index af6a3533..7ca0c073 100644 --- a/src/DataStructures/Geometry/2DGeometry.hpp +++ b/src/DataStructures/Geometry/2DGeometry.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/DataStructures/Geometry/3DGeometry.hpp b/src/DataStructures/Geometry/3DGeometry.hpp index 8ca0803f..9581dcf7 100644 --- a/src/DataStructures/Geometry/3DGeometry.hpp +++ b/src/DataStructures/Geometry/3DGeometry.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/DataStructures/Geometry/BasicElements.hpp b/src/DataStructures/Geometry/BasicElements.hpp index 078c5cf3..cf8a84e5 100644 --- a/src/DataStructures/Geometry/BasicElements.hpp +++ b/src/DataStructures/Geometry/BasicElements.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/DataStructures/Geometry/KdTree.hpp b/src/DataStructures/Geometry/KdTree.hpp index 32ed579a..9e73a123 100644 --- a/src/DataStructures/Geometry/KdTree.hpp +++ b/src/DataStructures/Geometry/KdTree.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/DataStructures/Index/ColoredIndex.hpp b/src/DataStructures/Index/ColoredIndex.hpp index b4e4612a..d5152e20 100644 --- a/src/DataStructures/Index/ColoredIndex.hpp +++ b/src/DataStructures/Index/ColoredIndex.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/DataStructures/Index/LevelMDIndex.hpp b/src/DataStructures/Index/LevelMDIndex.hpp index 97bbba02..3430cabe 100644 --- a/src/DataStructures/Index/LevelMDIndex.hpp +++ b/src/DataStructures/Index/LevelMDIndex.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/DataStructures/Index/LevelRangedIndex.hpp b/src/DataStructures/Index/LevelRangedIndex.hpp index bed5fac4..db6c28c9 100644 --- a/src/DataStructures/Index/LevelRangedIndex.hpp +++ b/src/DataStructures/Index/LevelRangedIndex.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/DataStructures/Index/LinearMapper/BlockedMDRangeMapper.hpp b/src/DataStructures/Index/LinearMapper/BlockedMDRangeMapper.hpp index 0f2268fb..d25c0fd1 100644 --- a/src/DataStructures/Index/LinearMapper/BlockedMDRangeMapper.hpp +++ b/src/DataStructures/Index/LinearMapper/BlockedMDRangeMapper.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/DataStructures/Index/LinearMapper/ColoredBlockedMDRangeMapper.hpp b/src/DataStructures/Index/LinearMapper/ColoredBlockedMDRangeMapper.hpp index a2c47615..cf3c3d79 100644 --- a/src/DataStructures/Index/LinearMapper/ColoredBlockedMDRangeMapper.hpp +++ b/src/DataStructures/Index/LinearMapper/ColoredBlockedMDRangeMapper.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/DataStructures/Index/LinearMapper/ColoredMDRangeMapper.hpp b/src/DataStructures/Index/LinearMapper/ColoredMDRangeMapper.hpp index da5d6863..92a069a2 100644 --- a/src/DataStructures/Index/LinearMapper/ColoredMDRangeMapper.hpp +++ b/src/DataStructures/Index/LinearMapper/ColoredMDRangeMapper.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/DataStructures/Index/LinearMapper/GeneralBlockedMDRangeMapper.hpp b/src/DataStructures/Index/LinearMapper/GeneralBlockedMDRangeMapper.hpp index 4a466197..02026f72 100644 --- a/src/DataStructures/Index/LinearMapper/GeneralBlockedMDRangeMapper.hpp +++ b/src/DataStructures/Index/LinearMapper/GeneralBlockedMDRangeMapper.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/DataStructures/Index/LinearMapper/LevelMDRangeMapper.hpp b/src/DataStructures/Index/LinearMapper/LevelMDRangeMapper.hpp index e804505d..9baa989f 100644 --- a/src/DataStructures/Index/LinearMapper/LevelMDRangeMapper.hpp +++ b/src/DataStructures/Index/LinearMapper/LevelMDRangeMapper.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/DataStructures/Index/LinearMapper/MDRangeMapper.hpp b/src/DataStructures/Index/LinearMapper/MDRangeMapper.hpp index b7cb3596..e8bbefc2 100644 --- a/src/DataStructures/Index/LinearMapper/MDRangeMapper.hpp +++ b/src/DataStructures/Index/LinearMapper/MDRangeMapper.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/DataStructures/Index/MDIndex.hpp b/src/DataStructures/Index/MDIndex.hpp index da7ba8b3..9dd3019b 100644 --- a/src/DataStructures/Index/MDIndex.hpp +++ b/src/DataStructures/Index/MDIndex.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/DataStructures/Index/RangedIndex.hpp b/src/DataStructures/Index/RangedIndex.hpp index 40c38967..0e183856 100644 --- a/src/DataStructures/Index/RangedIndex.hpp +++ b/src/DataStructures/Index/RangedIndex.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/DataStructures/Matrix/COOMatrix.hpp b/src/DataStructures/Matrix/COOMatrix.hpp index 3ae0bb9f..eaade6c3 100644 --- a/src/DataStructures/Matrix/COOMatrix.hpp +++ b/src/DataStructures/Matrix/COOMatrix.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/DataStructures/Matrix/CSRMatrix.hpp b/src/DataStructures/Matrix/CSRMatrix.hpp index ead33dd0..78a991ef 100644 --- a/src/DataStructures/Matrix/CSRMatrix.hpp +++ b/src/DataStructures/Matrix/CSRMatrix.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/DataStructures/Pair.hpp b/src/DataStructures/Pair.hpp index 61c3f38a..88b93e14 100644 --- a/src/DataStructures/Pair.hpp +++ b/src/DataStructures/Pair.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/DataStructures/Range/LevelRanges.hpp b/src/DataStructures/Range/LevelRanges.hpp index cfc86387..d2872437 100644 --- a/src/DataStructures/Range/LevelRanges.hpp +++ b/src/DataStructures/Range/LevelRanges.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/DataStructures/Range/Ranges.hpp b/src/DataStructures/Range/Ranges.hpp index 5d1459b8..50ed4253 100644 --- a/src/DataStructures/Range/Ranges.hpp +++ b/src/DataStructures/Range/Ranges.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/DataStructures/StencilPad.hpp b/src/DataStructures/StencilPad.hpp index 72d9fc0a..c3e42f39 100644 --- a/src/DataStructures/StencilPad.hpp +++ b/src/DataStructures/StencilPad.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Math/Function/Integral.hpp b/src/Math/Function/Integral.hpp index 7db3b934..3dc9ebeb 100644 --- a/src/Math/Function/Integral.hpp +++ b/src/Math/Function/Integral.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Math/Function/Numeric.hpp b/src/Math/Function/Numeric.hpp index dee630a0..de38f3d4 100644 --- a/src/Math/Function/Numeric.hpp +++ b/src/Math/Function/Numeric.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Math/Interpolator/Interpolator.hpp b/src/Math/Interpolator/Interpolator.hpp index 1c4a57c4..d9bba225 100644 --- a/src/Math/Interpolator/Interpolator.hpp +++ b/src/Math/Interpolator/Interpolator.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Utils/Allocator/AlignedAllocator.hpp b/src/Utils/Allocator/AlignedAllocator.hpp index 95d3ea8f..3ff33845 100644 --- a/src/Utils/Allocator/AlignedAllocator.hpp +++ b/src/Utils/Allocator/AlignedAllocator.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Utils/Allocator/AllocatorTrait.hpp b/src/Utils/Allocator/AllocatorTrait.hpp index 54001026..cfc6c3b3 100644 --- a/src/Utils/Allocator/AllocatorTrait.hpp +++ b/src/Utils/Allocator/AllocatorTrait.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Utils/Allocator/StaticAllocator.hpp b/src/Utils/Allocator/StaticAllocator.hpp index e20b1452..2b325034 100644 --- a/src/Utils/Allocator/StaticAllocator.hpp +++ b/src/Utils/Allocator/StaticAllocator.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Utils/Allocator/VirtualMemAllocator.hpp b/src/Utils/Allocator/VirtualMemAllocator.hpp index 4e116229..3ce89ef2 100644 --- a/src/Utils/Allocator/VirtualMemAllocator.hpp +++ b/src/Utils/Allocator/VirtualMemAllocator.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Utils/ConstexprString.hpp b/src/Utils/ConstexprString.hpp index 5e7a9c3f..19248e3f 100644 --- a/src/Utils/ConstexprString.hpp +++ b/src/Utils/ConstexprString.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Utils/NamedFunctor.hpp b/src/Utils/NamedFunctor.hpp index 4a9a9f7f..b7aa15be 100644 --- a/src/Utils/NamedFunctor.hpp +++ b/src/Utils/NamedFunctor.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Utils/RandomStringGenerator.hpp b/src/Utils/RandomStringGenerator.hpp index 14617b8b..8fb4d94a 100644 --- a/src/Utils/RandomStringGenerator.hpp +++ b/src/Utils/RandomStringGenerator.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Utils/Serializer/EnumTypes.hpp b/src/Utils/Serializer/EnumTypes.hpp index fb40cdb2..a94b7cd7 100644 --- a/src/Utils/Serializer/EnumTypes.hpp +++ b/src/Utils/Serializer/EnumTypes.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Utils/Serializer/STDContainers.hpp b/src/Utils/Serializer/STDContainers.hpp index df3b53fa..6545af7d 100644 --- a/src/Utils/Serializer/STDContainers.hpp +++ b/src/Utils/Serializer/STDContainers.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Utils/StackTracer.hpp b/src/Utils/StackTracer.hpp index d1f840fa..8ccc4f08 100644 --- a/src/Utils/StackTracer.hpp +++ b/src/Utils/StackTracer.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Utils/Writers/FieldStream.hpp b/src/Utils/Writers/FieldStream.hpp index 9c5c079a..ceef1b75 100644 --- a/src/Utils/Writers/FieldStream.hpp +++ b/src/Utils/Writers/FieldStream.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Utils/Writers/FieldWriter.hpp b/src/Utils/Writers/FieldWriter.hpp index a4a1a420..6ceb1a88 100644 --- a/src/Utils/Writers/FieldWriter.hpp +++ b/src/Utils/Writers/FieldWriter.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Utils/Writers/HDF5Stream.hpp b/src/Utils/Writers/HDF5Stream.hpp index 205a6ca4..c801a9f4 100644 --- a/src/Utils/Writers/HDF5Stream.hpp +++ b/src/Utils/Writers/HDF5Stream.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Utils/Writers/IOGroup.hpp b/src/Utils/Writers/IOGroup.hpp index 52e90411..e11e4f46 100644 --- a/src/Utils/Writers/IOGroup.hpp +++ b/src/Utils/Writers/IOGroup.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Utils/Writers/RawBinaryStream.hpp b/src/Utils/Writers/RawBinaryStream.hpp index b0734e11..534ec740 100644 --- a/src/Utils/Writers/RawBinaryStream.hpp +++ b/src/Utils/Writers/RawBinaryStream.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Utils/Writers/StreamTrait.hpp b/src/Utils/Writers/StreamTrait.hpp index 7032919b..97a225de 100644 --- a/src/Utils/Writers/StreamTrait.hpp +++ b/src/Utils/Writers/StreamTrait.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Utils/Writers/Streams.hpp b/src/Utils/Writers/Streams.hpp index 33fa5bd9..85f4936b 100644 --- a/src/Utils/Writers/Streams.hpp +++ b/src/Utils/Writers/Streams.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Utils/Writers/TecplotASCIIStream.hpp b/src/Utils/Writers/TecplotASCIIStream.hpp index f79e25c2..5a822fc6 100644 --- a/src/Utils/Writers/TecplotASCIIStream.hpp +++ b/src/Utils/Writers/TecplotASCIIStream.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Utils/Writers/TecplotBinaryStream.hpp b/src/Utils/Writers/TecplotBinaryStream.hpp index c53594cf..f3f36b07 100644 --- a/src/Utils/Writers/TecplotBinaryStream.hpp +++ b/src/Utils/Writers/TecplotBinaryStream.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Utils/Writers/TecplotSZPLTStream.hpp b/src/Utils/Writers/TecplotSZPLTStream.hpp index 04b5a4d6..bf8f60c9 100644 --- a/src/Utils/Writers/TecplotSZPLTStream.hpp +++ b/src/Utils/Writers/TecplotSZPLTStream.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/src/Utils/Writers/VTKAMRStream.hpp b/src/Utils/Writers/VTKAMRStream.hpp index e162d078..45abf951 100644 --- a/src/Utils/Writers/VTKAMRStream.hpp +++ b/src/Utils/Writers/VTKAMRStream.hpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/test/Core/BC/DircBCTest.cpp b/test/Core/BC/DircBCTest.cpp index 58c00932..533ec84f 100644 --- a/test/Core/BC/DircBCTest.cpp +++ b/test/Core/BC/DircBCTest.cpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/test/Core/BC/NeumBCTest.cpp b/test/Core/BC/NeumBCTest.cpp index a6f7a56b..56713242 100644 --- a/test/Core/BC/NeumBCTest.cpp +++ b/test/Core/BC/NeumBCTest.cpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/test/Core/BC/PeriodicBCTest.cpp b/test/Core/BC/PeriodicBCTest.cpp index 3d0c41e8..537b049f 100644 --- a/test/Core/BC/PeriodicBCTest.cpp +++ b/test/Core/BC/PeriodicBCTest.cpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/test/Core/Equation/AMGCLMPITest.cpp b/test/Core/Equation/AMGCLMPITest.cpp index 02a3a170..baa0d62b 100644 --- a/test/Core/Equation/AMGCLMPITest.cpp +++ b/test/Core/Equation/AMGCLMPITest.cpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/test/Core/Equation/AMGCLTest.cpp b/test/Core/Equation/AMGCLTest.cpp index 1e8d4019..4914df85 100644 --- a/test/Core/Equation/AMGCLTest.cpp +++ b/test/Core/Equation/AMGCLTest.cpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/test/Core/Equation/CSRMatrixGeneratorMPITest.cpp b/test/Core/Equation/CSRMatrixGeneratorMPITest.cpp index ccdb4adc..f4da0911 100644 --- a/test/Core/Equation/CSRMatrixGeneratorMPITest.cpp +++ b/test/Core/Equation/CSRMatrixGeneratorMPITest.cpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/test/Core/Equation/CSRMatrixGeneratorTest.cpp b/test/Core/Equation/CSRMatrixGeneratorTest.cpp index 546f0d4d..cc421939 100644 --- a/test/Core/Equation/CSRMatrixGeneratorTest.cpp +++ b/test/Core/Equation/CSRMatrixGeneratorTest.cpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/test/Core/Equation/DircEqnTest.cpp b/test/Core/Equation/DircEqnTest.cpp index 3f86f24f..0a1aced2 100644 --- a/test/Core/Equation/DircEqnTest.cpp +++ b/test/Core/Equation/DircEqnTest.cpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/test/Core/Equation/EqnHolderTest.cpp b/test/Core/Equation/EqnHolderTest.cpp index 6baed26f..84337649 100644 --- a/test/Core/Equation/EqnHolderTest.cpp +++ b/test/Core/Equation/EqnHolderTest.cpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/test/Core/Equation/EqnSetMPITest.cpp b/test/Core/Equation/EqnSetMPITest.cpp index e085c32a..3410ef19 100644 --- a/test/Core/Equation/EqnSetMPITest.cpp +++ b/test/Core/Equation/EqnSetMPITest.cpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/test/Core/Equation/EqnSetTest.cpp b/test/Core/Equation/EqnSetTest.cpp index da9c4092..15037ccf 100644 --- a/test/Core/Equation/EqnSetTest.cpp +++ b/test/Core/Equation/EqnSetTest.cpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/test/Core/Equation/NeumEqnTest.cpp b/test/Core/Equation/NeumEqnTest.cpp index 65932756..bd10be75 100644 --- a/test/Core/Equation/NeumEqnTest.cpp +++ b/test/Core/Equation/NeumEqnTest.cpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/test/Core/Equation/PeriodicEqnTest.cpp b/test/Core/Equation/PeriodicEqnTest.cpp index c8318895..9cc6a7f2 100644 --- a/test/Core/Equation/PeriodicEqnTest.cpp +++ b/test/Core/Equation/PeriodicEqnTest.cpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/test/Core/Field/CartesianFieldMPITest.cpp b/test/Core/Field/CartesianFieldMPITest.cpp index 2a4a0732..3a301a89 100644 --- a/test/Core/Field/CartesianFieldMPITest.cpp +++ b/test/Core/Field/CartesianFieldMPITest.cpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/test/Core/Field/CartesianFieldTest.cpp b/test/Core/Field/CartesianFieldTest.cpp index 5304b3f1..ed44ec99 100644 --- a/test/Core/Field/CartesianFieldTest.cpp +++ b/test/Core/Field/CartesianFieldTest.cpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/test/Core/Loops/RangeForTest.cpp b/test/Core/Loops/RangeForTest.cpp index b226acdb..7b06583c 100644 --- a/test/Core/Loops/RangeForTest.cpp +++ b/test/Core/Loops/RangeForTest.cpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/test/Core/Loops/RangeReduceTest.cpp b/test/Core/Loops/RangeReduceTest.cpp index 894b967e..3f1cf3e2 100644 --- a/test/Core/Loops/RangeReduceTest.cpp +++ b/test/Core/Loops/RangeReduceTest.cpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/test/Core/Mesh/CartesianMeshTest.cpp b/test/Core/Mesh/CartesianMeshTest.cpp index 77deedee..d27a58d5 100644 --- a/test/Core/Mesh/CartesianMeshTest.cpp +++ b/test/Core/Mesh/CartesianMeshTest.cpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/test/Core/MetaTest.cpp b/test/Core/MetaTest.cpp index 3fe34b73..b0be93ba 100644 --- a/test/Core/MetaTest.cpp +++ b/test/Core/MetaTest.cpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/test/Core/Operator/ConditionalTest.cpp b/test/Core/Operator/ConditionalTest.cpp index df318f6d..a9879d40 100644 --- a/test/Core/Operator/ConditionalTest.cpp +++ b/test/Core/Operator/ConditionalTest.cpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/test/Core/Operator/ConvolutionTest.cpp b/test/Core/Operator/ConvolutionTest.cpp index 983140c3..50e1936d 100644 --- a/test/Core/Operator/ConvolutionTest.cpp +++ b/test/Core/Operator/ConvolutionTest.cpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/test/Core/Operator/InterpolatorTest.cpp b/test/Core/Operator/InterpolatorTest.cpp index ccfdfcd5..cc80117b 100644 --- a/test/Core/Operator/InterpolatorTest.cpp +++ b/test/Core/Operator/InterpolatorTest.cpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/test/Core/Parallel/EvenSplitStrategyTest.cpp b/test/Core/Parallel/EvenSplitStrategyTest.cpp index acc999e4..8c1f54de 100644 --- a/test/Core/Parallel/EvenSplitStrategyTest.cpp +++ b/test/Core/Parallel/EvenSplitStrategyTest.cpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/test/Core/Parallel/ParticleGuidedSplitStrategyTest.cpp b/test/Core/Parallel/ParticleGuidedSplitStrategyTest.cpp index be1c9488..6cf158cb 100644 --- a/test/Core/Parallel/ParticleGuidedSplitStrategyTest.cpp +++ b/test/Core/Parallel/ParticleGuidedSplitStrategyTest.cpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/test/DataStructures/Arrays/PlainTensorTest.cpp b/test/DataStructures/Arrays/PlainTensorTest.cpp index 3d6db917..5c3283a5 100644 --- a/test/DataStructures/Arrays/PlainTensorTest.cpp +++ b/test/DataStructures/Arrays/PlainTensorTest.cpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/test/DataStructures/Index/BlockedMDRangeMapperTest.cpp b/test/DataStructures/Index/BlockedMDRangeMapperTest.cpp index 9ccec4fd..958187f9 100644 --- a/test/DataStructures/Index/BlockedMDRangeMapperTest.cpp +++ b/test/DataStructures/Index/BlockedMDRangeMapperTest.cpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/test/DataStructures/Index/ColoredBlockedMDRangeMapperTest.cpp b/test/DataStructures/Index/ColoredBlockedMDRangeMapperTest.cpp index ada4642b..8e7481b3 100644 --- a/test/DataStructures/Index/ColoredBlockedMDRangeMapperTest.cpp +++ b/test/DataStructures/Index/ColoredBlockedMDRangeMapperTest.cpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/test/DataStructures/Index/MDIndexTest.cpp b/test/DataStructures/Index/MDIndexTest.cpp index cebc9fd5..0000f443 100644 --- a/test/DataStructures/Index/MDIndexTest.cpp +++ b/test/DataStructures/Index/MDIndexTest.cpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/test/DataStructures/StencilPadTest.cpp b/test/DataStructures/StencilPadTest.cpp index 34ae351b..0f139eeb 100644 --- a/test/DataStructures/StencilPadTest.cpp +++ b/test/DataStructures/StencilPadTest.cpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/test/Utils/Cpp20CompatibilityTest.cpp b/test/Utils/Cpp20CompatibilityTest.cpp index b6b7361a..1498754b 100644 --- a/test/Utils/Cpp20CompatibilityTest.cpp +++ b/test/Utils/Cpp20CompatibilityTest.cpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/test/Utils/HDF5StreamMPITest.cpp b/test/Utils/HDF5StreamMPITest.cpp index 50724ced..8a820f3b 100644 --- a/test/Utils/HDF5StreamMPITest.cpp +++ b/test/Utils/HDF5StreamMPITest.cpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/test/Utils/HDF5StreamTest.cpp b/test/Utils/HDF5StreamTest.cpp index 048aed66..89cf1ed1 100644 --- a/test/Utils/HDF5StreamTest.cpp +++ b/test/Utils/HDF5StreamTest.cpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/test/Utils/IOGroupTest.cpp b/test/Utils/IOGroupTest.cpp index fd80db6e..019d0ff3 100644 --- a/test/Utils/IOGroupTest.cpp +++ b/test/Utils/IOGroupTest.cpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/test/Utils/TecplotStreamMPITest.cpp b/test/Utils/TecplotStreamMPITest.cpp index 3832b866..1c9077aa 100644 --- a/test/Utils/TecplotStreamMPITest.cpp +++ b/test/Utils/TecplotStreamMPITest.cpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/test/Utils/TecplotStreamTest.cpp b/test/Utils/TecplotStreamTest.cpp index a5b8c1eb..a3a58620 100644 --- a/test/Utils/TecplotStreamTest.cpp +++ b/test/Utils/TecplotStreamTest.cpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/test/test_main.cpp b/test/test_main.cpp index 235318e2..f9fb6170 100644 --- a/test/test_main.cpp +++ b/test/test_main.cpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. // diff --git a/test/test_main_mpi.cpp b/test/test_main_mpi.cpp index 9a77d5b1..46ed75c3 100644 --- a/test/test_main_mpi.cpp +++ b/test/test_main_mpi.cpp @@ -1,6 +1,6 @@ // ---------------------------------------------------------------------------- // -// Copyright (c) 2019 - 2025 by the OpFlow developers +// Copyright (c) 2019 - 2026 by the OpFlow developers // // This file is part of OpFlow. //