Tie loop pressure to saturation when cold
This commit is contained in:
@@ -16,7 +16,7 @@ from .fuel import FuelAssembly, decay_heat_fraction
|
||||
from .generator import DieselGenerator, GeneratorState
|
||||
from .neutronics import NeutronDynamics
|
||||
from .state import CoolantLoopState, CoreState, PlantState, PumpState, TurbineState
|
||||
from .thermal import ThermalSolver, heat_transfer
|
||||
from .thermal import ThermalSolver, heat_transfer, saturation_pressure
|
||||
from .turbine import SteamGenerator, Turbine
|
||||
|
||||
LOGGER = logging.getLogger(__name__)
|
||||
@@ -237,7 +237,7 @@ class Reactor:
|
||||
target_pressure = (
|
||||
0.5 + (constants.PRIMARY_NOMINAL_PRESSURE - 0.5) * pump_demand
|
||||
) * power_ratio
|
||||
loop_pressure = 0.5
|
||||
loop_pressure = max(0.1, saturation_pressure(state.primary_loop.temperature_out))
|
||||
target_flow = self.primary_pump.flow_rate(pump_demand) * power_ratio
|
||||
for idx, pump_state in enumerate(state.primary_pumps):
|
||||
unit_enabled = (
|
||||
@@ -270,7 +270,7 @@ class Reactor:
|
||||
)
|
||||
else:
|
||||
state.primary_loop.mass_flow_rate = 0.0
|
||||
state.primary_loop.pressure = 0.5
|
||||
state.primary_loop.pressure = max(0.1, saturation_pressure(state.primary_loop.temperature_out))
|
||||
for pump_state in state.primary_pumps:
|
||||
pump_state.active = False
|
||||
pump_state.flow_rate = 0.0
|
||||
@@ -281,7 +281,7 @@ class Reactor:
|
||||
target_pressure = (
|
||||
0.5 + (constants.SECONDARY_NOMINAL_PRESSURE - 0.5) * 0.75
|
||||
) * power_ratio
|
||||
loop_pressure = 0.5
|
||||
loop_pressure = max(0.1, saturation_pressure(state.secondary_loop.temperature_out))
|
||||
target_flow = self.secondary_pump.flow_rate(0.75) * power_ratio
|
||||
for idx, pump_state in enumerate(state.secondary_pumps):
|
||||
unit_enabled = (
|
||||
@@ -314,7 +314,7 @@ class Reactor:
|
||||
)
|
||||
else:
|
||||
state.secondary_loop.mass_flow_rate = 0.0
|
||||
state.secondary_loop.pressure = 0.5
|
||||
state.secondary_loop.pressure = max(0.1, saturation_pressure(state.secondary_loop.temperature_out))
|
||||
for pump_state in state.secondary_pumps:
|
||||
pump_state.active = False
|
||||
pump_state.flow_rate = 0.0
|
||||
|
||||
Reference in New Issue
Block a user