ErrorFields - FEATURE - Add the linear correctability requirement per correction array

Abierto
#475 0 comentarios 0 reacciones 1 asignado Ver en GitHub

Los mantenedores suelen responder en 3 días

@logan-nc ya está trabajando en esto.

Desde el 26/9/2026.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

Plan for the second ErrorFields follow-up after the current stack (#449 … #462, #473) merges into develop, independent of the scan-controls issue and branched from develop.

What exists is the NTV-limited version of the correction question (correction_current, max_correctable_overlap, efc_current_curve, residual_spectrum in NTVLimits.jl). The pure linear requirement, which moves the stack from "assess the error field" to "design the correction", is missing, and every primitive for it is present: source and array spectra travel on CoilOverlap.spectrum; the complex current per array is −δ_source/δ_array per kAt; optimal phasing is phasing_map with the source held fixed; the per-surface residual is rc.C · (b̃_source + Σ_k I_k b̃_k).

Add correction_requirement(ctx, source, arrays; mode=1) (~60 lines, no new physics) returning, per correction array, the complex current in kAt that cancels the dominant-mode overlap of the source, the cosine similarity of the array's spectrum to the source's (how much of the source each array can see), the optimum relative phasing of two or three arrays with the source fixed, and the residual resonant field on each rational surface, Φ_res(ψ), with the source alone and after the correction. File and in-memory entry points as the rest of the module.

Ship its plots in the same PR: the required current and residual per array as bars; Φ_res(ψ) before and after correction against ψ of the rational surfaces (steppre convention); and the phasing map of the requirement reusing plot_phasing_map.

Tests on the Solovev two-hoop fixture: the required current cancels the overlap to round-off; a source equal to an array needs exactly −1 kAt per kAt of it; the residual on every surface after correcting with the full set of arrays is bounded by the non-resonant remainder residual_spectrum gives; the phasing optimum agrees with extreme_phasing. Harness unchanged. Review package on the DIII-D-like example with the C-coil as the array and a tilted F coil as the source.

Lenguaje dominante
Julia
Estrellas
11
Forks
7
Merge medio
4 d 1 h
PR fusionados (30 d)
68

Preparar el entorno

  • Sin Dockerfile ni archivo de Docker Compose
  • Tiene una plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de OpenFUSIONToolkit/GPEC

Todos los issues de OpenFUSIONToolkit/GPEC

Issues similares

Más issues de Julia

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.