pwr-fusion-01 · pwr-radiator-01 · pwr-storage-01 · pwr-fission-01

Power

A compact high-field tokamak that makes 848 MW of fusion power on Mars — and the 4.65-hectare radiator field that dumps the heat it can't sell. Beside it, a solar-charged storage field and an eight-module fission plant answer the question the tokamak cannot: what the city runs on when the tokamak stops. Every headline number is pinned to the solver that produced it.

Fusion power
848MW
Gain Q
34
Net electric (plant fence)
176MWe
Machine mass
10.3kt
01

What it is

A SPARC/ARC-class high-field tokamak — 14 m cryostat, REBCO magnets, one shared regolith platform — sized so the whole machine fits on a single Starship-served pad.

Starting from a fixed cryostat envelope, the only self-consistent route is the high-field, compact one: 8.85 T on axis from REBCO conductor running at 21 T, a major radius of 3.70 m, and 14.4 MA of plasma current. That buys a fusion gain of Q ≈ 34 at 848 MW — but the honest net, after the 208 MW wall-plug cost of the current drive that keeps it running, is 176 MWe.

Everything on the platform exists to serve or feed that cylinder: the cryogenic plant, two RF current-drive launchers, a heat exchanger into an enclosed generator hall, and — set apart, because it dwarfs the plant — a radiator field the size of a small industrial estate.

One plant is not an architecture. A tokamak is a superb baseload machine and a terrible insurance policy: a quench takes it off the bus in milliseconds, and the repair is measured in sols. Pair that with a global dust storm — when the solar field that charges the storage yard is delivering 15% of nameplate, or less — and the two failures overlap into the one case the city cannot ride out. So the district carries two sources with nothing in common. Fusion is the baseload and the propellant export: 176 MWe at the plant fence, enough that the reactor reaches everything and the storage yard is not a second grid. pwr-fission-01 is the availability insurance — eight 40 kWe free-piston Stirling modules under four metres of regolith, on their own corridor 110° off the fusion incomer, sized not for the city's demand but for its protected tier.

The split shows up in the numbers. The storage field alone holds 153 kW through a storm (145 kW of battery at 15% residual sun, plus 8.3 kW from the regenerative loop) against a protected tier of 217 kW — 0.71× coverage, short by 63.7 kW and 47.1 MWh over 30 sols. That deficit has the shape of sustained power, not stored energy: buying it with batteries would take 38 Megapack-class cabinets that then sit idle for decades while calendar ageing runs anyway. It is a generator-shaped hole, and the fission plant is the generator.

3D render of the Mars tokamak power plant
THE PLANT — Ø14.3 M CRYOSTAT, 18 D-RIBS, CRYO PLANT, RF LAUNCHERS, POWER BLOCK
Exploded view of the tokamak core
CORE, EXPLODED — VV · BLANKET · CS · TF ×18 · PF ×3
Radiator field at true scale beside the plant
RADIATOR FIELD, TRUE SCALE — 4.65×10⁴ M² REJECTS 585 MW
The emergency fission plant under its regolith berm
THE SECOND SOURCE — 8 × 40 kWe UNDER A 4 m REGOLITH BERM, RADIATOR WINGS BOTH FLANKS
02

How it works

Six physics domains close the reactor, each handing a hard number to the next; the design only became self-consistent after all six agreed. A seventh chain, run separately, answers a different question — what carries the city when the reactor is gone.

FreeGS · Grad-Shafranov

Plasma equilibrium

Free-boundary double-null, recalibrated to q95 = 3.93. An extra coil pair pulls a second X-point out to the divertor target for a long, radiating leg.

COMSOL · EM + structure

Magnets

J×B body load on the TF winding. The racetrack cross-section spiked to 3361 MPa at the corners; the D-shape carries the same field at 999 MPa.

Geant4 · neutron transport

Breeding blanket

18 Monte-Carlo runs proved FLiBe saturates at a net TBR of 0.78 — short of self-sufficiency. Eutectic LiPb plus a thin first wall reaches net 1.10 at 88% coverage.

Two-point + Lengyel

Divertor exhaust

P_sep/R₀ = 49 MW/m — 3.5× ITER. Only a long-leg X-point target with Ne seeding and detachment survives; the hot SOL that punishes the divertor is what rescues the RF coupling.

HFSS + grill theory

Current drive

83 MW of 5 GHz lower-hybrid waves over a ~9,800-guide grill. HFSS confirms the TE10 cutoff at 3.75 GHz; the high field leaves a 5.7× margin against the density limit.

Python · radiative balance

Heat rejection

No air to convect into — 585 MW must radiate. At 600 K that needs 4.65×10⁴ m², which the ISRU study turns from a liability into process heat for water and propellant.

OpenMC · Stirling · switchover

The second source

Eight 40 kWe free-piston Stirling modules — nothing on the site rotates — convert at 25% from a 1050 K sodium-heat-pipe hot end. Four metres of regolith is 20 neutron mean free paths; distance alone would need 1,236 km. On a trip the storage PCS holds the bus for the 24 s the fission ramp needs.

FreeGS equilibrium with X-point-target divertor
FREEGS EQUILIBRIUM — X-POINT-TARGET LONG-LEG DIVERTOR, FX ≥ 20
COMSOL von Mises stress of the D-shape TF coil
COMSOL — D-SHAPE TF STRESS, PEAK 999 MPA (FROM 3361)
Geant4 blanket TBR scan
GEANT4 — BLANKET TBR SCAN, LIPB REACHES NET 1.10
Divertor heat-exhaust benchmark
DIVERTOR — P_SEP/R₀ = 49 MW/M, 3.5× ITER
Current-drive power flow
CURRENT DRIVE — HONEST POWER FLOW, 848 MW → 176 MWE
ISRU waste-heat cogeneration
ISRU COGEN — WASTE HEAT SHRINKS THE RADIATOR FIELD BY 77%
03

The other grid

Not everything runs off the reactor. A solar-charged storage field carries the outposts the fusion plant doesn't reach — through the 12-hour night, and through the weeks-long dust storms when the sun barely arrives.

It is a two-tier store, because Mars has two different kinds of dark. Eight Megapack-class LFP cabinets — 31.2 MWh — ride the diurnal cycle; a regenerative hydrogen–oxygen loop (electrolyser, spherical tanks, fuel cell) is held in reserve for the global dust storms no battery bank can economically span. The whole field is sized to a verified 833 kW islanded design point — sized, that is, for a city with one source. With the fission plant on line the yard keeps the hardware and changes the job: it now catches the bus in under a millisecond, holds 450 kW for the 24 s the fission ramp needs, and is back to recharging by t = 359 s. Its own transient model and the fission plant's landed on the same steady-state figure, −5 kW, from opposite directions.

That number came out of a five-layer chain, L0 through L3, and the chain kept overturning its own assumptions — which was the useful part.

Storage field lit at night
STORAGE FIELD — 8 LFP CABINETS · SOC LIGHT-STACKS · RFC SPHERES, LIT AT NIGHT
Power-conversion skids and coolant loop
POWER CONVERSION — TWIN 2 MW INVERTER SKIDS, HOT/COLD LOOP TO THE RADIATORS
PyBaMM · SPMe + thermal

The cells barely warm up

An LFP cell over a full sol returns 99.45% round-trip and sheds 1.6 mW of heat. Only a tenth of the field's waste heat is electrochemical — the rest is the inverter and auxiliaries.

COMSOL · steady heat

Passive radiation is enough

With almost no air to convect into, the Earth reflex is forced-air cooling. The model says it is unnecessary: bare radiative panels hold a module at 27 °C at 0.1C. The real ceiling is internal conduction, near 0.4C sustained.

Python · time-series dispatch

Batteries alone ride out a storm

Across a 60-sol dust season at 15% residual sun, the bank carries a 90 kW survival load for 30 sols and the fuel cell never starts. The regenerative loop is tail insurance for the 5%-residual black storms, not the workhorse.

Closed-loop calibration

The bottleneck moved

Feeding the measured 99.45% back into the energy balance halved the assumed waste heat and un-stuck the radiators — handing the limit to the inverter. A 2 MW PCS, not more panels, lifts the field from 419 to 833 kW.

Dust-storm survival envelope
SURVIVAL ENVELOPE — 145 kW HELD AT 15% RESIDUAL SUN, 30 SOLS, ZERO LOAD-SHED
04

The ledger

Every headline number on this page, and the exact run that produced it. Nothing here is a guess — for the reactor, 19 Python scripts, 2 COMSOL studies, 18 Geant4 transports and one HFSS solve; for the storage field, a six-layer L0–L4 chain; for the fission plant, 21 ledgers backed by OpenMC transport. Where two of those chains overlap, they were run without a shared model and are quoted side by side.

ClaimValueProduced by
Fusion power & gain (2026-07 design account; superseded, see What broke)848 MW · Q 34tokamak/sysdesign/tokamak_0d.py
On-axis / conductor field8.85 / 21 Ttokamak/sysdesign/tokamak_0d.py
Net electric (honest recirc) (2026-07; superseded)176 MWetokamak/sysdesign/current_drive.py
Equilibrium, PF currents, fx≥20q95 3.93tokamak/sysdesign/equilibrium_longleg.py
D-coil peak stress999 MPatokamak/comsol/tf_coil_stress_dshape.java
Net breeding ratio @88%1.10tokamak/neutronics/blanket_tbr.cc
REBCO life @0.12 m WC-B4C≥5 yrtokamak/neutronics/blanket_tbr.cc
Divertor exhaust difficulty49 MW/mtokamak/sysdesign/divertor_2pm.py
Predictive-transport operating point (2026-08)640 MW · Q 5.3 · +48 MWetokamak/sysdesign/torax/ + v5_rebaseline.py
LH wave deposition (ray-traced)ρ 0.85–1.0tokamak/sysdesign/lhcd_raytrace.py
Detachment: Ne seed + density3% · 0.67 nGWtokamak/sysdesign/divertor_1d.py
LHCD TE10 cutoff verified3.75 GHztokamak/hfss/lhcd_hfss.py
Density-limit (PDI) margin5.7×tokamak/sysdesign/lhcd_density_limit.py
Radiator field @600 K4.65×10⁴ m²tokamak/sysdesign/isru_cogen.py
Machine mass → Starship flights10.3 kt · 34tokamak/sysdesign/mass_budget.py
Disruption vertical loads27–55 MNtokamak/sysdesign/disruption.py
Tritium startup · doubling1.7 kg · 136 dtokamak/sysdesign/tritium_cycle.py
TES 3×50% forced shutdowns0.08 /yrtokamak/sysdesign/tes_availability.py
W armor life @≤20 h/yr reattach21 yrtokamak/sysdesign/divertor_erosion.py
Storage — islanded design point (2026-07 sizing; see note below)833 kW · 2 MW PCSmars_pwr_storage/analysis/L0v2_calibration.py
Storage — role now: 60 s bridge, then N-2 reserve450 kW peak → −5 kWmars_pwr_storage/analysis/L4_bridge_transient.py
Storage — N-2 endurance on the T1 tier10.1 solmars_pwr_storage/analysis/L4_bridge_transient.py
Grid — city steady mean load (context for the row above)707 kWpwr-grid-01 · grid_01_load_ledger.py
Fission — the gap it exists to fill63.7 kW · 47.1 MWh/30 solmars-fission/sim/01_gap.py
Fission — installed / N-1 firm320 / 280 kWemars-fission/sim/03_modularity.py
Fission — Stirling conversion @1050 K25%mars-fission/sim/04_thermal.py
Fission — berm to reach 1 mSv/yr4.0 m regolithmars-fission/sim/11_openmc_shield.py
Fission — switchover, battery current to zerot ≈ 5 minmars-fission/sim/08_switchover.py
Storage — LFP cell round-trip99.45%mars_pwr_storage/analysis/L1_cell_electrochem.py
Storage — module thermal ceiling (passive)27 °C @0.1Cmars_pwr_storage/analysis/comsol/L2_module_thermal.java
Storage — dust-storm survival load145 kW @15%mars_pwr_storage/analysis/L3_system_dispatch.py
Storage — solar field sizing2.9 MWmars_pwr_storage/analysis/L0v2_calibration.py
Storage — H₂ reserve store336 kgmars_pwr_storage/analysis/L0_energy_balance.py

Note on the storage row. The 833 kW design point was sized in July 2026, when the storage field was the city's islanded backstop and the tokamak its only source. It has not been withdrawn and it has not changed — the hardware is the same — but the job has changed twice since. First it became the survival grid: 145 kW held at 15% residual sun against a 78 kW T1 tier, 1.85× coverage, a number two sessions arrived at without knowing of each other. (The city's steady mean draw is 707 kW, so the yard was never the whole grid — it was always the protected slice of it.) Then pwr-fission-01 came on line and took the long hold away, leaving the battery the two things it is uniquely good at — bridging the first sixty seconds, and standing reserve against an N-2 fission event, where it is still worth 10.1 sol on T1. The island stopped being a stopwatch.

Machine mass budget and Starship logistics
MASS BUDGET — 10.3 KT, 103 → 34 STARSHIP FLIGHTS WITH AGGRESSIVE ISRU
05

What broke

The design changed shape five times because a solver said no. The rejections were more useful than the successes.

Predictive transport retired the headline (2026-08)

The 848 MW / Q 34 / 176 MWe above came from a 0D account that bet on H98 = 1.0 confinement and a 66% bootstrap fraction. Running the same machine through DeepMind's open-source TORAX (QLKNN and TGLF-NN turbulence surrogates, real long-leg equilibrium), then ray-tracing the lower-hybrid waves (they never reach mid-radius at reactor edge density), switching the core current drive to ECCD, and letting sawteeth collect their tax: every self-consistent steady state converges to Ip ≈ 11 MA, 640 MW, Q ≈ 5, about +48 MWe net. The consolation is real: wall load drops 25%, divertor margin grows 1.33×, tritium startup falls to 1.31 kg. Same hardware, honest identity: a burning-plasma demonstrator and a 700 MW-class ISRU heat source that barely powers itself.

→ v5 operating point: 640 MW · Q 5.3 · +48 MWe — the numbers above are kept as the design record

The Ø14 m cryostat couldn't hold it

Once the blanket went to LiPb and a 0.12 m tungsten-carbide shield was needed to give the REBCO magnets a 5-year fluence life, the radial build no longer closed inside the original envelope. Tritium self-sufficiency and magnet life were mutually exclusive at 7.0 m.

→ cryostat grew to Ø14.3 m; higher field bought it back

The beryllium multiplier was a death sentence

Thickening FLiBe does nothing — TBR saturates at 0.8 m. The intuitive fix, a neutron multiplier layer, peaks at 6 cm and then collapses: the softened spectrum gets parasitically captured in the tungsten first wall and steel. 30 cm of beryllium leaves TBR at 0.53.

→ only LiPb + thinned structure + ≥88% coverage crosses the line

The quench detection window was zero seconds

The first magnet sizing set the copper cross-section so that a pure dump — with no detection delay at all — landed exactly at the 200 K hot-spot limit. Any real detection lag overshot it. Worse, the resistive voltage available in that window was under 20 mV, five times below the noise floor, because REBCO normal zones crawl at millimetres per second.

→ 15 kV dump + fibre-optic detection + copper margin, jointly

A three-way tension nobody could fully win

The divertor wants a dense plasma edge; a dense edge raises fusion power; higher power blows the neutron wall-load limit. Pushing the Greenwald fraction to close the divertor's density gap hit the 2.5 MW/m² wall limit at fGW = 0.78, leaving a residual 1.5× gap that only divertor neutral compression can close.

→ documented as the binding operating-window constraint, not hidden

The tooling fought back too

The HFSS driver (pyaedt 1.0.1) crashed on Ansys 2026 R1 and had to be pinned to 2024 R1. The Geant4 build hit a broken conda toolchain (math.h / include_next). And in the 3D asset, the D-shaped ribs lay flat on the ground until a stray rotation.x was removed — a one-line bug caught only by rendering it.

→ every gotcha written down so the next run skips it

The batteries were never the problem — the inverter was

The first energy balance assumed a 92% round-trip and blamed the radiators for capping the storage field at 429 kW. When PyBaMM measured the cells at 99.45%, the waste heat halved and the radiator limit evaporated — exposing the real ceiling underneath: the inverter couldn't refill the night's charge inside the solar window. Doubling the PCS to 2 MW, not adding panels, is what unlocked 833 kW. And in the 3D asset the flywheels and pumps sat frozen until a userData.spinners key was renamed from obj to node to match the engine — a silent one-word bug caught only by driving it.

→ the honest bottleneck was a wrong efficiency assumption, not a hardware count

06

Try it in the city

The plant, its radiator field and the storage yard are placed on the crater floor and lit at night.

Open the main viewer, press C to raise the tech city, and head to the power district. Add ?inspect=pwr-fusion-01 to the URL to frame the plant, or ?inspect=pwr-radiator-01 for the radiator field. Walk close and each building floats its own device label — cryostat, cryo tanks, RF/LHCD launcher, heat exchanger, generator hall, control cabin.

After dusk the generator-hall windows glow and the radiator panels take on a faint 600 K warmth. The radiator field lies low, so twin red hazard beacons mark its two ends from over a kilometre out — walk toward them and the field opens up ten times the footprint of the plant that feeds it.

West of the reactor sits the storage field — add ?inspect=pwr-storage-01 to frame it. Eight white cabinets carry green-and-amber state-of-charge light-stacks, twin inverter skids feed a hot/cold coolant loop out to the radiator row, and the hydrogen and oxygen spheres of the regenerative loop stand apart behind their blast berm. Seven POI cards hold the L0–L3 numbers; walk close and they open.