Allow passive cool-down of loops when secondary is offline
This commit is contained in:
@@ -371,14 +371,22 @@ class Reactor:
|
||||
state.time_elapsed += dt
|
||||
|
||||
# Update inlet temperatures based on heat removed/added for next iteration.
|
||||
env = constants.ENVIRONMENT_TEMPERATURE
|
||||
primary_cooling = temperature_rise(transferred, state.primary_loop.mass_flow_rate)
|
||||
state.primary_loop.temperature_in = max(
|
||||
constants.ENVIRONMENT_TEMPERATURE, state.primary_loop.temperature_out - primary_cooling
|
||||
)
|
||||
secondary_cooling = max(0.0, state.secondary_loop.temperature_out - constants.ENVIRONMENT_TEMPERATURE - 40.0)
|
||||
state.secondary_loop.temperature_in = max(
|
||||
constants.ENVIRONMENT_TEMPERATURE, state.secondary_loop.temperature_out - max(20.0, secondary_cooling)
|
||||
)
|
||||
if transferred <= 0.0 or state.secondary_loop.mass_flow_rate <= 1.0:
|
||||
passive = 0.02 * max(0.0, state.primary_loop.temperature_out - env) * dt
|
||||
primary_cooling = max(primary_cooling, passive)
|
||||
state.primary_loop.temperature_in = max(env, state.primary_loop.temperature_out - primary_cooling)
|
||||
|
||||
if state.secondary_loop.mass_flow_rate <= 1.0:
|
||||
target_temp = env
|
||||
state.secondary_loop.temperature_out = self._ramp_value(
|
||||
state.secondary_loop.temperature_out, target_temp, dt, self.secondary_pump.spool_time
|
||||
)
|
||||
state.secondary_loop.temperature_in = state.secondary_loop.temperature_out
|
||||
else:
|
||||
secondary_cooling = max(0.0, state.secondary_loop.temperature_out - env - 40.0)
|
||||
state.secondary_loop.temperature_in = max(env, state.secondary_loop.temperature_out - max(20.0, secondary_cooling))
|
||||
|
||||
LOGGER.info(
|
||||
(
|
||||
|
||||
Reference in New Issue
Block a user