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
|
state.time_elapsed += dt
|
||||||
|
|
||||||
# Update inlet temperatures based on heat removed/added for next iteration.
|
# 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)
|
primary_cooling = temperature_rise(transferred, state.primary_loop.mass_flow_rate)
|
||||||
state.primary_loop.temperature_in = max(
|
if transferred <= 0.0 or state.secondary_loop.mass_flow_rate <= 1.0:
|
||||||
constants.ENVIRONMENT_TEMPERATURE, state.primary_loop.temperature_out - primary_cooling
|
passive = 0.02 * max(0.0, state.primary_loop.temperature_out - env) * dt
|
||||||
)
|
primary_cooling = max(primary_cooling, passive)
|
||||||
secondary_cooling = max(0.0, state.secondary_loop.temperature_out - constants.ENVIRONMENT_TEMPERATURE - 40.0)
|
state.primary_loop.temperature_in = max(env, state.primary_loop.temperature_out - primary_cooling)
|
||||||
state.secondary_loop.temperature_in = max(
|
|
||||||
constants.ENVIRONMENT_TEMPERATURE, state.secondary_loop.temperature_out - max(20.0, secondary_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(
|
LOGGER.info(
|
||||||
(
|
(
|
||||||
|
|||||||
Reference in New Issue
Block a user