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

オープン
#475 コメント 0 件 リアクション 0 件 担当者 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日 3時間
マージ済み PR(30日)
70

環境構築

  • Dockerfile・Docker Compose ファイルなし
  • プルリクエストのテンプレートあり
  • コントリビューションガイドなし

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

OpenFUSIONToolkit/GPEC のほかの issue

OpenFUSIONToolkit/GPEC の issue をすべて見る

似ている issue

Julia の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。