Stop pressurizer pumping a cold loop
This commit is contained in:
@@ -309,8 +309,7 @@ class Reactor:
|
||||
state.primary_loop.mass_flow_rate = self._ramp_value(
|
||||
state.primary_loop.mass_flow_rate, 0.0, dt, self.primary_pump.spool_time
|
||||
)
|
||||
pressurizer_floor = constants.PRIMARY_PRESSURIZER_SETPOINT_MPA - 0.5 if self.pressurizer_level > 0.05 else 0.5
|
||||
target_pressure = max(pressurizer_floor, saturation_pressure(state.primary_loop.temperature_out))
|
||||
target_pressure = max(0.5, saturation_pressure(state.primary_loop.temperature_out))
|
||||
state.primary_loop.pressure = self._ramp_value(
|
||||
state.primary_loop.pressure, target_pressure, dt, self.primary_pump.spool_time
|
||||
)
|
||||
@@ -551,6 +550,8 @@ class Reactor:
|
||||
return max(0.0, min(1.0, available / constants.NPSH_REQUIRED_MPA))
|
||||
|
||||
def _apply_pressurizer(self, primary: CoolantLoopState, dt: float) -> None:
|
||||
if self.shutdown and primary.mass_flow_rate <= 100.0:
|
||||
return
|
||||
target = constants.PRIMARY_PRESSURIZER_SETPOINT_MPA
|
||||
band = constants.PRIMARY_PRESSURIZER_DEADBAND_MPA
|
||||
heat_rate = constants.PRIMARY_PRESSURIZER_HEAT_RATE_MPA_PER_S
|
||||
|
||||
@@ -5,14 +5,15 @@ from reactor_sim.commands import ReactorCommand
|
||||
def test_pressurizer_raises_pressure_with_level():
|
||||
reactor = Reactor.default()
|
||||
state = reactor.initial_state()
|
||||
state.primary_loop.pressure = 5.0
|
||||
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.scram_all())
|
||||
reactor.step(state, dt=1.0, command=ReactorCommand())
|
||||
|
||||
assert state.primary_loop.pressure > 5.0
|
||||
assert state.primary_loop.pressure > 0.5
|
||||
assert reactor.pressurizer_level < 0.8
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user