Eight nodes sit on a ring microgrid: a solar array, a fission reactor, a battery bank, and five habitat loads tiered by priority (critical / normal / flexible). Every consecutive pair of nodes is joined by a cable; power can reach any node clockwise or counter-clockwise around the ring, so a single broken cable is a "N-1 contingency" — every node stays reachable from some source. Break a second cable that isolates a stretch of the ring and any load caught in that stretch with no source in reach goes dark, no matter how much power the rest of the base has.
Per connected segment (BFS over unbroken cables):
P_supply = P_solar·sun + P_fission + P_battery,discharge
P_demand = Σ loads reachable in this segment
if P_supply ≥ P_demand: everything served, surplus charges the battery
if P_supply < P_demand: shed loads by priority —
flexible (ISRU) first → normal (rover depot) → critical last
This mirrors real load-shedding logic used on islanded microgrids and spacecraft power buses: never black out a critical bus while a discretionary one still has power. The battery buffers the 14.75-day lunar night — with the Sun off, only the fission reactor keeps producing, and if requested load exceeds reactor + battery discharge, the flexible ISRU plant sheds automatically to protect the habitat.
- Day / Night — toggles solar array output between full and zero, the dominant lunar power problem.
- Battery capacity — resizes the buffer that rides through shortfalls and soaks up daytime surplus.
- ISRU load — the flexible load that gets sacrificed first whenever supply falls short.
- Cable grid — click any of the 8 ring segments to break or repair it and watch the BFS re-route power, or isolate a stretch entirely. Break just one cable and every node stays lit (true N-1 redundancy); break a second cable that seals off a stretch and the loads trapped in it go dark.