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

未关闭
#475 0 条评论 0 个 reaction 已指派 1 人 在 GitHub 查看

维护者通常 3 天内回复

@logan-nc 已经在做这个了。

开始于 2026年9月26日。

评估

这个 Issue 还没有评估数据。

描述

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.

主要语言
Julia
星标
11
派生
7
平均合并
4 天 1 小时
30 天内合并 PR
68

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 有 Pull Request 模板
  • 没有贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

OpenFUSIONToolkit/GPEC 的其他 Issue

查看 OpenFUSIONToolkit/GPEC 的全部 Issue

相似的 Issue

更多 Julia Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。