Ideal Heat Storage

Description

The IdealHeatStorage asset represents a two-layer hot-water buffer that can either absorb heat (charging) or release heat (discharging) in a thermal network. The storage exchanges heat with the network through one inlet and one outlet and tracks the amount of hot volume in the vessel via a fill level between 0 and 1.

In simulation, the asset behaves as an idealized control volume with stratified hot and cold zones. It receives a thermal power setpoint and translates that request into mass flow and port temperatures based on whether the storage is charging, discharging, or idle. The asset is mapped from ESDL HeatStorage.

Parameters

Parameter

Description

Unit

ESDL Asset Property

volume

Maximum storage volume

m3

volume

fill_level

Initial hot-volume fraction (0 to 1)

fillLevel

temperature_in

Initial hot-side temperature (connection point 0)

K

from ESDL carrier temperature at In/Supply port

temperature_out

Initial cold-side temperature (connection point 1)

K

from ESDL carrier temperature at Out/Return port

max_charge_power

Maximum charging power

W

maxChargeRate

max_discharge_power

Maximum discharging power

W

maxDischargeRate

Controlled Parameters

The storage receives one user-relevant control signal from the controller:

Signal

Description

Unit

\(Q_{set}\)

Thermal power setpoint for storage operation. Positive values charge the storage and negative values discharge the storage.

W

The requested storage power can be clipped by the effective charge or discharge capacity of the storage. This becomes important near empty or full states, or when the temperature difference between the hot and cold zones is small. For controller-level dispatch behavior, see Control.

Additional simulation outputs

In addition to the default per-port outputs for mass flow, pressure, temperature, and volume flow, the storage asset provides:

Signal

Description

Unit

fill_level

Updated fraction of hot volume in the storage after each timestep

Physics and Assumptions

The Ideal Heat Storage is modeled with three operating modes: charging, discharging, and idle. The mode is determined by the sign of \(Q_{set}\). The asset uses a prescribed thermal power request and computes the corresponding mass flow using the current supply and return temperatures.

Operating modes and sign convention

The storage uses the following sign convention for the controller thermal setpoint:

\[Q_{set} > 0 \Rightarrow \text{charging}\]
\[Q_{set} < 0 \Rightarrow \text{discharging}\]
\[Q_{set} = 0 \Rightarrow \text{idle}\]

The corresponding temperature assignment follows the active mode:

  • Charging: network inlet temperature is used at connection point 0 and the storage cold temperature is used at connection point 1.

  • Discharging: storage hot temperature is used at connection point 0 and network temperature at connection point 1.

  • Idle: both connection temperatures are set to the internal hot and cold buffer temperatures.

The solved mass-flow sign follows this mode definition: charging corresponds to flow into the storage and discharging corresponds to flow out of the storage hot zone.

Mass flow and thermal power

The requested mass flow magnitude is based on:

\[\dot{m} = \frac{Q_{set}}{c_p \left(T_{out} - T_{in}\right)}\]

where:

\(\dot{m}\)

Mass flow rate [kg/s]

\(Q_{set}\)

Controller thermal power setpoint [W]

\(c_p\)

Specific heat capacity at mean fluid temperature [J/(kg K)]

\(T_{in}\)

Inlet temperature for the current mode [K]

\(T_{out}\)

Outlet temperature for the current mode [K]

A storage-specific sign convention is applied internally so that charging and discharging map to the solver mass-flow direction consistently.

Fill level update

The hot-volume fraction is updated from transported volume over the accumulation interval:

\[f_{new} = \mathrm{clip}\left(f_{old} + \frac{\dot{V}\,\Delta t}{V_{max}}, 0, 1\right), \quad \dot{V} = \frac{\dot{m}}{\rho}\]

where:

\(f\)

Fill level (hot-volume fraction) [-]

\(\Delta t\)

Accumulation time used for volume update [s]

\(V_{max}\)

Maximum storage volume [m3]

\(\rho\)

Fluid density at inlet-side temperature [kg/m3]

This means fill level always remains bounded between empty and full.

Effective charge and discharge power

The usable storage power is limited by both the configured charge or discharge rating and the amount of hot or cold volume that can be exchanged during one timestep. A concise engineering approximation is:

\[P_{ch,eff} = \min\left(P_{ch,max}, \frac{V_{max} - V_{hot}}{\Delta t} \rho c_p \Delta T\right)\]
\[P_{dis,eff} = \min\left(P_{dis,max}, \frac{V_{hot}}{\Delta t} \rho c_p \Delta T\right)\]

where:

\(P_{dis,max}\)

Configured maximum discharging power [W]

\(P_{ch,max}\)

Configured maximum charging power [W]

\(P_{dis,eff}\)

Effective maximum discharging power [W]

\(P_{ch,eff}\)

Effective maximum charging power [W]

\(V_{hot}\)

Current hot volume in storage [m3]

\(\Delta T\)

Temperature difference between hot and cold zones, \(T_{hot} - T_{cold}\) [K]

\(\rho\)

Fluid density at representative storage conditions [kg/m3]

\(c_p\)

Specific heat capacity at representative storage conditions [J/(kg K)]

In practical terms, requested charge or discharge power can be clipped even when the configured power rating is higher. Clipping becomes more likely when the storage approaches full or empty, or when the hot and cold zones have little temperature difference and therefore little usable thermal capacity.

Temperature state update

When charging or discharging, each zone is updated with an ideal-mixing energy balance. In compact form, the updated specific internal energy of a zone is:

\[u_{new} = \frac{u_{old} m_{old} + u_{in} m_{in}}{m_{old} + m_{in}}\]

The new zone temperature then follows from the fluid-property relation \(T(u)\). This means incoming flow mixes instantaneously with the corresponding hot or cold zone over the timestep.

Assumptions

  • The storage is idealized as two well-mixed thermal zones (hot and cold).

  • Charging and discharging are represented by sign of one power setpoint.

  • Heat losses to ambient are neglected.

  • Hydraulic losses inside the storage are neglected.

  • Dynamic effects below the simulation timestep are not resolved.

  • Fill level is clipped to the physical range [0, 1].

Limitations

  • No explicit tank geometry, thermocline thickness, or stratification diffusion model.

  • No dedicated startup, shutdown, or actuator dynamics.

  • No explicit thermal losses through walls or piping inside the tank.

  • No pressure-drop model for internal storage components.

  • Accuracy depends on timestep size; large timesteps can smooth short transients.

See Also

References

References

(No references listed.)