You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
PerturbedEquilibrium - FEATURE - Complete the resistive perturbed-equilibrium workflow from Galerkin and matched results #635
The resistive, coil-driven perturbed equilibrium cannot run end to end yet. That run is Galerkin Δ′ with the edge-source (rpec) columns, then inner-layer matching, then PerturbedEquilibrium. It is the last link of Fortran GPEC's RDCON → RMATCH → GPEC chain (PrincetonUniversity/GPEC#210).
Why it stops: the plasma response is built from the free-boundary δW, through the edge response wp. Galerkin and inner-layer-matched results do not publish wp, so #556 made PerturbedEquilibrium refuse them with an error instead of silently returning only the forcing.
Port Fortran's other inductance route (resp_index = 1).
Fortran builds the plasma inductance from the flux response and a surface-current response, L = Φ·K⁻¹ (gpec/gpresp.f, plas_indmats(j) from kapmats(j) and flxmats).
For Galerkin and RDCON results Fortran computes only j = 1 and forces resp_index = 1 (gpec/rdcon.f: "since we don't have energies").
resp_index = 0, the energy identity, is what Julia uses today.
What is already ready:
examples/DIIID-like_gal_resistive_pe_example keeps its coil forcing and [PerturbedEquilibrium] section for this.
The harness case gal_resistive_pe tracks the eight PerturbedEquilibrium/SingularCoupling/ quantities. They read N/A until this lands; until then its remove_sections stops the run before PE, so it duplicates gal_resistive_diiid.
Done when: the remove_sections line is dropped and the eight quantities are tracked.
The example and harness case for this feature were removed from v2.0 in #636, commit 31d63eb, because a Galerkin or matched result cannot drive [PerturbedEquilibrium] yet. As shipped, the deck stopped at that stage, and its harness case stripped [ForcingTerms] and [PerturbedEquilibrium], so it tracked only N/A.
Restore both from 332d400 as this issue's acceptance test:
the harness case runs without remove_sections, and its singular-coupling quantities (island half-widths, Chirikov overlap, resonant and penetrated fields, Δ′) are no longer N/A;
the example's row is added back to the examples table in docs/src/workflow.md.
Activity
logan-nc commentedon Nov 2, 2026
The example and harness case for this feature were removed from v2.0 in #636, commit 31d63eb, because a Galerkin or matched result cannot drive
[PerturbedEquilibrium]yet. As shipped, the deck stopped at that stage, and its harness case stripped[ForcingTerms]and[PerturbedEquilibrium], so it tracked only N/A.Restore both from 332d400 as this issue's acceptance test:
This issue is done when:
remove_sections, and its singular-coupling quantities (island half-widths, Chirikov overlap, resonant and penetrated fields, Δ′) are no longer N/A;docs/src/workflow.md.