Skip to content

Stride deltacoil#305

Draft
viaweber98 wants to merge 20 commits into
developfrom
STRIDE-deltacoil
Draft

Stride deltacoil#305
viaweber98 wants to merge 20 commits into
developfrom
STRIDE-deltacoil

Conversation

@viaweber98

@viaweber98 viaweber98 commented Jun 25, 2026

Copy link
Copy Markdown
Collaborator

The intent of this branch is to extend the ForceFreeStates resistive Riccati/Delta_prime solver to compute a coil-response matrix (a delta-coil matrix), which is the resistive-layer response to external field drives (RPEC). This is so that STRIDE-style resistive DCON can produce driven matched solutions, not just the free-boundary Delta_prime spectrum. This builds directly on the Galerkin resistive inner-layer matching work and wires external-drive columns through to the perturbed-equilibrium output.

matt-pharr and others added 20 commits June 25, 2026 12:36
…te galerkin solver to support coil-response columns
…r size_threshold CI failure

The new Galerkin docstrings pushed the rendered stability page to 241 KiB,
over Documenter's 200 KiB hard limit. Move the Galerkin/*.jl docstrings to a
new galerkin.md page via @autodocs Pages filtering (stability page now 192 KiB).

Co-Authored-By: Claude Fable 5 <[email protected]>
… + add gal_resistive regression case

Consolidate the RDCON rpec edge handling into gal_set_boundary!'s three-way
branch (rpec identity edge + coil RHS injection / free vacuum / fixed identity),
mirroring Fortran gal.f:1554-1620, and remove the now-duplicate injection block
from galerkin_solve. Bit-identical Δ′/delta_coil (verified by stash pre/post diff).

Add examples/DIIID-like_gal_resistive_example (gal_flag+gal_rpec_flag, symlinked
geqdsk) and regression-harness case gal_resistive_diiid tracking pest3_Delta,
||delta||, ||delta_coil||, D_I, alpha, msing, sing_q — first gal/rpec regression
coverage, so future changes compare backward to here.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
…king

Add gal_edge_onesided control flag (default false = Fortran-faithful symmetric
"both" packing). When true, the two end intervals pack one-sided toward their
single rational end, leaving the regular domain boundary (psilow/psihigh) at
coarse spacing — removes the gratuitous fine edge cell that inflates cond(A)
(entry spread ~1/h²). Verified Δ′ unchanged (<=0.05%) while worst-case coil
loss-of-significance drops ~3.7x on DIIID.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
…rturbedEquilibrium + gal_ideal_flag

Complete the DRIVEN/RPEC pipeline: gal_matched_odestate packs the coil-matched xi/xi' (+ xi_s via ffit) into an OdeState; main() feeds it to PerturbedEquilibrium when gal_match_flag. Add gal_ideal_flag (skip inner layer, bare coil columns; physically equivalent to DCON). Move the DIIID gal_resistive example to psihigh=0.993 and add inline comments matching the other examples. Add benchmark scan/comparison scripts (eta & rotation scans of the m=2 normal field, gal-vs-EL eigenmode overlay, gal-ideal vs shooting PE).

Co-Authored-By: Claude Opus 4.8 <[email protected]>
…ng + PE-fed gal_resistive_pe case

gal_resistive_diiid: add finite inner-layer-matching quantities (||inner-layer Delta||, ||cout||, residual); drop divergent xi/xi' norms (ill-posed). New gal_resistive_pe case covers the full gal->match->OdeState->PerturbedEquilibrium pipeline via finite singular-coupling scalars (island half-widths, resonant flux, penetrated field, PE Delta'). New DIIID-like_gal_resistive_pe_example (resistive matched config + C-coil forcing + PE).

Co-Authored-By: Claude Opus 4.8 <[email protected]>
…l.f<->assembly correspondence map + index

Records the verified gal.f<->GalerkinAssembly.jl element-level correspondence and
the resonant sign-chain derivation from the PR physics review, so the next audit of
the Galerkin solver starts from the verified state.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
…al_gnstep, verbose-gate debug, remove dead resist_eval_all
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