Skip to content

Implement a minimal Fci functionality on master - #629

Open
totork wants to merge 78 commits into
boutproject:masterfrom
totork:fci-master
Open

Implement a minimal Fci functionality on master#629
totork wants to merge 78 commits into
boutproject:masterfrom
totork:fci-master

Conversation

@totork

@totork totork commented Jul 29, 2026

Copy link
Copy Markdown

Purpose

Fci is currently running on a separate branch. This diverges signifcant effort of us into separate codes. This first PR aims to adjust Hermes-3 to use the Fci implementation of Bout++ that was updated recently.

Change Summary

Mostly changes hidden behind .isFci() - flags. It is mainly preserving parallel slices by using .asField3DParallel() at certain positions where its needed

Validation

Added 3 1-D MMS test (density, momentum & pressure) for Fci that pass, including the CI.

AI Assistance

Nope.

Documentation

Not yet

Review Notes

This branch is forked from

https://github.com/boutproject/hermes-3/tree/compile-3dmetric

so it certainly needs

#577

To do:

  • Check the BOUT++ version

bendudson and others added 30 commits June 10, 2026 14:41
Modify Div_par_fvv and Div_par_fvv_heating so that they compile
with 3D metrics.
Dataset.hermes.extract_[12]_tokamak_geometry() calls now result in an
error:
```
Traceback (most recent call last):
  File "/home/runner/work/hermes-3/hermes-3/build/tests/integrated/2D-recycling/runtest", line 144, in <module>
    ds = ds.hermes.extract_2d_tokamak_geometry()
  File "/home/runner/.local/lib/python3.10/site-packages/xhermes/accessors.py", line 172, in extract_2d_tokamak_geometry
    raise Exception(
Exception: extract_2d_tokamak_geometry was called twice! Note: this is now done automatically upon loading
```
@totork
totork marked this pull request as draft July 29, 2026 10:22
@codecov

codecov Bot commented Jul 29, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 34.56376% with 195 lines in your changes missing coverage. Please review.
✅ Project coverage is 57.56%. Comparing base (412b099) to head (9c07230).

Files with missing lines Patch % Lines
src/div_ops.cxx 34.12% 139 Missing ⚠️
src/evolve_pressure.cxx 28.57% 12 Missing and 3 partials ⚠️
src/evolve_momentum.cxx 42.10% 7 Missing and 4 partials ⚠️
include/fixed_velocity.hxx 25.00% 4 Missing and 2 partials ⚠️
include/fixed_temperature.hxx 16.66% 3 Missing and 2 partials ⚠️
include/fixed_density.hxx 0.00% 3 Missing and 1 partial ⚠️
src/evolve_density.cxx 33.33% 2 Missing and 2 partials ⚠️
src/recycling.cxx 55.55% 4 Missing ⚠️
src/diamagnetic_drift.cxx 0.00% 2 Missing ⚠️
src/electromagnetic.cxx 0.00% 2 Missing ⚠️
... and 3 more
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #629      +/-   ##
==========================================
+ Coverage   57.53%   57.56%   +0.02%     
==========================================
  Files          98       97       -1     
  Lines       10223    10078     -145     
  Branches     1466     1459       -7     
==========================================
- Hits         5882     5801      -81     
+ Misses       3753     3682      -71     
- Partials      588      595       +7     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@totork
totork marked this pull request as ready for review July 29, 2026 14:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants