modelHP_AirWater_TSet

Air-to-water heat pump with temperature set point

Extends from IDEAS.Fluid.HeatPumps.Interfaces.PartialDynamicHeaterWithLosses (Partial heater model incl dynamics and environmental losses).

Information

Description

Dynamic heat pump model, based on interpolation in performance tables for a Daikin Altherma heat pump. These tables are encoded in the heatSource model. If a different heat pump is to be simulated, create a different heatSource model with adapted interpolation tables.

The nominal power of the heat pump can be adapted, this will NOT influence the efficiency as a function of ambient air temperature, condenser temperature and modulation level.

The heat pump has thermal losses to the environment which are often not mentioned in the performance tables. Therefore, the additional environmental heat losses are added to the heat production in order to ensure the same performance as in the manufacturers data, while still obtaining a dynamic model with heat losses (also when heat pump is off). The heatSource will compute the required power and the environmental heat losses, and try to reach the set point.

See IDEAS.Thermal.Components.Production.Interfaces.PartialDynamicHeaterWithLosses for more details about the heat losses and dynamics.

Assumptions and limitations

  1. Dynamic model based on water content and lumped dry capacity
  2. Inverter controlled heat pump with limited power (based on QNom and interpolation tables in heatSource)
  3. Heat losses to environment which are compensated 'artifically' to meet the manufacturers data in steady state conditions
  4. No defrosting taken into account
  5. No enforced min on or min off time; Hysteresis on start/stop thanks to different parameters for minimum modulation to start and stop the heat pump

Model use

This model is based on performance tables of a specific heat pump, as specified by the heatSource model. If a different heat pump is to be simulated, create a different heatSource model with adapted interpolation tables.

  1. Specify medium and initial temperature (of the water + dry mass)
  2. Specify the nominal power QNom. There are two options: (1) specify QNom and put QDesign = 0 or (2) specify QDesign greater than 0 and QNom wil be calculated from QDesign as follows:
  3. QNom = QDesign * betaFactor / fraLosDesNom
  4. Connect TSet, the flowPorts and the heatPort to environment.
  5. Specify the minimum required modulation level for the boiler to start (modulation_start) and the minimum modulation level when the boiler is operating (modulation_min). The difference between both will ensure some off-time in case of low heat demands

See also IDEAS.Thermal.Components.Production.Interfaces.PartialDynamicHeaterWithLosses for more details about the heat losses and dynamics.

Validation

The model has been verified in order to check if the 'artificial' heat loss compensation still leads to correct steady state efficiencies according to the manufacturer data. This verification is integrated in the example model IDEAS.Thermal.Components.Examples.Boiler_validation.

Example

A specific heat pump example is given in IDEAS.Thermal.Components.Examples.HeatPump_AirWater.

Parameters

TypeNameDefaultDescription
Modelica.Units.SI.PowerQNom (from PartialDynamicHeaterWithLosses)Nominal power
Modelica.Units.SI.TimetauHeatLoss (from PartialDynamicHeaterWithLosses)7200Time constant of environmental heat losses
Modelica.Units.SI.MassmWater (from PartialDynamicHeaterWithLosses)5Mass of water in the condensor
Modelica.Units.SI.HeatCapacitycDry (from PartialDynamicHeaterWithLosses)4800Capacity of dry material lumped to condensor
Modelica.Units.SI.MassFlowRatem_flow_nominal (from PartialDynamicHeaterWithLosses)Nominal mass flow rate
Modelica.Units.SI.ThermalConductanceUALoss (from PartialDynamicHeaterWithLosses)mWater*vol.mSenFac/tauHeatLossThermal conductance, computed based on time constant and thermal mass
Modelica.Units.SI.PowerQDesign0Overrules QNom if different from 0. Design heat load, typically at -8 or -10 degC in Belgium.
RealfraLosDesNom0.68Ratio of power at design conditions over power at 2/35degC
RealbetaFactor0.8Relative sizing compared to design heat load
Modelica.Units.SI.PowerQNomFinalif abs(QDesign) < Modelica.Constants.small then QNom else QDesign/fraLosDesNom*betaFactorUsed nominal power in the heatSource model
Realmodulation_min20Minimal modulation percentage
Realmodulation_start35Min estimated modulation level required for start of HP
Flow resistance
BooleancomputeFlowResistance (from TwoPortFlowResistanceParameters)true=true, compute flow resistance. Set to false to assume no friction
Booleanfrom_dp (from TwoPortFlowResistanceParameters)false= true, use m_flow = f(dp) else dp = f(m_flow)
BooleanlinearizeFlowResistance (from TwoPortFlowResistanceParameters)false= true, use linear relation between m_flow and dp for any flow rate
RealdeltaM (from TwoPortFlowResistanceParameters)0.1Fraction of nominal flow rate where flow transitions to laminar
BooleandynamicBalance (from PartialDynamicHeaterWithLosses)trueSet to true to use a dynamic balance, which often leads to smaller systems of equations
BooleanhomotopyInitialization (from PartialDynamicHeaterWithLosses)true= true, use homotopy method
BooleanallowFlowReversal (from PartialDynamicHeaterWithLosses)true= false to simplify equations, assuming, but not enforcing, no flow reversal. Used only if model has two ports.
Nominal condition
Modelica.Units.SI.PressureDifferencedp_nominal (from TwoPortFlowResistanceParameters)Pressure difference
Dynamics › Conservation equations
Modelica.Fluid.Types.DynamicsenergyDynamics (from LumpedVolumeDeclarations)Modelica.Fluid.Types.Dynamics.DynamicFreeInitialType of energy balance: dynamic (3 initialization options) or steady state
Modelica.Fluid.Types.DynamicssubstanceDynamics (from LumpedVolumeDeclarations)energyDynamicsType of independent mass fraction balance: dynamic (3 initialization options) or steady state
Modelica.Fluid.Types.DynamicstraceDynamics (from LumpedVolumeDeclarations)energyDynamicsType of trace substance balance: dynamic (3 initialization options) or steady state
Advanced › Dynamics
Modelica.Fluid.Types.DynamicsmassDynamics (from LumpedVolumeDeclarations)energyDynamicsType of mass balance: dynamic (3 initialization options) or steady state, must be steady state if energyDynamics is steady state
Initialization
Medium.AbsolutePressurep_start (from LumpedVolumeDeclarations)Medium.p_defaultStart value of pressure
Medium.TemperatureT_start (from LumpedVolumeDeclarations)Medium.T_defaultStart value of temperature
Medium.MassFraction[Medium.nX]X_start (from LumpedVolumeDeclarations)Medium.X_defaultStart value of mass fractions m_i/m
Medium.ExtraProperty[Medium.nC]C_start (from LumpedVolumeDeclarations)fill(0, Medium.nC)Start value of trace substances
Medium.ExtraProperty[Medium.nC]C_nominal (from LumpedVolumeDeclarations)fill(1E-2, Medium.nC)Nominal value of trace substances. (Set to typical order of magnitude.)
Dynamics
RealmSenFac (from LumpedVolumeDeclarations)1Factor for scaling the sensible thermal mass of the volume

Connectors

TypeNameDefaultDescription
Modelica.Blocks.Interfaces.RealInputTSet (from PartialDynamicHeaterWithLosses)Temperature setpoint
Modelica.Blocks.Interfaces.RealOutputPEl (from PartialDynamicHeaterWithLosses)Electrical consumption
Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_aheatPort (from PartialDynamicHeaterWithLosses)heatPort for thermal losses to environment
Modelica.Fluid.Interfaces.FluidPort_aport_a (from PartialDynamicHeaterWithLosses)Fluid inlet
Modelica.Fluid.Interfaces.FluidPort_bport_b (from PartialDynamicHeaterWithLosses)Fluid outlet

Components

TypeNameDefaultDescription
IDEAS.BoundaryConditions.SimInfoManagersim
RealCOPInstanteanous COP
RealmodulationIDEAS.Utilities.Math.Functions.smoothMax(0, heatSource.modulation, 1)Current modulation percentage
IDEAS.Fluid.HeatPumps.BaseClasses.HeatSource_HP_AWheatSource
Modelica.Thermal.HeatTransfer.Sensors.HeatFlowSensorheatFlowSensor
Modelica.Blocks.Sources.BooleanExpressionbooleanExpression

Revisions

  • February 4, 2025, by Jelger Jansen:
    Added Modelica.Units. to one or multiple parameter(s) due to the removal of import in IDEAS/package.mo. See #1415 .
  • September 10, 2020 by Filip Jorissen:
    Fixed real equality comparison for #1172.
  • June 5, 2018 by Filip Jorissen:
    Cleaned up implementation for #821.
  • March, 2014, by Filip Jorissen:
    Annex60 compatibility
  • May, 2013, by Roel De Coninck:
    Propagation of heatSource parameters and better definition of QNom used. Documentation and example added
  • 2011, by Roel De Coninck:
    First version