Paint plate fuel into the 12-slot core and watch the cascade: every plate amplifies the flux its neighbours fed it last tick, and the rod level scales how much of that output gets passed on. See steady flux, core temperature, breeder output, plate burn-up and the runaway threshold. Every number is the mod's own tick loop, transcribed from TileEntityReactorResearch and ItemPlateFuel — int casts included.
Drag to rotate. Right-drag, Shift-drag or two-finger drag to pan. Scroll or pinch to zoom. Each plate glows with the flux landing on it — brighter means the cascade feeds it harder.
Pick a plate, then click slots to place it. The core is two sealed halves — flux never crosses from the left block (slots 0,1 / 5,6 / 10,11) to the right block (2,3 / 7,4 / 8,9), so each half needs its own source. A passive plate (Ra-226/Be, Pu-238/Be) makes its reactivity out of nothing; every other curve reacts only to the flux it receives. The cell border glows with the flux landing on that plate.
At each rod level the flux cascade is iterated to its fixed point (amplifying layouts have none — the shaded zone runs away). Marker: your current level.
The rod chases the target at 0.04/t (2.5 s for full travel). Water counts the 2 blocks above + 2 below at distance 2 and the 3×4 belt of sides — max 12, worth 7% of the core's heat per tick; with zero water the core only sheds 1 heat per tick. The breeder machine next to the reactor eats its total flux: at recipe flux it finishes one item every 400 ticks (20 s). "Burn out" sim shows one plate load ending in waste.
The mod's per-tick loop, run for up to 1,000 seconds of game time, with the steady state solved by iterating the cascade. Heat is in HBM heat units; the °C figure is the reactor GUI's own conversion (heat×2e-5×980+20).
Every tick, each plate reacts to the flux its neighbours output last tick (scaled by the rod level) and passes its own output on to them. That's a positive feedback loop through the whole core: the steady state is a fixed point of the cascade, found here by iteration, not by a formula.
flux[nb] += (int)(out × level) out = react(flux) // int cast heat += out × 2TileEntityReactorResearch.reaction
Sa-326 is LINEAR (out = flux/100·80): each generation multiplies flux by 0.8 × level per neighbour, so a full 6-loop at 100% rod amplifies 1.6× per tick — no steady state exists; it runs away into the 50,000-heat blast. U-233/U-235 (√flux) and Pu-239 (arch peaking at flux 5000, out ≤ 25·R/50) flatten out and settle. MOX's logarithm never stops climbing — it just crawls.
LOG10: (int)(log10(x+1)·0.5·R) SQRT: (int)(√x·R/10) NEGQ: (int)max((x−x²/10000)/100·R, 0) LINEAR:(int)(x/100·R) PASSIVE: RItemPlateFuel.react · EnumPlateFuel, ModItems 3858-3899
getWater counts 2 water blocks above + 2 below at distance 2 and the 3-high, 4-side belt: 12 blocks max, worth heat×0.07×water/12 per tick — 7% at best. With no water the loop runs heat-- — one heat unit per tick. 12 blocks soak 14× the heat load of 1 block; there is no third tier.
heat = (int)(heat − heat×0.07·water/12) // water == 0: heat-- °C = round(heat×2e-5×980 + 20)TileEntityReactorResearch.getWater · updateResources
Heat over 50,000 (982 °C on the GUI scale) deletes the reactor, pops 12 water blocks, drops corium and dumps a 50 rad burst. While running with any unshielded side (lead/desh/hardness ≥100 blocks the line) the core radiates heat/50000×50 rad/s — 50 rad/s at the melt threshold. The margin shown is heat ÷ 50,000.
meltdown: heat > 50000 rad/s = heat/50000 × 50 // unshielded sidesTileEntityReactorResearch.explode · radiation 121-135
Place the breeding machine beside the reactor and it sums the totalFlux of every adjacent research reactor, then progress += 0.0025 × flux/recipe.flux per tick. At exactly the recipe's flux that's 400 ticks (20 s) per item; half the flux doubles the time; below it the machine stalls at zero progress.
progress += 0.0025 × flux / recipe.flux flux == recipe.flux → 1/0.0025 = 400 t/itemTileEntityMachineReactorBreeding 52-63, 81-97
The Reactor Control block links through a reactor sensor and drives the rod target automatically on a LINEAR/LOG/QUAD heat→level curve between two bounds. Rods always move at 0.04/t, so the control block sets where the rod chases, never how fast — the same rod speed this calculator simulates.
LINEAR: (heat−lo)·(lvlHi−lvlLo)/(hi−lo)+lvlLo LOG: ((heat−hi)/(lo−hi))²·(lvlLo−lvlHi)+lvlHi QUAD: ((heat−lo)/(hi−lo))²·(lvlHi−lvlLo)+lvlLoTileEntityReactorControl 100-191 · getTargetLevel 175-187