Mekanism Fission Planner

Formulas from the Mekanism 1.21.1-10.7.19.85 source

Lay out fuel assemblies, set the burn rate, and see the reactor's temperature, how much steam it makes, the highest burn rate that won't damage it, and how many industrial turbines turn that steam into power. Every number comes from Mekanism's FissionReactorMultiblockData and TurbineMultiblockData.

—

Reactor size

Fission reactors are 3 to 18 blocks in each direction (exterior). Each column is a stack of fuel assemblies with one control rod on top.

Turbine size

Width and depth must be odd, from 5 to 17. Height 5 to 18.

Server config

Edit values from config/Mekanism/generators.toml and general.toml

How much ATM10 and ATM10: Aeronautics change Mekanism power

Fission reactor

Click a square to add or remove a fuel column. Columns that touch each other lose surface area, which lowers boil efficiency.

Industrial turbine

Result

    Steady state, assuming pipes move coolant and steam fast enough. Biome temperature sets how fast the casing loses heat to the air.

    What the code actually says

    Your pack sets how much a mB of fuel is worth

    Every mB of fuel burned adds energyPerFissionFuel of heat. The mod default is 1,000,000. ATM10 uses 250,000 and ATM10: Aeronautics 8,000, so the same reactor makes 125× less steam there.

    heat/t  = burnRate × energyPerFissionFuel
    steam/t ≈ heat / 50        (water)
    FissionReactorMultiblockData.burnFuel

    Damage starts at 1,200 K, not before

    Below 1,200 K the reactor heals. Above it, damage builds at up to 1800/12000 % per tick. A meltdown can only start once damage hits 100% while still above 1,200 K.

    if T > 1200: dmg += min(T,1800)/12000
    else:        dmg −= (1200 − T)/120000
    FissionReactorMultiblockData.handleDamage

    Touching assemblies cool worse

    Boil efficiency is surface area per assembly divided by 4. A lone column clears 4 easily; a solid block of assemblies doesn't, and every hidden face costs you cooling.

    SA  = 6N − 2 × (touching pairs)
    eff = min(1, SA / N / 4)
    FissionReactorValidator · getBoilEfficiency

    Backed-up turbines never melt your reactor

    If the reactor's steam tank is full, the extra steam is simply deleted, but its heat is still removed. A stalled turbine costs power, never safety.

    steam.insert(n)  // overflow discarded
    heat −= n × 50  // removed anyway
    FissionReactorMultiblockData.handleCoolant

    Small turbines are tank-limited in ATM packs

    Both ATM10 packs cut chemicalPerTank to 6,400. A turbine can't move more steam per tick than its tank holds, so small turbines top out below the "max flow" the GUI shows.

    maxInput = min(maxFlow, rotorH × L × W × chemicalPerTank)
    TurbineMultiblockData.tick

    Blades only count if coils keep up

    Each coil supports bladesPerCoil blades (4 by default, 8 in both ATM10 packs). Energy per mB of steam is 10 J at the full 28 blades.

    J per mB = 10/28 × min(blades, coils × bladesPerCoil)
    TurbineMultiblockData (production multiplier)