Skip to content

Tracking: OpenFUSIONToolkit findings to report upstream #18

Description

@d-burg

Three OFT-level behaviors discovered during the v1.2.0 work (measured on OFT base v26.6, branch fix/bootstrap-pchip-derivatives @ 19e08b2, DIII-D mesh). All are guarded/routed-around inside bouquet, but they deserve upstream reports so other OFT users don't rediscover them:

  1. compute_flux_integral is not a plasma-domain integral. It integrates over the entire reg == 1 limiter region, and gs_prof_interp_apply CASE(4) returns 0 off-plasma so gs_flux_int evaluates the flux function at its LCFS value there. Measured: FI(1) = 2.83853 m^2 (limiter area) vs true plasma cross-section 1.79005 m^2; a current-density profile with finite edge value is over-counted by ~j_phi(1) x 1.05 m^2 = +11.9% of Ip on this equilibrium. bouquet's mitigation: utils.Ip_fsa_integral (v1.2.0). Also see Standard l_i loop's Ip root absorbs a +16-17% inductive-amplitude bias (compute_flux_integral is not a plasma-current measure) #15.

  2. get_q(psi=...) silently collapses onto the magnetic axis if the requested grid contains psi_N = 0. All returned ravgs become surface-independent (<R> constant to 2e-15 across 257 surfaces), no exception raised, downstream results ~37% wrong. bouquet's mitigation: grid clipped to [1e-3, 1-1e-3] with a collapse assertion (v1.2.0, fsa_current_geometry). An upstream fix (raise, or clamp internally) would protect all callers. Related symptom seen at scan time: gs_get_qprof: Trace did not complete at every surface.

  3. get_q ravgs dV/dPsi is per dimensional psi, undocumented. ∫ dV/dPsi dpsi reproduces get_stats['vol'] to -0.25%; the dpsi_N reading is off by +291%. The needed Jacobian is |psi_bounds[1]-psi_bounds[0]|. A docstring note upstream would suffice. (Also: sauter_fc exposes <R>, <1/R>, <a>, <|B|>, <B^2> but no V', so get_q dict-form ravgs — OFT >= 26.6 — is the only V' source.)

Suggested route: C. Hansen is a co-author on the bouquet paper; a direct note or OFT issues citing the numbers above. Validation details and test pins live in bouquet v1.2.0 (tests/test_fsa_current_integral.py).

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions