Thermal energy storage simulation
1 inlet -> 1 outlet; charges or discharges a sensible-heat / PCM store (reports state of charge and time to full/empty)
Governing equations
The exact equations the solver works for a thermal energy storage — the same math shown in the app's "Theory" panel, not a black box.
- fluid outlet temperature [K]
- hottest (top) layer temperature [K]
- coldest (bottom) layer temperature [K]
- approach temperature at the contact end [K]
- heat into the store, negative when discharging [W]
- standing loss to ambient [W]
- net charge rate [W]
- loss conductance of the vessel [W/K]
- mass-mean store temperature [K]
- ambient temperature [K]
- fluid molar flow [mol/s]
- inlet molar enthalpy [J/mol]
- outlet molar enthalpy [J/mol]
- stored energy above the window floor [J]
- storage capacity over the operating window [J]
- mass of layer i [kg]
- total medium mass [kg]
- medium specific heat [J/kg/K]
- layer i temperature [K]
- operating-window floor [K]
- operating-window ceiling [K]
- PCM latent heat [J/kg]
- PCM melt fraction [-]
- state of charge [-]
- time to full at the net rate [s]
- time to empty at the net rate [s]
Parameters
a heat store the process fluid charges or draws on. 'mass' [kg] of medium; 'medium' (water | solar_salt | thermal_oil | rock | concrete) or 'cp' [J/kg/K]; the store's state as 'temperature' [K] (well-mixed) or 'layer_temperatures' [K, hottest first] for a stratified store, or a PCM via 'melting_temperature' [K] + 'latent_heat' [J/kg] (+ 'melt_fraction' 0-1); 'mode' auto | charge | discharge (auto picks from the inlet T); 'approach' [K]; 't_min'/'t_max' [K] the operating window that defines capacity and state of charge; 'ua_loss' [W/K] + 'ambient_temperature' [K] for the standing loss; 'pressure_drop' [Pa]. Charging exhausts at the COLDEST layer, discharging draws from the HOTTEST, so a stratified store delivers hotter than a mixed one holding the same energy. Steady-state: the store's temperatures do not move within a solve -- the op reports time_to_full_hours / time_to_empty_hours at the current net rate. In the Dynamics run mode and in the live DCS engine the store's layers MOVE (DYN-TES / LIVE-TES): it charges and discharges through the flowsheet's own transient, a temperature loop downstream closes through it, and the standalone transient is the 'Thermal energy storage' analysis tool