Skip to content

Fci: Add 3D MMS tests and fix neutral averaging#537

Open
totork wants to merge 25 commits into
boutproject:fcifrom
totork:fci-metric-mms
Open

Fci: Add 3D MMS tests and fix neutral averaging#537
totork wants to merge 25 commits into
boutproject:fcifrom
totork:fci-metric-mms

Conversation

@totork
Copy link
Copy Markdown

@totork totork commented Mar 28, 2026

This PR does add more MMS test, now in a more realistic 3D geometry. The magnetic field is axial and circular with a finite q-profile. The q profile can be varied radially, but is kept constant for these tests (q=3). There are 2 tests:

  1. A simpler 3D tests created with a constant parallel diffusion.
  2. A 3D test that uses the electron heat conduction for the parallel diffusion.

As the field is axial, the field strength on a field line stays constant, which means that it does not test flux expansion.

These tests also install Zoidberg/better-metric in the CI. Building this PR requires a Zoidberg version, atleast for all the tests. I am not sure if the hermes-3 executable is built properly when zoidberg is not found.

Copy link
Copy Markdown
Collaborator

@dschwoerer dschwoerer left a comment

Choose a reason for hiding this comment

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

It would be nice to remove the python2 fallback paths as well.

Otherwise, this seems pretty straight forward 👍

Comment thread .github/workflows/tests.yml Outdated
@totork totork changed the title Fci: Add 3D MMS tests Fci: Add 3D MMS tests and fix neutral averaging May 5, 2026
- name: Install pip packages
run: |
./.pip_install_for_tests.sh 'netcdf4~=1.5' 'boutdata==0.3.0' boututils 'git+https://github.com/boutproject/zoidberg@better-metric'
./.pip_install_for_tests.sh 'netcdf4~=1.5' 'boutdata==0.3.0' boututils 'git+https://github.com/boutproject/zoidberg'
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
./.pip_install_for_tests.sh 'netcdf4~=1.5' 'boutdata==0.3.0' boututils 'git+https://github.com/boutproject/zoidberg'
./.pip_install_for_tests.sh 'netcdf4~=1.5' 'boutdata==0.3.0' boututils zoidberg

or

Suggested change
./.pip_install_for_tests.sh 'netcdf4~=1.5' 'boutdata==0.3.0' boututils 'git+https://github.com/boutproject/zoidberg'
./.pip_install_for_tests.sh 'netcdf4~=1.5' 'boutdata!=0.4.0' boututils zoidberg

so we get the next boutdata automatically.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Last time I used boutdata=0.4.0, I would get weird errors and the CI would fail all over the place. I am not sure if this is the case anymore.

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.

2 participants