This page answers three questions: which physics can be computed today, what is explicitly out of scope, and on what grounds each result is believed to be right. Interfaces and call signatures are an implementation matter and are not covered here; the measured, quantitative limits of applicability are in the repository's fidelity reference.
1. Physics capability
The “evidence” column states on what grounds this implementation is believed to be right — a more consequential question than whether tests exist.
| Domain | Capability | Model / provenance | Evidence |
|---|---|---|---|
| 0-D discharge | Safety factor, confinement scalings, fusion power and gain, bootstrap fraction, loop voltage and flux consumption | A prescribed profile family (1−ρ²)peaking, no pedestal | Published table values (four reactivity points) and cross-layer identities. ★No comparison against an external code over a full discharge yet: this tier rests on internal consistency alone today |
| Electromagnetics | Coil and vessel mutual inductances, grid response, turn-space scaling and channel folding; voltage-driven circuit time advance | Analytic mutuals of parallelogram conductor elements (EFIT element convention); implicit Euler with an SPD factorisation | The two hosts agree bit for bit (the criterion is equality, not closeness); device descriptors round-trip against the decks they were converted from |
| Equilibrium | Grad–Shafranov forward solve — fixed and free boundary, X-point search, limiter flux; flux-surface geometry, surface averages, q, volumes and shape moments | Five-point differences with a fast direct solve of the separable elliptic operator | Clean-room implementation from the public literature; the surface geometry and the local-geometry port check each other |
| Equilibrium reconstruction | Linear least squares for the p′(ψ̄) / FF′(ψ̄) coefficients with an outer Picard loop; optional kinetic constraints from a pressure profile; sampled posterior; a channel basis — one fit eats one set of channel values, and the Ip equality constraint switches with it; ★a solver that returns has not necessarily solved — the equality constraint must actually hold (|I_fit − I_constrained|/I_constrained ≤ 0.5) and what was solved must be a plasma rather than a filament (a ≥ 0.1 × the vessel half-width), or the run reports as failed | The structure of Lao 1985 | Clean-room; compared term by term with a delivered kinetic reconstruction — constrained quantities and the global inductance land, q95 and the vertical position do not, and each difference is attributed. The basis is asserted to be one source: on EAST #137985 @4 s the two Ip values differ by 1.90 % (delivered 393.46 kA vs Rogowski pcrl01 400.94 kA), and switching moves li(3) 2.677930 → 2.377973. A degenerate solution, measured: the twin at Ip 700 kA used to report success with a = 0.036 m, q95 = 0.012, a fitted current of 215 MA and chi-squared 4.0e10 — it now reports as failed |
| Machine data intake | A read-only mdsip client and the deck it assembles: EAST #137985 carries 35 flux loops (delivered values and raw total flux, two sets), 79 raw magnetic probes, 11 POINT chords and nine real time slices (1–7 s), each with its own coil currents, Rogowski Ip and per-channel weights | It moves bytes; it does not compute — this is not a physics layer | Pulled from the site by tools/mds-shot-to-fyo.py, channel for channel identical to the existing HDF5 dump; the nine instants are checked one by one against the deck document by the gate |
| Operating domain and the flux account | Greenwald density and fraction, cylindrical safety factor, βt/βp/βN and the Troyon reference ratio; inductive and resistive flux, flux consumed, and the flat top a declared swing buys | The closed forms of their own papers (Greenwald 1988, Troyon 1984, Ejima 1982); the poloidal perimeter is this layer's one elliptical convention | Published table values: ITER's baseline nGW and βN are quoted as one set; βN's defining expression and Lp (the same one the loop voltage uses) are pinned as identities. ★a criterion is not a limit |
| Configuration criteria and the start | Strike points, smallest wall clearance, the X-point set; a linear solve for the coil currents a target boundary needs (box-constrained if asked) for a shape anneal to begin from; feed-forward pulse: a current trajectory to per-channel voltages and induced passive currents | The boundary surface intersected with the wall polyline (to segments, not vertices); the free-boundary inverse for a fixed filament cloud; the analytic inverse of this repository's own circuit integrator | Closed-form cases (a circle in a square box); the start improves the boundary's flux spread by an order of magnitude over doing nothing; the designed voltages must reproduce the trajectory exactly through the integrator. ★a start is not an equilibrium: force balance is nowhere in it |
| Stability and control | n = 0 rigid vertical stability (growth rate, ideal-wall field index), the vertical control loop, breakdown field-null design | Reduced effective mass and coupling vectors; least squares with hard current constraints | Analytic limits and bit-for-bit cross-host agreement. ★No comparison against an independent external code |
| Local geometry and neoclassical | Miller local geometry, physical profiles → normalised solver inputs, the analytic neoclassical family, and a drift-kinetic solve | White-box translation of GACODE geo / NEO (Apache-2.0) | The analytic family matches upstream bit for bit; the drift-kinetic path matches upstream end to end at 1e-8 |
| Turbulent transport | Quasilinear gyro-Landau-fluid: closure fit tables, dispersion assembly, non-Hermitian complex eigensolve, particle / electron-energy / ion-energy fluxes; toroidal and parallel stress | White-box translation of TGLF (Apache-2.0) | Against upstream recorded answers; the electromagnetic branch checked case by case over several βe. ★The parallel half of the stress is still ~7.5 % off and that band is deliberately not written into a criterion |
| Core transport (1.5-D) | Conservative finite volume: electron / ion temperature with exchange, density, poloidal flux and current diffusion, toroidal momentum; steady state and backward Euler, sawtooth mixing, flux matching | The discretisation exists once in this project; Pereverzev–Corrigan numerical diffusion; the sawtooth is a trigger plus content-conserving mixing | Against TGYRO's own evolution table at 1e-6; the moving-grid and static-grid paths agree bit for bit |
| Heating and current drive | Neutral beams (stopping, slowing-down, shielding, driven current, fast-ion pressure), lower hybrid, ohmic, radiation, ion cyclotron and electron cyclotron | A RABBIT-class fast model; cross-sections and slowing-down transcribed from METIS and the literature it cites; a 12-term fit of the ADAS cooling rates | Checked case by case against the METIS certification suite (resonant layer ≤1.2 %, Pel 0.955–1.079, Wfast 0.948–1.015); eight closed-form identities hold the electron-cyclotron geometry and widths |
| Fusion and fast ions | D-T reactivity, alpha heating power density and its electron / ion split, steady-state fast-alpha density, pressure and stored energy, helium-ash particle source | Bosch–Hale 1992; the Wesson split of Stix slowing-down; birth-and-slow-down in place | ASTRA ITER 15 MA burning case: power density within 3 % point by point, volume integral 0.3 %, fast-helium density and fast-alpha β each 2 % |
★Nothing is extrapolated outside its domain: the D-T reactivity returns zero below 0.2 keV and above 100 keV, and the radiation fit clamps to its endpoints outside its temperature range — the first thing to suspect when a cold edge looks over-radiating.
2. Scope of applicability (the models' own assumptions)
These are not gaps. They are what has to be known to use these capabilities:
- Core transport runs on a prescribed geometry: V′, g₁ and g₃ are supplied by the caller. Equilibrium–transport self-consistency is an outer-loop assembly and the inner solve is a steady state, so moving-grid terms must come from whoever advances time.
- The boundary is a single Dirichlet point: no pedestal model, no SOL; the 0-D profile family is pedestal-free as well.
- The radiation fit has a temperature domain: below the pedestal foot (<50 eV) it clamps rather than extrapolates.
- Fast ions slow down in place: beams and alphas alike are assumed to slow down where they are born — no orbit width, no radial transport. The assumption is checked against an external case in the burning steady-state core, and not in ramps or transients.
- Impurities are prescribed: dilution and radiation are provided; there is no impurity transport equation and no charge-state evolution.
- Only n = 0 MHD: the vertical displacement is a rigid model, and the sawtooth is a trigger plus mixing rather than a stability theory.
3. What is explicitly out of scope
Refusing gaps: the call returns an error, not a number
In the following situations this project refuses to answer. The reason is always the same: a silent wrong number costs more than an explicit error.
- A reactor scenario with no alpha channel supplied: the power accounting refuses — a total that silently omits the dominant term is worse than no total.
- Ion cyclotron on a rippled machine: upstream subtracts the ripple loss using the previous step's heating power, a feedback quantity this function does not have; ignoring it makes the electron channel systematically 33 % high.
- Electron cyclotron beyond cutoff, or with the resonant layer outside the machine: answering “a small absorption” would let a beam that never entered the plasma heat it. The same 140 GHz gyrotron puts its layer inside the vessel at 2.2 T and outside the wall at 1.8 T — a field scan reaches that point by construction.
- Turbulence with an electromagnetic switch combination upstream treats differently: upstream runs anyway and returns an electrostatic answer; reproducing that would silently drop the physics the caller asked for.
Physics that is simply absent
| Gap | State | Note |
|---|---|---|
| Fuelling (pellets, gas puff, beam particle source) | None | The particle source is always the caller's; a fuelling model written here would have no external answer to be checked against |
| Pedestal / SOL | None | The boundary is a single Dirichlet point; the prescribed profiles are pedestal-free |
| Impurity transport | Prescribed | Dilution and radiation exist; a transport equation and charge-state evolution do not |
| n > 0 MHD stability | None | Only the n = 0 rigid vertical displacement; the sawtooth is explicitly neither Kadomtsev nor Porcelli |
| Radial transport of fast alphas | Steady-state closure only | Born and slowed down in place, with no orbit width and no loss channel — ramps, sawtooth crashes and ELMs are outside it |
| ⟨j·B⟩ ↔ ⟨j_φ⟩ per-surface conversion | absent | The analytic bootstrap family returns |⟨j·B⟩|/B₀ while the equilibrium reconstruction gives ⟨j_φ⟩ — different quantities, with no kernel entry converting one into the other, so the bootstrap and the fitted current can be neither plotted together nor closed into a self-consistency loop |
| Neoclassical conductivity σ_neo | Spitzer formula tier only | The trapped-particle correction is stated to be "a separate model" and that model does not exist; without it the shape of the ohmic current cannot be given, and "bootstrap + ohmic = fitted current" cannot be closed |
| Measured points for the profile-fit bar (Thomson scattering) | Not usable on this shot; not wired in | What is missing is data, not plumbing: after the gate this repository already ships (T_e ∈ [50, 8000] eV, n_e ∈ [1e18, 2e21] m⁻³) the peak is still about 3e5 Pa against the delivered reconstruction's 8.9e3 Pa at the same instant — a factor of 34 — with n_e ≈ 2e20 and T_e ≈ 7 keV surviving together. The data is stored and labelled as such and feeds no fit; the criterion for wiring it in is another shot whose gated peak is within a factor of 2 of the delivered pres |
| Per-slice reconstruction on the raw channels | Four of the nine do not converge | What is missing is kernel capability: (i) the solver takes the coil currents as exactly known, while the raw Rogowski channels disagree by 2–9 % (EFIT itself fits the coil currents alongside); (ii) pcrl01 is not the plasma current (1.90 % at flat top). The page reports the failures as failures rather than substituting a plausible number |
4. The four tiers of evidence
Confidence comes in four tiers, strongest first. Which tier a capability rests on is stated for each row of the table above:
- Recorded answers from the upstream implementation — neoclassical (analytic family bit for bit, drift-kinetic at 1e-8), turbulence, local geometry and mapping, dense linear algebra. This tier answers “is the translation faithful?”
- Published cases from independent external codes — frozen and human-readable: the ASTRA ITER 15 MA burning case (alpha heating and fast alphas) and 17 wave-heating cases from the METIS certification suite. This tier answers “is the answer right?”
- Table values and analytic limits from the literature — the four published D-T reactivity points, the textbook limits of each analytic closure.
- Internal consistency — cross-layer identities, bit-for-bit agreement between hosts, conservation laws. This tier answers only “did two things drift apart?” and says nothing about correctness.
5. What comes next
The order follows the strength of the available criterion, not difficulty and not a schedule: what has an external answer goes first, and what does not gets its criterion built first.
| Item | State | Criterion |
|---|---|---|
| Host wiring for ion cyclotron (C exports, assembly layer, wasm) | Kernel landed and checked; the wiring is not built | Available: cross-host bit-for-bit comparison, plus the kernel's own seven criteria |
| Host wiring for electron cyclotron | The whole kernel path landed and checked; the wiring is not built | Cross-host, bit for bit |
| Helium-ash profile | Only the ash particle source exists | Available: the thermal-helium column of the same ASTRA case; a helium diffusivity on the density channel is still needed |
| Turbulent toroidal-stress drive (momentum channel) | Refuses; the prerequisite (width search) has landed | Strong: 11 recorded answers carry momentum flux. ★Until two located discrepancies are settled, a stress weight could be written but not judged |
| Pedestal model | None | Criterion missing — an EPED-class model or experimental profiles would be needed as a reference |
★Every item must land as a package: the model, the external criterion, and the corresponding revision of the capability and fidelity documents. An item with a model but no criterion does not count as finished in this project.
Sources and finer detail
This page is a summary; the authoritative wording and the quantitative limits are in the repository:
- FEATURE.md — the authoritative statement of capability and gaps (this page is drawn from it)
- docs/reference/fidelity.md — the measured, quantitative limits — whether a capability may be used quantitatively is decided there
- docs/reference/api.md — interfaces and call signatures
- Copyright and credits — upstream provenance, licences and acknowledgements