Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1523 commits
Select commit Hold shift + click to select a range
e8c699d
Add iterator bits
dschwoerer Apr 29, 2026
38e5f20
Add more accessors
dschwoerer Apr 29, 2026
da4ea6a
Fix return type
dschwoerer Apr 29, 2026
84c7f7e
Derive from BoundaryRegionBase
dschwoerer Apr 29, 2026
4880e01
Switch to bout::boundary::BoundaryRegionFCI
dschwoerer Apr 29, 2026
26f7cc4
Options getGlobalUnusedSet use BoutComm
bendudson Apr 29, 2026
c2b09b6
Merge pull request #3367 from boutproject/global-unused-options
bendudson May 6, 2026
aa8cc4c
zoidberg 0.3.0 is released
dschwoerer May 7, 2026
a30fb7a
Update according to spec-0
dschwoerer May 11, 2026
d9e2c19
CI: Do not update versions by dependabot
dschwoerer May 11, 2026
8218f71
Merge pull request #3371 from boutproject/spec0
ZedThree May 11, 2026
760d9a3
Bump externalpackages/googletest from `d72f9c8` to `dc3c9ed`
dependabot[bot] May 15, 2026
c4b345e
Merge pull request #3374 from boutproject/dependabot/submodules/exter…
bendudson May 16, 2026
5fb45f6
Do not copy
dschwoerer May 20, 2026
9c7b904
Avoid some warnings
dschwoerer May 20, 2026
51fc4aa
Ensure isParallel is set
dschwoerer May 20, 2026
9faef5c
Use system cpptrace on fedora
dschwoerer May 20, 2026
490d054
fix sign error
dschwoerer May 20, 2026
ca3f5ef
Add remaining topology documentation (images + supported_topologies)
wearysebas May 21, 2026
5ec260f
snes: pseudo_alpha_minimum setting
bendudson May 22, 2026
3423236
Add BoundaryRegionX
dschwoerer May 22, 2026
628e2f8
Add BoundaryRegionIterX implementation
dschwoerer May 25, 2026
760eef0
Restore removed region RGN_ZGUARDS and RGN_YGUARDS
dschwoerer May 26, 2026
2da3c72
CI: Use boutproject build images
dschwoerer May 26, 2026
05e450a
Merge remote-tracking branch 'origin/next' into new-par-bc-unified
dschwoerer May 26, 2026
8e7ff2d
CI: container is called main
dschwoerer May 26, 2026
df759a0
Add begin/end for bout::boundary::BoundaryRegionIterX
dschwoerer May 26, 2026
9701b99
Convert apply_stencil to template
dschwoerer May 26, 2026
c599518
Add getValue for bout::boundary::BoundaryRegionIterX
dschwoerer May 26, 2026
49568f0
Add used headers
dschwoerer May 26, 2026
f1c4deb
Add iteration over bndryX
dschwoerer May 26, 2026
d178919
t is currently not used
dschwoerer May 26, 2026
1632763
add ctors and clone for bout::boundary::BoundaryRegionX
dschwoerer May 26, 2026
9bdcf80
Add location to length
dschwoerer May 26, 2026
7b1d5b2
Do call _ind() directly
dschwoerer May 26, 2026
b286543
Add BoundaryRegionY as template
dschwoerer May 26, 2026
7273724
add BoundaryOpPar bits for bout::boundary::BoundaryRegionY
dschwoerer May 26, 2026
f3bfa30
Use local version
dschwoerer May 26, 2026
c291f6e
Allow to distinguish X and Y boundaries
dschwoerer May 26, 2026
10c9dc5
Cleanup unused bits
dschwoerer May 26, 2026
006f256
Add BoundaryRegionYUp/Down
dschwoerer May 26, 2026
15dba11
Prefer `point` as name
dschwoerer May 27, 2026
f42d784
Add iter_boundary functions
dschwoerer May 27, 2026
cc5f314
Switch Pointer to BoundaryRegionBase type
dschwoerer May 27, 2026
790a8e1
Switch generators to return a pointer
dschwoerer May 27, 2026
1712154
Fall back to curl, if wget fails
dschwoerer May 27, 2026
f0d872e
WIP: Add bits to field2d
dschwoerer May 27, 2026
3eee346
WIP: switch to new boundary
dschwoerer May 27, 2026
3035d9c
Introduce getLegacyPointer
dschwoerer May 27, 2026
c17e4f9
Use getLegacyPointer
dschwoerer May 27, 2026
3c1f5c7
hide cast
dschwoerer May 27, 2026
6eb2c3d
Move implementation to cxx file
dschwoerer May 27, 2026
f7cfbab
Use old code for Field2D
dschwoerer May 27, 2026
503c25c
Use getLegacyPointer
dschwoerer May 27, 2026
26f0cc0
Delete legacy implementation
dschwoerer May 27, 2026
131c406
Add more legacy pointers
dschwoerer May 27, 2026
e3f37f1
Switch all construcotrs to new interface
dschwoerer May 27, 2026
9e3e851
addBoundary should take BoundaryRegionBase
dschwoerer May 27, 2026
7e8f7ae
Use getLegacyPointer
dschwoerer May 27, 2026
43a8d16
Throw exceptions in stubs
dschwoerer May 27, 2026
4115dc9
Add missing header
dschwoerer May 27, 2026
a49fe6f
Add missing header
dschwoerer May 27, 2026
5531eb4
Include used headers
dschwoerer May 27, 2026
9ba03a4
Include used headers
dschwoerer May 27, 2026
6b33e62
Make constructor private
dschwoerer May 27, 2026
da0dcdd
Prefer const functions
dschwoerer May 27, 2026
8725bb9
Add parenthis for clarification
dschwoerer May 27, 2026
36f2d5d
Clarify pointer type
dschwoerer May 27, 2026
17075c3
Do not duplicate default values
dschwoerer May 27, 2026
4cc5a7d
Do not use unneeded inline
dschwoerer May 27, 2026
686fe60
Prefer auto * for pointer
dschwoerer May 27, 2026
978242e
Prefer const
dschwoerer May 27, 2026
ec85c73
Use paranthis for clarification
dschwoerer May 27, 2026
f47263f
delete nullptr is a noop
dschwoerer May 27, 2026
b41b8aa
No need for else after return
dschwoerer May 27, 2026
d1f9f92
Do not use nested terneray expression
dschwoerer May 27, 2026
bb3f066
initialise variable
dschwoerer May 27, 2026
b233faf
adios2: Fix CMake build
bendudson May 27, 2026
bc093e0
Merge pull request #3379 from boutproject/next-fix-adios2
bendudson May 28, 2026
53c52cb
Set location
dschwoerer May 28, 2026
b1820eb
Ensure location is set
dschwoerer May 28, 2026
024c228
Make class members private
dschwoerer May 28, 2026
60eeb2a
Make loading restarts more robust
bendudson May 28, 2026
ea78768
Merge pull request #3380 from boutproject/next-fix-adios2
bendudson May 28, 2026
c8b047d
Merge pull request #3376 from boutproject/docs_topology_round2
bendudson May 29, 2026
3e317cb
Merge pull request #3377 from boutproject/snes_pseudo_alpha_minimum
bendudson May 29, 2026
d2790a4
solvers:Refactor coloring-based preconditioner
bendudson May 29, 2026
1988ac4
cvode: Remove use_precon, use cvode_precon_method
bendudson May 29, 2026
778467c
Bump externalpackages/googletest from `dc3c9ed` to `8736d2c`
dependabot[bot] May 29, 2026
623efc8
cvode: Options to set preconditioner setup
bendudson May 29, 2026
8aeab13
cvode: Fix compile guard location
bendudson May 29, 2026
2ca5721
cvode: Version guards around CVode calls
bendudson May 30, 2026
5667c05
cvode: Set default preconditioning to none
bendudson May 30, 2026
8d734c2
cvode/snes: Initialise PetscLib early, tidying
bendudson May 31, 2026
928f37e
cvode/snes: Minor tidying, update manual
bendudson May 31, 2026
c7c60be
Do not shadow template parameter
dschwoerer Jun 1, 2026
9d9a856
Ensure at compile time clone is implemented
dschwoerer Jun 1, 2026
26a9a4c
Fix y locations
dschwoerer Jun 1, 2026
04b7bc3
Ensure legacy region matches new region
dschwoerer Jun 1, 2026
86bdab4
Speedup diffusion MMS test
dschwoerer Jun 1, 2026
8b4aa1c
Implement clone
dschwoerer Jun 1, 2026
6806b9d
delete default constructor
dschwoerer Jun 1, 2026
657f88c
prefer override
dschwoerer Jun 1, 2026
ad3da07
Explicitly number all enums
dschwoerer Jun 1, 2026
38df9b1
Do not use else after return
dschwoerer Jun 1, 2026
4a4ce5c
Add missing headers
dschwoerer Jun 1, 2026
02e2df0
fix fac to be of type double
dschwoerer Jun 1, 2026
04a07ff
Remove FCI asserts for FA code
dschwoerer Jun 1, 2026
a2a6068
Merge pull request #3381 from boutproject/dependabot/submodules/exter…
bendudson Jun 1, 2026
87845ea
Fix sign error for extrapolation into sheath
dschwoerer Jun 2, 2026
13cccd9
Simplify offset calculation
dschwoerer Jun 2, 2026
425b916
Fix boundary_width for y boundaries
dschwoerer Jun 2, 2026
14a4877
Interpolate second order
dschwoerer Jun 2, 2026
15c0426
Add option to keep old behaviour
dschwoerer Jun 2, 2026
aa5b9da
PETSc is not thread safe
dschwoerer Jun 2, 2026
18cc8f7
Merge pull request #3308 from boutproject/new-par-bc-unified
bendudson Jun 2, 2026
61f00bb
Merge branch 'next' into f3dparallel
bendudson Jun 2, 2026
a6f2f25
Add missing headers
dschwoerer Jun 3, 2026
c44416b
prefer const ref
dschwoerer Jun 3, 2026
e191ce7
better-metric branch has been released as version 0.3.0 of zoidberg
dschwoerer Jun 3, 2026
4d07c00
Add missing headers
dschwoerer Jun 3, 2026
fe92b56
Prefer anonymous namespace
dschwoerer Jun 3, 2026
6491e33
Add missing header
dschwoerer Jun 3, 2026
59934f6
Avoid nested conditional operator
dschwoerer Jun 3, 2026
4ea2d47
Update used headers
dschwoerer Jun 3, 2026
a950cfa
Apply clang-tidy cleanups
dschwoerer Jun 3, 2026
0bcaf31
Remove `#if 0`'ed code
dschwoerer Jun 3, 2026
7066e3f
field2d: Comment asField3DParallel, tidying
bendudson Jun 4, 2026
86945d5
field3d: Clang tidy suggestions
bendudson Jun 4, 2026
e6c652c
Merge pull request #3320 from boutproject/f3dparallel
bendudson Jun 4, 2026
4b6da43
fv_ops: VanAlbada slope limiter
bendudson Jun 11, 2026
01148b6
Fix parallel_boundary_region when BOUT_USE_METRIC_3D == 0
bendudson Jun 11, 2026
a9df729
fv_ops: WENO3 cell edge reconstruction
bendudson Jun 11, 2026
73e752f
parallel_boundary_region: use not(BOUT_USE_METRIC_3D)
bendudson Jun 11, 2026
5e6a339
Merge pull request #3387 from boutproject/fix-parallel-boundary-region
bendudson Jun 11, 2026
3dbcaef
Merge branch 'next' into more-limiters
bendudson Jun 11, 2026
a7df750
fv_ops unit tests: Loosen absolute tolerance
bendudson Jun 11, 2026
c7020b4
Merge pull request #3388 from boutproject/more-limiters
bendudson Jun 11, 2026
48a4a68
Merge branch 'next' into cell_area_volume
bendudson Jun 12, 2026
e098af4
Fix indexing issue for output monitoring
Steven-Roberts Jun 12, 2026
9195238
Merge branch 'next' into par-metrics
dschwoerer Jun 15, 2026
afc091b
Prefer const int
dschwoerer Jun 15, 2026
90c3d49
Ensure optional values are set before using them
dschwoerer Jun 15, 2026
1334f5b
Include used headers
dschwoerer Jun 15, 2026
99a212e
Add missing header
dschwoerer Jun 15, 2026
42e239f
Merge branch 'next' into custom-nvector
bendudson Jun 16, 2026
68b1dc8
Remove Jxz from coordinates
dschwoerer Jun 16, 2026
a7fa265
Update cpptrace
dschwoerer Jun 16, 2026
b6c5487
Bump cryptography from 46.0.5 to 48.0.1
dependabot[bot] Jun 17, 2026
22ab659
Also fill the boundaries to the extend possible
dschwoerer Jun 17, 2026
b51d38a
NVector: Fix reduce_field callable
bendudson Jun 17, 2026
45f6473
Sundials nvecmanyvector may be missing
bendudson Jun 17, 2026
b649511
ARKode: nvector option to select N_Vector
bendudson Jun 17, 2026
d894b63
Sundials N_Vector backend for CVODE and IDA
bendudson Jun 17, 2026
ceeeb80
Document Sundials N_Vector options
bendudson Jun 17, 2026
d997e6c
Formatting changes
bendudson Jun 17, 2026
3743210
Merge pull request #3393 from boutproject/cpptrace
bendudson Jun 17, 2026
c0abd20
Unit tests for custom N_Vector
bendudson Jun 17, 2026
dfa59c7
NVector: Patch for MultiVector
bendudson Jun 17, 2026
307a8e0
Clang tidy
bendudson Jun 17, 2026
1968ac0
Unit tests: Disable testing if missing ManyVector
bendudson Jun 17, 2026
611ef8d
Merge pull request #3390 from boutproject/custom-nvector
bendudson Jun 18, 2026
51b848c
Fixup formatting
dschwoerer Jun 18, 2026
28b5679
Merge pull request #3334 from boutproject/par-metrics
ZedThree Jun 18, 2026
dc2117b
Merge branch 'next' into support-gpu-field-operators-lazy
bendudson Jun 18, 2026
f38dbd1
Fix non-CUDA builds
bendudson Jun 18, 2026
98b9e55
More fixes, remove duplications
bendudson Jun 18, 2026
b0fd981
More fixes
bendudson Jun 18, 2026
bb5b495
Unit tests compiling again
bendudson Jun 18, 2026
a06e450
Fix warnings coming from Field constructors
bendudson Jun 18, 2026
8018906
Fix unit tests
bendudson Jun 18, 2026
0a7cdda
Merge pull request #1 from boutproject/monitor-bug-fix
Steven-Roberts Jun 18, 2026
6cab892
BinaryExpr::operator[](IndType) indexing
bendudson Jun 18, 2026
1caebb6
SQ and mean for BinaryExpr
bendudson Jun 18, 2026
4e19f8e
Region::getLinearIndices
bendudson Jun 18, 2026
d676726
Fix BinaryExpr::operator[] for Field2D expressions
bendudson Jun 19, 2026
0b9dbf6
Reductions on BinaryExpr: Min/Max/Mean
bendudson Jun 19, 2026
9350715
Fieldops: Tidy Min,Max,Mean reductions
bendudson Jun 19, 2026
36c06ec
Formatting
bendudson Jun 19, 2026
09aaee6
BinaryExpr: Use Region::getLinearIndices
bendudson Jun 19, 2026
94cf70f
Options: Assignment from BinaryExpr
bendudson Jun 19, 2026
d3236d9
BinaryExpr: if_else and if_else_zero conditionals
bendudson Jun 19, 2026
f48cd51
BinaryExpr: FIELD_FUNC fuse expressions
bendudson Jun 19, 2026
ac1836b
Fixes for 3D metrics and unit tests
bendudson Jun 19, 2026
fe0f15a
Move also build containers to updated boutproject repo
dschwoerer Jun 19, 2026
f7511ec
Disable openmp for container and switch to CHECK=4 for debugging
dschwoerer Dec 2, 2025
ae139bd
Provide default argument for BASE
dschwoerer Jun 19, 2026
8f4fe23
Merge pull request #3326 from boutproject/cell_area_volume
ZedThree Jun 19, 2026
c5297c8
Merge pull request #3389 from Steven-Roberts/monitor-bug-fix
ZedThree Jun 19, 2026
1c53604
Accumulated work trying to improve scaling for SNES
cmacmackin Jun 5, 2026
7691137
Fix rescale period
cmacmackin Jun 16, 2026
1314333
Make sure not to overwrite function eval with time deriv
cmacmackin Jun 17, 2026
227bba8
Add dynamic algorithm for rescaling variables in SNES
cmacmackin Jun 19, 2026
9fa91a0
Tidying up (formatting, removing notes I left, etc.) for PR
cmacmackin Jun 19, 2026
87d29ff
Add documentation for new approach to scaling in SNES
cmacmackin Jun 19, 2026
b9de118
Fixes and tidying
bendudson Jun 19, 2026
0fdeedb
evaluateBinaryExpr: Allocate full size Arrays
bendudson Jun 19, 2026
504fe6e
Merge branch 'next' into support-gpu-field-operators-lazy
bendudson Jun 19, 2026
250a566
Coordinates: Evaluate to FieldMetric
bendudson Jun 19, 2026
512e853
Clang tidying
bendudson Jun 19, 2026
81fda04
Fixed linting complaints
cmacmackin Jun 19, 2026
19b82e1
Bump externalpackages/googletest from `8736d2c` to `0b1e895`
dependabot[bot] Jun 19, 2026
c7a8b1e
Bump actions/checkout from 6 to 7
dependabot[bot] Jun 19, 2026
70d5484
Fixed a few bugs and clang-tidy issues
cmacmackin Jun 19, 2026
7cb424f
BinaryExpr: Assignment operators propagate metadata
bendudson Jun 19, 2026
b0ff0c6
examples/elm-pb: Tidying and fix for BoutExpr
bendudson Jun 19, 2026
404e063
Updating documentation
bendudson Jun 19, 2026
c88908b
Remove unneeded BinaryExpr evaluations
bendudson Jun 19, 2026
ca94ba5
Fields: Move unary minus to headers
bendudson Jun 20, 2026
43c5050
BOUT_FORCEINLINE: Strengthen for CPU case
bendudson Jun 20, 2026
50839f1
Fields: Move move-assignment to headers
bendudson Jun 20, 2026
1a66918
Solver::VarIterator: Replace switch with if constexpr
bendudson Jun 20, 2026
af78c6f
SNESSolver::rescale: Handle predictor=false case
bendudson Jun 20, 2026
2cfb90a
Solver::loop_vars_op: Increment metadata unconditionally
bendudson Jun 20, 2026
013aef4
SNESSolver: scale_vars in zero iteration case
bendudson Jun 20, 2026
e0ca819
Delete commented-out code
bendudson Jun 20, 2026
57348db
Merge pull request #3395 from boutproject/cmacmackin/snes-scale-residual
bendudson Jun 20, 2026
92ddb1b
Merge pull request #3385 from boutproject/support-gpu-field-operators…
bendudson Jun 20, 2026
c4eb3a1
Merge pull request #3394 from boutproject/dependabot/uv/cryptography-…
bendudson Jun 20, 2026
333af2a
Tidy some translations, fill in missing
bendudson Jun 20, 2026
cfb0f12
Update de,es,fr,zh_CN and zh_TW locales
bendudson Jun 20, 2026
bfe8b52
Merge pull request #3400 from boutproject/update-locales
bendudson Jun 20, 2026
a4ea8cb
Merge pull request #3397 from boutproject/dependabot/submodules/exter…
bendudson Jun 21, 2026
2ee8321
Merge pull request #3260 from boutproject/quick_mesh_fix_rebase
bendudson Jun 21, 2026
a085053
Field3D::View remove mul,div index scaling
bendudson Jun 23, 2026
c63a090
BinaryExpr::evaluate optimize Field3D case
bendudson Jun 23, 2026
62379c7
Fix off by one error
dschwoerer Jun 17, 2026
8191455
Merge pull request #3398 from boutproject/dependabot/github_actions/a…
dschwoerer Jun 24, 2026
563df79
Return int
dschwoerer Jun 24, 2026
4466219
Merge pull request #3406 from boutproject/fix-fci-boundaries
ZedThree Jun 24, 2026
0b35178
Apply suggestions from code review
bendudson Jun 24, 2026
1f7e6ce
Tidying up a bit
bendudson Jun 24, 2026
446f9da
Merge branch 'next' into refactor-petsc-precon
bendudson Jun 25, 2026
88408fe
Addressing review comments
bendudson Jun 25, 2026
5ddf056
cvode: Guard against manyvector + petsc
bendudson Jun 25, 2026
d392578
Update examples and docs
bendudson Jun 25, 2026
4c897e3
Merge pull request #3382 from boutproject/refactor-petsc-precon
bendudson Jun 25, 2026
35ed0c4
snes: Initialise dt
bendudson Jun 25, 2026
55693c6
Merge pull request #3408 from boutproject/fix-snes-dt
bendudson Jun 26, 2026
e9097e1
Merge pull request #3403 from boutproject/boutexpr-performance
bendudson Jun 26, 2026
a996181
Merge pull request #3409 from boutproject/docker-ci
bendudson Jun 26, 2026
b0f322f
Bump actions/cache from 5 to 6
dependabot[bot] Jun 26, 2026
3dfefc9
Bump externalpackages/googletest from `0b1e895` to `8b53336`
dependabot[bot] Jun 26, 2026
b32a6b3
Merge pull request #3411 from boutproject/dependabot/github_actions/a…
bendudson Jun 27, 2026
e06ca44
Merge pull request #3410 from boutproject/dependabot/submodules/exter…
bendudson Jun 27, 2026
99b39c6
Merge remote-tracking branch 'origin/next' into fix-docs-warnings
dschwoerer Jun 29, 2026
3e1c2cb
Fix formatting
dschwoerer Jun 29, 2026
71b4525
Remove tabs from rst
dschwoerer Jun 29, 2026
47a4c13
Fir formatting and whitespace
dschwoerer Jun 29, 2026
6d08e29
Revert googletest changes
dschwoerer Jun 29, 2026
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
  •  
  •  
  •  
32 changes: 7 additions & 25 deletions .ci_fedora.sh
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,10 @@ then
cmd="sudo docker"
fi
test . != ".$2" && mpi="$2" || mpi=openmpi
test . != ".$3" && version="$3" || version=rawhide
time $cmd pull registry.fedoraproject.org/fedora:$version
time $cmd pull ghcr.io/boutproject/bout-container-base:main
time $cmd create --cap-add=SYS_PTRACE --security-opt seccomp=unconfined \
--shm-size 256M \
--name mobydick registry.fedoraproject.org/fedora:$version \
--name mobydick ghcr.io/boutproject/bout-container-base:main \
/tmp/BOUT-dev/.ci_fedora.sh $mpi
time $cmd cp ${TRAVIS_BUILD_DIR:-$(pwd)} mobydick:/tmp/BOUT-dev
time $cmd start -a mobydick
Expand All @@ -34,27 +33,8 @@ fi

test . != ".$1" && mpi="$1" || mpi=openmpi

## If we are called as root, setup everything
if [ $UID -eq 0 ]
then
cat /etc/os-release
# 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
# Allow to override packages - see #2073
time dnf5 copr enable -y davidsch/fixes4bout || :
time dnf5 -y upgrade
time dnf5 -y builddep bout++
useradd test
cp -a /tmp/BOUT-dev /home/test/
chown -R test /home/test
chmod u+rwX /home/test -R
su - test -c "${0/\/tmp/\/home\/test} $mpi"
## If we are called as normal user, run test
else
cp -a /tmp/BOUT-dev /home/test/
. /etc/profile.d/modules.sh
module load mpi/${1}-x86_64
export OMPI_MCA_rmaps_base_oversubscribe=yes
Expand All @@ -67,13 +47,15 @@ else
export OMP_NUM_THREADS=1
cd
cd BOUT-dev
python3 -m ensurepip
python3 -m pip install -r requirements.txt
echo "starting configure"
time cmake -S . -B build -DBOUT_USE_PETSC=ON \
-DBOUT_UPDATE_GIT_SUBMODULE=OFF \
-DBOUT_USE_SYSTEM_FMT=ON \
-DBOUT_USE_SYSTEM_MPARK_VARIANT=ON \
-DBOUT_USE_SUNDIALS=ON
-DBOUT_USE_SUNDIALS=ON \
-DBOUT_USE_SYSTEM_CPPTRACE=ON

time make -C build build-check -j 2
time make -C build check
fi
1 change: 1 addition & 0 deletions .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ PenaltyBreakString: 1000
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 60
PointerAlignment: Left
QualifierAlignment: Left
ReflowComments: false
SortIncludes: true
# SortUsingDeclarations: true
Expand Down
2 changes: 2 additions & 0 deletions .clang-format-ignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# ignore matlab files
**/*.m
15 changes: 14 additions & 1 deletion .clang-tidy
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
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'
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,-cppcoreguidelines-pro-bounds-avoid-unchecked-container-access'
WarningsAsErrors: ''
HeaderFilterRegex: ''
FormatStyle: file
Expand All @@ -9,6 +9,18 @@ CheckOptions:
# otherwise this breaks `ASSERT` macros!
- key: readability-simplify-boolean-expr.IgnoreMacros
value: 'true'

- key: misc-include-cleaner.IgnoreHeaders
value: 'petsc.*\.h;mpi\.h'

- key: readability-qualified-auto.IgnoreAliasing
value: 'false'

- key: readability-qualified-auto.AllowedTypes
value: 'MPI_Comm'

- key: misc-include-cleaner.IgnoreHeaders
value: 'adios2/.*;bits/.*;cpptrace/.*;petsc.*\.h'
---

Disabled checks and reasons:
Expand All @@ -17,6 +29,7 @@ These are all basically unavoidable in HPC numeric code:
-readability-magic-numbers
-cppcoreguidelines-avoid-magic-numbers
-cppcoreguidelines-pro-bounds-pointer-arithmetic
-cppcoreguidelines-pro-bounds-avoid-unchecked-container-access
-readability-function-cognitive-complexity
-bugprone-easily-swappable-parameters
-readability-identifier-length
Expand Down
6 changes: 6 additions & 0 deletions .clangd
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
Diagnostics:
MissingIncludes: Strict
ClangTidy:
FastCheckFilter: None
Includes:
IgnoreHeader: ["adios2/.*", "bits/.*", "cpptrace/.*", "petsc.*"]
26 changes: 17 additions & 9 deletions .docker/fedora/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
ARG BASE
FROM ghcr.io/dschwoerer/bout-container-base:$BASE
ARG BASE=mpich-full-main
FROM ghcr.io/boutproject/bout-container-base:$BASE

# ----------------------------------------------------------------
# Build and install BOUT++
Expand All @@ -22,18 +22,26 @@ RUN git clone $URL \
&& git checkout $COMMIT \
&& git submodule update --init --recursive


ENV HOME=/home/boutuser
WORKDIR /home/boutuser/BOUT-dev

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

# Add unversioned path for python
RUN sudo ln -s /usr/local/lib/python3.* /usr/local/lib/python3.x

RUN make -C build -j 2
RUN sudo make -C build install
ENV PATH=/usr/local/bin:$PATH \
LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH \
PYTHONPATH=/usr/local/lib/python3.x/site-packages/:$PYTHONPATH

RUN find /opt/bout++
# smoke test
RUN python3 -c 'import boutpp'
19 changes: 19 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -1,3 +1,22 @@
# Clang-format whole repo
d8f14fdddb5ca0fbb32d8e2bf5ac2960d6ac5ce6
ed2117e6d6826a98b6988e2f18c0c34e408563b6
# CMake formatting
17ac13c28aa3b34a0e46dbe87bb3874f6b25e706
# Added by the bot
4b010b7634aee1045743be80c268d4644522cd29
52301380586fdbf890f620c04f689b08d89a6c34
a71cad2dd6ace5741a754e2ca7daacd4bb094e0e
83cf77923a4c72e44303354923021acf932b4fd2
2c2402ed59c91164eaff46dee0f79386b7347e9e
05b7c571544c3bcb153fce67d12b9ac48947fc2d
c8f38049359170a34c915e209276238ea66b9a1e
65880e4af16cb95438437bf057c4b9fdb427b142
d1cfb8abd6aa5c76e6c1a4d7ab20929c65f8afc2
8d5cb39e03c2644715a50684f8cd0318b4e82676
ec69e8838be2dde140a915e50506f8e1ce3cb534
f2bc0488a298f136294c523bc5ab4086d090059b
c59626a0498b0cfd1be46f84f0fa38b4855a43cc
1b4707187a3a85126338303dc766280b8fb2dc56
b2e2f3575e68f771be2a4341af5fd14e2870469e
64e4285ec38569f66d31e589a4610cefd16d8076
5 changes: 0 additions & 5 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,6 @@ updates:
interval: "weekly"
directory: "/"

- package-ecosystem: "pip"
schedule:
interval: "daily"
directory: "/"

- package-ecosystem: "github-actions"
schedule:
interval: "weekly"
Expand Down
33 changes: 33 additions & 0 deletions .github/workflows/auto-formatting.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: format-command

on:
pull_request:

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
- uses: actions/checkout@v7
with:
ref: ${{ github.head_ref }}
fetch-depth: 0

- name: "Set up Python"
uses: actions/setup-python@v6

- name: Install uv
uses: astral-sh/setup-uv@v7
with:
enable-cache: true

- name: Install dev tools
run: uv sync --only-dev

- name: Check prek versions are up-to-date
run: uv tool run sync-with-uv --check --diff

- name: Run everything
run: uv tool run prek run --show-diff-on-failure --from-ref origin/${{ github.base_ref }}
46 changes: 0 additions & 46 deletions .github/workflows/black-fix.yml

This file was deleted.

30 changes: 0 additions & 30 deletions .github/workflows/clang-format.yml

This file was deleted.

11 changes: 5 additions & 6 deletions .github/workflows/clang-tidy-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,23 @@ 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@v4
- uses: actions/checkout@v7
with:
submodules: true

- name: Run clang-tidy
uses: ZedThree/clang-tidy-review@v0.20.1
uses: ZedThree/clang-tidy-review@v0.23.1
id: review
with:
build_dir: build
Expand All @@ -47,4 +46,4 @@ jobs:
-DBOUT_UPDATE_GIT_SUBMODULE=OFF

- name: Upload clang-tidy fixes
uses: ZedThree/clang-tidy-review/upload@v0.20.1
uses: ZedThree/clang-tidy-review/upload@v0.23.1
16 changes: 8 additions & 8 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
- master
- next
# Add your branch here if you want containers for it
- db-WIP
- fix3121
- docker-ci

env:
Expand All @@ -26,18 +26,18 @@ jobs:
matrix:
mpi: [mpich]
metric3d:
- name: "With OpenMP"
- name: "With 3D Metrics"
cmake: ON
base_prefix: "openmp-"
base_prefix: ""
tag_prefix: "3d-"
- name: "Without OpenMP"
- name: "With 2D Metrics"
cmake: OFF
base_prefix: ""
tag_prefix: ""
config:
- name: "Debug"
tag_postfix: "debug"
options: "-DCHECK=3"
options: "-DCHECK=4"
base_postfix: "mini"

- name: "Optimised"
Expand All @@ -47,12 +47,12 @@ jobs:

- name: "Full"
tag_postfix: "full"
options: "-DCHECK=3"
options: "-DCHECK=4"
base_postfix: "full"

steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v7

- name: Log in to the Container registry
uses: docker/login-action@master
Expand All @@ -75,7 +75,7 @@ jobs:
build-args: |
BASE=${{ matrix.mpi }}-${{ matrix.metric3d.base_prefix }}${{ matrix.config.base_postfix }}-main
MPI=${{ matrix.mpi }}
CMAKE_OPTIONS=${{ matrix.config.options }} -DBOUT_ENABLE_METRIC_3D=${{ matrix.metric3d.cmake }} -DBOUT_ENABLE_OPENMP=${{ matrix.metric3d.cmake }}
CMAKE_OPTIONS=${{ matrix.config.options }} -DBOUT_ENABLE_METRIC_3D=${{ matrix.metric3d.cmake }}
COMMIT=${{ github.sha }}
URL=${{ github.server_url }}/${{ github.repository }}
context: .docker/fedora/
Expand Down
Loading
Loading