Add cooldown telemetry, RHR cooldown path, and shutdown regression test
This commit is contained in:
@@ -341,3 +341,38 @@ def test_full_power_reaches_steam_and_turbine_output():
|
||||
assert results[3600]["electric"] > 150.0
|
||||
# No runaway core temperatures.
|
||||
assert results[3600]["core_temp"] < constants.CORE_MELTDOWN_TEMPERATURE
|
||||
|
||||
|
||||
def test_cooldown_reaches_ambient_without_runaway():
|
||||
"""Shutdown with pumps running should cool loops toward ambient, no runaway."""
|
||||
reactor = Reactor.default()
|
||||
reactor.health_monitor.disable_degradation = True
|
||||
reactor.allow_external_aux = True
|
||||
reactor.relaxed_npsh = True
|
||||
state = reactor.initial_state()
|
||||
# Start hot.
|
||||
reactor.step(
|
||||
state,
|
||||
dt=1.0,
|
||||
command=ReactorCommand(
|
||||
generator_units={1: True, 2: True},
|
||||
primary_pumps={1: True, 2: True},
|
||||
secondary_pumps={1: True, 2: True},
|
||||
rod_manual=True,
|
||||
rod_position=0.55,
|
||||
),
|
||||
)
|
||||
turbines_started = False
|
||||
for i in range(1800):
|
||||
cmd = None
|
||||
if not turbines_started and state.secondary_loop.steam_quality > 0.02 and state.secondary_loop.pressure > 1.0:
|
||||
cmd = ReactorCommand(turbine_on=True, turbine_units={1: True, 2: True, 3: True})
|
||||
turbines_started = True
|
||||
if i == 900:
|
||||
cmd = ReactorCommand(rod_position=0.95, turbine_on=False, turbine_units={1: False, 2: False, 3: False})
|
||||
reactor.step(state, dt=1.0, command=cmd)
|
||||
|
||||
assert not reactor.meltdown
|
||||
assert state.core.power_output_mw < 1.0
|
||||
assert state.primary_loop.temperature_out < 320.0
|
||||
assert state.secondary_loop.temperature_out < 320.0
|
||||
|
||||
Reference in New Issue
Block a user