ForceFreeStates - BUG - Fixed-boundary zero-crossing check can reject genuine Newcomb crossings
Maintainer thường phản hồi trong vòng 3 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- julia
- Lĩnh vực
- backend, testing-qa
Hướng nghiên cứu
Start with src/ForceFreeStates/FixedBoundaryStability.jl:71-86 and compare its crossing check with the Fortran behavior documented in GPEC#292. Then run a fixed-boundary Solov'ev q0 scan at default and tightened tolerances, including a pole case. Done means Julia finds the same genuine crossings at both tolerance settings while still rejecting the pole.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
check_for_zero_crossings! (src/ForceFreeStates/FixedBoundaryStability.jl:71-86) is a line-for-line port of the Fortran ode_output_monitor test. When crit changes sign between two accepted ODE steps, it interpolates u linearly to the estimated root and accepts the crossing only if the midpoint value lies between the endpoints and |crit_mid| < 0.5*min(|crit|,|crit_prev|). Accepted steps can be long where crit is strongly nonlinear, so a genuine Newcomb zero crossing can fail this test and be discarded.
In the Fortran code this defect is reproduced and documented in GPEC#292: for fixed-boundary Solov'ev cases near q0 ≈ 1.03, DCON misses crossings at its default tolerances and finds them only after the tolerances are tightened. The Julia check has the same logic, so the same failure is expected, but I have not yet run the Julia q0 scan.
Simply relaxing the magnitude test is not the fix, because the sign change can also come from a pole of crit, which must not be counted. A robust check brackets the root, for example by bisection on the integrator's dense output, and distinguishes a zero (|crit| decreasing towards the bracket point) from a pole (|crit| growing).
Acceptance: a fixed-boundary Solov'ev q0 scan where Julia reports the same crossings at default and at tightened tolerances, with a pole case that is still rejected.
Chris&AI
- 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
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của OpenFUSIONToolkit/GPEC
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 82/100
OpenFUSIONToolkit/GPEC#644 ·
Maintainer thường phản hồi trong vòng 3 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
OpenFUSIONToolkit/GPEC#643 ·
Maintainer thường phản hồi trong vòng 3 ngày
-
PerturbedEquilibrium - FEATURE - Complete the resistive perturbed-equilibrium workflow from Galerkin and matched resultsCó thể đã có người làm @matt-pharr đã nhận 1 ngày trước. Đang mởfeature
OpenFUSIONToolkit/GPEC#635 · 1 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 3 ngày
-
test
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 25/100
OpenFUSIONToolkit/GPEC#633 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 3 ngày
-
Tearing - FEATURE - Add a general modified Rutherford equation for island evolutionCó thể đã có người làm @StuartBenjamin đã nhận 1 ngày trước. Đang mởfeature
OpenFUSIONToolkit/GPEC#630 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 3 ngày
Tất cả issue của OpenFUSIONToolkit/GPEC
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Sienna-Platform/InfrastructureSystems.jl#675 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
TargetEncoder reuses the first level's shrinkage factor for all levels when m > 0Có thể đã có người làm @parth-patel010 đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
JuliaAI/MLJTransforms.jl#95 · 1 bình luận ·
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
SciML/RecursiveArrayTools.jl#687 ·
Maintainer thường phản hồi trong vòng 3 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
SciML/Corleone.jl#179 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Setup Aqua.jlĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
JuliaUQ/UncertaintyQuantification.jl#363 ·
Maintainer thường phản hồi trong vòng 1 ngày