modelSplitter
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_bufferTankis belowT_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_ambis aboveT_HP_amb_min(ambient limit).- The HP on/off state is managed by an internal
OnOfflatch that enforcest_onOff_minOnandt_onOff_minOffto 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
| Type | Name | Default | Description |
|---|---|---|---|
| Heat Pump | |||
| Modelica.Units.SI.HeatFlowRate | Q_HP_nom | 10e3 | nominal heat output of heat pump |
| Modelica.Units.SI.HeatFlowRate | Q_HR_max | 6e3 | maximum heat output of heater rod |
| Modelica.Units.SI.Temperature | T_HP_amb_min | 273.15 - 10 | minimum ambient temperature for heat pump |
| Modelica.Units.SI.Temperature | T_HP_bivalence | 273.15 - 5 | minimum ambient temperature for heat pump |
| Modelica.Units.SI.Temperature | T_HP_sup_max | 273.15 + 60 | maximum supply temperature of heat pump |
| Modelica.Units.SI.Time | t_onOff_minOff | 300 | time between heat pump state change from off to on |
| Modelica.Units.SI.Time | t_onOff_minOn | 180 | time between heat pump state change from on to off |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Blocks.Interfaces.BooleanInput | signal | ||
| Modelica.Blocks.Interfaces.RealInput | Q_request | ||
| Modelica.Blocks.Interfaces.RealOutput | Q_HP | ||
| Modelica.Blocks.Interfaces.RealOutput | Q_HR | ||
| Modelica.Blocks.Interfaces.RealInput | T_amb | ||
| Modelica.Blocks.Interfaces.RealInput | T_bufferTank | ||
| Modelica.Blocks.Interfaces.RealInput | Q_HP_max | ||
| Modelica.Blocks.Interfaces.RealInput | Q_HP_min | ||
| Modelica.Blocks.Interfaces.RealOutput | Q_HR_available | ||
| Modelica.Blocks.Interfaces.BooleanOutput | HP_blocked | ||
| Modelica.Blocks.Interfaces.BooleanOutput | HP_blocked_on | ||
| Modelica.Blocks.Interfaces.BooleanOutput | HP_blocked_off |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Blocks.Nonlinear.VariableLimiter | HP_limiter | ||
| Modelica.Blocks.Sources.RealExpression | HP_off | ||
| Basics.Blocks.OnOff | onOff | ||
| Modelica.Blocks.Sources.RealExpression | T_HP_amb_min_ | ||
| Modelica.Blocks.Logical.Switch | HP_switch | ||
| Modelica.Blocks.Math.Add | Q_remaining | ||
| Modelica.Blocks.Logical.Greater | cond_HP_amb | ||
| Modelica.Blocks.Logical.Less | cond_HP_buffer | ||
| Modelica.Blocks.Sources.RealExpression | T_HP_sup_max_ | ||
| Modelica.Blocks.Sources.RealExpression | HR_min | ||
| Modelica.Blocks.Logical.Switch | HR_switch | ||
| Modelica.Blocks.Nonlinear.Limiter | HR_limiter | ||
| Modelica.Blocks.Logical.LessThreshold | bivalence_HR_on | ||
| Modelica.Blocks.Logical.And | HR_unblocked | ||
| Modelica.Blocks.MathBoolean.And | HP_on | ||
| Modelica.Blocks.Logical.Greater | HP_unblocked | ||
| Modelica.Blocks.Continuous.FirstOrder | firstOrder | ||
| Modelica.Blocks.Logical.Switch | HR_availability | ||
| Modelica.Blocks.Sources.RealExpression | HR_max | ||
| Modelica.Blocks.Math.Gain | gain |