Skip to content

Commit 214509d

Browse files
committed
Merge remote-tracking branch 'origin/next' into field-format
2 parents 58b3783 + 31df873 commit 214509d

File tree

100 files changed

+2944
-2639
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

100 files changed

+2944
-2639
lines changed

.clang-tidy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ CheckOptions:
2020
value: 'MPI_Comm'
2121

2222
- key: misc-include-cleaner.IgnoreHeaders
23-
value: 'adios2/.*;bits/.*;cpptrace/.*'
23+
value: 'adios2/.*;bits/.*;cpptrace/.*;petsc.*\.h'
2424
---
2525

2626
Disabled checks and reasons:

.docker/fedora/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,13 @@ ENV HOME=/home/boutuser
2626
WORKDIR /home/boutuser/BOUT-dev
2727

2828
RUN cmake -S . -B build -DCMAKE_INSTALL_PREFIX=/usr/local/ \
29+
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
2930
-DBOUT_GENERATE_FIELDOPS=OFF \
3031
-DBOUT_USE_PETSC=ON -DPETSc_ROOT=/usr/local \
3132
-DBOUT_ENABLE_PYTHON=ON \
3233
-DBOUT_USE_SUNDIALS=ON -DSUNDIALS_ROOT=/usr/lib64/$MPI/ -DSUNDIALS_INCLUDE_DIR=/usr/include/$MPI-x86_64/sundials/ \
3334
$CMAKE_OPTIONS || (cat /home/boutuser/BOUT-dev/build/CMakeFiles/CMake{Output,Error}.log ; exit 1); \
34-
make -C build -j 2; \
35+
make -C build -j 2 VERBOSE=1; \
3536
sudo make -C build install; \
3637
rm -rf build
3738

.git-blame-ignore-revs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@ ed2117e6d6826a98b6988e2f18c0c34e408563b6
55
17ac13c28aa3b34a0e46dbe87bb3874f6b25e706
66
# Added by the bot
77
4b010b7634aee1045743be80c268d4644522cd29
8+
52301380586fdbf890f620c04f689b08d89a6c34
89
a71cad2dd6ace5741a754e2ca7daacd4bb094e0e
10+
83cf77923a4c72e44303354923021acf932b4fd2
911
2c2402ed59c91164eaff46dee0f79386b7347e9e
1012
05b7c571544c3bcb153fce67d12b9ac48947fc2d
13+
c8f38049359170a34c915e209276238ea66b9a1e
14+
8d5cb39e03c2644715a50684f8cd0318b4e82676
15+
ec69e8838be2dde140a915e50506f8e1ce3cb534
16+
f2bc0488a298f136294c523bc5ab4086d090059b

.github/workflows/auto-formatting.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
runs-on: ubuntu-latest
1111
steps:
1212
# Checkout the pull request branch, also include all history
13-
- uses: actions/checkout@v5
13+
- uses: actions/checkout@v6
1414
with:
1515
ref: ${{ github.head_ref }}
1616
fetch-depth: 0

.github/workflows/clang-tidy-review.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
submodules: true
2222

2323
- name: Run clang-tidy
24-
uses: ZedThree/clang-tidy-review@v0.23.0
24+
uses: ZedThree/clang-tidy-review@v0.23.1
2525
id: review
2626
with:
2727
build_dir: build
@@ -46,4 +46,4 @@ jobs:
4646
-DBOUT_UPDATE_GIT_SUBMODULE=OFF
4747
4848
- name: Upload clang-tidy fixes
49-
uses: ZedThree/clang-tidy-review/upload@v0.23.0
49+
uses: ZedThree/clang-tidy-review/upload@v0.23.1

.github/workflows/docker.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,11 @@ jobs:
2626
matrix:
2727
mpi: [mpich]
2828
metric3d:
29-
- name: "With OpenMP"
29+
- name: "With 3D Metrics"
3030
cmake: ON
31-
base_prefix: "openmp-"
31+
base_prefix: ""
3232
tag_prefix: "3d-"
33-
- name: "Without OpenMP"
33+
- name: "Without 3D Metrics"
3434
cmake: OFF
3535
base_prefix: ""
3636
tag_prefix: ""
@@ -75,7 +75,7 @@ jobs:
7575
build-args: |
7676
BASE=${{ matrix.mpi }}-${{ matrix.metric3d.base_prefix }}${{ matrix.config.base_postfix }}-main
7777
MPI=${{ matrix.mpi }}
78-
CMAKE_OPTIONS=${{ matrix.config.options }} -DBOUT_ENABLE_METRIC_3D=${{ matrix.metric3d.cmake }} -DBOUT_ENABLE_OPENMP=${{ matrix.metric3d.cmake }}
78+
CMAKE_OPTIONS=${{ matrix.config.options }} -DBOUT_ENABLE_METRIC_3D=${{ matrix.metric3d.cmake }}
7979
COMMIT=${{ github.sha }}
8080
URL=${{ github.server_url }}/${{ github.repository }}
8181
context: .docker/fedora/

.github/workflows/tests.yml

Lines changed: 3 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
is_cron:
4141
- ${{ github.event_name == 'cron' }}
4242
config:
43-
- name: "CMake, PETSc unreleased, ADIOS2"
43+
- name: "PETSc unreleased, ADIOS2, 3D metrics"
4444
os: ubuntu-24.04
4545
cmake_options: "-DBUILD_SHARED_LIBS=ON
4646
-DBOUT_ENABLE_METRIC_3D=ON
@@ -121,22 +121,6 @@ jobs:
121121
omp_num_threads: 2
122122
on_cron: false
123123

124-
- name: "CMake, new PETSc"
125-
os: ubuntu-latest
126-
cmake_options: "-DBUILD_SHARED_LIBS=ON
127-
-DBOUT_ENABLE_METRIC_3D=ON
128-
-DBOUT_ENABLE_OPENMP=ON
129-
-DBOUT_USE_PETSC=ON
130-
-DBOUT_USE_SLEPC=ON
131-
-DBOUT_USE_SUNDIALS=ON
132-
-DBOUT_USE_HYPRE=OFF
133-
-DBOUT_ENABLE_PYTHON=ON
134-
-DSUNDIALS_ROOT=/home/runner/local
135-
-DPETSC_DIR=/home/runner/local/petsc
136-
-DSLEPC_DIR=/home/runner/local/slepc"
137-
build_petsc: -petsc
138-
on_cron: false
139-
140124
exclude:
141125
- is_cron: true
142126
config:
@@ -184,7 +168,7 @@ jobs:
184168
python -m pip install -r requirements.txt
185169
186170
- name: Cache Zenodo test data
187-
uses: actions/cache@v4
171+
uses: actions/cache@v5
188172
with:
189173
path: build/tests/integrated/test-fci-mpi/grid.fci.nc
190174
# If we update the test, invalidate the cache
@@ -221,7 +205,7 @@ jobs:
221205
submodules: true
222206

223207
- name: Cache Zenodo test data
224-
uses: actions/cache@v4
208+
uses: actions/cache@v5
225209
with:
226210
path: build/tests/integrated/test-fci-mpi/grid.fci.nc
227211
# If we update the test, invalidate the cache
@@ -232,39 +216,3 @@ jobs:
232216
shell: bash
233217
env:
234218
TRAVIS_BUILD_DIR: ${{ github.workspace }}
235-
CUDA:
236-
timeout-minutes: 60
237-
runs-on: ubuntu-latest
238-
container: ghcr.io/ggeorgakoudis/boutdev-cuda:latest
239-
env:
240-
BOUT_TEST_DOWNLOAD_FLAGS: --retry-on-http-error=502,503,504 --tries 3
241-
steps:
242-
- uses: actions/checkout@v6
243-
with:
244-
submodules: true
245-
246-
- name: Cache Zenodo test data
247-
uses: actions/cache@v4
248-
with:
249-
path: build/tests/integrated/test-fci-mpi/grid.fci.nc
250-
# If we update the test, invalidate the cache
251-
key: zenodo-data-${{ hashFiles('tests/integrated/test-fci-mpi/CMakeLists.txt') }}
252-
253-
- name: Build minimal CUDA 12.2 @ GCC9.4.0 @ Ubuntu 20.04
254-
run: |
255-
. /spack/share/spack/setup-env.sh
256-
spack env activate -p /spack-env
257-
git config --global --add safe.directory $GITHUB_WORKSPACE
258-
rm -rf build
259-
cmake -S $GITHUB_WORKSPACE -B build \
260-
-DCMAKE_C_COMPILER=gcc \
261-
-DCMAKE_CXX_COMPILER=g++ \
262-
-DBOUT_ENABLE_RAJA=on \
263-
-DBOUT_ENABLE_UMPIRE=on \
264-
-DBOUT_ENABLE_CUDA=on \
265-
-DCMAKE_CUDA_ARCHITECTURES=80 \
266-
-DCUDA_ARCH=compute_80,code=sm_80 \
267-
-DBOUT_ENABLE_WARNINGS=off \
268-
-DBOUT_USE_SYSTEM_FMT=on
269-
cd build
270-
make -j 4

CMakeLists.txt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,8 @@ set(BOUT_SOURCES
231231
./src/field/where.cxx
232232
./src/invert/fft_fftw.cxx
233233
./src/invert/lapack_routines.cxx
234+
./src/invert/laplace/common_transform.cxx
235+
./src/invert/laplace/common_transform.hxx
234236
./src/invert/laplace/impls/cyclic/cyclic_laplace.cxx
235237
./src/invert/laplace/impls/cyclic/cyclic_laplace.hxx
236238
./src/invert/laplace/impls/iterative_parallel_tri/iterative_parallel_tri.cxx
@@ -403,6 +405,7 @@ if(zoidberg_FOUND EQUAL 0)
403405
else()
404406
set(zoidberg_FOUND OFF)
405407
endif()
408+
message(STATUS "Found Zoidberg for FCI tests: ${zoidberg_FOUND}")
406409

407410
option(
408411
BOUT_GENERATE_FIELDOPS
@@ -523,10 +526,10 @@ set_target_properties(
523526
set(CONFIG_LDFLAGS "${CONFIG_LDFLAGS} -L\$BOUT_LIB_PATH -lbout++")
524527
set(BOUT_INCLUDE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/include")
525528
set(CONFIG_CFLAGS
526-
"${CONFIG_CFLAGS} -I\${BOUT_INCLUDE_PATH} -I${CMAKE_CURRENT_BINARY_DIR}/include ${CMAKE_CXX_FLAGS} -std=c++17"
529+
"${CONFIG_CFLAGS} -I\${BOUT_INCLUDE_PATH} -I${CMAKE_CURRENT_BINARY_DIR}/include ${CMAKE_CXX_FLAGS} -std=c++20"
527530
)
528531

529-
target_compile_features(bout++ PUBLIC cxx_std_17)
532+
target_compile_features(bout++ PUBLIC cxx_std_20)
530533
set_target_properties(bout++ PROPERTIES CXX_EXTENSIONS OFF)
531534

532535
# Optional compiler features

bout++Config.cmake.in

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ set(BOUT_USE_TRACK @BOUT_USE_TRACK@)
88
set(BOUT_USE_SIGFPE @BOUT_USE_SIGFPE@)
99
set(BOUT_USE_OPENMP @BOUT_USE_OPENMP@)
1010
set(BOUT_HAS_CUDA @BOUT_HAS_CUDA@)
11-
set(BOUT_HAS_OUTPUT_DEBUG @BOUT_HAS_OUTPUT_DEBUG@)
11+
set(BOUT_USE_OUTPUT_DEBUG @BOUT_USE_OUTPUT_DEBUG@)
1212
set(BOUT_CHECK_LEVEL @BOUT_CHECK_LEVEL@)
1313
set(BOUT_USE_METRIC_3D @BOUT_USE_METRIC_3D@)
1414

@@ -182,3 +182,30 @@ if (BOUT_HAS_ADIOS2)
182182
endif()
183183

184184
include("${CMAKE_CURRENT_LIST_DIR}/bout++Targets.cmake")
185+
186+
add_library(bout++ INTERFACE IMPORTED)
187+
set_target_properties(bout++
188+
PROPERTIES BOUT_USE_SIGNAL @BOUT_USE_SIGNAL@
189+
BOUT_USE_COLOR @BOUT_USE_COLOR@
190+
BOUT_USE_TRACK @BOUT_USE_TRACK@
191+
BOUT_USE_SIGFPE @BOUT_USE_SIGFPE@
192+
BOUT_USE_OPENMP @BOUT_USE_OPENMP@
193+
BOUT_HAS_CUDA @BOUT_HAS_CUDA@
194+
BOUT_USE_OUTPUT_DEBUG @BOUT_USE_OUTPUT_DEBUG@
195+
BOUT_CHECK_LEVEL @BOUT_CHECK_LEVEL@
196+
BOUT_USE_METRIC_3D @BOUT_USE_METRIC_3D@
197+
BOUT_HAS_PVODE @BOUT_HAS_PVODE@
198+
BOUT_HAS_NETCDF @BOUT_HAS_NETCDF@
199+
BOUT_HAS_ADIOS2 @BOUT_HAS_ADIOS2@
200+
BOUT_HAS_FFTW @BOUT_HAS_FFTW@
201+
BOUT_HAS_LAPACK @BOUT_HAS_LAPACK@
202+
BOUT_HAS_PETSC @BOUT_HAS_PETSC@
203+
BOUT_HAS_SLEPC @BOUT_HAS_SLEPC@
204+
BOUT_HAS_SCOREP @BOUT_HAS_SCOREP@
205+
BOUT_USE_UUID_SYSTEM_GENERATOR @BOUT_USE_UUID_SYSTEM_GENERATOR@
206+
BOUT_HAS_SUNDIALS @BOUT_HAS_SUNDIALS@
207+
BOUT_HAS_HYPRE @BOUT_HAS_HYPRE@
208+
BOUT_HAS_GETTEXT @BOUT_HAS_GETTEXT@
209+
BOUT_HAS_UMPIRE @BOUT_HAS_UMPIRE@
210+
BOUT_HAS_RAJA @BOUT_HAS_RAJA@
211+
)

cmake/SetupBOUTThirdParty.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -362,7 +362,7 @@ if(BOUT_USE_SUNDIALS)
362362
CACHE BOOL "" FORCE
363363
)
364364
set(ENABLE_OPENMP
365-
OFF
365+
${BOUT_USE_OPENMP}
366366
CACHE BOOL "" FORCE
367367
)
368368
if(BUILD_SHARED_LIBS)

0 commit comments

Comments
 (0)