modelHeatSource_HP_AW
Information
Model description
This model is based on data received from Daikin from an Altherma heat pump, and the full heat pump is implemented as IDEAS.Fluid.HeatPumps.HP_AirWater_TSet.
The nominal power of the original heat pump is 7177 W at 2/35 degC.
First, the thermal power and electricity consumption are interpolated
for the evaporator and condensing temperature at 4 different modulation levels.
The results are rescaled to the nominal power of the modelled heat pump (with QNom/QNom_data)
and stored in 2 different vectors, Q_vector and P_vector.
Finally, the modulation is calculated based on the asked power and the maximum power at operating conditions.
The initial modulation is computed as modulation_init = QAsked / QMax · 100.
If useMinMod = true, the final modulation is multiplied by the on/off signal:
-
if
modulation_init < modulation_min, the heat pump is OFF and the modulation is 0. -
if
modulation_init > 100%, the modulation is limited to 100%. -
if
modulation_initis betweenmodulation_minandmodulation_start, a hysteresis is applied for on/off cycling.
If useMinMod = false, the modulation is calculated directly from modulation_init.
In both cases, the modulation is smoothly limited to a maximum of 100%.
If the heat pump is on another modulation level, interpolation is made to get P and Q at the real modulation.
This model takes into account environmental heat losses of the heat pump. In order to keep the same nominal efficiency during operation, these heat losses are added to the computed power. Therefore, the heat losses are only really 'losses' when the heat pump is NOT operating.
The COP is calculated as the heat delivered to the condensor divided by the electrical power consumption.
Assumptions and limitations
- Based on interpolation in manufacturer data for Daikin Altherma heat pump
- Ensure not to operate the heat pump outside of the manufacturer data. No check is made if this happens, and this can lead to strange and wrong results.
Model use
This model is used in the IDEAS.Fluid.HeatPumps.HP_AirWater_TSet model. If a different heat pump is to be simulated, copy this model and adapt the interpolation tables.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Units.SI.Power | QNomRef | 7177 | Nominal power of the Daikin Altherma. See datafile |
| Modelica.Units.SI.Power | QNom | The power at nominal conditions (2/35) | |
| Boolean | useMinMod | true | |
| Real | modulation_min | 20 | Minimal modulation percentage. Don't set this to 0 or very low values, you might get negative P at very low modulations because of wrong extrapolation |
| Real | modulation_start | 35 | Min estimated modulation level required for start of HP |
| Real | mod_vector | {0, 30, 50, 90, 100} | 5 modulation steps, % |
| Modelica.Units.SI.ThermalConductance | UALoss | UA of heat losses of HP to environment |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Units.SI.HeatFlowRate | QAsked | ||
| Modelica.Units.SI.HeatFlowRate | QMax | Maximum thermal power at specified evaporator and condensor temperatures, in W | |
| Modelica.Units.SI.HeatFlowRate | QLossesToCompensate | Environment losses | |
| Real | Q_vector | Thermal power for 5 modulation steps, in kW | |
| Modelica.Units.SI.Power | PEl | Resulting electrical power | |
| Real | P_vector | Electrical power for 5 modulation steps, in kW | |
| Real | modulationInit | Initial modulation, decides on start/stop of the HP | |
| Real | modulation | Current modulation percentage | |
| Modelica.Blocks.Interfaces.BooleanInput | on | ||
| Modelica.Blocks.Interfaces.RealInput | TCondensor_set | Condensor temperature setpoint | |
| Modelica.Blocks.Interfaces.RealInput | TCondensor_in | In-comming condensor temperature | |
| Modelica.Blocks.Interfaces.RealInput | m_flowCondensor | Condenor mass-flow rate | |
| Modelica.Blocks.Interfaces.RealInput | TEvaporator | Evaporator temperature | |
| Modelica.Blocks.Interfaces.RealInput | TEnvironment | Temperature of environment for heat losses | |
| Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a | heatPort | heatPort connection to water in condensor | |
| Modelica.Blocks.Tables.CombiTable2Ds | P100 | ||
| Modelica.Blocks.Tables.CombiTable2Ds | P90 | ||
| Modelica.Blocks.Tables.CombiTable2Ds | P50 | ||
| Modelica.Blocks.Tables.CombiTable2Ds | P30 | ||
| Modelica.Blocks.Tables.CombiTable2Ds | Q100 | ||
| Modelica.Blocks.Tables.CombiTable2Ds | Q90 | ||
| Modelica.Blocks.Tables.CombiTable2Ds | Q50 | ||
| Modelica.Blocks.Tables.CombiTable2Ds | Q30 | ||
| IDEAS.Controls.Discrete.HysteresisRelease_boolean | onOff | ||
| Modelica.Blocks.Sources.RealExpression | realExpression | ||
| Modelica.Blocks.Sources.RealExpression | realExpression1 | ||
| Modelica.Blocks.Sources.RealExpression | realExpression2 |
Contents
| Name | Description |
|---|---|
| Medium | Medium in the component |
Revisions
-
April 27, 2026, by Jelger Jansen:
Revise and clean up model.
See #1485. -
2011, by Roel De Coninck:
First version