from reactor_sim.reactor import Reactor from reactor_sim.commands import ReactorCommand def test_pressurizer_raises_pressure_with_level(): reactor = Reactor.default() state = reactor.initial_state() state.primary_loop.pressure = 0.5 reactor.pressurizer_level = 0.8 reactor.primary_pump_active = False reactor.secondary_pump_active = False reactor.shutdown = False reactor.step(state, dt=1.0, command=ReactorCommand()) assert state.primary_loop.pressure > 0.5 assert reactor.pressurizer_level < 0.8 def test_low_npsh_limits_primary_flow(): reactor = Reactor.default() state = reactor.initial_state() reactor.shutdown = False reactor.control.manual_control = True reactor.control.rod_fraction = 0.0 reactor.primary_pump_active = True reactor.primary_pump_units = [True, True] reactor.secondary_pump_active = False state.primary_loop.pressure = 0.05 # near-vacuum to force cavitation state.primary_loop.temperature_in = 400.0 state.primary_loop.temperature_out = 600.0 reactor.step(state, dt=1.0, command=ReactorCommand(generator_units={1: True})) assert state.primary_pumps[0].status == "CAV" assert state.primary_loop.mass_flow_rate < 100.0