Architecture¶
Operational targets¶
| Target | Bound |
|---|---|
| Sensor-to-actuator latency | < 50 nanoseconds |
| Phase-lock at chamber centre z = 0 | |
| Spatial-lock at chamber centre | |
| Plasmoid relative speed at merging | ≥ Mach 1 (v_z ≥ 300 km s⁻¹) |
| Compression peak field | 20 tesla |
Carrier equations¶
Kinematic FRC merging (PHASE-ORCHESTRATOR + MIF-CORE)¶
For two counter-propagating plasmoids with phases θᵢ, θⱼ, axial velocities v_zi, v_zj, and axial positions zᵢ, zⱼ:
dθᵢ/dt = ωᵢ(t)
+ Kᵢⱼ / (1 + |zᵢ − zⱼ| / L_z) · sin(θⱼ − θᵢ − α)
+ doppler_strength · (v_zi − v_zj) / (0.5 · (|v_zi| + |v_zj|) + ε_v)
The distance-coupling term modulates K, the Doppler term corrects for
relative motion using pair-symmetric characteristic-speed normalisation.
Both are extracted from the swarmalator family into reusable primitives in
scpn-phase-orchestrator (PHA-C.1, PHA-C.2; live versions are reported by the
dynamic compatibility matrix, not pinned
here). MIF-001 is implemented
locally as an upstream-pending Python/Rust/Julia carrier with RK4 phase
integration and linear axial positions for the chamber-centre acceptance
window.
MIF-002 adds the chamber-fixed moving-frame layer:
It advances [θ, z] with a fixed-step Dormand-Prince RK45 update and
exposes reference-window observables while the reusable PHASE-ORCH
scpn.upde.moving_frame surface remains upstream-pending.
MIF-003 adds the merge-window monitor:
phase_lock_error = max circular separation(θ)
candidate_lock = phase_lock_error ≤ 0.01 rad
and max_i |zᵢ − z_ref| ≤ 0.002 m
lock_achieved = candidate_lock for ≥ 3 consecutive samples
It is implemented locally as an upstream-pending Python/Rust monitor until
PHASE-ORCH owns the reusable scpn.monitor.merge_window surface.
Pulsed-shot lifecycle (CONTROL + MIF-CORE)¶
MIF-004 models the pulsed-shot lifecycle as the adjacent transition ring:
The guard surface consumes plasma telemetry, chamber-centre phase/spatial lock
observables, and capacitor-bank telemetry. Python and Rust implementations
share the same transition reasons and JSONL audit shape, while Lean proves
adjacency determinism and the minimal eight-step return to idle.
Non-adiabatic flux evolution (FUSION-CORE)¶
Reference: Ono et al. 1997, Physics of Plasmas 4, 1953, eq. 8.
Implemented in scpn-fusion-core as
scpn_fusion.core.current_diffusion.solve_flux_evolution_nonadiabatic (FUS-C.3);
the live FUSION version is reported by the
dynamic compatibility matrix.
Magneto-Rayleigh-Taylor growth (FUSION-CORE)¶
Reference: Velikovich et al. 2007, Physics of Plasmas 14, 022701, eq. 18.
Implemented in scpn-fusion-core as scpn_fusion.core.mrti.mrti_growth_rate
(FUS-C.4); the live FUSION version is reported by the
dynamic compatibility matrix.
Cross-repository ownership¶
SCPN-FUSION-CORE canonical physics solvers (Hall-MHD, MRTI, tilt, equilibrium)
SCPN-CONTROL canonical control facade (Petri-net, NMPC, replay, AER ingest)
SC-NEUROCORE canonical SNN → SystemVerilog emitter, Q8.8 quantiser, AER HDL
SCPN-PHASE-ORCH canonical Kuramoto family, distance-coupling, Doppler, monitors
SCPN-QUANTUM-CTRL canonical QAOA-MPC, pulse shaping, QRNG, PQC trigger signer
SCPN-MIF-CORE canonical pulsed-FRC kinematic + RTL hot-path lab
(sub-50-ns trigger fabric, timing-aware formal, AER bridge,
Doppler-Kuramoto, moving-frame UPDE, pulsed-shot lifecycle,
capacitor-bank model, Faraday recovery)
Anything that falls under a sibling's canonical scope MUST be upstreamed there, not duplicated here. See the internal scope-and-ownership document for the anti-duplication checklist.
Decision records¶
The reasoning behind the major architectural choices — the ownership boundary, the multi-language dispatch, the upstream-pending and prescribed-input discipline, the public API facade, the delivered-versus-roadmap honesty rule, the formal-verification strategy, and the validation-integrity rules — is recorded as architecture decision records.