Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
74b736d
tests: Ruff fixes for FCI runtest
ZedThree Oct 7, 2025
eb589e1
tests: Expand FCI MMS test to `Grad2_par2`
ZedThree Oct 7, 2025
c0cc84b
tests: Generalise FCI MMS test to allow for more cases
ZedThree Oct 7, 2025
2eda48c
tests: Add test for FCI `Div_par`
ZedThree Oct 7, 2025
636bf28
tests: Make MMS script update input in-place
ZedThree Oct 7, 2025
16318ec
tests: Add test for FCI `Div_par_K_Grad_par`
ZedThree Oct 7, 2025
14b4b11
Many small fixes for FCI
ZedThree Oct 7, 2025
da0d4c4
tests: Fix for 3D metric in FCI test
ZedThree Oct 8, 2025
2f83692
tests: Add test for FCI `Laplace_par`
ZedThree Oct 8, 2025
0cde140
Reduce duplication in FCI mms script
ZedThree Oct 8, 2025
37dc273
Remove circular include
ZedThree Oct 8, 2025
9ac46e8
tests: Add cases for FCI interpolation methods
ZedThree Oct 8, 2025
5974a6e
tests: Increase nx for hermitespline interpolation boundary problem
ZedThree Oct 9, 2025
6ab945e
tests: Add monotonichermitespline, decrease resolution scan
ZedThree Oct 9, 2025
16c3718
tests: Small refactor of FCI tests
ZedThree Nov 3, 2025
3d3ff65
Apply black changes
ZedThree Nov 3, 2025
79f9d0f
Apply clang-format changes
ZedThree Nov 4, 2025
cee3e44
Apply clang-tidy fixes to FCI tests
ZedThree Nov 4, 2025
88d8db8
Fix comment formatting
ZedThree Nov 4, 2025
9d9922c
Apply suggestion from @dschwoerer
ZedThree Nov 6, 2025
e961e75
tests: Fix typo that made tests always pass
ZedThree Nov 6, 2025
2674a58
tests: Remove monotonichermitespline FCI case
ZedThree Nov 6, 2025
f00db39
Add `rtol`, `atol` to `MonotonicHermiteSpline`
ZedThree Nov 21, 2025
0efe4e3
Add missing header
ZedThree Dec 3, 2025
e44fbb5
Port `FV::Div_par_mod` from Hermes-3
ZedThree Nov 6, 2025
db50278
Port `FV::Div_par_fvv` from Hermes-3
ZedThree Nov 6, 2025
9a603da
Port `Div_par_K_Grad_par_mod` from Hermes-3
ZedThree Nov 6, 2025
a5b8d5d
Add MMS tests for finite volume operators
ZedThree Nov 6, 2025
bae7618
Add tests for all FV slope limiters
ZedThree Nov 7, 2025
39ae2bc
Port `Superbee` finite volume limiter from Hermes-3
ZedThree Nov 7, 2025
4cd7909
Fix clang-tidy warnings for fv_ops
ZedThree Nov 7, 2025
9749991
Apply ruff format
ZedThree Nov 7, 2025
07ba3b8
tests: Communicate some coordinates fields for 3D metrics
ZedThree Nov 7, 2025
7857a6b
Include all headers
ZedThree Nov 17, 2025
706f428
Div_par_fvv: FCI change numerical dissipation
ZedThree Dec 3, 2025
21cb28a
Set expected order of `FV::Div_par_fvv` to 1
ZedThree Dec 3, 2025
972a19d
Communicate some more coordinate quantities for FCI MMS test
ZedThree Dec 4, 2025
b6c1705
Guard against non-thread safe PETSc call
ZedThree Dec 4, 2025
e095708
Remove some unused headers
ZedThree Dec 4, 2025
22b2589
Split XZ interpolation into usual `impls` layout
ZedThree Dec 3, 2025
430a46f
Split out `XZPetscHermiteSpline`
ZedThree Dec 3, 2025
77c82bc
Make member variable a local `array`
ZedThree Dec 3, 2025
94aae64
Clang-tidy fixes
ZedThree Dec 3, 2025
910f407
Remove duplication between hermite spline implementations
ZedThree Dec 4, 2025
09a1474
Fix clang-tidy issues with lagrange_4pt
ZedThree Dec 4, 2025
3f80b86
Fix interpolation/FCI tests for separate `petschermitespline`
ZedThree Dec 4, 2025
24bc52b
Make `petschermitespline` the default if possible
ZedThree Dec 4, 2025
aff19f0
Apply clang-format changes
ZedThree Dec 4, 2025
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
2 changes: 1 addition & 1 deletion .clang-tidy
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ CheckOptions:
value: 'MPI_Comm'

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

Disabled checks and reasons:
Expand Down
17 changes: 12 additions & 5 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -265,13 +265,19 @@ set(BOUT_SOURCES
./src/mesh/impls/bout/boutmesh.cxx
./src/mesh/impls/bout/boutmesh.hxx
./src/mesh/index_derivs.cxx
./src/mesh/interpolation_xz.cxx
./src/mesh/interpolation/bilinear_xz.cxx
./src/mesh/interpolation/hermite_spline_xz.cxx
./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/interpolation/xz/impls/bilinear_xz.cxx
./src/mesh/interpolation/xz/impls/bilinear_xz.hxx
./src/mesh/interpolation/xz/impls/hermite_spline_xz.cxx
./src/mesh/interpolation/xz/impls/hermite_spline_xz.hxx
./src/mesh/interpolation/xz/impls/lagrange_4pt_xz.cxx
./src/mesh/interpolation/xz/impls/lagrange_4pt_xz.hxx
./src/mesh/interpolation/xz/impls/monotonic_hermite_spline_xz.cxx
./src/mesh/interpolation/xz/impls/monotonic_hermite_spline_xz.hxx
./src/mesh/interpolation/xz/impls/petsc_hermite_spline_xz.cxx
./src/mesh/interpolation/xz/impls/petsc_hermite_spline_xz.hxx
./src/mesh/interpolation/xz/interpolation_xz.cxx
./src/mesh/invert3x3.hxx
./src/mesh/mesh.cxx
./src/mesh/parallel/fci.cxx
Expand Down Expand Up @@ -376,6 +382,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
8 changes: 7 additions & 1 deletion include/bout/difops.hxx
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,9 @@
#include "bout/field3d.hxx"

#include "bout/bout_types.hxx"
#include "bout/solver.hxx"
#include "bout/coordinates.hxx"

class Solver;

/*!
* Parallel derivative (central differencing) in Y
Expand Down Expand Up @@ -193,6 +195,10 @@ Field3D Div_par_K_Grad_par(const Field3D& kY, const Field2D& f,
Field3D Div_par_K_Grad_par(const Field3D& kY, const Field3D& f,
CELL_LOC outloc = CELL_DEFAULT);

/// Version with energy flow diagnostic
Field3D Div_par_K_Grad_par_mod(const Field3D& k, const Field3D& f, Field3D& flow_ylow,
bool bndry_flux = true);

/*!
* Perpendicular Laplacian operator
*
Expand Down
Loading
Loading