Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
918 commits
Select commit Hold shift + click to select a range
56934ee
Fix some clang-tidy header inclusion warnings in tests
ZedThree Nov 7, 2024
91821ea
Remove some unnecessary includes from common headers
ZedThree Nov 7, 2024
0d413f4
Apply clang-format changes
ZedThree Nov 7, 2024
1aa0e23
Return `std::optional` from `invert3x3`
ZedThree Nov 7, 2024
bb5f194
Merge pull request #3021 from boutproject/fix-recompilation-cascade
bendudson Nov 7, 2024
ee90bee
CI: Enable HYPRE in builds
ZedThree Nov 7, 2024
e8adc3f
Fix use of private variable in HYPRE laplace solver
ZedThree Nov 7, 2024
403fd19
Delete (unused) duplicate private function
ZedThree Nov 7, 2024
ff63ff8
CMake: Error if ADIOS2 requested and not found
ZedThree Nov 7, 2024
171b7ae
Fix missing parameter from overridden virtual function
ZedThree Nov 7, 2024
237207b
CI: Fix ADIOS2 build not finding ADIOS2
ZedThree Nov 7, 2024
c3c7f46
CMake: Fix FindHYPRE for non-CMake builds
ZedThree Nov 7, 2024
ae8840a
Apply clang-format changes
ZedThree Nov 7, 2024
6398368
Fix hypre3d laplace solver for 3D metrics
ZedThree Nov 8, 2024
d23cff8
Fix a bunch of clang-tidy issues
ZedThree Nov 8, 2024
9c1cfc9
Remove a couple of unused private members
ZedThree Nov 8, 2024
9347754
Ensure PETSc headers are included after `bout/petsclib.hxx`
ZedThree Nov 8, 2024
088c92f
Merge pull request #3024 from boutproject/fix-petsc-mpi-clash
dschwoerer Nov 8, 2024
4b190a0
Avoid define conflict with sundials
dschwoerer Nov 25, 2024
7032b8c
Merge pull request #3031 from boutproject/sundials-pvode-conflict
bendudson Nov 25, 2024
edab04f
CI: Increase check level for debug run
dschwoerer Nov 26, 2024
798347e
Fix unit test for CHECK=4
dschwoerer Nov 26, 2024
a62d71f
Apply clang-format changes
dschwoerer Nov 26, 2024
f386ff4
Use PEP 625 compatible archive name
dschwoerer Nov 26, 2024
d6aa81f
simplify return statement
dschwoerer Nov 26, 2024
e70fb7a
Use formatter for SpecificInd
dschwoerer Nov 26, 2024
12292e8
Apply clang-format changes
dschwoerer Nov 26, 2024
00a156d
Add missing header to format SpecificInd
dschwoerer Nov 26, 2024
68512de
Merge remote-tracking branch 'origin/next' into move-invert3x3
dschwoerer Nov 26, 2024
f6f78f6
Apply clang-format changes
dschwoerer Nov 26, 2024
5a60a52
Prefere const
dschwoerer Nov 26, 2024
97c62ca
Merge pull request #3018 from boutproject/move-invert3x3
bendudson Nov 26, 2024
78c2bf4
Merge pull request #3035 from boutproject/pep-625-next
bendudson Nov 26, 2024
733b780
Merge pull request #3033 from boutproject/ci-check-4
bendudson Nov 26, 2024
658065f
Avoid using the wrong grid by accident
dschwoerer Nov 29, 2024
a3c3a50
Merge pull request #3036 from boutproject/no-wrong-grid
bendudson Dec 2, 2024
487c4c3
Deprecate options that only use as default for other options.
dschwoerer Dec 2, 2024
8fb09a8
update input files for deprecated options.
dschwoerer Dec 2, 2024
937b258
Revert "update input files for deprecated options."
dschwoerer Dec 2, 2024
d96b27b
update input files for deprecated options.
dschwoerer Dec 2, 2024
59f3e83
Use non-deprecated values also in input files
dschwoerer Dec 2, 2024
e7d5b1c
Cleanup BOUT_HOST_DEVICE qualifiers
ggeorgakoudis Dec 8, 2024
f712f1f
Apply clang-format changes
ggeorgakoudis Dec 8, 2024
e3ba0e6
make backend executable
dschwoerer Dec 12, 2024
bb8cb7c
Print the help if an invalid argument is given
dschwoerer Dec 12, 2024
8f32864
Make printVersion a function
dschwoerer Dec 12, 2024
7a77da0
Add delay to python interface
dschwoerer Dec 10, 2024
b58f117
Allow abitrary arguments to base __cinit__
dschwoerer Dec 10, 2024
2c6ba3a
cinit is always called, do not need to call it
dschwoerer Dec 10, 2024
56e3761
Use generated code, to avoid having to deal with inheritance
dschwoerer Dec 12, 2024
b864f32
Track references in boutpp
dschwoerer Dec 12, 2024
10b6839
Avoid some warnings for 3D Metrics
dschwoerer Dec 10, 2024
4694d77
Apply clang-format changes
dschwoerer Jan 7, 2025
18ded81
CI: Install zoidberg and new versions
dschwoerer Jan 7, 2025
ceb51f5
DEBUG: monkey patch zoidberg
dschwoerer Jan 7, 2025
5050fd0
Remove x-boundary
dschwoerer Jan 7, 2025
c9c4a5a
Specify MXG=1
dschwoerer Jan 7, 2025
bc052cc
use MXG from grid file
dschwoerer Jan 7, 2025
21ea39f
Remove debug statement
dschwoerer Jan 7, 2025
67f1da3
Remove python2 compat
dschwoerer Jan 7, 2025
dc9047d
Prefer get with default value
dschwoerer Jan 7, 2025
48f0a36
CI: Try limiting multithreading
dschwoerer Jan 8, 2025
de8b8eb
CI: Increase timeout for Fedora
dschwoerer Jan 8, 2025
31567f9
Hypre3D Laplacian: Save diagnostics using outputVars
bendudson Jan 9, 2025
9e765b6
ParallelTransform: Add missing space in error message
bendudson Jan 9, 2025
90332a8
BoundaryFactory: Fix default for parallel boundary regions
bendudson Jan 9, 2025
dc3b020
elm-pb example: Fix hypre input, save performance metrics
bendudson Jan 9, 2025
f46d0a6
Apply clang-format changes
bendudson Jan 9, 2025
b0fa0b0
Merge pull request #3054 from boutproject/fixes-zoidberg
bendudson Jan 9, 2025
2ad21ae
Merge pull request #3053 from boutproject/fix-finalise
bendudson Jan 9, 2025
b7334b6
Merge pull request #3052 from boutproject/warnings-3d
bendudson Jan 9, 2025
d67ab8c
Merge pull request #3051 from boutproject/python-backend
bendudson Jan 9, 2025
2867b0e
Merge branch 'next' into naulin-laplace-upgrades
johnomotani Jan 17, 2025
d78e861
Apply clang-format changes
johnomotani Jan 17, 2025
5083f30
Replace finite() with std::isfinite()
bendudson Jan 17, 2025
d09611a
Update some copyright notices
bendudson Jan 17, 2025
5a2e624
pvpre library should link against pvode
bendudson Jan 17, 2025
5d4ee04
Merge pull request #3061 from boutproject/naulin-laplace-upgrades
bendudson Jan 17, 2025
04202dd
Prefer scientific notation
bendudson Jan 17, 2025
aa0c454
Prefer scientific notation
bendudson Jan 17, 2025
5708ae0
Prefer scientific notation
bendudson Jan 17, 2025
f881596
Prefer scientific notation
bendudson Jan 17, 2025
2bc063f
Prefer scientific notation
bendudson Jan 17, 2025
8959dce
Merge pull request #3040 from boutproject/cleanup-host_device-qualifiers
bendudson Jan 17, 2025
6e1bd45
Merge branch 'next' into fix-hypre
bendudson Jan 17, 2025
07603f0
Disable hypre with 3D metrics
bendudson Jan 17, 2025
0012914
Testing: Missed 3D + hypre combination
bendudson Jan 17, 2025
e3a4e1e
OptionsNetCDF: verifyTimesteps, write override base class
bendudson Jan 17, 2025
a188682
tests/integrated: Fix hypre tests
bendudson Jan 17, 2025
9d8cae1
hypre_interface: Add print() method to HypreMatrix
bendudson Jan 17, 2025
518bd4b
Merge branch 'next-hypre3d-laplace' into fix-hypre
bendudson Jan 17, 2025
99bce95
Apply clang-format changes
bendudson Jan 17, 2025
0c733e4
Merge pull request #3063 from boutproject/next-use-isfinite
bendudson Jan 21, 2025
ed20d19
Merge pull request #3038 from boutproject/deprecation-hidden-default-…
bendudson Jan 21, 2025
72bdede
Merge branch 'next' into fix-hypre
ZedThree Jan 23, 2025
77ed8db
CMake: Ensure we find adios2 when linking against BOUT++
ZedThree Jan 23, 2025
d5c14c1
CMake: Reduce duplication in linking against adios2
ZedThree Jan 23, 2025
6bcb8e9
CMake: Bump downloaded SUNDIALS version
ZedThree Jan 23, 2025
dd34789
Fix laplacexy2-hypre test failing silently
ZedThree Jan 23, 2025
acf1b5d
Change test hypre type to `gmres`
ZedThree Jan 23, 2025
f0aea43
Remove unused `x_outer_dirichlet` member from LaplaceXY2 hypre
ZedThree Jan 23, 2025
4172f1c
Remove unused header include
ZedThree Jan 23, 2025
e55611f
Use modern `output` API
ZedThree Jan 23, 2025
0590870
CMake: Ensure we find ADIOS2 if we downloaded it
ZedThree Jan 24, 2025
d32c70f
Remove coverage test from github workflow
bendudson Jan 24, 2025
0b3dc08
Merge pull request #3067 from boutproject/bump-sundials
bendudson Jan 24, 2025
1a002d2
Merge pull request #3022 from boutproject/fix-hypre
bendudson Jan 24, 2025
aebca7e
CI: Bump clang-tidy-review
ZedThree Feb 10, 2025
cc8c683
CI: Disable annotations for clang-tidy-review
ZedThree Feb 10, 2025
9063bf1
CI: Show more output of dnf5 to help debugging
dschwoerer Feb 11, 2025
ef33ba9
Merge pull request #3070 from boutproject/fix-clang-tidy-review
ZedThree Feb 12, 2025
679058c
Merge pull request #3071 from boutproject/ci-dnf5-more
ZedThree Feb 14, 2025
d377379
elm-pb example: Adding relaxing phi boundaries
bendudson Mar 5, 2025
5ce6cae
First version of code to eliminate boundary equations to improve HYPR…
rfalgout Mar 5, 2025
14a621b
elm_pb example: Fix outer boundary phivalue
bendudson Mar 5, 2025
e3f4a98
Added HYPRE GMRES SetKDim call. Need to make this an input file para…
rfalgout Mar 5, 2025
ef06967
Added code to free up data. The HypreMatrix destroy needs to be upda…
rfalgout Mar 5, 2025
6766006
hypre_interface: Wrap BC arrays in structs & shared_ptr
bendudson Mar 5, 2025
29b65c5
Fixed a bug in rhs update for boundary elimination code
rfalgout Mar 5, 2025
62b923b
FCITransform: Save R and Z coordinates to output
bendudson Mar 5, 2025
91ddbfd
Mesh, BoutMesh, Coordinates: update header comment
bendudson Mar 5, 2025
33d78fe
Apply suggestions from code review
bendudson Mar 6, 2025
08b1261
hypre_interface: Moved BC elimination to src/sys/hypre_interface.cxx
bendudson Mar 6, 2025
eea57fc
test-laplace-hypre3d: Suppress BOUT++ log outputs
bendudson Mar 6, 2025
ef9fbed
Apply black changes
bendudson Mar 6, 2025
af72bd8
Do not fail if clang-format is formatting the code
dschwoerer Mar 6, 2025
e8e5845
Merge pull request #3086 from boutproject/fix-clang-format
ZedThree Mar 6, 2025
551fc29
Merge pull request #3085 from boutproject/fci-io
bendudson Mar 10, 2025
7bbf7f3
Merge pull request #3081 from boutproject/elmpb-relaxing-phi
bendudson Mar 11, 2025
aeb83c6
CI: Avoid issues with special characters
dschwoerer Mar 12, 2025
dfa31b2
CI: run git-clang-format until there are no more changes
dschwoerer Mar 12, 2025
e743eb0
CI: use one line
dschwoerer Mar 12, 2025
1cb5277
CI: stage before we run git-clang-format again
dschwoerer Mar 12, 2025
9d1b469
Turn off test for false convergence in hypre GMRES solver
rfalgout Mar 19, 2025
f969c01
hypre_interface: Add kdim and skip_real_residual_check options
bendudson Mar 19, 2025
b70f79f
Merge pull request #2887 from boutproject/add-is-fci
bendudson Mar 27, 2025
3aed489
Add attributes to ADIOS2 output to "define" dimensions as names. We n…
pnorbert Apr 26, 2024
606a322
Merge pull request #3098 from pnorbert/myfixes
bendudson Apr 18, 2025
d43cea2
Enable alternative stencil shapes in jocobian colouring
Apr 24, 2025
19ec182
Change message to match rest of output
Apr 24, 2025
697f729
Obey the naming conventions
Apr 24, 2025
540ab7d
beuler: Merge improvements
bendudson Apr 24, 2025
aed011f
beuler: Limit stencil to fit in guard cells
bendudson Apr 24, 2025
c94150e
beuler: Fix limits on indices
bendudson Apr 24, 2025
56298f0
beuler: Apply clang-format
bendudson Apr 24, 2025
348e65b
beuler: Disable matrix_free_operator by default
bendudson Apr 26, 2025
ea7695a
snes: Add documentation to manual
bendudson Apr 27, 2025
ca7a82e
Merge pull request #3104 from seimtpow/feature/snes_stencil
bendudson Apr 28, 2025
0ced35e
beuler: Add output interpolation
bendudson May 3, 2025
8159339
snes: Make timestep adjustment tunable
bendudson May 3, 2025
1d7ab06
periodicX communication fixes
bendudson May 9, 2025
255e22d
Merge pull request #3109 from boutproject/next-periodicX
bendudson May 12, 2025
f5d3abe
cvode: Add linear_solver option
bendudson May 22, 2025
3853d3d
Use python f-strings
bendudson May 27, 2025
cac159e
Merge pull request #3112 from boutproject/cvode-linear-solver
bendudson May 28, 2025
a7771c5
Fix bug where ARKODE considered all problems linear
Steven-Roberts May 30, 2025
6b1d6f4
Fix call depending on PETSc version
dschwoerer Jun 3, 2025
d8fd1b5
Remove extra (
dschwoerer Jun 3, 2025
651d41d
Update function signature to avoid cast
dschwoerer Jun 3, 2025
88c34fe
Revert modification of wrong function
dschwoerer Jun 3, 2025
f2140b4
Merge pull request #3090 from boutproject/fix-clang-format
ZedThree Jun 3, 2025
1ead044
Adjust petsc solver for petsc changes
dschwoerer Jun 4, 2025
1bd95dd
Adopt snes.cxx for newest petsc changes
dschwoerer Jun 4, 2025
3859555
Merge pull request #3114 from Steven-Roberts/arkode-linear-bugfix
bendudson Jun 4, 2025
04338cd
coloring for petsc solver is very likely broken
dschwoerer Jun 4, 2025
c84a2fc
Cast to fix first argument from SNES to void*
dschwoerer Jun 5, 2025
afd3230
Merge branch 'next' of github.com:boutproject/BOUT-dev into fix-cast-…
dschwoerer Jun 5, 2025
4b09458
Apply clang-format changes
dschwoerer Jun 5, 2025
22e2e84
Cleanup casting
dschwoerer Jun 6, 2025
fd386e1
Update docs for what PETSc we support
dschwoerer Jun 6, 2025
c4c9b92
Remove old checks
dschwoerer Jun 6, 2025
6506d18
Add missing header
dschwoerer Jun 8, 2025
6d1db35
Fix usage of macros
dschwoerer Jun 8, 2025
c0a9155
Add missing import
dschwoerer Jun 12, 2025
844da11
Always cast to PetscErrorCode (*f)(void)
dschwoerer Jun 12, 2025
ad178b1
Fix check for release
dschwoerer Jun 12, 2025
511f4a9
Fix PETSc version check for MatFDColoringFn typedef
ZedThree Jun 17, 2025
fa2ff89
Move "maybe cast" macro to header for reuse
ZedThree Jun 17, 2025
6a7e43e
Convert macro to constexpr template function
ZedThree Jun 17, 2025
5a14fa2
Apply clang-format changes
ZedThree Jun 17, 2025
15a2397
Fixes for ELM-PB preconditioner
Steven-Roberts Jun 18, 2025
dc8027d
Merge pull request #3128 from Steven-Roberts/elm-pb-precon-fix
bendudson Jun 18, 2025
a7142b3
Merge pull request #3117 from boutproject/fix-cast-for-new-petsc
ZedThree Jun 18, 2025
520ba06
Merge pull request #3107 from boutproject/snes-timestep
bendudson Jun 21, 2025
ce417ca
Merge branch 'next' into next-elimBE
bendudson Jun 21, 2025
f880dcb
Apply clang-format changes
bendudson Jun 21, 2025
10ccee3
Add nx, ny, nz as optional arguments to FakeMeshFixture constructor
tomchapman Jun 10, 2025
f69ccdc
Use type alias FakeMeshFixture = FakeMeshFixture_tmpl<3, 5, 7> as a s…
tomchapman Jun 12, 2025
d3bd5f9
Apply clang-format changes
tomc271 Jun 23, 2025
d7cdc65
Small tidy of test class docstring
ZedThree Jun 23, 2025
e080493
Merge pull request #3082 from boutproject/next-elimBE
bendudson Jun 24, 2025
3d6a519
Merge pull request #3132 from boutproject/flexible-fakemeshfixture
bendudson Jun 24, 2025
391b06b
CI: Switch to released fedora
dschwoerer Jun 24, 2025
1fa55d2
CI: require python3-boutuils
dschwoerer Jun 24, 2025
82a2ce0
Merge pull request #3134 from boutproject/fedora-latest
ZedThree Jun 24, 2025
81befc2
Revert "Merge pull request #3082 from boutproject/next-elimBE"
ZedThree Jun 24, 2025
ab0c53a
Merge pull request #3136 from boutproject/revert-eliminate-hypre-bcs
bendudson Jun 25, 2025
c6ad498
Handle absolute paths to options file
bendudson Jun 29, 2025
7c2c654
Fix name clash in some examples and MMS tests
ZedThree Jul 2, 2025
824d095
Fix some clang-tidy warnings
ZedThree Jul 2, 2025
90f7b03
Use std::filesystem::path for inputs
bendudson Jul 3, 2025
5f0720a
SNES solver: Added a PID controller to update the timestep of the bac…
malamast Jul 3, 2025
656dbdc
Apply clang-format changes
malamast Jul 3, 2025
f395056
Merge pull request #3142 from boutproject/options-path
ZedThree Jul 3, 2025
5a240c8
Update src/solver/impls/snes/snes.cxx
malamast Jul 7, 2025
9276da0
Apply clang-format changes
malamast Jul 7, 2025
210a6bc
Update src/solver/impls/snes/snes.cxx
malamast Jul 8, 2025
e881832
Update src/solver/impls/snes/snes.cxx
malamast Jul 8, 2025
1339804
Update src/solver/impls/snes/snes.cxx
malamast Jul 8, 2025
687d21c
Update src/solver/impls/snes/snes.cxx
malamast Jul 8, 2025
0c8ef87
Update src/solver/impls/snes/snes.cxx
malamast Jul 8, 2025
fd6f189
Apply clang-format changes
malamast Jul 8, 2025
8619876
snes: I addied some changes made on my remote branch by clang-tidy. I…
malamast Jul 17, 2025
c208639
Apply clang-format changes
malamast Jul 17, 2025
b593a19
Fix more clang-tidy warnings
ZedThree Jul 18, 2025
e8277e4
Apply clang-format changes
ZedThree Jul 18, 2025
7c586e3
Bump ZedThree/clang-tidy-review from 0.20.1 to 0.21.0
dependabot[bot] Apr 14, 2025
f133bdb
Merge pull request #3150 from boutproject/bump-clang-tidy-review
ZedThree Jul 18, 2025
60c2567
Merge branch 'next' into fix-input-name-clash
ZedThree Jul 18, 2025
d816d78
SNES: changes the pidController flag to pid_controller to match the v…
malamast Jul 18, 2025
3be7177
snes: fixed some merging conflicts
malamast Jul 18, 2025
751a22f
SNES: reapplied some changes from previous commits that accidentally …
malamast Jul 24, 2025
865c0ab
Apply clang-format changes
malamast Jul 24, 2025
dd146a8
Update CMakeLists.txt
tbody-cfs Apr 17, 2025
5988480
Move enable C to NetCDF
tbody-cfs Apr 18, 2025
0f7c854
Remove top-level C
tbody-cfs Apr 18, 2025
0ab77ba
Add back in C language for SUNDIALS
tbody-cfs Apr 18, 2025
bcfde74
Merge pull request #3152 from boutproject/cmake-fix-from-master
oparry-ukaea Jul 28, 2025
42440eb
Merge pull request #3145 from boutproject/fix-input-name-clash
ZedThree Aug 4, 2025
b8d37c2
Merge pull request #3146 from boutproject/snes-adaptive-pid
bendudson Aug 12, 2025
ec1f94f
snes: Print a warning if the coloring is non-symmetric.
bendudson Aug 13, 2025
cf7e043
Apply clang-format changes
bendudson Aug 13, 2025
c3217c6
Merge pull request #3159 from boutproject/snes-warn-nonsymmetric
bendudson Aug 15, 2025
5e03d49
Merge branch 'master' into v5.2.0-rc
ZedThree Oct 6, 2025
cfb22cf
Update translations
ZedThree Oct 6, 2025
84f60c5
Tweak citations updater, mention in docs
ZedThree Oct 6, 2025
265bbb9
Add new authors
ZedThree Oct 6, 2025
7e96b3f
Add dependencies to changelog updater
ZedThree Oct 6, 2025
7678b8a
Tweak version updater, mention in docs
ZedThree Oct 6, 2025
ad1d514
Bump version to 5.2.0
ZedThree Oct 6, 2025
0cb2971
Update changelog
ZedThree Oct 6, 2025
6e35ac0
CI: Don't run clang-{tidy,format} on RC branches
ZedThree Oct 6, 2025
6c78dc4
Fix reorder warning from snes
ZedThree Oct 6, 2025
f1f0143
Fix some easy clang-tidy snes warnings
ZedThree Oct 6, 2025
6380657
Bump bundled fmt
ZedThree Oct 6, 2025
01c4068
Fix deprecation warning
ZedThree Oct 6, 2025
e804d09
Remove `boututils` from requirements; bump `boutdata`
ZedThree Oct 6, 2025
d5b92c7
Suppress warning from `nodiscard` function
ZedThree Oct 6, 2025
8726980
Add shim for ARKodeGetNumRhsEvals
ZedThree Oct 6, 2025
466fa98
Bump DOI
ZedThree Oct 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
62 changes: 62 additions & 0 deletions .build_adios2_for_ci.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
#!/bin/bash

set -e

if test $BUILD_ADIOS2 ; then
if [[ ! -d $HOME/local/adios/include/adios2.h ]] || test $1 ; then
echo "****************************************"
echo "Building ADIOS2"
echo "****************************************"

branch=${1:-release_29}
if [ ! -d adios2 ]; then
git clone -b $branch https://github.com/ornladios/ADIOS2.git adios2 --depth=1
fi

pushd adios2
rm -rf build
mkdir -p build
pushd build

cmake .. \
-DCMAKE_INSTALL_PREFIX=$HOME/local \
-DADIOS2_USE_MPI=ON \
-DADIOS2_USE_Fortran=OFF \
-DADIOS2_USE_Python=OFF \
-DADIOS2_BUILD_EXAMPLES=OFF \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-DBUILD_TESTING=OFF \
-DADIOS2_USE_SST=OFF \
-DADIOS2_USE_MGARD=OFF \
-DADIOS2_USE_HDF5=OFF \
-DADIOS2_USE_BZip2=OFF \
-DADIOS2_USE_Blosc2=OFF \
-DADIOS2_USE_SZ=OFF \
-DADIOS2_USE_ZFP=OFF \
-DADIOS2_USE_DAOS=OFF \
-DADIOS2_USE_UCX=OFF \
-DADIOS2_USE_LIBPRESSIO=OFF \
-DADIOS2_USE_Sodium=OFF \
-DADIOS2_USE_ZeroMQ=OFF \
-DADIOS2_USE_MHS=OFF \
-DADIOS2_USE_DataMan=OFF

make -j 4 && make install
popd

echo "****************************************"
echo " Finished building ADIOS2"
echo "****************************************"

else

echo "****************************************"
echo " ADIOS2 already installed"
echo "****************************************"
fi
else
echo "****************************************"
echo " ADIOS2 not requested"
echo "****************************************"
fi
1 change: 1 addition & 0 deletions .ci_fedora.sh
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ then
# Ignore weak depencies
echo "install_weak_deps=False" >> /etc/dnf/dnf.conf
echo "minrate=10M" >> /etc/dnf/dnf.conf
export FORCE_COLUMNS=200
time dnf -y install dnf5
time dnf5 -y install dnf5-plugins cmake python3-zoidberg python3-natsort python3-boututils
# Allow to override packages - see #2073
Expand Down
13 changes: 0 additions & 13 deletions .ci_with_cmake.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,6 @@ ctest --output-on-failure --timeout 300

export LD_LIBRARY_PATH=/home/runner/local/lib:$LD_LIBRARY_PATH

# Test bout-config basic functionallity
cd ../examples/make-script
PATH=../../build/bin:$PATH bout-config --all
PATH=../../build/bin:$PATH make
./test --help
cd -
# Test bout++Config.cmake
cd ../examples/conduction
cmake . -B build -DCMAKE_PREFIX_PATH=../../build
Expand All @@ -32,13 +26,6 @@ cd -

make install -j 2
rm -rf build
# Test installation with plain `make`
cd ../examples/make-script
rm test
PATH=../../installed/bin:$PATH bout-config --all
PATH=../../installed/bin:$PATH make
./test --help
cd -
# Test installation with CMake
cd ../examples/conduction
cmake . -B build -DCMAKE_PREFIX_PATH=../../installed
Expand Down
2 changes: 2 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,8 @@ SpacesInParentheses: false
SpacesInSquareBrackets: false
StatementMacros:
- BOUT_OMP
- BOUT_OMP_PERF
- BOUT_OMP_SAFE
Standard: c++14
TabWidth: 8
UseTab: Never
11 changes: 2 additions & 9 deletions .clang-tidy
Original file line number Diff line number Diff line change
@@ -1,18 +1,10 @@
---
Checks: 'clang-diagnostic-*,clang-analyzer-*,performance-*,readability-*,bugprone-*,clang-analyzer-*,cppcoreguidelines-*,mpi-*,misc-*,-readability-magic-numbers,-cppcoreguidelines-avoid-magic-numbers,-misc-non-private-member-variables-in-classes,-clang-analyzer-optin.mpi*,-bugprone-exception-escape,-cppcoreguidelines-pro-bounds-pointer-arithmetic,-readability-function-cognitive-complexity,-misc-no-recursion,-bugprone-easily-swappable-parameters'
Checks: 'clang-diagnostic-*,clang-analyzer-*,performance-*,readability-*,bugprone-*,clang-analyzer-*,cppcoreguidelines-*,mpi-*,misc-*,-readability-magic-numbers,-cppcoreguidelines-avoid-magic-numbers,-misc-non-private-member-variables-in-classes,-clang-analyzer-optin.mpi*,-bugprone-exception-escape,-cppcoreguidelines-pro-bounds-pointer-arithmetic,-readability-function-cognitive-complexity,-misc-no-recursion,-bugprone-easily-swappable-parameters,-readability-identifier-length'
WarningsAsErrors: ''
HeaderFilterRegex: ''
FormatStyle: file
CheckOptions:

# Allow some common short names
- key: readability-identifier-length.IgnoredVariableNames
value: '^[dn]?[xyz]$'
- key: readability-identifier-length.IgnoredParameterNames
value: '^[dfijknxyz][01xyz]?$'
- key: readability-identifier-length.IgnoredLoopCounterNames
value: '^[ijkxyz_]$'

# Don't expand macros when simplifying boolean expressions,
# otherwise this breaks `ASSERT` macros!
- key: readability-simplify-boolean-expr.IgnoreMacros
Expand All @@ -27,6 +19,7 @@ These are all basically unavoidable in HPC numeric code:
-cppcoreguidelines-pro-bounds-pointer-arithmetic
-readability-function-cognitive-complexity
-bugprone-easily-swappable-parameters
-readability-identifier-length

This doesn't work very well:
-clang-analyzer-optin.mpi*
Expand Down
5 changes: 4 additions & 1 deletion .github/workflows/clang-format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ on:

jobs:
clang-format:
# Release candidate branches tend to have big PRs which causes all sorts of problems
if: ${{ !endsWith(github.head_ref, '-rc') }}
runs-on: ubuntu-latest
steps:
# Checkout the pull request branch, also include all history
Expand All @@ -22,7 +24,8 @@ jobs:

- name: Run clang-format
id: format
run: git clang-format origin/${{ github.base_ref }}
run:
while ! git clang-format origin/${{ github.base_ref }} ; do git add . ; done

- name: Commit to the PR branch
uses: stefanzweifel/git-auto-commit-action@v5
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/clang-tidy-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,15 @@ on:
paths:
- '**.cxx'
- '**.hxx'
branches-ignore:
# Release candidate branches tend to have big PRs which causes all sorts of problems
- 'v*rc'

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
review:
# Release candidate branches tend to have big PRs which causes all sorts of problems
if: ${{ !endsWith(github.head_ref, '-rc') }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
Expand All @@ -31,6 +30,7 @@ jobs:
# Googletest triggers a _lot_ of clang-tidy warnings, so ignore all
# the unit tests until they're fixed or ignored upstream
exclude: "tests/unit/*cxx"
lgtm_comment_body: ''
cmake_command: |
pip install --break-system-packages cmake && \
cmake --version && \
Expand Down
46 changes: 43 additions & 3 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,20 +39,24 @@ jobs:
is_cron:
- ${{ github.event_name == 'cron' }}
config:
- name: "CMake, PETSc unreleased"
- name: "CMake, PETSc unreleased, ADIOS2"
os: ubuntu-24.04
cmake_options: "-DBUILD_SHARED_LIBS=ON
-DBOUT_ENABLE_METRIC_3D=ON
-DBOUT_ENABLE_OPENMP=ON
-DBOUT_USE_PETSC=ON
-DBOUT_USE_SLEPC=ON
-DBOUT_USE_SUNDIALS=ON
-DBOUT_USE_HYPRE=OFF
-DBOUT_USE_ADIOS2=ON
-DBOUT_ENABLE_PYTHON=ON
-DADIOS2_ROOT=/home/runner/local
-DSUNDIALS_ROOT=/home/runner/local
-DPETSC_DIR=/home/runner/local/petsc
-DSLEPC_DIR=/home/runner/local/slepc"
build_petsc: -petsc-main
build_petsc_branch: main
build_adios2: true
on_cron: true

- name: "Default options, Ubuntu 22.04"
Expand All @@ -71,18 +75,20 @@ jobs:
-DBOUT_USE_PETSC=ON
-DBOUT_USE_SLEPC=ON
-DBOUT_USE_SUNDIALS=ON
-DBOUT_USE_HYPRE=ON
-DSUNDIALS_ROOT=/home/runner/local"
on_cron: false

- name: "Debug, shared"
os: ubuntu-latest
cmake_options: "-DCHECK=3
cmake_options: "-DCHECK=4
-DCMAKE_BUILD_TYPE=Debug
-DBOUT_ENABLE_SIGNAL=ON
-DBOUT_ENABLE_TRACK=ON
-DBOUT_USE_PETSC=ON
-DBOUT_USE_SLEPC=ON
-DBOUT_USE_SUNDIALS=ON
-DBOUT_USE_HYPRE=ON
-DSUNDIALS_ROOT=/home/runner/local"
on_cron: false

Expand All @@ -94,6 +100,7 @@ jobs:
-DBOUT_USE_PETSC=ON
-DBOUT_USE_SLEPC=ON
-DBOUT_USE_SUNDIALS=ON
-DBOUT_USE_HYPRE=ON
-DBOUT_BUILD_DOCS=OFF
-DSUNDIALS_ROOT=/home/runner/local"
omp_num_threads: 2
Expand All @@ -107,6 +114,7 @@ jobs:
-DBOUT_USE_PETSC=ON
-DBOUT_USE_SLEPC=ON
-DBOUT_USE_SUNDIALS=ON
-DBOUT_USE_HYPRE=OFF
-DBOUT_ENABLE_PYTHON=ON
-DSUNDIALS_ROOT=/home/runner/local"
omp_num_threads: 2
Expand All @@ -120,6 +128,7 @@ jobs:
-DBOUT_USE_PETSC=ON
-DBOUT_USE_SLEPC=ON
-DBOUT_USE_SUNDIALS=ON
-DBOUT_USE_HYPRE=OFF
-DBOUT_ENABLE_PYTHON=ON
-DSUNDIALS_ROOT=/home/runner/local
-DPETSC_DIR=/home/runner/local/petsc
Expand Down Expand Up @@ -157,6 +166,7 @@ jobs:
slepc-dev
liblapack-dev
libparpack2-dev
libhypre-dev

- uses: actions/checkout@v5
with:
Expand All @@ -183,13 +193,16 @@ jobs:
- name: Build PETSc
run: BUILD_PETSC=${{ matrix.config.build_petsc }} ./.build_petsc_for_ci.sh ${{ matrix.config.build_petsc_branch }}

- name: Build ADIOS2
run: BUILD_ADIOS2=${{ matrix.config.build_adios2 }} ./.build_adios2_for_ci.sh

- name: Build BOUT++
run: UNIT_ONLY=${{ matrix.config.unit_only }} ./.ci_with_cmake.sh ${{ matrix.config.cmake_options }}

Fedora:
# This is its own job as it doesn't use most of the steps of the
# standard_tests
timeout-minutes: 60
timeout-minutes: 120
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
Expand All @@ -200,3 +213,30 @@ jobs:
shell: bash
env:
TRAVIS_BUILD_DIR: ${{ github.workspace }}
CUDA:
timeout-minutes: 60
runs-on: ubuntu-latest
container: ghcr.io/ggeorgakoudis/boutdev-cuda:latest

steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Build minimal CUDA 12.2 @ GCC9.4.0 @ Ubuntu 20.04
run: |
. /spack/share/spack/setup-env.sh
spack env activate -p /spack-env
git config --global --add safe.directory $GITHUB_WORKSPACE
rm -rf build
cmake -S $GITHUB_WORKSPACE -B build \
-DCMAKE_C_COMPILER=gcc \
-DCMAKE_CXX_COMPILER=g++ \
-DBOUT_ENABLE_RAJA=on \
-DBOUT_ENABLE_UMPIRE=on \
-DBOUT_ENABLE_CUDA=on \
-DCMAKE_CUDA_ARCHITECTURES=80 \
-DCUDA_ARCH=compute_80,code=sm_80 \
-DBOUT_ENABLE_WARNINGS=off \
-DBOUT_USE_SYSTEM_FMT=on
cd build
make -j 4
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -85,3 +85,5 @@ coverage/
/_version.txt
/BOUT++-v*.tar.gz
/BOUT++-v*.tar.xz
/CMakeCache.txt
/CMakeFiles/cmake.check_cache
Loading
Loading