modelSplitter

Splits heating demand between heat pump and heater rod with some operational logic

Information

Basic functionality of the model

Splits a heating demand between a heat pump (HP) and an electric heater rod (HR) based on operating conditions, capacity limits, and minimum on/off time constraints for the HP.

HP enable conditions. The HP is allowed to operate only if all of the following hold:

  • signal (system enable) is true.
  • T_bufferTank is below T_HP_sup_max (supply temperature limit).
  • Requested heat flow is above the HP turn‑on threshold Q_HP_min (with a small safety margin internally).
  • T_amb is above T_HP_amb_min (ambient limit).
  • The HP on/off state is managed by an internal OnOff latch that enforces t_onOff_minOn and t_onOff_minOff to prevent short cycling.

Load split. When enabled, the HP supplies up to its available capacity (from Q_HP_max input and limiter). Any remaining demand is routed to the HR.

HR logic. The HR is permitted when T_amb is below the bivalence threshold T_HP_bivalence and the system is enabled. Its output is limited to Q_HR_max and filtered by a first‑order lag before becoming Q_HR. The output Q_HR_available reports the currently available HR capacity given limits and the bivalence condition.

Outputs. The block provides the actual heat flows Q_HP and Q_HR, the HR availability Q_HR_available, and HP status flags HP_blocked, HP_blocked_on, and HP_blocked_off so supervisory control can observe capacity usage and lock states.

Source

Based on measurements and logic analysis during the ERIGrid 2.0 Project at SYSLAB @ DTU, Copenhagen.

Parameters

TypeNameDefaultDescription
Heat Pump
Modelica.Units.SI.HeatFlowRateQ_HP_nom10e3nominal heat output of heat pump
Modelica.Units.SI.HeatFlowRateQ_HR_max6e3maximum heat output of heater rod
Modelica.Units.SI.TemperatureT_HP_amb_min273.15 - 10minimum ambient temperature for heat pump
Modelica.Units.SI.TemperatureT_HP_bivalence273.15 - 5minimum ambient temperature for heat pump
Modelica.Units.SI.TemperatureT_HP_sup_max273.15 + 60maximum supply temperature of heat pump
Modelica.Units.SI.Timet_onOff_minOff300time between heat pump state change from off to on
Modelica.Units.SI.Timet_onOff_minOn180time between heat pump state change from on to off

Connectors

TypeNameDefaultDescription
Modelica.Blocks.Interfaces.BooleanInputsignal
Modelica.Blocks.Interfaces.RealInputQ_request
Modelica.Blocks.Interfaces.RealOutputQ_HP
Modelica.Blocks.Interfaces.RealOutputQ_HR
Modelica.Blocks.Interfaces.RealInputT_amb
Modelica.Blocks.Interfaces.RealInputT_bufferTank
Modelica.Blocks.Interfaces.RealInputQ_HP_max
Modelica.Blocks.Interfaces.RealInputQ_HP_min
Modelica.Blocks.Interfaces.RealOutputQ_HR_available
Modelica.Blocks.Interfaces.BooleanOutputHP_blocked
Modelica.Blocks.Interfaces.BooleanOutputHP_blocked_on
Modelica.Blocks.Interfaces.BooleanOutputHP_blocked_off

Components

TypeNameDefaultDescription
Modelica.Blocks.Nonlinear.VariableLimiterHP_limiter
Modelica.Blocks.Sources.RealExpressionHP_off
Basics.Blocks.OnOffonOff
Modelica.Blocks.Sources.RealExpressionT_HP_amb_min_
Modelica.Blocks.Logical.SwitchHP_switch
Modelica.Blocks.Math.AddQ_remaining
Modelica.Blocks.Logical.Greatercond_HP_amb
Modelica.Blocks.Logical.Lesscond_HP_buffer
Modelica.Blocks.Sources.RealExpressionT_HP_sup_max_
Modelica.Blocks.Sources.RealExpressionHR_min
Modelica.Blocks.Logical.SwitchHR_switch
Modelica.Blocks.Nonlinear.LimiterHR_limiter
Modelica.Blocks.Logical.LessThresholdbivalence_HR_on
Modelica.Blocks.Logical.AndHR_unblocked
Modelica.Blocks.MathBoolean.AndHP_on
Modelica.Blocks.Logical.GreaterHP_unblocked
Modelica.Blocks.Continuous.FirstOrderfirstOrder
Modelica.Blocks.Logical.SwitchHR_availability
Modelica.Blocks.Sources.RealExpressionHR_max
Modelica.Blocks.Math.Gaingain