⚠ This page is served via a proxy. Original site: https://github.com
This service does not collect credentials or authentication data.
Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
420 commits
Select commit Hold shift + click to select a range
1c44f98
Add monotonic check also to other code branches
dschwoerer Jan 21, 2025
42c0958
use lower_bound instead of find
dschwoerer Jan 21, 2025
21d1985
Do not shadow mapping
dschwoerer Jan 21, 2025
4f39c1d
Ensure setup has been called
dschwoerer Jan 21, 2025
cabdc4c
Use pointer to data
dschwoerer Jan 21, 2025
aa7938d
Call setup before communicator is used
dschwoerer Jan 21, 2025
d1dee59
Deduplicate code
dschwoerer Jan 21, 2025
5818327
Fix tags for comm
dschwoerer Jan 21, 2025
aa2d8b6
Use pointer instead of std::vector
dschwoerer Jan 21, 2025
007fed0
Do not reuse requests if the array is still in use
dschwoerer Jan 21, 2025
c40110b
rename offset to getOffsets
dschwoerer Jan 22, 2025
2a10ccd
Fix: mixup of sending / receiving size
dschwoerer Jan 22, 2025
296cc15
Fix receive data offset
dschwoerer Jan 22, 2025
31d7702
Add check to ensure the proc layout is as expected
dschwoerer Jan 22, 2025
71dd37c
clang-format
dschwoerer Jan 22, 2025
90a7f4f
Use BOUT++ assert
dschwoerer Jan 22, 2025
db77ef3
Fix check
dschwoerer Jan 22, 2025
147a874
Expect lower convergence for monotonic correction
dschwoerer Jan 22, 2025
81d929d
Add delay on error
dschwoerer Jan 22, 2025
276007c
Move yboundary iterator from hermes to BOUT++
dschwoerer Jan 31, 2025
731db60
Add delay on error
dschwoerer Jan 22, 2025
dc94e06
Add legacy monotonic hermite spline implementation again
dschwoerer Jan 22, 2025
1823144
Take periodicity into account
dschwoerer Jan 28, 2025
1e96b3e
Sort a reference, not a copy
dschwoerer Jan 28, 2025
ad8f403
Only communicate non-empty vectors
dschwoerer Jan 28, 2025
5adf893
Make check stricter
dschwoerer Jan 31, 2025
cd383e2
Minor improvements to mms test
dschwoerer Jan 31, 2025
2d72bab
Fix: include global offset in monotonic spline
dschwoerer Jan 31, 2025
b3841fb
make fci_comm openmp thread safe
dschwoerer Jan 31, 2025
e052c26
Merge remote-tracking branch 'origin/next' into fci-auto-with-debug-h…
dschwoerer Jan 31, 2025
63e8cb9
Fix communication for fci
dschwoerer Feb 7, 2025
371c928
Add check to reduce risk of bugs
dschwoerer Feb 7, 2025
f2939c6
Handle C++ exception for more functions
dschwoerer Feb 7, 2025
d74d2a7
Merge commit '81d929d7f' into fci-auto-with-debug-higher-order
dschwoerer Feb 10, 2025
ad09499
Expose LaplaceXZ
dschwoerer Feb 10, 2025
def8a06
Formatting fixes
dschwoerer Feb 10, 2025
f1534f2
Expose Mesh::get for Field3D
dschwoerer Feb 10, 2025
0bcc047
remove non-petsc inversions
dschwoerer Feb 10, 2025
f6106a2
Allow to overwrite MYG with options.
dschwoerer Feb 24, 2025
8665a67
Revert "Disable metric components that require y-derivatives for fci"
dschwoerer Feb 27, 2025
ff71182
Add iter_pnts function
dschwoerer Mar 3, 2025
d3bc5cc
Add example on how to replace RangeIterator with YBoundary
dschwoerer Mar 3, 2025
8337531
Move documentation to sphinx
dschwoerer Mar 3, 2025
fcc3af6
Only read `MYG` if it set or mesh:MYG is not set
dschwoerer Mar 3, 2025
f925c94
Do not set MYG/MXG if it is not needed
dschwoerer Mar 3, 2025
51e7b58
Do not set MYG/MXG if it is not needed
dschwoerer Mar 3, 2025
1c8fb47
Fix iter_pnts
dschwoerer Mar 4, 2025
bfaf986
Add more documentation on YBoundary
dschwoerer Mar 4, 2025
f4acdb0
Ensure the field has parallel slices
dschwoerer Mar 7, 2025
23f5992
Lower check level
dschwoerer Mar 7, 2025
d05e733
Loosen tolereances again
dschwoerer Mar 11, 2025
35206d4
Remove broken code
dschwoerer Mar 11, 2025
261442e
Merge branch 'next' of https://github.com/boutproject/BOUT-dev into f…
dschwoerer Mar 12, 2025
df490b9
CI: Avoid issues with special characters
dschwoerer Mar 12, 2025
eef32f9
CI: run git-clang-format until there are no more changes
dschwoerer Mar 12, 2025
9fd76bf
CI: use one line
dschwoerer Mar 12, 2025
ee9dc99
CI: stage before we run git-clang-format again
dschwoerer Mar 12, 2025
be5e285
fix bad merge
dschwoerer Mar 14, 2025
092c578
Apply clang-format changes
dschwoerer Mar 14, 2025
2fb1b34
Add option to copy parallel slices at setBoundaryTo
dschwoerer Mar 14, 2025
7a1d061
Print timings for petsc solver in test
dschwoerer Mar 14, 2025
a6be0ab
Add Field2D::splitParallelSlices() for writing FCI aware code
dschwoerer Mar 14, 2025
862f7fd
Introduce Field3DParallel
dschwoerer Jun 26, 2025
d1c5689
No need for orderedDicts
dschwoerer Jun 26, 2025
e01bda2
Remove wrong comment, FieldPerp is present
dschwoerer Jun 26, 2025
86dc232
Implement more of Field3DParallel
dschwoerer Jul 10, 2025
167e39e
Start using Field3DParallel for derivatives
dschwoerer Jul 10, 2025
59445b6
Do not use separate derivative store for Field3DParallel
dschwoerer Jul 16, 2025
1f3521f
Apply clang-format changes
dschwoerer Jul 16, 2025
8c40bad
Do not change non-FCI fields
dschwoerer Jul 16, 2025
3f859b3
Merge remote-tracking branch 'origin/next' into f3dwy
dschwoerer Jul 17, 2025
58811c8
Merge remote-tracking branch 'origin/next' into fci-auto-with-debug-h…
dschwoerer Jul 17, 2025
05dd58e
Merge branch 'fci-auto-with-debug-higher-order' into f3dwy
dschwoerer Jul 17, 2025
784d381
Add function to header file
dschwoerer Jul 17, 2025
b880846
Ensure emptyFrom works
dschwoerer Jul 17, 2025
844f2d4
Use f3dwy to preserve parallel fields
dschwoerer Jul 17, 2025
25fd12f
Also load dy
dschwoerer Jul 17, 2025
5e1a3df
Preserve parallel fields for d1_dy calculation
dschwoerer Jul 17, 2025
e034ddd
Add overloads for DD?(Field3DParallel)
dschwoerer Jul 17, 2025
cdcb380
Apply clang-format changes
dschwoerer Jul 17, 2025
da7865d
add asF3dwy() stub to Field2D
dschwoerer Jul 18, 2025
6a75dfc
Apply clang-format changes
dschwoerer Jul 18, 2025
79af980
Loosen tolerance for hypre3d test
dschwoerer Mar 11, 2025
cb29794
Merge remote-tracking branch 'origin/next' into f3dwy
dschwoerer Jul 18, 2025
3e9bdfd
Add some documentation
dschwoerer Jul 18, 2025
24e96d0
Be more explicit in the naming
dschwoerer Jul 18, 2025
196138a
Apply clang-tidy fix
dschwoerer Jul 18, 2025
a7acfc3
Disable hypre3d test
dschwoerer Jul 21, 2025
b8da0fb
do not use const for BoutReal in signature
dschwoerer Jul 21, 2025
f32693d
Add Field3DParallel + Field2D fieldops
dschwoerer Jul 21, 2025
0ecf55c
Move function definition after class definition
dschwoerer Jul 21, 2025
3012a22
Prefer std::move
dschwoerer Jul 21, 2025
63a78d9
Apply clang-format changes
dschwoerer Jul 21, 2025
2f98162
Add binary operators Field2D - FieldPerp
dschwoerer Jul 21, 2025
fdbbed6
Remove some FCI_AUTOMAGIC
dschwoerer Jul 21, 2025
cb643eb
Only use "parallel_neumann_o2" if no other parallel bc set
dschwoerer Jul 21, 2025
86fc85b
Apply clang-format changes
dschwoerer Jul 21, 2025
857e8c3
Declare Field3DParallel
dschwoerer Jul 21, 2025
e105d03
Do not automatically apply parallel BCs
dschwoerer Aug 18, 2025
fa51a14
Add default argument like for Field3D
dschwoerer Aug 21, 2025
f18392d
Add missing functions
dschwoerer Aug 21, 2025
d915bfb
Ensure assignment to a Field3DParallel does not fail
dschwoerer Aug 21, 2025
a5c36b1
set parallel Bxy consistent with J and g_22
dschwoerer Aug 21, 2025
6a05d58
Add fix also to source of the generated code
dschwoerer Aug 21, 2025
96e710b
Prefer std::vector::emplace_back to work around cuda compiler issue
dschwoerer Aug 21, 2025
baa56fe
Apply clang-format changes
dschwoerer Aug 21, 2025
28dec7a
remove unneeded std::move
dschwoerer Aug 21, 2025
0560964
add filledFrom for Field3DParallel
dschwoerer Aug 25, 2025
c964ff6
Allocate before usage
dschwoerer Aug 25, 2025
2f239ad
Merge remote-tracking branch 'origin/next' into f3dwy
dschwoerer Aug 25, 2025
b968273
Allow more parallel boundary regions
dschwoerer Sep 1, 2025
43bfa9a
Add limit_at_least function to boundary_iterator
dschwoerer Sep 1, 2025
370c42d
Preserve more when coping Field3D
dschwoerer Sep 30, 2025
107b518
add resetRegionParallel
dschwoerer Sep 30, 2025
4789b41
Set regions on parallel slices
dschwoerer Sep 30, 2025
6b993da
Add check that parallel slices have valid region
dschwoerer Sep 30, 2025
705414c
Remove commented out code
dschwoerer Sep 30, 2025
36f19fa
CI: Don't run clang-{tidy,format} on RC branches
ZedThree Oct 6, 2025
aaa4600
Fix reorder warning from snes
ZedThree Oct 6, 2025
e48cc34
Fix some easy clang-tidy snes warnings
ZedThree Oct 6, 2025
a855c06
Bump bundled fmt
ZedThree Oct 6, 2025
e2cd97c
Fix deprecation warning
ZedThree Oct 6, 2025
89b0855
Remove `boututils` from requirements; bump `boutdata`
ZedThree Oct 6, 2025
1704a4a
Suppress warning from `nodiscard` function
ZedThree Oct 6, 2025
8c26fe3
Add shim for ARKodeGetNumRhsEvals
ZedThree Oct 6, 2025
ef744ea
tests: Ruff fixes for FCI runtest
ZedThree Oct 7, 2025
d889ecf
tests: Expand FCI MMS test to `Grad2_par2`
ZedThree Oct 7, 2025
122c39a
tests: Generalise FCI MMS test to allow for more cases
ZedThree Oct 7, 2025
1a0af58
tests: Add test for FCI `Div_par`
ZedThree Oct 7, 2025
1e912bd
tests: Make MMS script update input in-place
ZedThree Oct 7, 2025
560b005
tests: Add test for FCI `Div_par_K_Grad_par`
ZedThree Oct 7, 2025
8910b61
Many small fixes for FCI
ZedThree Oct 7, 2025
d170ca8
tests: Fix for 3D metric in FCI test
ZedThree Oct 8, 2025
bdef58e
tests: Add test for FCI `Laplace_par`
ZedThree Oct 8, 2025
969997c
Reduce duplication in FCI mms script
ZedThree Oct 8, 2025
3468db4
Remove circular include
ZedThree Oct 8, 2025
aee8ecc
tests: Add cases for FCI interpolation methods
ZedThree Oct 8, 2025
8e9c0fc
tests: Increase nx for hermitespline interpolation boundary problem
ZedThree Oct 9, 2025
6a4204f
tests: Add monotonichermitespline, decrease resolution scan
ZedThree Oct 9, 2025
07987ac
Add check for flux conservation
dschwoerer Oct 21, 2025
f6b7b9e
Interpolate sheath is at least o2
dschwoerer Oct 21, 2025
086d68c
Apply clang-format changes
dschwoerer Oct 21, 2025
23a79a1
Interpolate sheath is at least o2
dschwoerer Oct 21, 2025
a680c16
add asField3DParallel() const
dschwoerer Oct 21, 2025
ac95a37
Add limitFreeScale and SheathLimitMode
dschwoerer Oct 21, 2025
0b8e27d
Add extrapolate_sheath_free
dschwoerer Oct 21, 2025
cffe52d
Add set_free
dschwoerer Oct 21, 2025
a0de0c7
add missing interpolate_sheath_o2(func) to FA
dschwoerer Oct 22, 2025
267d376
add is_lower() to check for which direction the boundary is
dschwoerer Oct 22, 2025
d8c3169
Add Field3DParallel::allocate
dschwoerer Oct 23, 2025
ffb69be
Apply clang-format changes
dschwoerer Oct 23, 2025
b1acf2c
Mark Field3DParallel constructors explicit
dschwoerer Oct 29, 2025
5a1419f
Add implict constructors only for Field2D and Field3D
dschwoerer Oct 29, 2025
3b86ba9
Apply clang-format changes
dschwoerer Oct 29, 2025
8879da7
Merge branch 'next' into fci-tests
ZedThree Nov 3, 2025
760a24f
tests: Small refactor of FCI tests
ZedThree Nov 3, 2025
58e2673
Apply black changes
ZedThree Nov 3, 2025
10b0d40
Apply clang-format changes
ZedThree Nov 4, 2025
4f34c70
Merge remote-tracking branch 'origin/next' into f3dwy
dschwoerer Nov 4, 2025
27db65c
Merge remote-tracking branch 'origin/fci-tests' into f3dwy
dschwoerer Nov 4, 2025
ec4148f
Remove workaround
dschwoerer Nov 4, 2025
4c12e70
Merge remote-tracking branch 'origin/f3dwy' into f3dwy
dschwoerer Nov 4, 2025
f25bb0f
Apply clang-format changes
dschwoerer Nov 4, 2025
99e28ca
Fix bad merge: Add Tensor::operator[](Ind3D)
dschwoerer Nov 4, 2025
ad30f00
Apply clang-tidy fixes to FCI tests
ZedThree Nov 4, 2025
f17d21a
Fix comment formatting
ZedThree Nov 4, 2025
8afbcbc
add yup and ydown property
dschwoerer Nov 5, 2025
28b2192
simplify template
dschwoerer Nov 5, 2025
698b6cf
Add some asserts for Field3DParallel
dschwoerer Nov 5, 2025
6e428c1
Ensure parallel slices are present
dschwoerer Nov 5, 2025
346ff3d
Simplify div_par
dschwoerer Nov 5, 2025
96f792f
Do not communicate the magnetic field
dschwoerer Nov 5, 2025
aad0182
Ensure parallel slices are set in FIELD_FUNC
dschwoerer Nov 5, 2025
281a115
Merge branch 'f3dwy' of https://github.com/boutproject/BOUT-dev into …
dschwoerer Nov 5, 2025
87cc79a
fixup bad merge
dschwoerer Nov 5, 2025
ec8b6d4
Apply clang-format changes
dschwoerer Nov 5, 2025
9de0c34
Only run fci test for 3D metric
dschwoerer Nov 5, 2025
b97b8c1
Apply suggestion from clang-tidy
dschwoerer Nov 6, 2025
732f4de
Use size_t consistently
dschwoerer Nov 6, 2025
abb5f90
Apply suggestions from clang-tidy
dschwoerer Nov 6, 2025
0751957
Apply clang-format changes
dschwoerer Nov 6, 2025
fb73f9b
clang-tidy fixes for f3dwy
dschwoerer Nov 6, 2025
6aed3df
Apply clang-format changes
dschwoerer Nov 6, 2025
f286975
Move const in front of type
dschwoerer Nov 6, 2025
783968a
Apply suggestion from @dschwoerer
ZedThree Nov 6, 2025
c8faf01
tests: Fix typo that made tests always pass
ZedThree Nov 6, 2025
3dbed9a
tests: Remove monotonichermitespline FCI case
ZedThree Nov 6, 2025
4c4190b
Fix issues from clang-tidy
dschwoerer Nov 7, 2025
c6d7644
Merge remote-tracking branch 'origin/fci-tests' into f3dwy
dschwoerer Nov 7, 2025
f3f3545
Revert "tests: Remove monotonichermitespline FCI case"
dschwoerer Nov 7, 2025
5fb8f47
Merge branch 'f3dwy' of https://github.com/boutproject/BOUT-dev into …
dschwoerer Nov 7, 2025
a936674
Port `FV::Div_par_mod` from Hermes-3
ZedThree Nov 6, 2025
20376a1
Port `FV::Div_par_fvv` from Hermes-3
ZedThree Nov 6, 2025
3bd01ec
Port `Div_par_K_Grad_par_mod` from Hermes-3
ZedThree Nov 6, 2025
db13044
Add MMS tests for finite volume operators
ZedThree Nov 6, 2025
db6c0e9
Add tests for all FV slope limiters
ZedThree Nov 7, 2025
036803f
Port `Superbee` finite volume limiter from Hermes-3
ZedThree Nov 7, 2025
39c118b
Fix clang-tidy warnings for fv_ops
ZedThree Nov 7, 2025
7d8f81d
Apply ruff format
ZedThree Nov 7, 2025
56d7f5b
tests: Communicate some coordinates fields for 3D metrics
ZedThree Nov 7, 2025
e6ed310
Increase numerical stability
dschwoerer Nov 10, 2025
c58bf64
Merge remote-tracking branch 'origin/f3dwy-clang-tidy' into f3dwy
dschwoerer Nov 10, 2025
b55faaf
Load parallel magnetic field
dschwoerer Nov 10, 2025
b8b565e
Use parallel B rather then J, to conserve flux
dschwoerer Nov 10, 2025
f08c257
Apply clang-format changes
dschwoerer Nov 10, 2025
b73e8ad
Merge branch 'port-hermes-fv-ops' into f3dwy
dschwoerer Nov 10, 2025
3c30cd2
Merge branch 'f3dwy' of https://github.com/boutproject/BOUT-dev into …
dschwoerer Nov 10, 2025
f46e2fd
Fix merge
dschwoerer Nov 10, 2025
35e86c5
Move parallel region creation to defaultRegions
dschwoerer Nov 10, 2025
a4473ee
Add Bxy to reference grid
dschwoerer Nov 12, 2025
5a04011
Move check up
dschwoerer Nov 12, 2025
b524bba
Add metric info on cell faces for FCI
dschwoerer Jan 20, 2026
96ad527
ensure parallel fields are allocated
dschwoerer Jan 20, 2026
c132458
Ensure FCI path is always used for FCI
dschwoerer Jan 20, 2026
a3206db
FCI: Use cell face values for derivatives
dschwoerer Jan 20, 2026
38233c3
Do not load parallel J
dschwoerer Jan 20, 2026
9e5f448
Avoid warning for unused var
dschwoerer Jan 20, 2026
c5e3669
Merge remote-tracking branch 'origin/next' into f3dwy-port-fv-ops
dschwoerer Jan 20, 2026
ef3683e
Add backtrace to tracked operations
dschwoerer Jan 21, 2026
b3cc11c
Only call iterateBndryLowerY() for non-FCI
dschwoerer Jan 21, 2026
a799155
Ensure `f3d.asField3DParallel() *= x` updates f3d
dschwoerer Jan 21, 2026
b959cc7
ensure also parallel fields are updated in-place
dschwoerer Jan 22, 2026
234940c
Clarify exception message
dschwoerer Jan 26, 2026
f4f8362
Only compute parallel fields for 3D Metrics
dschwoerer Jan 26, 2026
1031ccf
Always check whether main component is constant or doZero is set
dschwoerer Jan 26, 2026
78296ce
Remove stray ,
dschwoerer Jan 27, 2026
32af728
Add missing header
dschwoerer Jan 27, 2026
f5d72eb
Load J and set J to sane value
dschwoerer Jan 27, 2026
655d9a9
Apply black changes
dschwoerer Jan 29, 2026
c0ac486
Apply clang-format changes
dschwoerer Jan 29, 2026
f03b37d
Do not used preserved names
dschwoerer Jan 30, 2026
7ef174f
Add non-const versions
dschwoerer Jan 30, 2026
e3e74fe
Only generate grids once
dschwoerer Jan 30, 2026
6e16f4b
CI: Use pre-release zoidberg
dschwoerer Feb 2, 2026
5bd6ee8
Merge branch 'next' of https://github.com/boutproject/BOUT-dev into f…
dschwoerer Feb 2, 2026
4480e1d
CI: build container for f3dwy branch
dschwoerer Feb 2, 2026
1711cf1
Add const version
dschwoerer Feb 2, 2026
44b2b49
region may be not used
dschwoerer Feb 2, 2026
63372f2
set target properties on exported library
dschwoerer Feb 2, 2026
4f95494
Fix [[maybe_unused]] location
dschwoerer Feb 2, 2026
94a72ec
Add some wiggle room for monotonichermitespline
dschwoerer Feb 4, 2026
3026dd2
FV_div_par_fvv seems to be reduced order due to slope limiting character
dschwoerer Feb 4, 2026
7a1dc32
Add doc to option
dschwoerer Feb 4, 2026
054297f
Ensure metric components are first used in serial section
dschwoerer Feb 4, 2026
7aaf0b1
Only compute parallel slices in filledFrom for FCI
dschwoerer Feb 4, 2026
82e0dff
Do not rely on valid region being set
dschwoerer Feb 10, 2026
9ad178e
Ignore if field is not allocated
dschwoerer Feb 10, 2026
3c93d8f
Do not build with openmp
dschwoerer Feb 11, 2026
67d8ac8
[bot] Apply format changes
dschwoerer Feb 11, 2026
87c7e77
[bot] Add last format changes commit to ignore file
dschwoerer Feb 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@ d8f14fdddb5ca0fbb32d8e2bf5ac2960d6ac5ce6
ed2117e6d6826a98b6988e2f18c0c34e408563b6
# Added by the bot
4b010b7634aee1045743be80c268d4644522cd29
67d8ac88a9f1ebc33f3db76f39abea1e7db11d8a
10 changes: 5 additions & 5 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
- fix3121
- f3dwy
- docker-ci

env:
Expand All @@ -26,11 +26,11 @@ 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: "Without 3D Metrics"
cmake: OFF
base_prefix: ""
tag_prefix: ""
Expand Down Expand Up @@ -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
1 change: 1 addition & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,7 @@ jobs:
- name: Install pip packages
run: |
python -m pip install --upgrade pip setuptools
python -m pip install git+https://github.com/boutproject/zoidberg@better-metric
python -m pip install -r requirements.txt

- name: Cache SUNDIALS build
Expand Down
7 changes: 6 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -271,11 +271,12 @@ set(BOUT_SOURCES
./src/mesh/interpolation/hermite_spline_z.cxx
./src/mesh/interpolation/interpolation_z.cxx
./src/mesh/interpolation/lagrange_4pt_xz.cxx
./src/mesh/interpolation/monotonic_hermite_spline_xz.cxx
./src/mesh/invert3x3.hxx
./src/mesh/mesh.cxx
./src/mesh/parallel/fci.cxx
./src/mesh/parallel/fci.hxx
./src/mesh/parallel/fci_comm.cxx
./src/mesh/parallel/fci_comm.hxx
./src/mesh/parallel/identity.cxx
./src/mesh/parallel/shiftedmetric.cxx
./src/mesh/parallel/shiftedmetricinterp.cxx
Expand Down Expand Up @@ -376,6 +377,7 @@ if (zoidberg_FOUND EQUAL 0)
else()
set(zoidberg_FOUND OFF)
endif()
message(STATUS "Found Zoidberg for FCI tests: ${zoidberg_FOUND}")

option(BOUT_GENERATE_FIELDOPS "Automatically re-generate the Field arithmetic operators from the Python templates. \
Requires Python3, clang-format, and Jinja2. Turn this OFF to skip generating them if, for example, \
Expand Down Expand Up @@ -582,6 +584,9 @@ else()
endif()
set(BOUT_USE_METRIC_3D ${BOUT_ENABLE_METRIC_3D})

option(BOUT_ENABLE_FCI_AUTOMAGIC "Enable (slow?) automatic features for FCI" ON)
set(BOUT_USE_FCI_AUTOMAGIC ${BOUT_ENABLE_FCI_AUTOMAGIC})

include(CheckCXXSourceCompiles)
check_cxx_source_compiles("int main() { const char* name = __PRETTY_FUNCTION__; }"
HAS_PRETTY_FUNCTION)
Expand Down
4 changes: 2 additions & 2 deletions bin/bout-build-deps.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ NCVER=${NCVER:-4.7.4}
NCCXXVER=${NCCXXVER:-4.3.1}
FFTWVER=${FFTWVER:-3.3.9}
SUNVER=${SUNVER:-5.7.0}
PETSCVER=${PETSCVER:-3.15.0}
PETSCVER=${PETSCVER:-3.21.4}


HDF5FLAGS=${HDF5FLAGS:-}
Expand Down Expand Up @@ -147,7 +147,7 @@ petsc() {
test -z $PETSC_DIR || error "\$PETSC_DIR is set ($PETSC_DIR) - please unset"
test -z $PETSC_ARCH || error "\$PETSC_ARCH is set ($PETSC_ARCH) - please unset"
cd $BUILD
wget -c https://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-$PETSCVER.tar.gz || :
wget -c https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-$PETSCVER.tar.gz || :
tar -xf petsc-$PETSCVER.tar.gz
cd petsc-$PETSCVER
unset PETSC_DIR
Expand Down
29 changes: 28 additions & 1 deletion bout++Config.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ set(BOUT_USE_TRACK @BOUT_USE_TRACK@)
set(BOUT_USE_SIGFPE @BOUT_USE_SIGFPE@)
set(BOUT_USE_OPENMP @BOUT_USE_OPENMP@)
set(BOUT_HAS_CUDA @BOUT_HAS_CUDA@)
set(BOUT_HAS_OUTPUT_DEBUG @BOUT_HAS_OUTPUT_DEBUG@)
set(BOUT_USE_OUTPUT_DEBUG @BOUT_USE_OUTPUT_DEBUG@)
set(BOUT_CHECK_LEVEL @BOUT_CHECK_LEVEL@)
set(BOUT_USE_METRIC_3D @BOUT_USE_METRIC_3D@)

Expand Down Expand Up @@ -182,3 +182,30 @@ if (BOUT_HAS_ADIOS2)
endif()

include("${CMAKE_CURRENT_LIST_DIR}/bout++Targets.cmake")

add_library(bout++ INTERFACE IMPORTED)
set_target_properties(bout++
PROPERTIES BOUT_USE_SIGNAL @BOUT_USE_SIGNAL@
BOUT_USE_COLOR @BOUT_USE_COLOR@
BOUT_USE_TRACK @BOUT_USE_TRACK@
BOUT_USE_SIGFPE @BOUT_USE_SIGFPE@
BOUT_USE_OPENMP @BOUT_USE_OPENMP@
BOUT_HAS_CUDA @BOUT_HAS_CUDA@
BOUT_USE_OUTPUT_DEBUG @BOUT_USE_OUTPUT_DEBUG@
BOUT_CHECK_LEVEL @BOUT_CHECK_LEVEL@
BOUT_USE_METRIC_3D @BOUT_USE_METRIC_3D@
BOUT_HAS_PVODE @BOUT_HAS_PVODE@
BOUT_HAS_NETCDF @BOUT_HAS_NETCDF@
BOUT_HAS_ADIOS2 @BOUT_HAS_ADIOS2@
BOUT_HAS_FFTW @BOUT_HAS_FFTW@
BOUT_HAS_LAPACK @BOUT_HAS_LAPACK@
BOUT_HAS_PETSC @BOUT_HAS_PETSC@
BOUT_HAS_SLEPC @BOUT_HAS_SLEPC@
BOUT_HAS_SCOREP @BOUT_HAS_SCOREP@
BOUT_USE_UUID_SYSTEM_GENERATOR @BOUT_USE_UUID_SYSTEM_GENERATOR@
BOUT_HAS_SUNDIALS @BOUT_HAS_SUNDIALS@
BOUT_HAS_HYPRE @BOUT_HAS_HYPRE@
BOUT_HAS_GETTEXT @BOUT_HAS_GETTEXT@
BOUT_HAS_UMPIRE @BOUT_HAS_UMPIRE@
BOUT_HAS_RAJA @BOUT_HAS_RAJA@
)
2 changes: 1 addition & 1 deletion cmake/SetupBOUTThirdParty.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -291,7 +291,7 @@ if (BOUT_USE_SUNDIALS)
set(EXAMPLES_ENABLE_C OFF CACHE BOOL "" FORCE)
set(EXAMPLES_INSTALL OFF CACHE BOOL "" FORCE)
set(ENABLE_MPI ${BOUT_USE_MPI} CACHE BOOL "" FORCE)
set(ENABLE_OPENMP OFF CACHE BOOL "" FORCE)
set(ENABLE_OPENMP ${BOUT_USE_OPENMP} CACHE BOOL "" FORCE)
if (BUILD_SHARED_LIBS)
set(BUILD_STATIC_LIBS OFF CACHE BOOL "" FORCE)
else()
Expand Down
1 change: 1 addition & 0 deletions cmake_build_defines.hxx.in
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
#cmakedefine BOUT_METRIC_TYPE @BOUT_METRIC_TYPE@
#cmakedefine01 BOUT_USE_METRIC_3D
#cmakedefine01 BOUT_USE_MSGSTACK
#cmakedefine01 BOUT_USE_FCI_AUTOMAGIC

// CMake build does not support legacy interface
#define BOUT_HAS_LEGACY_NETCDF 0
Expand Down
2 changes: 1 addition & 1 deletion examples/fci-wave/div-integrate/BOUT.inp
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ bndry_par_ydown = parallel_neumann_o2

[v]

bndry_par_all = parallel_dirichlet
bndry_par_all = parallel_dirichlet_o2

[solver]
output_step = 0.1
Expand Down
2 changes: 1 addition & 1 deletion examples/fci-wave/div/BOUT.inp
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ bndry_par_ydown = parallel_neumann_o2

[v]

bndry_par_all = parallel_dirichlet
bndry_par_all = parallel_dirichlet_o2

[solver]
output_step = 0.1
Expand Down
2 changes: 1 addition & 1 deletion examples/fci-wave/logn/BOUT.inp
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ bndry_par_ydown = parallel_neumann_o2

[nv]

bndry_par_all = parallel_dirichlet
bndry_par_all = parallel_dirichlet_o2

[solver]
output_step = 0.1
Expand Down
4 changes: 2 additions & 2 deletions externalpackages/PVODE/include/pvode/band.h
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ typedef struct bandmat_type {
* *
******************************************************************/

#define PVODE_BAND_ELEM(A,i,j) ((A->data)[j][i-j+(A->smu)])
#define PVODE_BAND_ELEM(A, i, j) (((A)->data)[j][(i) - (j) + ((A)->smu)])
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

warning: function-like macro 'PVODE_BAND_ELEM' used; consider a 'constexpr' template function [cppcoreguidelines-macro-usage]

#define PVODE_BAND_ELEM(A, i, j) (((A)->data)[j][(i) - (j) + ((A)->smu)])
        ^

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

warning: function-like macro 'PVODE_BAND_ELEM' used; consider a 'constexpr' template function [cppcoreguidelines-macro-usage]

#define PVODE_BAND_ELEM(A, i, j) (((A)->data)[j][(i) - (j) + ((A)->smu)])
        ^


/******************************************************************
* *
Expand All @@ -153,7 +153,7 @@ typedef struct bandmat_type {
* *
******************************************************************/

#define PVODE_BAND_COL(A,j) (((A->data)[j])+(A->smu))
#define PVODE_BAND_COL(A, j) ((((A)->data)[j]) + ((A)->smu))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

warning: function-like macro 'PVODE_BAND_COL' used; consider a 'constexpr' template function [cppcoreguidelines-macro-usage]

#define PVODE_BAND_COL(A, j) ((((A)->data)[j]) + ((A)->smu))
        ^

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

warning: function-like macro 'PVODE_BAND_COL' used; consider a 'constexpr' template function [cppcoreguidelines-macro-usage]

#define PVODE_BAND_COL(A, j) ((((A)->data)[j]) + ((A)->smu))
        ^


/******************************************************************
* *
Expand Down
2 changes: 1 addition & 1 deletion externalpackages/PVODE/precon/band.h
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ typedef struct bandmat_type {
* *
******************************************************************/

#define BAND_COL(A, j) (((A->data)[j]) + (A->smu))
#define PVODE_BAND_COL(A, j) ((((A)->data)[j]) + ((A)->smu))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

warning: function-like macro 'PVODE_BAND_COL' used; consider a 'constexpr' template function [cppcoreguidelines-macro-usage]

#define PVODE_BAND_COL(A, j) ((((A)->data)[j]) + ((A)->smu))
        ^

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

warning: function-like macro 'PVODE_BAND_COL' used; consider a 'constexpr' template function [cppcoreguidelines-macro-usage]

#define PVODE_BAND_COL(A, j) ((((A)->data)[j]) + ((A)->smu))
        ^


/******************************************************************
* *
Expand Down
Loading