Physics Methods Reference¶
This document catalogs the primary physics models, equations, and scaling laws implemented in scpn-control.
1. Equilibrium (Grad-Shafranov)¶
Grad-Shafranov Equation¶
- Source: Grad & Rubin (1958), Shafranov (1966).
- Implementation:
src/scpn_control/core/fusion_kernel.py:380(Picard + SOR/multigrid). - Simplifications: Axisymmetric assumption. Poloidal current \(F(\psi)\) and pressure \(p(\psi)\) are specified as polynomial or pedestal functions of \(\psi\).
- Validation: The production discrete operator
FusionKernel._apply_gs_operator(sharing the_mg_residualfive-point stencil) and the production Red-Black SOR smoother_sor_stepare checked against the exact Solov'ev analytic equilibrium \(\psi = c_1 R^4/8 + c_2 Z^2\), \(\Delta^*\psi = c_1 R^2 + 2 c_2\), invalidation/validate_grad_shafranov_solovev.pywith tests intests/test_grad_shafranov_solovev_validation.py. The operator, SOR reconstruction, and Python_multigrid_vcyclereconstruction converge at second order in the mesh spacing (operator order \(\approx 2.00\), SOR reconstruction order \(\approx 2.02\), multigrid reconstruction order \(\approx 2.02\)), recorded as tamper-evident sealed evidence invalidation/reports/grad_shafranov_solovev.json. The Rustpy_multigrid_solvebinding is recorded as an informational polyglot check and reproduces the same Solov'ev field under the shared solver-stack sign convention. This validates the equilibrium discretisation, SOR solver, and multigrid solver against an analytic benchmark; it is not a facility-grade EFIT/GEQDSK reconstruction claim. References: Solov'ev (1968); Cerfon & Freidberg, Phys. Plasmas 17, 032502 (2010); Jardin, Computational Methods in Plasma Physics (2010).
Evidence context for equilibrium methods¶
These equations are the implementation basis for bounded controller experiments. They are not a full replacement for validated external equilibria unless the relevant reference validator admits external evidence for the specific use case. The repository therefore treats equation-level implementation and claim-level admission as separate layers: model code can exist before all claims are fully validated.
Green's Function for Coil Flux¶
$\(\psi_{coil}(R,Z) = \frac{\mu_0 I}{\pi k} \sqrt{R R_c} [(1-k^2/2) K(k^2) - E(k^2)]\)$ where \(k^2 = \frac{4 R R_c}{(R+R_c)^2 + (Z-Z_c)^2}\).
- Source: Jackson, Classical Electrodynamics (1999) Ch. 5 Eq. 5.37.
- Implementation:
src/scpn_control/core/fusion_kernel.py:1250. - Simplifications: Assumes filamentary circular coils.
2. Transport (1.5D)¶
Cylindrical Heat Diffusion¶
- Source: Wesson, Tokamaks (2011) Ch. 3.
- Implementation:
src/scpn_control/core/integrated_transport_solver.py:850. - Simplifications: 1D radial approximation on flux surfaces.
- Validation: The production cylindrical diffusion operator
TransportSolver._explicit_diffusion_rhsis checked against the exact Bessel eigenvalue \(L[J_0(\lambda\rho)] = -(\chi\lambda^2/a^2)\,J_0(\lambda\rho)\), and the Crank-Nicolson tridiagonal solve (_build_cn_tridiag+_thomas_solve) against the manufactured steady state \(T^*=1-\rho^3\) with source \(S=9\chi\rho/a^2\); both converge at second order in \(\Delta\rho\) (operator order \(\approx 2.00\), steady-state order \(\approx 1.93\)) invalidation/validate_transport_diffusion.py, with tests intests/test_transport_diffusion_validation.py. The Python_thomas_solveand the Rustscpn_control_rs.py_thomas_solve(used by the Rusttransport_step) agree to machine precision, validating the polyglot diffusion-solve chain. This validates the diffusion discretisation and linear solver against analytic references; facility-calibrated integrated-modelling claims still require a measured discharge or published benchmark.
Chang-Hinton Neoclassical Transport¶
- Source: Chang & Hinton, Phys. Fluids 25, 1493 (1982) Eq. 10.
- Implementation:
src/scpn_control/core/integrated_transport_solver.py:85. - Simplifications: Simplified aspect ratio and collisionality dependence.
Sauter Bootstrap Current¶
- Source: Sauter et al., Phys. Plasmas 6, 2834 (1999).
- Implementation:
src/scpn_control/core/integrated_transport_solver.py:125. - Simplifications: Uses analytic fit for trapped particle fraction \(f_t\).
Toroidal Momentum Transport and Rotation¶
Neutral-beam torque, the neoclassical radial electric field, and the E×B shearing rate that set the rotation profile and turbulence suppression.
- Source: Hinton & Hazeltine, Rev. Mod. Phys. 48, 239 (1976); Burrell, Phys. Plasmas 4, 1499 (1997); Rice et al., Nucl. Fusion 47, 1618 (2007).
- Implementation:
src/scpn_control/core/momentum_transport.py:167. - Validation: The production
nbi_torque,radial_electric_field,exb_shearing_rate,turbulence_suppression_factor,rice_intrinsic_velocity, andRotationDiagnostics.mach_numberare checked against their exact closed forms — the NBI torque geometry, the Hinton-Hazeltine force balance (exact for constant and linear pressure, wherenp.gradientis exact), the Burrell E×B shearing rate (exact for a linear rotation profile), the Biglari-Diamond-Terry suppression factor, the Rice \(W_p/I_p\) scaling, and the toroidal Mach number — all to machine precision, invalidation/validate_momentum_transport.pywith tests intests/test_momentum_transport_validation.py. Facility momentum- transport claims still require measured NBI rotation cases.
3. Radiation and Sinks¶
Bremsstrahlung Radiation¶
- Source: Wesson, Tokamaks (2011) Ch. 14.5.1.
- Implementation:
src/scpn_control/core/integrated_transport_solver.py:785,src/scpn_control/control/tokamak_digital_twin.py:175. - Simplifications: Pure Bremsstrahlung; assumes Maxwellian distribution.
Tungsten Line Radiation¶
Piecewise power-law fit to ADAS data for tungsten in coronal equilibrium.
- Source: Pütterich et al., Nucl. Fusion 50, 025012 (2010).
- Implementation:
src/scpn_control/core/integrated_transport_solver.py:755. - Simplifications: Coronal equilibrium (no transport effects on charge states).
Two-Point Scrape-Off-Layer Model¶
Upstream and target conditions from the Stangeby two-point model with the Spitzer-Härm parallel conduction integral, the Eich heat-flux-width regression, and the sheath-limited target temperature.
- Source: Stangeby, The Plasma Boundary of Magnetic Fusion Devices (2000); Eich et al., Nucl. Fusion 53, 093031 (2013).
- Implementation:
src/scpn_control/core/sol_model.py:111. - Validation: The production
TwoPointSOL.solve,eich_heat_flux_width,peak_target_heat_flux, anddetachment_thresholdare checked against their exact closed forms — the connection length \(L_\parallel = \pi q_{95} R_0\), the parallel-flux mapping, the Spitzer-Härm upstream conduction integral, the pressure balance \(n_u T_u = 2 n_t T_t\), the Eich regression exponents (\(P^{-0.02}\), \(R^{0.04}\), \(B_{\rm pol}^{-0.92}\), \(\varepsilon^{0.42}\)), the peak-heat-flux geometry, and the sheath-limited detachment density boundary — all to machine precision, invalidation/validate_sol_two_point.pywith tests intests/test_sol_two_point_validation.py. Facility-validated edge-transport or divertor-heat-load claims still require measured probe-campaign or published reference artefacts.
4. Scaling Laws¶
IPB98(y,2) Confinement Scaling¶
- Source: ITER Physics Basis, Nucl. Fusion 39, 2175 (1999).
- Implementation:
src/scpn_control/core/scaling_laws.py:45. - Simplifications: Global fit; does not capture local profile effects.
Greenwald Density Limit¶
- Source: Greenwald, Plasma Phys. Control. Fusion 44, R27 (2002).
- Implementation:
src/scpn_control/control/disruption_predictor.py:150.
5. Control and Dynamics¶
Vertical Stability Growth Rate¶
Estimated from Naydon instability timescale for elongated plasmas.
- Source: Naydon et al., Phys. Plasmas (2005).
- Implementation:
src/scpn_control/control/h_infinity_controller.py:115.
RZIP Rigid Vertical Stability¶
Linearised rigid-plasma vertical response with the destabilising curvature spring \(K = n\,\mu_0 I_p^2 / (4\pi R_0)\) (field decay index \(n\)) coupled to the vessel/coil circuit currents; the growth rate is the largest real eigenvalue of the state-space matrix for \(x = [Z, \dot Z, I_1, \ldots]\).
- Source: Lazarus et al., Nucl. Fusion 30, 111 (1990); Wesson, Tokamaks (2011) Ch. 3.10.
- Implementation:
src/scpn_control/control/rzip_model.py. - Validation: In the no-wall limit the rigid mode reduces to the exact
\(2\times2\) block with eigenvalues \(\pm\sqrt{-K/M_{\mathrm{eff}}}\), so the
production
vertical_growth_ratereproduces \(\gamma=\sqrt{-n\,\mu_0 I_p^2/ (4\pi R_0 M_{\mathrm{eff}})}\) for \(n<0\), the oscillation frequency \(\sqrt{K/M_{\mathrm{eff}}}\) for \(n>0\), the exact \(I_p\), \(\sqrt{-n}\), and \(1/\sqrt{M_{\mathrm{eff}}}\) scaling laws (all to \(\sim10^{-16}\) relative), and a passive resistive wall reduces the growth rate below the no-wall value, invalidation/validate_rzip_vertical_stability.pywith tests intests/test_rzip_vertical_stability_validation.py. Facility-validated vertical-control claims still require a matched RZIP/CREATE-L/TSC or measured vertical-displacement benchmark. The controller path uses continuous-time LQR when SciPy's algebraic Riccati solver is available, falls back to a bounded NumPy discrete-Riccati iteration when local SciPy validation fails, and only emits zero gain when both designs fail closed.
Ideal-MHD Stability Metrics¶
Troyon normalised-beta limit, Mercier interchange index, ballooning first-stability boundary, and the Kruskal-Shafranov external-kink criterion.
- Source: Troyon et al., Plasma Phys. Control. Fusion 26, 209 (1984); Freidberg, Ideal MHD (2014) Ch. 12; Connor, Hastie & Taylor, Phys. Rev. Lett. 40, 396 (1978).
- Implementation:
src/scpn_control/core/stability_mhd.py:319. - Validation: The production
troyon_beta_limit,mercier_stability,ballooning_stability, andkruskal_shafranov_stabilityare checked against their exact closed forms — the Troyon \(\beta_N\) limit with its \(\beta_t\), \(a\), \(B_0\), \(1/I_p\) scaling, the Mercier index, the Connor-Hastie-Taylor ballooning boundary, and the Kruskal-Shafranov \(q_{\rm edge} > 1\) criterion — all to machine precision with consistent stability flags, invalidation/validate_mhd_stability.pywith tests intests/test_mhd_stability_validation.py. Full ideal- or resistive-MHD eigenmode claims still require an independent MHD stability code or benchmark profiles.
EPED Pedestal Model¶
Self-consistent pedestal pressure and width from the peeling-ballooning and kinetic-ballooning-mode constraints, with a collisionality width-narrowing correction.
- Source: Snyder et al., Phys. Plasmas 16, 056118 (2009); Nucl. Fusion 51, 103016 (2011).
- Implementation:
src/scpn_control/core/eped_pedestal.py:252. - Validation: The production
eped1_predictand helpers are checked against their exact construction relations — the \(q_{95}\) formula, the \(\alpha\)-inversion pedestal pressure, the poloidal-beta definition, the ideal-gas temperature, the collisionality width narrowing (with the \(\nu^*=0\) identity), and the shaping-factor reference — all to machine precision, plus the KBM width constraint \(\Delta_{\rm KBM} = C_{\rm KBM}\sqrt{\beta_{p,\rm ped}}\) satisfied at the converged collisionless width within the fixed-point iteration tolerance, invalidation/validate_eped_pedestal.pywith tests intests/test_eped_pedestal_validation.py. Externally validated EPED-database claims still require measured pedestal data or published benchmark points.
ELM Peeling-Ballooning Crash¶
Edge-localised-mode onset from the coupled peeling-ballooning boundary and a Type-I crash that sheds a fixed fraction of the pedestal stored energy.
- Source: Snyder et al., Phys. Plasmas 9, 2037 (2002); Loarte et al., Plasma Phys. Control. Fusion 45, 1549 (2003).
- Implementation:
src/scpn_control/core/elm_model.py:26. - Validation: The production
PeelingBallooningBoundaryandELMCrashModelare checked against their exact closed forms — the ballooning \(\alpha_{\rm crit}\) and peeling \(j_{\rm crit}\) limits with their \(1/q_{95}\), \(1/\sqrt{n}\), and \(R_0/a\) scalings, the elliptical stability margin \(1 - \sqrt{(j/j_{\rm crit})^2 + (\alpha/\alpha_{\rm crit})^2}\) (zero on the unit ellipse, sign-consistent withis_unstable), and the Type-I crash energy conservation \(W_{\rm post} = (1 - f)\,W_{\rm ped}\) — all to machine precision, invalidation/validate_elm_peeling_ballooning.pywith tests intests/test_elm_peeling_ballooning_validation.py. Facility ELM/RMP claims still require measured H-mode campaign data or published ELM cases.
Disruption Sequence Phase Ordering¶
Bounded disruption replay through thermal quench, current quench, runaway-beam evolution, and halo-current loading with explicit mitigation-branch separation.
- Source: ITER disruption mitigation sequence references and repository disruption phase-state contract.
- Implementation:
src/scpn_control/core/disruption_sequence.py:286. - Validation:
validation/validate_disruption_sequence.pychecks the production sequence against repository-owned exact identities: total-duration composition, wall-heat composition, monotone current-quench trace, initial current preservation, halo-force convention, post-TQ temperature bounds, and the SPI density-branch response. The generatedvalidation/reports/disruption_sequence.jsonpayload is sealed by SHA-256 and keepsproduction_claim_allowed=false. Facility disruption-sequence claims still require labelled measured disruption windows, shot identifiers, phase labels, wall-contact geometry, impurity/radiation metadata, and mitigation branch timing evidence.
Halo-Current L/R Circuit¶
Post-disruption halo current driven through the wall by the decaying plasma current during a current quench, modelled as a Fitzpatrick-style L/R circuit with closed-form circuit parameters and an electromagnetic wall-force estimate.
- Source: Fitzpatrick, Phys. Plasmas 9, 3459 (2002); Wesson, Tokamaks, 4th ed., Oxford University Press, Ch. 7 (2011).
- Implementation:
src/scpn_control/control/halo_re_physics.py:213. - Validation: The production
HaloCurrentModelis checked against its exact closed forms — the halo resistance \(R_h\), the halo inductance \(L_h\), the mutual inductance \(M\), and the time constant \(\tau_h = L_h/R_h\), together with the \(R_h\) scaling laws (linear in \(\eta\) and \(R_0\), inverse in \(f_{\rm contact}\) and \(d_{\rm wall}\)), the simulated electromagnetic wall force \(F\), and the toroidal-peaking product — all to machine precision, plus the fast-circuit quasi-static limit in which the halo current tracks \(M |\mathrm{d} I_p/\mathrm{d} t| / R_h\) with an error that decreases monotonically as \(\tau_h/\tau_{cq} \to 0\), invalidation/validate_halo_current.pywith tests intests/test_halo_current_validation.py. Facility mitigation claims still require measured disruption-campaign data.
Runaway-Electron Avalanche¶
Post-disruption runaway-electron generation from the Connor-Hastie critical and Dreicer fields and the Rosenbluth-Putvinski avalanche multiplication.
- Source: Connor & Hastie, Nucl. Fusion 15, 415 (1975); Rosenbluth & Putvinski, Nucl. Fusion 37, 1355 (1997).
- Implementation:
src/scpn_control/control/halo_re_physics.py:327. - Validation: The production
RunawayElectronModelis checked against its exact closed forms — the critical field \(E_c\) (with total free-plus-bound electron density), the Dreicer field \(E_D\), the collision time, the avalanche time constant \(\tau_{\rm av}\) (with \(Z_{\rm eff}\) enhancement), and the Rosenbluth-Putvinski avalanche rate (zero below \(E_c\), linear in \(n_{\rm RE}\) and \((E/E_c-1)\), with the 0.001 RMP deconfinement factor) — all to machine precision, invalidation/validate_runaway_electron.pywith tests intests/test_runaway_electron_validation.py. Facility mitigation claims still require measured disruption-campaign data.
Resistive-Wall-Mode Feedback¶
Wall-limited growth rate with rotation stabilisation and active PD feedback for the \(n=1\) resistive wall mode between the no-wall and ideal-wall \(\beta\) limits.
- Source: Bondeson & Ward, Phys. Rev. Lett. 72, 2709 (1994); Fitzpatrick, Phys. Plasmas 8, 4489 (2001); Garofalo et al., Phys. Plasmas 9, 1997 (2002).
- Implementation:
src/scpn_control/control/rwm_feedback.py:295. - Validation: The production
growth_rate,tau_eff,critical_rotation,effective_growth_rate, andrequired_feedback_gainare checked against their exact closed forms — the Bondeson-Ward growth rate, the wall-gap \(\tau_{\rm eff}\), the Fitzpatrick rotation term, the critical-rotation marginality (\(\gamma=0\) at \(\Omega_{\rm crit}\)), and the feedback marginalisation (\(\gamma_{\rm eff}=0\) at the required gain \((1+\gamma\tau_{\rm ctrl})/M_{\rm coil}\)) — all to \(\sim10^{-16}\) relative, plus the no-wall/ideal-kink window boundaries and \(1/\tau_{\rm wall}\) scaling, invalidation/validate_rwm_feedback.pywith tests intests/test_rwm_feedback_validation.py. Facility-validated MHD-stability or hardware-control claims still require measured RWM shots or an external MHD stability reference.
Kadomtsev Sawtooth Crash¶
Full-reconnection sawtooth crash: inside the mixing radius the temperature and density are replaced by their volume averages and \(q\) is reset to one, with the mixing radius fixed by the helical-flux proxy \(\psi^*(\rho) = \int_0^\rho \rho'(1/q - 1)\,d\rho'\) returning to zero outside the \(q=1\) surface.
- Source: Kadomtsev, Sov. J. Plasma Phys. 1, 389 (1975); Porcelli et al., Plasma Phys. Control. Fusion 38, 2163 (1996).
- Implementation:
src/scpn_control/core/sawtooth.py:279. - Validation: The production
kadomtsev_crashis checked against exact conservation laws — the volume integrals \(\int T\rho\,d\rho\) and \(\int n\rho\,d\rho\) over the mixing region are conserved to machine precision, the helical-flux proxy vanishes at the mixing radius (\(\psi^*(\rho_{\rm mix})=0\)), profiles flatten inside and stay invariant outside, and the interpolated \(q=1\) radius converges at second order to the analytic \(\rho_1 = \sqrt{(1-q_0)/(q_a-q_0)}\) — invalidation/validate_sawtooth_kadomtsev.pywith tests intests/test_sawtooth_kadomtsev_validation.py. Full nonlinear MHD sawtooth-crash or measured-shot claims still require a measured or published reference.
Auxiliary Current Drive¶
Electron-cyclotron, lower-hybrid, and neutral-beam sources with grid-normalised radial deposition, the Prater ECCD figure of merit, and the Stix beam slowing-down time and critical energy.
- Source: Fisch & Boozer, Phys. Rev. Lett. 45, 720 (1980); Prater, Phys. Plasmas 11, 2349 (2004); Stix, Plasma Physics 14, 367 (1972).
- Implementation:
src/scpn_control/core/current_drive.py:294. - Validation: The production
ECCDSource/LHCDSource/NBISource,eccd_efficiency,nbi_critical_energy, andnbi_slowing_down_timeare checked against their exact closed forms — grid-normalised deposition power conservation (\(\int P\,d\rho = P_{\rm source}\)), the deposition centroid, the Stix critical energy and slowing-down scalings (\(T_e^{3/2}\), \(1/n_e\), \(1/Z_{\rm eff}\)), the Prater efficiency with the launch-angle factor maximised at \(N_\parallel = 1\), the driven-current proportionality \(j_{\rm cd} = \eta_{\rm cd} P_{\rm abs}/(n_e T_e)\), and the neutral-beam fast-ion current chain — all to machine precision, invalidation/validate_current_drive.pywith tests intests/test_current_drive_validation.py. External current-drive claims still require ray-tracing, Fokker-Planck, or measured-deposition artefacts.
Volt-Second Flux Budget¶
Central-solenoid flux budgeting against the inductive and resistive plasma consumption that drives a tokamak pulse, with the Ejima startup flux and the flat-top duration set by the remaining flux.
- Source: Wesson, Tokamaks, 4th ed., Oxford University Press, Eq. 3.7.4 (2011); Ejima et al., Nucl. Fusion 22, 1313 (1982); ITER Physics Basis, Nucl. Fusion 39, 2137, §3 (1999).
- Implementation:
src/scpn_control/control/volt_second_manager.py:338. - Validation: The production
FluxBudget,ScenarioFluxAnalysis,FluxConsumptionMonitor, andVoltSecondOptimizerare checked against their exact closed forms — the inductive flux \(L_p I_p\), the Ejima startup flux \(C_E \mu_0 R_0 I_p\) (with their linear scalings), the resistive ramp integral \(\sum R_p I_p\,\mathrm{d}t\), the flat-top budget closure in which the flat-top resistive consumption exactly equals the remaining flux at \(\tau_{\rm flat}\), the ramp/flat-top/ramp-down scenario decomposition and budget margin, the \(V_{\rm loop}\,\mathrm{d}t\) consumption integrator, and the linear ramp optimiser — all to machine precision, invalidation/validate_volt_second.pywith tests intests/test_volt_second_validation.py. The bootstrap-current proxy remains a documented rough scaling, and facility pulse-design or central-solenoid commissioning claims still require measured loop-voltage or scenario references.
DT Burn Control and Alpha Heating¶
Deuterium-tritium alpha-heating power, fusion energy gain, the Lawson ignition criterion, the burn fraction, and the thermal-stability reactivity exponent, assembled from the Bosch-Hale DT reactivity.
- Source: Bosch & Hale, Nucl. Fusion 32, 611 (1992); Lawson, Proc. Phys. Soc. B 70, 6 (1957); ITER Physics Basis, Nucl. Fusion 39, 2137 (1999); Mitarai & Muraoka, Nucl. Fusion 39, 725 (1999).
- Implementation:
src/scpn_control/control/burn_controller.py:334. - Validation: The production
AlphaHeating,BurnStabilityAnalysis,lawson_triple_product, andburn_fractionare checked against their exact closed forms — the alpha-energy partition \(E_{\rm fus}/E_\alpha = 5\), the alpha power density \((n_e/2)^2 \langle\sigma v\rangle E_\alpha\), the alpha-power volume integral (the trapezoidal integral of the shell element \(4\pi^2 R_0 a^2 \kappa \rho\) is exact for the linear integrand), the energy gain \(Q = 5 P_\alpha/P_{\rm aux}\) with its ignition limits, the Lawson triple product and ignition margin, the burn fraction \(a^2 n_{\rm DT}\langle\sigma v\rangle/(4 v_{\rm th})\), and the reactivity exponent \(\mathrm{d}\ln\langle\sigma v\rangle/\mathrm{d}\ln T\) — all to machine precision, invalidation/validate_burn_control.pywith tests intests/test_burn_control_validation.py. The Bosch-Hale DT reactivity is validated separately and held as the shared input; reactor burn-control claims still require integrated-transport or measured burn references.
Density Control and Particle Balance¶
Line-averaged density control against the Greenwald limit, with a cylindrical finite-volume particle-transport equation fed by normalised gas-puff, neutral-beam, and recycling sources and drained by a cryopump sink.
- Source: Greenwald, Plasma Phys. Control. Fusion 44, R27 (2002); ITER Physics Basis, Nucl. Fusion 39, 2175, §4.2 (1999).
- Implementation:
src/scpn_control/control/density_controller.py:285. - Validation: The production
ParticleTransportModelandDensityControllerare checked against their exact closed forms — the Greenwald limit \(I_p/(\pi a^2)\) (with linear \(I_p\) and inverse-square \(a\) scaling), the volume-averaged Greenwald fraction, the circular flux-surface volume elements \(V'\) and \(V\), the gas-puff, neutral-beam, and recycling source normalisation (particle conservation of the source integral, with the neutral-beam rate \(P/E_{\rm beam}/e\)), the cryopump edge sink, and the finite-volume diffusion operator vanishing on a spatially uniform interior — all to machine precision, invalidation/validate_density_control.pywith tests intests/test_density_control_validation.py. The pellet neutral-gas-shielding ablation profile remains a separate bounded model, and facility-calibrated fuelling or exhaust claims still require measured particle-balance references.
Kuramoto-Sakaguchi Phase Dynamics¶
- Source: Kuramoto (1975), Sakaguchi & Kuramoto (1986).
- Implementation:
src/scpn_control/phase/kuramoto.py:80. - Simplifications: Mean-field coupling.
- Validation: Synchronisation onset and the partially synchronised
order-parameter branch are checked against the exact mean-field Lorentzian
results — critical coupling
Kc(α) = 2γ/cos αandR∞(K) = sqrt(1 − Kc/K)— invalidation/validate_kuramoto_synchronisation.py, with tests intests/test_kuramoto_synchronisation_validation.py. The accompanying Lyapunov exponent helper validates positive finite timesteps and finite, non-negative sampled histories; it floors endpoint values before applyingln(V_final/V_initial)and measures elapsed time as(n_samples - 1) * dt. This validates the synchronisation physics only; it is not a validated plasma-phase control law.
What this section is for¶
This reference page is used as a physics starting point for implementation and review, not as a standalone guarantee of facility accuracy. Its practical role is to align equations, files, and assumptions before benchmark and validation evidence upgrades are claimed in production-facing documents.
How to use this methods page in reviews¶
This page is the assumptions ledger for model code.
Use it when:
- You need a reproducible mapping from equation to file path.
- You need to confirm what is modeled as simplified and what remains approximate.
- You need to decide whether external-code comparisons are already required for your claim.
Physics pages are not admission gates by themselves. Admission is granted only when matching validators admit the corresponding evidence bundle.
Practical use and scope¶
Use this file to trace implemented physics equations to their solver locations.
- Read the model entries before changing equilibrium, transport, or profile settings.
- Use this page to confirm which simplifications are active for a given configuration.
- Validate physics claim scope using
docs/validation.mdbefore changing public-facing statements.