Skip to content

SCPN Fusion Core v3.1.0 — Phase 0 Physics Hardening

Choose a tag to compare

@anulum anulum released this 17 Feb 21:38
· 1345 commits to main since this release

Summary

Phase 0 of the v3.1.0 roadmap: kill remaining physics blockers identified in team review.

P0.1 — TBR Realism

  • Port-coverage factor (0.80), streaming factor (0.85), blanket-fill factor applied to volumetric and 3-group blanket TBR
  • Corrected TBR now in Fischer/DEMO range [1.0, 1.4] (was ideal 1.67)
  • tbr_ideal field preserved for reference

P0.2 — Q-Scan Greenwald & Temperature Limits

  • Greenwald density limit: n_GW = I_p / (pi * a^2) — points above 1.2x n_GW skipped
  • Temperature hard cap at 25 keV with warning emission
  • Q ceiling at 15 (was unbounded, producing Q=98 artifacts)

P0.6 — Energy Conservation Enforcement

  • Per-timestep conservation diagnostic after Crank-Nicolson solve
  • _last_conservation_error attribute for inspection
  • Optional enforce_conservation=True raises PhysicsError if error > 1%

P0.3 — Dashboard Auto-Flagging + Plots

  • THRESHOLDS dict in rmse_dashboard.py with PASS/WARN/FAIL auto-flags
  • Summary table at top of rendered markdown
  • Matplotlib scatter plots (tau_E, beta_N) and bar charts (axis error)

P0.4 — CI Gate Hardening

  • Disruption FPR promoted from soft warn to hard fail (threshold 0.15)
  • TBR gate: fail if outside [1.0, 1.4]
  • Q gate: fail if Q_peak > 15

P0.5 — Issue Templates

  • feature_request.md and bug_report.md converted to YAML form format
  • Mandatory "Physics Reference" field (required: true) with DOI/arXiv + equation number

Test Results

  • 24 new tests across 3 test classes (TBR correction, Q-scan limits, energy conservation)
  • 1141 total tests passing (57 skipped, 1 pre-existing stochastic failure unrelated)

Files Changed

  • src/scpn_fusion/nuclear/blanket_neutronics.py — correction factors
  • src/scpn_fusion/core/fusion_ignition_sim.py — Greenwald, T cap, Q ceiling
  • src/scpn_fusion/core/integrated_transport_solver.py — conservation checks
  • validation/rmse_dashboard.py — auto-flagging + plots
  • tools/ci_rmse_gate.py — hard FPR/TBR/Q gates
  • .github/ISSUE_TEMPLATE/*.yml — YAML forms
  • tests/test_phase0_physics_fixes.py — 24 new tests