44 lines
2.0 KiB
Python
44 lines
2.0 KiB
Python
"""Physical constants and engineering limits for the simulation."""
|
|
|
|
from __future__ import annotations
|
|
|
|
SECONDS_PER_MINUTE = 60.0
|
|
MEGAWATT = 1_000_000.0
|
|
NEUTRON_LIFETIME = 0.1 # seconds, prompt neutron lifetime surrogate
|
|
FUEL_ENERGY_DENSITY = 200.0 * MEGAWATT # J/kg released as heat
|
|
COOLANT_HEAT_CAPACITY = 4_200.0 # J/(kg*K) for water/steam
|
|
COOLANT_DENSITY = 700.0 # kg/m^3 averaged between phases
|
|
CORE_MELTDOWN_TEMPERATURE = 2_873.0 # K (approx 2600C) threshold for irreversible meltdown
|
|
MAX_CORE_TEMPERATURE = CORE_MELTDOWN_TEMPERATURE # Allow simulation to approach meltdown temperature
|
|
MAX_PRESSURE = 15.0 # MPa typical PWR primary loop limit
|
|
CONTROL_ROD_SPEED = 0.03 # fraction insertion per second
|
|
CONTROL_ROD_WORTH = 0.042 # delta rho contribution when fully withdrawn
|
|
CONTROL_ROD_BANK_WEIGHTS = (0.4, 0.35, 0.25)
|
|
STEAM_TURBINE_EFFICIENCY = 0.34
|
|
GENERATOR_EFFICIENCY = 0.96
|
|
ENVIRONMENT_TEMPERATURE = 295.0 # K
|
|
AMU_TO_KG = 1.660_539_066_60e-27
|
|
MEV_TO_J = 1.602_176_634e-13
|
|
ELECTRON_FISSION_CROSS_SECTION = 5e-16 # cm^2, tuned for simulation scale
|
|
PUMP_SPOOL_TIME = 5.0 # seconds to reach commanded flow
|
|
PRIMARY_PUMP_SHUTOFF_HEAD_MPA = 8.0 # approximate shutoff head for primary pumps
|
|
SECONDARY_PUMP_SHUTOFF_HEAD_MPA = 7.0
|
|
TURBINE_SPOOL_TIME = 12.0 # seconds to reach steady output
|
|
GENERATOR_SPOOL_TIME = 10.0 # seconds to reach full output
|
|
# Auxiliary power assumptions
|
|
PUMP_POWER_MW = 12.0 # MW draw per pump unit
|
|
BASE_AUX_LOAD_MW = 5.0 # control, instrumentation, misc.
|
|
NORMAL_CORE_POWER_MW = 3_000.0
|
|
TEST_MAX_POWER_MW = 4_000.0
|
|
PRIMARY_OUTLET_TARGET_K = 580.0
|
|
SECONDARY_OUTLET_TARGET_K = 520.0
|
|
PRIMARY_NOMINAL_PRESSURE = 7.0 # MPa typical RBMK channel header pressure
|
|
SECONDARY_NOMINAL_PRESSURE = 7.0 # MPa steam drum/steam line pressure surrogate
|
|
STEAM_GENERATOR_UA_MW_PER_K = 25.0 # overall UA for steam generator (MW/K)
|
|
# Threshold inventories (event counts) for flagging common poisons in diagnostics.
|
|
KEY_POISON_THRESHOLDS = {
|
|
"Xe": 1e20, # xenon
|
|
"I": 1e20, # iodine precursor to xenon
|
|
"Sm": 5e19, # samarium
|
|
}
|