Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
508 commits
Select commit Hold shift + click to select a range
eb4a31d
Silence clang-tidy warning about macro use in options header
ZedThree Jan 19, 2024
1f16f7c
Move value to avoid unnecessary copy
ZedThree Jan 19, 2024
d285662
Implement move ctor/assignment for `Options`
ZedThree Jan 19, 2024
263a156
Apply clang-format changes
ZedThree Jan 19, 2024
b63c033
Merge branch 'next' into par-bc-cleanup
dschwoerer Jan 22, 2024
998bd0a
Make move ctors `noexcept`
ZedThree Jan 22, 2024
329b713
Apply clang-format changes
ZedThree Jan 22, 2024
2d15e2c
Remove unused bundled `post_bout` library
ZedThree Jan 22, 2024
0a2c866
Remove unused `format.hxx` header
ZedThree Jan 25, 2024
2ed1797
Merge pull request #2843 from boutproject/remove-postbout
ZedThree Jan 25, 2024
e7413de
Merge pull request #2841 from boutproject/options-make-clang-tidy-happy
ZedThree Jan 25, 2024
aca2679
Replace `MAYBE_UNUSED` macro with C++17 `[[maybe_unused]]`
ZedThree Jan 25, 2024
e329eb6
Use C++17's `inline` variable feature to remove some code
ZedThree Jan 25, 2024
88d4b93
Merge pull request #2848 from boutproject/remove-format
ZedThree Jan 25, 2024
7e0ccad
Remove disgusting hack to placate linker
ZedThree Jan 25, 2024
02cecc9
Apply suggestions from code review
bendudson Jan 25, 2024
4116593
Merge pull request #2849 from boutproject/remove-maybe_unused-macro
ZedThree Jan 26, 2024
a1fceb5
Revert "Remove disgusting hack to placate linker"
ZedThree Jan 26, 2024
d3beaa2
Remove some more redundant constexpr definitions
ZedThree Jan 26, 2024
85ff636
Remove `Options::OptionValue` nested class
ZedThree Jan 26, 2024
e199cb4
Merge pull request #2852 from boutproject/delete-optionsvalue-nested-…
bendudson Jan 26, 2024
cbfd962
Merge pull request #2850 from boutproject/cpp-17-inline-variables
ZedThree Jan 26, 2024
fd8b0e6
Replace template dispatch with `if constexpr`
ZedThree Jan 26, 2024
d3a2001
Replace `std::get<N>` with actual type in tests
ZedThree Jan 26, 2024
11564ed
Use `std::invoke` rather than pointer-to-member-function syntax
ZedThree Jan 26, 2024
aa8d5fe
Update CUDA standard to cxx17, add CI build test
ggeorgakoudis Feb 1, 2024
7171885
Read local part of global 3D fields
bendudson Feb 3, 2024
006852a
ADIOS: Read Field2D and FieldPerp fields
bendudson Feb 3, 2024
5e28d03
Merge pull request #2857 from boutproject/adios-reading
bendudson Feb 5, 2024
e7b5c20
Merge pull request #2856 from ggeorgakoudis/next-fix-cxx17-cuda
bendudson Feb 5, 2024
aece5f4
Options: Delete copy constructor and copy assignment
bendudson Feb 7, 2024
377836a
Arkode solver: Remove accidental Options copy
bendudson Feb 7, 2024
08a764f
CVode solver: Options accidental copy
bendudson Feb 7, 2024
d70c605
Unit test FakeGridDataSource: explicit Options copy
bendudson Feb 7, 2024
8b6c8bc
Merge branch next into par-bc-regions
dschwoerer Feb 7, 2024
0dcd257
Merge branch 'par-bc-cleanup' into par-bc-improve
dschwoerer Feb 7, 2024
fbc64c6
Apply black changes
dschwoerer Feb 7, 2024
e3a864f
Apply black changes
dschwoerer Feb 7, 2024
283917d
Merge pull request #2629 from boutproject/par-bc-cleanup
bendudson Feb 8, 2024
182c21b
Options: Add CopyableOptions for initializer_list construction
bendudson Feb 8, 2024
058faee
Unit tests compiling
bendudson Feb 8, 2024
e2a5473
Apply clang-format changes
bendudson Feb 8, 2024
83d51bf
Options: Fix initialization_list construction
bendudson Feb 8, 2024
8a95fec
Apply clang-format changes
bendudson Feb 8, 2024
de2b293
Tests: Replace use of `std::tmpnam`
ZedThree Jan 26, 2024
17d6f29
Simplify small snippet with C++17
ZedThree Jan 26, 2024
44f5649
Remove C++14 backfill for `std::uncaught_exceptions()`
ZedThree Jan 26, 2024
14a4a96
Delete helper class for pre-C++17 fold expressions
ZedThree Feb 12, 2024
a84faaa
Add `is_Field*_v<T>` inline constexpr variables
ZedThree Feb 12, 2024
55abebd
Use `std::is_*_v` inline constexpr variables instead of `::value`
ZedThree Feb 12, 2024
d265442
Use `if constexpr` with type-checking conditionals
ZedThree Feb 12, 2024
afe76af
Tidy docstrings for `is_Field*_v`
ZedThree Feb 12, 2024
9d51694
Convert helper function to local lambda
ZedThree Feb 12, 2024
6c7cd3e
Remove some out of date comments
ZedThree Feb 12, 2024
0920485
Remove unnecessary `typename` in template
ZedThree Feb 12, 2024
a91b4ae
Apply clang-format changes
ZedThree Feb 12, 2024
f1a30a8
CI: Delete default values from clang-tidy config
ZedThree Feb 13, 2024
1d106aa
CI: Allow `f` as a parameter name
ZedThree Feb 13, 2024
4dbc682
CI: Allow `d[xyz]` as a variable name
ZedThree Feb 13, 2024
aa540d4
CI: Ignore macros when trying to simplify boolean expressions
ZedThree Feb 13, 2024
e92e3dc
CI: Allow `i[xyz]` as parameter names
ZedThree Feb 13, 2024
0259152
CI: Disable check for "easily swappable parameters"
ZedThree Feb 13, 2024
01cec90
Fix a couple of warnings about array-decay-to-pointer
ZedThree Feb 13, 2024
485e8fe
CI: Re-enable warning about varargs
ZedThree Feb 13, 2024
d08563b
CI: Document why some checks are disabled
ZedThree Feb 13, 2024
fca7c42
CI: Re-enable a couple of accidentally disabled checks
ZedThree Feb 13, 2024
0c2d8f8
Fix some other clang-tidy warnings arising from `BoutException`
ZedThree Feb 13, 2024
7290aae
Declare some `PetscLib` static members `inline`
ZedThree Feb 13, 2024
61d50c8
Fix a bunch of clang-tidy warnings in `PetscLib`
ZedThree Feb 13, 2024
2f25d54
Apply clang-format changes
ZedThree Feb 13, 2024
4075550
Update src/sys/boutexception.cxx
bendudson Feb 13, 2024
0798bb8
Merge pull request #2865 from boutproject/clang-tidy-better-checks
bendudson Feb 13, 2024
4936d5e
Merge pull request #2862 from boutproject/cpp-17-minor-bits
bendudson Feb 14, 2024
e810520
CVode solver: Remove accidental Options copy
bendudson Feb 14, 2024
cdd72e7
Options: Add comment to deleted copy constructor & assignment
bendudson Feb 14, 2024
46b03c7
Ensure test has zoidberg
dschwoerer Feb 15, 2024
53cd0cc
CopyableOptions: Add constructor from char*
bendudson Feb 16, 2024
cc48b1b
Apply clang-format changes
bendudson Feb 16, 2024
3a29bcd
Merge pull request #2861 from boutproject/next-options-nocopy
bendudson Feb 16, 2024
62f3d2c
Add number of OpenMP threads to dump file
dschwoerer Feb 20, 2024
dc89b52
Apply clang-format changes
dschwoerer Feb 20, 2024
2d289cc
Ignore number of openmp_threads in test
dschwoerer Feb 21, 2024
2d9858a
Apply black changes
dschwoerer Feb 21, 2024
694d8c0
Avoid some #if branching for openmp
dschwoerer Feb 21, 2024
436b6cd
Apply clang-format changes
dschwoerer Feb 21, 2024
fe91ff0
Add additional openmp shim
dschwoerer Feb 21, 2024
3d9a53d
function definitions in headers should be inline
dschwoerer Feb 21, 2024
7beb0f1
remove unneeded forward declaration
dschwoerer Feb 21, 2024
34af631
Use shared_ptr for automatic memory management
dschwoerer Feb 21, 2024
bcb1b50
Update doc string
dschwoerer Feb 21, 2024
3e737b0
Include build_defines
dschwoerer Feb 21, 2024
adbe88a
Include openmp header
dschwoerer Feb 21, 2024
09ce12b
Update function signature for mock class
dschwoerer Feb 21, 2024
5889af4
Apply clang-format changes
dschwoerer Feb 21, 2024
828552b
Add -fopenmp to FLAGS if using openmp
dschwoerer Feb 21, 2024
f9b8426
Ensure that _OPENMP and BOUT_USE_OPENMP is the same
dschwoerer Feb 21, 2024
57bb653
Fix ifdef
dschwoerer Feb 21, 2024
5e10002
Improve doc string
dschwoerer Feb 22, 2024
224741d
prefer const ref
dschwoerer Feb 22, 2024
3356a51
prefer constexpr
dschwoerer Feb 22, 2024
82643e2
Track ldflags for shared lib
dschwoerer Feb 22, 2024
30cb546
Print --has-openmp in --all for bout-config
dschwoerer Feb 22, 2024
748998f
CI: Enable openmp for cuda
dschwoerer Feb 22, 2024
ccf2f78
differentiate openmp usage
dschwoerer Feb 22, 2024
ecef0e6
Apply clang-format changes
dschwoerer Feb 22, 2024
71e5e4f
Do not specify redundant class in ctor
dschwoerer Feb 22, 2024
2a1185d
Ensure omp functions are always defined
dschwoerer Feb 22, 2024
761ea7e
Apply clang-format changes
dschwoerer Feb 22, 2024
8abd6dd
Make check for zoidberg much faster
dschwoerer Feb 22, 2024
e53a859
Reorder member initialisers for `Region`
ZedThree Feb 22, 2024
169a947
Apply clang-format changes
ZedThree Feb 22, 2024
af53c5b
Revert "Reorder member initialisers for `Region`"
dschwoerer Feb 22, 2024
7584a39
Prefer member initialisation
dschwoerer Feb 22, 2024
aff5e6c
Merge pull request #2869 from boutproject/gcc-warning-wall
ZedThree Feb 23, 2024
7abf442
Rename header guard
ZedThree Feb 23, 2024
afde5a4
CI: Allow `dx, nx` etc as parameter names
ZedThree Feb 23, 2024
0ea866c
Add some missing headers to `region.hxx`
ZedThree Feb 23, 2024
c27eab5
Explicitly silence some clang-tidy warnings
ZedThree Feb 23, 2024
2823063
Apply clang-format
ZedThree Feb 23, 2024
1af269b
Remove unnecessary `const` on return types
ZedThree Feb 23, 2024
37d22e1
Make some local variables `const`
ZedThree Feb 23, 2024
f65ea3b
Better names for some local variables
ZedThree Feb 23, 2024
c05e8eb
Explicitly cast result of `std::count`
ZedThree Feb 23, 2024
2d99c67
Remove default `Region` dtor
ZedThree Feb 23, 2024
0c45f98
Merge pull request #2870 from boutproject/cmake-zoidberg-fast
ZedThree Feb 23, 2024
73f9686
Apply clang-format changes
ZedThree Feb 23, 2024
b145b56
Fix all header guards
ZedThree Feb 23, 2024
cb98312
Merge pull request #2872 from boutproject/fix-header-guards
bendudson Feb 23, 2024
42c6805
Merge pull request #2871 from boutproject/region-clang-tidy
bendudson Feb 23, 2024
5d0a1ad
Merge pull request #2868 from boutproject/dump-openmp
bendudson Feb 23, 2024
572287d
elm-pb: Fix sheath boundary conditions
bendudson Mar 2, 2024
f77fef5
Apply suggestions from code review
bendudson Mar 2, 2024
c80b0ec
Merge pull request #2876 from boutproject/elmpb-fix-sheath
bendudson Mar 4, 2024
06eb590
CI: Adopt for no sudo in container
dschwoerer Mar 18, 2024
490ffea
Merge branch 'next' into par-bc-regions
dschwoerer Mar 19, 2024
608838e
Merge branch 'par-bc-regions' into par-bc-improve
dschwoerer Mar 19, 2024
21fbe05
ignore cmake cache stuff
dschwoerer Nov 3, 2023
4153b2d
Fix comment
dschwoerer Nov 3, 2023
9991242
Fix license tag
dschwoerer Nov 3, 2023
d74a188
More const awareness
dschwoerer Jun 19, 2023
d32be80
Provide non-const [] operator
dschwoerer Dec 16, 2021
df29b37
Update comments
dschwoerer Nov 19, 2021
bdb24ce
Apply clang-format changes
dschwoerer Mar 19, 2024
e30163d
Merge pull request #2886 from boutproject/minor-fixes
bendudson Mar 20, 2024
2c01f10
Reintroduce removed copy function marked deprecated
dschwoerer Mar 21, 2024
77193ef
Merge pull request #2891 from boutproject/reintroduce-implicit-copy
bendudson Mar 21, 2024
7065c65
Merge pull request #2883 from boutproject/ci-fedora-kiwi
bendudson Mar 21, 2024
ab4928e
Remove unused option for blob2d
dschwoerer Mar 22, 2024
3969836
Update boutpp/blob2d for recent updates
dschwoerer Mar 22, 2024
ba72094
Always ensure folder gets created
dschwoerer Mar 22, 2024
2e07aa2
Copy boutpp example files
dschwoerer Mar 22, 2024
f79c591
expose setConditionallyUsed
dschwoerer Mar 22, 2024
651bac3
Ensure errors in solve and rhs are catchable
dschwoerer Mar 22, 2024
5fd38b5
Do not use python preserved __ prefix
dschwoerer Mar 25, 2024
b4c2555
Add warnings about SUNDIALS versions <4
Steven-Roberts Jan 19, 2024
2730aec
Remove sundials <v4 support and start v7 support
Steven-Roberts Feb 12, 2024
db5f0d8
Remove old spils API for linear solvers
Steven-Roberts Mar 18, 2024
92ccf99
Update IDA calls
Steven-Roberts Mar 18, 2024
bd794f7
Use new adaptivity controller with ARKODE
Steven-Roberts Mar 19, 2024
87c4cae
Fix local length for old SUNDIALS versions
Steven-Roberts Mar 19, 2024
2c3df11
Update SUNDIALS download source
Steven-Roberts Mar 19, 2024
3ee3526
Add missing header
Steven-Roberts Mar 19, 2024
eac0acb
Fix bug with ARKODE always treating problem as linear
Steven-Roberts Mar 19, 2024
4cbc34e
Apply suggestions from code review
Steven-Roberts Mar 19, 2024
0b8e47b
CMake requires SUNDIALS v4+
Steven-Roberts Mar 19, 2024
9c05cc9
Add missing period
Steven-Roberts Mar 19, 2024
e905f6a
Apply suggestions from code review
Steven-Roberts Mar 20, 2024
173456c
Switch to [[maybe_unused]]
Steven-Roberts Mar 20, 2024
90ceeec
Simplify SUNDIALS cmake
Steven-Roberts Mar 20, 2024
c749ec4
Add options to set Butcher tables by name
Steven-Roberts Mar 21, 2024
d1ff452
Apply clang-format
ZedThree Mar 28, 2024
4ef1ddd
Include header for `BoutReal`; remove unused header
ZedThree Apr 8, 2024
35cae4a
CI: Remove deprecated clang-tidy option
ZedThree Apr 8, 2024
c027a63
Move some static functions to anonymous namespace
ZedThree Apr 8, 2024
5a0a311
CI: Suppress some warnings about short identifiers
ZedThree Apr 8, 2024
4ed2164
Make a couple of implicit casts explicit
ZedThree Apr 8, 2024
84db34d
Fix some short identifiers
ZedThree Apr 8, 2024
9436af8
Silence warning about assignment in `if` statement
ZedThree Apr 8, 2024
2c0c60d
Apply clang-format changes
ZedThree Apr 8, 2024
edcb570
Merge pull request #2892 from boutproject/boutpp-fixes
ZedThree Apr 8, 2024
1d52b38
Merge pull request #2896 from boutproject/sundials-v7-next-rebase
ZedThree Apr 8, 2024
3944913
Update tests/unit/test_extras.hxx
dschwoerer Apr 9, 2024
33c2284
Prefer ADIOS2 over ADIOS in more cases
dschwoerer Apr 22, 2024
0589919
Fix missed adios
dschwoerer Apr 22, 2024
1de2dfb
Merge pull request #2905 from boutproject/adios2-name
ZedThree Apr 24, 2024
7db76aa
Apply suggestions from code review
bendudson Apr 24, 2024
f8a94bf
Apply clang-format changes
bendudson Apr 24, 2024
85438dc
Merge pull request #2648 from boutproject/par-bc-regions
bendudson Apr 24, 2024
7897a3f
Merge branch 'next' into par-bc-improve
dschwoerer Apr 29, 2024
d99183e
Apply clang-format changes
dschwoerer Apr 29, 2024
22f0a03
Merge pull request #2649 from boutproject/par-bc-improve
bendudson May 16, 2024
f68950c
invert_laplace: Fix outer boundary metrics
bendudson May 20, 2024
43ddd13
Merge pull request #2914 from boutproject/fix-laplace-metrics
ZedThree May 23, 2024
863abe8
Add methods to `Laplacian` for checking if flags are set
ZedThree May 23, 2024
d803286
Add helper method for checking inner/outer flags on `first/lastX`
ZedThree May 23, 2024
bdbd528
Remove flags arguments from `Laplacian::tridagMatrix`
ZedThree May 24, 2024
fe30f47
Add getters for Laplacian flags, make data members private
ZedThree May 24, 2024
85c8673
Replace VLAs with `std::vector`
ZedThree May 24, 2024
365790d
Replace raw `new` with `Array`
ZedThree May 24, 2024
0ac1e5f
Don't set deprecated 4th order flag in PETSc laplace test
ZedThree May 28, 2024
ae643d8
Fix PETSc stack trace issue
ZedThree May 28, 2024
aadb9d6
Fix some clang-tidy issues with PETSc laplace preconditioner
ZedThree May 28, 2024
232c3c5
Tidy up test-petsc-laplace
ZedThree May 28, 2024
090c5a8
Pull out helper functions for PETSc laplace tests
ZedThree May 28, 2024
61f1d82
Move field initialisation to separate functions for petsc test
ZedThree May 28, 2024
f926993
Reduce duplicated flag checking in `LaplacePetsc`
ZedThree May 28, 2024
c2855aa
Remove some deprecated includes in boutmesh
ZedThree May 30, 2024
c67ffef
Enclose some macro arguments in parentheses
ZedThree May 30, 2024
b1606af
Try to convince IWYU/clang-include-cleaner to use top-level headers
ZedThree May 30, 2024
533e446
Apply clang-format changes
ZedThree May 30, 2024
ed69fd6
Merge pull request #2919 from boutproject/fix-some-include-issues
ZedThree May 31, 2024
a6aa835
Update MPCDF instructions
dschwoerer Jun 4, 2024
77103c2
Fix netcdf-cxx4 url
dschwoerer Jun 5, 2024
d67016a
Fix URL
dschwoerer Jun 10, 2024
b982530
Fix version checking for SUNDIALS
Steven-Roberts Jun 11, 2024
505f2b3
Fix docstrings for Laplacian flag getters
ZedThree Jun 17, 2024
e916f2e
CMake: Use lowercase command
ZedThree Jun 19, 2024
c37218e
CI: Bump python dependencies
ZedThree Jun 21, 2024
b704bbd
solver:explicit issue is resolved
maggul Jun 21, 2024
1083271
Imex issue is resolved
maggul Jun 24, 2024
9376d35
IMEX issue is resolved
maggul Jun 24, 2024
42b9e63
Merge pull request #2922 from Steven-Roberts/sundials-version-check-fix
bendudson Jun 24, 2024
2875347
CVODE solver: Pass linear flag to rhs()
bendudson Jun 25, 2024
ba8dd2c
Merge pull request #2929 from boutproject/fix-numpy2
bendudson Jun 26, 2024
71d7858
Merge pull request #2916 from boutproject/laplace-flag-check-methods
bendudson Jun 26, 2024
20b47f4
Merge pull request #2921 from boutproject/mpcdf-update
bendudson Jun 26, 2024
e443df6
Add CVODE version guard
bendudson Jun 26, 2024
5d87ce2
Solver: Ensure nonlinear RHS called first
bendudson Jun 26, 2024
f009116
Apply clang-format changes
bendudson Jun 26, 2024
9638740
Add mxorder option back, now deprecated
Steven-Roberts Jul 24, 2024
78a8149
Merge pull request #2932 from boutproject/cvode-linear-solve
bendudson Jul 29, 2024
6f727b1
Merge pull request #2949 from Steven-Roberts/cvode_max_order_options
ZedThree Jul 30, 2024
4e3e4cc
mark fmt::format() const
tchaikov Jul 14, 2024
78034d7
include fmt/ranges.h for using fmt::join()
tchaikov Jul 14, 2024
a3344ef
Merge pull request #2961 from boutproject/fmt-update
bendudson Aug 13, 2024
f77fe52
changed ARKODE config. to use string as the treatment
maggul Aug 19, 2024
501009f
merged with the current next of BOUT++
maggul Aug 19, 2024
c254cbf
Update src/solver/impls/arkode/arkode.cxx
maggul Aug 20, 2024
5a6bdf7
Update src/solver/impls/arkode/arkode.cxx
maggul Aug 20, 2024
8da57ca
Update src/solver/impls/arkode/arkode.cxx
maggul Aug 20, 2024
3d84ffd
Update src/solver/impls/arkode/arkode.cxx
maggul Aug 20, 2024
bf94971
Removed ASSERT1
maggul Aug 20, 2024
fd69cc3
Deleted the last line
maggul Aug 20, 2024
a7d986f
arkode solver: Clang format
bendudson Aug 20, 2024
e2f2332
Arkode solver: Add treatment enum, remove imex/implicit/explicit
bendudson Aug 22, 2024
5e6a7d1
Arkode solver: Change adap_method to an enum class
bendudson Aug 22, 2024
13ef654
Fix typos in laplacian inversion documentation (credit @migmadeira)
bshanahan Aug 23, 2024
864c603
Merge pull request #2965 from boutproject/petsc-docs-fix
bendudson Aug 23, 2024
aad8c43
Merge pull request #2930 from maggul/next
bendudson Aug 26, 2024
43458ab
Fix compilation error
mikekryjak Aug 28, 2024
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
3 changes: 2 additions & 1 deletion .ci_fedora.sh
Original file line number Diff line number Diff line change
Expand Up @@ -50,12 +50,13 @@ then
cp -a /tmp/BOUT-dev /home/test/
chown -R test /home/test
chmod u+rwX /home/test -R
sudo -u test ${0/\/tmp/\/home\/test} $mpi
su - test -c "${0/\/tmp/\/home\/test} $mpi"
## If we are called as normal user, run test
else
. /etc/profile.d/modules.sh
module load mpi/${1}-x86_64
export OMPI_MCA_rmaps_base_oversubscribe=yes
export PRTE_MCA_rmaps_default_mapping_policy=:oversubscribe
export TRAVIS=true
export FLEXIBLAS=NETLIB
cd
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
390 changes: 34 additions & 356 deletions .clang-tidy

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion .github/workflows/clang-tidy-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
# the unit tests until they're fixed or ignored upstream
exclude: "tests/unit/*cxx"
cmake_command: |
pip install cmake && \
pip install --break-system-packages cmake && \
cmake --version && \
git config --global --add safe.directory "$GITHUB_WORKSPACE" && \
cmake . -B build -DBUILD_SHARED_LIBS=ON \
Expand Down
41 changes: 37 additions & 4 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ jobs:
OMP_NUM_THREADS: ${{ matrix.config.omp_num_threads }}
PYTHONPATH: ${{ github.workspace }}/tools/pylib
OMPI_MCA_rmaps_base_oversubscribe: yes
PRTE_MCA_rmaps_default_mapping_policy: ":oversubscribe"
MPIRUN: mpiexec -np
strategy:
fail-fast: true
Expand All @@ -38,20 +39,23 @@ jobs:
is_cron:
- ${{ github.event_name == 'cron' }}
config:
- name: "CMake, PETSc unreleased"
- name: "CMake, PETSc unreleased, ADIOS2"
os: ubuntu-20.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_ADIOS2=ON
-DBOUT_ENABLE_PYTHON=ON
-DADIOS2_ROOT=/home/runner/local/adios2
-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 20.04"
Expand Down Expand Up @@ -185,9 +189,8 @@ jobs:

- name: Install pip packages
run: |
./.pip_install_for_ci.sh 'cython~=0.29' 'netcdf4~=1.5' 'sympy~=1.5' 'gcovr' 'cmake' zoidberg fastcov
# Add the pip install location to the runner's PATH
echo ~/.local/bin >> $GITHUB_PATH
python -m pip install --upgrade pip setuptools
python -m pip install -r requirements.txt

- name: Cache SUNDIALS build
uses: actions/cache@v3
Expand All @@ -201,6 +204,9 @@ 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 }}

Expand Down Expand Up @@ -234,3 +240,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
20 changes: 0 additions & 20 deletions .pip_install_for_ci.sh

This file was deleted.

15 changes: 12 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,16 @@
# Changelog

## [v5.1.0](https://github.com/boutproject/BOUT-dev/tree/v5.1.0
## [v6.0.0](https://github.com/boutproject/BOUT-dev/tree/next)
[Full Changelog](https://github.com/boutproject/BOUT-dev/compare/v5.1.0...next)

### Breaking changes

- The autotools `./configure` build system has been removed
- Parsing of booleans has changed [\#2828][https://github.com/boutproject/BOUT-dev/pull/2828] ([bendudson][https://github.com/bendudson]).
See the [manual page](https://bout-dev.readthedocs.io/en/stable/user_docs/bout_options.html#boolean-expressions) for details.


## [v5.1.0](https://github.com/boutproject/BOUT-dev/tree/v5.1.0)
[Full Changelog](https://github.com/boutproject/BOUT-dev/compare/v5.0.0...v5.1.0)

- Update RELEASE_HOWTO.md [\#2741][https://github.com/boutproject/BOUT-dev/pull/2741] ([dschwoerer][https://github.com/dschwoerer])
Expand Down Expand Up @@ -44,8 +53,8 @@
- Merge v5 into next - resolve conflicts [\#2658][https://github.com/boutproject/BOUT-dev/pull/2658] ([dschwoerer][https://github.com/dschwoerer])
- Update bundled boututils and boutdata [\#2657][https://github.com/boutproject/BOUT-dev/pull/2657] ([dschwoerer][https://github.com/dschwoerer])

## [v5.0.0](https://github.com/boutproject/BOUT-dev/tree/next)
[Full Changelog](https://github.com/boutproject/BOUT-dev/compare/v4.3.2...next)
## [v5.0.0](https://github.com/boutproject/BOUT-dev/tree/v5.0.0)
[Full Changelog](https://github.com/boutproject/BOUT-dev/compare/v4.3.2...v5.0.0)

### Breaking changes

Expand Down
18 changes: 12 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ function(bout_update_submodules)
endfunction()

set(BOUT_SOURCES
./include/bout/adios_object.hxx
./include/bout/array.hxx
./include/bout/assert.hxx
./include/bout/boundary_factory.hxx
Expand Down Expand Up @@ -114,7 +115,6 @@ set(BOUT_SOURCES
./include/bout/field_factory.hxx
./include/bout/fieldgroup.hxx
./include/bout/fieldperp.hxx
./include/bout/format.hxx
./include/bout/fv_ops.hxx
./include/bout/generic_factory.hxx
./include/bout/globalfield.hxx
Expand Down Expand Up @@ -146,7 +146,7 @@ set(BOUT_SOURCES
./include/bout/openmpwrap.hxx
./include/bout/operatorstencil.hxx
./include/bout/options.hxx
./include/bout/options_netcdf.hxx
./include/bout/options_io.hxx
./include/bout/optionsreader.hxx
./include/bout/output.hxx
./include/bout/output_bout_types.hxx
Expand Down Expand Up @@ -325,6 +325,7 @@ set(BOUT_SOURCES
./src/solver/impls/split-rk/split-rk.cxx
./src/solver/impls/split-rk/split-rk.hxx
./src/solver/solver.cxx
./src/sys/adios_object.cxx
./src/sys/bout_types.cxx
./src/sys/boutcomm.cxx
./src/sys/boutexception.cxx
Expand All @@ -338,7 +339,11 @@ set(BOUT_SOURCES
./src/sys/options/optionparser.hxx
./src/sys/options/options_ini.cxx
./src/sys/options/options_ini.hxx
./src/sys/options/options_io.cxx
./src/sys/options/options_netcdf.cxx
./src/sys/options/options_netcdf.hxx
./src/sys/options/options_adios.cxx
./src/sys/options/options_adios.hxx
./src/sys/optionsreader.cxx
./src/sys/output.cxx
./src/sys/petsclib.cxx
Expand All @@ -361,7 +366,7 @@ else()
set(BOUT_GENERATE_FIELDOPS_DEFAULT OFF)
endif()

execute_process(COMMAND ${Python3_EXECUTABLE} -c "import zoidberg"
execute_process(COMMAND ${Python3_EXECUTABLE} -c "import importlib.util ; import sys; sys.exit(importlib.util.find_spec(\"zoidberg\") is None)"
RESULT_VARIABLE zoidberg_FOUND)
if (zoidberg_FOUND EQUAL 0)
set(zoidberg_FOUND ON)
Expand Down Expand Up @@ -462,9 +467,9 @@ set_target_properties(bout++ PROPERTIES
# Set some variables for the bout-config script
set(CONFIG_LDFLAGS "${CONFIG_LDFLAGS} -L\$BOUT_LIB_PATH -lbout++")
set(BOUT_INCLUDE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/include")
set(CONFIG_CFLAGS "${CONFIG_CFLAGS} -I\${BOUT_INCLUDE_PATH} -I${CMAKE_CURRENT_BINARY_DIR}/include ${CMAKE_CXX_FLAGS}")
set(CONFIG_CFLAGS "${CONFIG_CFLAGS} -I\${BOUT_INCLUDE_PATH} -I${CMAKE_CURRENT_BINARY_DIR}/include ${CMAKE_CXX_FLAGS} -std=c++17")

target_compile_features(bout++ PUBLIC cxx_std_14)
target_compile_features(bout++ PUBLIC cxx_std_17)
set_target_properties(bout++ PROPERTIES CXX_EXTENSIONS OFF)

# Optional compiler features
Expand Down Expand Up @@ -769,7 +774,7 @@ set(BOUT_HAS_PNETCDF OFF)
# while for static builds we need the dependencies too
if (BUILD_SHARED_LIBS)
# Include rpath linker flag so user doesn't need to set LD_LIBRARY_PATH
set(CONFIG_LDFLAGS "${CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG}\$BOUT_LIB_PATH -L\$BOUT_LIB_PATH -lbout++ -lfmt")
set(CONFIG_LDFLAGS "${CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG}\$BOUT_LIB_PATH -L\$BOUT_LIB_PATH -lbout++ -lfmt ${CONFIG_LDFLAGS_SHARED}")
else()
set(CONFIG_LDFLAGS "${CONFIG_LDFLAGS}")
endif()
Expand Down Expand Up @@ -930,6 +935,7 @@ message("
SUNDIALS support : ${BOUT_HAS_SUNDIALS}
HYPRE support : ${BOUT_HAS_HYPRE}
NetCDF support : ${BOUT_HAS_NETCDF}
ADIOS2 support : ${BOUT_HAS_ADIOS2}
FFTW support : ${BOUT_HAS_FFTW}
LAPACK support : ${BOUT_HAS_LAPACK}
OpenMP support : ${BOUT_USE_OPENMP}
Expand Down
Loading