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

Đang mở
#475 0 bình luận 0 reaction 1 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 3 ngày

@logan-nc đang làm issue này rồi.

Từ ngày 26/9/2026.

Đánh giá

Issue này chưa được đánh giá.

Mô tả

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.

Ngôn ngữ chính
Julia
Star
11
Fork
7
Merge trung bình
4 ngày 1 giờ
Pull request đã merge (30 ngày)
68

Chuẩn bị môi trường

  • Không có Dockerfile hay tệp Docker Compose
  • Có mẫu pull request
  • Không có hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của OpenFUSIONToolkit/GPEC

Tất cả issue của OpenFUSIONToolkit/GPEC

Issue tương tự

Thêm issue về Julia

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.