Skip to content

Tearing - FEATURE - 🌱 Add a per-surface omega_E_kHz override of the kinetic-file E×B rotation - #519

Draft
d-burg wants to merge 1 commit into
bugfix/coupled-slayer-tauk-rescale-and-rotationfrom
feature/slayer-omega-e-override
Draft

d-burg wants to merge 1 commit into
bugfix/coupled-slayer-tauk-rescale-and-rotationfrom
feature/slayer-omega-e-override

Conversation

@d-burg

@d-burg d-burg commented Oct 9, 2026

Copy link
Copy Markdown
Collaborator

Release note

You can now replace the kinetic file's E×B rotation on chosen rational surfaces from the deck, to scan rotation in a coupled SLAYER run without editing the profile file.

[SLAYER]
coupling_mode = "coupled"
omega_E_kHz   = {"2/1" = 0.0, "3/1" = 3.0}   # Ω_E/2π per unit n [kHz], keyed by m/n

Surfaces not listed keep the file's value. The resolved rotation is written to Tearing/PerSurface/omega_E as before.

Regression report

regress --cases diiid_slayer_n1,diiid_slayer_n1_coupled --refs 6a9d9e848,744225414 on feynman: the parent PR's head (#463, with develop merged) against this branch. All 24 quantities are unchanged, and the stored values are bit-identical.

Regression Report: diiid_slayer_n1
=========================================================================
Ref 1: 6a9d9e848  @ 6a9d9e848 (2026-10-09)
       env: julia 1.11.9, x86_64-linux-gnu, manifest f826ee26 (pinned), 8 threads/8 BLAS, jit build
Ref 2: 744225414  @ 744225414 (2026-10-09)
       env: julia 1.11.9, x86_64-linux-gnu, manifest f826ee26 (pinned), 8 threads/8 BLAS, jit build
-------------------------------------------------------------------------
Quantity                            6a9d9e848  744225414  Diff     Status
-------------------------------------------------------------------------
SLAYER surface indices              [6 elem]   [6 elem]   0.0e+00  OK
SLAYER poloidal m                   [6 elem]   [6 elem]   0.0e+00  OK
SLAYER toroidal n                   [6 elem]   [6 elem]   0.0e+00  OK
SLAYER minor radius rs              [6 elem]   [6 elem]   0.0e+00  OK
SLAYER r-based shear                [6 elem]   [6 elem]   0.0e+00  OK
SLAYER Lundquist S                  [6 elem]   [6 elem]   0.0e+00  OK
SLAYER D_norm                       [6 elem]   [6 elem]   0.0e+00  OK
SLAYER P_perp                       [6 elem]   [6 elem]   0.0e+00  OK
SLAYER tauk                         [6 elem]   [6 elem]   0.0e+00  OK
SLAYER iota_e                       [6 elem]   [6 elem]   0.0e+00  OK
SLAYER Q_e                          [6 elem]   [6 elem]   0.0e+00  OK
SLAYER Q_i                          [6 elem]   [6 elem]   0.0e+00  OK
SLAYER Q_root [2/1,3/1,4/1]         [3 elem]   [3 elem]   0.0e+00  OK
SLAYER ω_Hz [2/1,3/1,4/1]           [3 elem]   [3 elem]   0.0e+00  OK
SLAYER γ_Hz [2/1,3/1,4/1]           [3 elem]   [3 elem]   0.0e+00  OK
SLAYER no_root flags [2/1,3/1,4/1]  [3 elem]   [3 elem]   0.0e+00  OK
SLAYER enabled flag                 1          1          0.0e+00  OK
Runtime (s)                         285.5s     283.1s              --
=========================================================================
Summary: 17 unchanged

Regression Report: diiid_slayer_n1_coupled
==================================================================
Ref 1: 6a9d9e848  @ 6a9d9e848 (2026-10-09)
       env: julia 1.11.9, x86_64-linux-gnu, manifest f826ee26 (pinned), 8 threads/8 BLAS, jit build
Ref 2: 744225414  @ 744225414 (2026-10-09)
       env: julia 1.11.9, x86_64-linux-gnu, manifest f826ee26 (pinned), 8 threads/8 BLAS, jit build
------------------------------------------------------------------
Quantity                     6a9d9e848  744225414  Diff     Status
------------------------------------------------------------------
SLAYER tauk                  [6 elem]   [6 elem]   0.0e+00  OK
SLAYER q_shift               [6 elem]   [6 elem]   0.0e+00  OK
SLAYER coupled Q_root        [1 elem]   [1 elem]   0.0e+00  OK
SLAYER coupled ω             [1 elem]   [1 elem]   0.0e+00  OK
SLAYER coupled γ             [1 elem]   [1 elem]   0.0e+00  OK
SLAYER coupled no_root flag  [1 elem]   [1 elem]   0.0e+00  OK
SLAYER enabled flag          1          1          0.0e+00  OK
Runtime (s)                  301.3s     286.5s              --
==================================================================
Summary: 7 unchanged

Notes for reviewers


NO MERGE WITHOUT HUMAN REVIEW. This PR is a draft and needs a named human reviewer before it can be considered for merge.

🤖 Generated with Claude Code

…etic-file E×B rotation

A table keyed by m/n replaces the kinetic file's Ω_E on the listed surfaces,
for rotation scans of the coupled determinant. Unlisted surfaces keep the
file value; a key matching no analysed surface is an error.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@d-burg d-burg self-assigned this Oct 9, 2026
@github-actions github-actions Bot added the feature New capability label Oct 9, 2026
@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

This pull request is missing a reviewer.

If you are not ready to name them, mark this pull request as a draft.
docs/development/contributors.md suggests lead developers to ask.
Merging is not blocked here, but no pull request may be merged without human review.

1 similar comment
@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

This pull request is missing a reviewer.

If you are not ready to name them, mark this pull request as a draft.
docs/development/contributors.md suggests lead developers to ask.
Merging is not blocked here, but no pull request may be merged without human review.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature New capability

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant