modelHeatPumpSystem

Extends from AixLib.Obsolete.Year2024.Systems.HeatPumpSystems.BaseClasses.PartialHeatPumpSystem (Partial model containing the basic heat pump block and different control blocks(optional)).

Information

Deprecation Warning

This model is deprecated, switch to the ModularReversible approach. Read https://github.com/RWTH-EBC/AixLib/wiki/Switch-from-model-HeatPump-to-ModularReversible for further information.

This model uses the heat pump model AixLib.Obsolete.Year2024.Fluid.HeatPumps.HeatPump to simulate a whole system, including controls, pumps and second heat generator.

A set of parameters is used to estimate the model parameters.

See AixLib.Obsolete.Year2024.Systems.HeatPumpSystems.BaseClasses.PartialHeatPumpSystem for information about the features of the heat pump system.

Parameters

TypeNameDefaultDescription
Medium_con.ThermodynamicStatestateCon_default (from PartialHeatPumpSystem)Medium_con.setState_pTX(T = Medium_con.T_default, p = Medium_con.p_default, X = Medium_con.X_default[1:Medium_con.nXi])Medium state in condenser at default values
Medium_eva.ThermodynamicStatestateEva_default (from PartialHeatPumpSystem)Medium_eva.setState_pTX(T = Medium_eva.T_default, p = Medium_eva.p_default, X = Medium_eva.X_default[1:Medium_eva.nXi])Medium state in evaporator at default values
AixLib.Fluid.Movers.Data.GenericperEva (from PartialHeatPumpSystem)
AixLib.Fluid.Movers.Data.GenericperCon (from PartialHeatPumpSystem)
Assumptions
BooleanallowFlowReversal1 (from PartialFourPort)true= false to simplify equations, assuming, but not enforcing, no flow reversal for medium 1
BooleanallowFlowReversal2 (from PartialFourPort)true= false to simplify equations, assuming, but not enforcing, no flow reversal for medium 2
Nominal condition
Modelica.Units.SI.MassFlowRatem1_flow_nominal (from PartialFourPortInterface)Nominal mass flow rate
Modelica.Units.SI.MassFlowRatem2_flow_nominal (from PartialFourPortInterface)Nominal mass flow rate
Modelica.Units.SI.MassFlowRatemFlow_conNominal (from PartialHeatPumpSystem)Nominal mass flow rate, used for regularization near zero flow
Modelica.Units.SI.MassFlowRatemFlow_evaNominal (from PartialHeatPumpSystem)Nominal mass flow rate
Advanced
Medium1.MassFlowRatem1_flow_small (from PartialFourPortInterface)1E-4*abs(m1_flow_nominal)Small mass flow rate for regularization of zero flow
Medium2.MassFlowRatem2_flow_small (from PartialFourPortInterface)1E-4*abs(m2_flow_nominal)Small mass flow rate for regularization of zero flow
Advanced › Diagnostics
Booleanshow_T (from PartialFourPortInterface)false= true, if actual temperature at port is computed
Design
Modelica.Units.SI.HeatFlowRateQCon_nominal (from HeatPumpSystemParameters)Nominal heating power of heat pump
Modelica.Units.SI.PowerP_el_nominal (from HeatPumpSystemParameters)Nominal electrical power, used for calculating nominal evaporator heat flow
Modelica.Units.SI.ThermodynamicTemperatureTCon_nominal (from HeatPumpSystemParameters)308.15Nominal supply temperatur of the condenser
Modelica.Units.SI.ThermodynamicTemperatureTEva_nominal (from HeatPumpSystemParameters)283.15Nominal supply temperatur of the evaporator
Modelica.Units.SI.TemperatureDifferencedTEva (from HeatPumpSystemParameters)3Temperature difference at the evaporator
Modelica.Units.SI.TemperatureDifferencedTCon (from HeatPumpSystemParameters)5Temperature difference at the condenser
Modelica.Units.SI.SpecificHeatCapacityAtConstantPressurecpEva (from HeatPumpSystemParameters)Specific heat capacity of evaportor medium
Modelica.Units.SI.SpecificHeatCapacityAtConstantPressurecpCon (from HeatPumpSystemParameters)Specific heat capacity of condenser medium
Modelica.Units.SI.TemperatureDifferencedTPinchEva (from HeatPumpSystemParameters)8Pinch temperature in the evaporator
Modelica.Units.SI.TemperatureDifferencedTPinchCon (from HeatPumpSystemParameters)8Pinch temperature in the condenser
RealpercHeatLoss (from HeatPumpSystemParameters)0.1Percentage of heat losses in the heat exchangers to the nominal heating power
Modelica.Units.SI.HeatFlowRateQEva_nominal (from HeatPumpSystemParameters)QCon_nominal - P_el_nominalNominal thermal power at the evaporator of heat pump
System
Booleanuse_secHeaGen (from PartialHeatPumpSystem)trueTrue if a bivalent setup is required
Modelica.Units.SI.HeatFlowRateQ_flow_nominal (from PartialHeatPumpSystem)Nominal heat flow rate of second heat generator. Used to calculate input singal y.
Sink
Booleanuse_conPum (from PartialHeatPumpSystem)trueTrue if pump or fan at condenser side are included into this model
Source
Booleanuse_evaPum (from PartialHeatPumpSystem)trueTrue if pump or fan at evaporator side are included into this model
Heat Pump Control › Heating Curve
Booleanuse_tableData (from PartialHeatPumpSystem)trueChoose between tables or function to calculate TSet
AixLib.DataBase.Boiler.DayNightMode.HeatingCurvesDayNightBaseDataDefinitionheatingCurveRecord (from PartialHeatPumpSystem)AixLib.DataBase.Boiler.DayNightMode.HeatingCurves_Vitotronic_Day25_Night10()Record with information about heating curve data
Realdeclination (from PartialHeatPumpSystem)2Declination of heating curve
Realday_hour (from PartialHeatPumpSystem)6Hour of day at which day mode is enabled
Realnight_hour (from PartialHeatPumpSystem)22Hour of day at which night mode is enabled
AixLib.Utilities.Time.Types.ZeroTimezerTim (from PartialHeatPumpSystem)AixLib.Utilities.Time.Types.ZeroTime.NY2017Enumeration for choosing how reference time (time = 0) should be defined. Used for heating curve and antilegionella
Heat Pump Control › Anti Legionella
Booleanuse_antLeg (from PartialHeatPumpSystem)trueTrue if Anti-Legionella control is considered
Modelica.Units.SI.ThermodynamicTemperatureTLegMin (from PartialHeatPumpSystem)333.15Temperature at which the legionella in DWH dies
Modelica.Units.SI.TimeminTimeAntLeg (from PartialHeatPumpSystem)Minimal duration of antilegionella control
Booleanweekly (from PartialHeatPumpSystem)trueSwitch between a daily or weekly trigger approach
IntegertrigWeekDay (from PartialHeatPumpSystem)5Day of the week at which control is triggered
IntegertrigHour (from PartialHeatPumpSystem)3Hour of the day at which control is triggered
Safety Control › General
Booleanuse_sec (from PartialHeatPumpSystem)trueFalse if the Safety block should be disabled
Safety Control › On-/Off Control
Booleanuse_minRunTime (from PartialHeatPumpSystem)falseFalse if minimal runtime of HP is not considered
Modelica.Units.SI.TimeminRunTime (from PartialHeatPumpSystem)300Minimum runtime of heat pump
Booleanuse_minLocTime (from PartialHeatPumpSystem)falseFalse if minimal locktime of HP is not considered
Modelica.Units.SI.TimeminLocTime (from PartialHeatPumpSystem)300Minimum lock time of heat pump
Booleanuse_runPerHou (from PartialHeatPumpSystem)falseFalse if maximal runs per hour of HP are not considered
IntegermaxRunPerHou (from PartialHeatPumpSystem)3Maximal number of on/off cycles in one hour
Booleanpre_n_start (from PartialHeatPumpSystem)falseStart value of pre(n) at initial time
Safety Control › Operational Envelope
Booleanuse_opeEnv (from PartialHeatPumpSystem)trueFalse to allow HP to run out of operational envelope
Booleanuse_opeEnvFroRec (from PartialHeatPumpSystem)falseUse a the operational envelope given in the datasheet
Obsolete.Year2024.DataBase.HeatPump.HeatPumpBaseDataDefinitiondataTable (from PartialHeatPumpSystem)Data Table of HP
Real[:,2]tableUpp (from PartialHeatPumpSystem)[0, 60; 5, 70; 30, 70]Upper boundary of envelope
Modelica.Units.SI.TemperatureDifferencedTHystOperEnv (from PartialHeatPumpSystem)5Temperature difference used for both upper and lower hysteresis in the operational envelope.
Safety Control › Defrost
Booleanuse_deFro (from PartialHeatPumpSystem)trueFalse if defrost in not considered
RealminIceFac (from PartialHeatPumpSystem)Minimal value above which no defrost is necessary
RealdeltaIceFac (from PartialHeatPumpSystem)0.1Bandwitdth for hystereses. If the icing factor is based on the duration of defrost, this value is necessary to avoid state-events.
Booleanuse_chiller (from PartialHeatPumpSystem)falseTrue if defrost operates by changing mode to cooling. False to use an electrical heater
Modelica.Units.SI.PowercalcPel_deFro (from PartialHeatPumpSystem)Calculate how much eletrical energy is used to melt ice
Safety Control › Anti Freeze Control
Booleanuse_antFre (from PartialHeatPumpSystem)falseTrue if anti freeze control is part of safety control
Modelica.Units.SI.ThermodynamicTemperatureTantFre (from PartialHeatPumpSystem)276.15Limit temperature for anti freeze control
Initialization › Parameters
Modelica.Blocks.Types.InitinitType (from PartialHeatPumpSystem)Modelica.Blocks.Types.Init.InitialStateType of initialization (InitialState and InitialOutput are identical)
Initialization › Condenser
Modelica.Media.Interfaces.Types.AbsolutePressurepCon_start (from PartialHeatPumpSystem)Medium_con.p_defaultStart value of pressure
Modelica.Media.Interfaces.Types.TemperatureTCon_start (from PartialHeatPumpSystem)Medium_con.T_defaultStart value of temperature
Modelica.Media.Interfaces.Types.MassFraction[Medium_con.nX]XCon_start (from PartialHeatPumpSystem)Medium_con.X_defaultStart value of mass fractions m_i/m
Modelica.Units.SI.TemperatureTConCap_startMedium_con.T_defaultInitial temperature of heat capacity of condenser
Initialization › Evaporator
Modelica.Media.Interfaces.Types.AbsolutePressurepEva_start (from PartialHeatPumpSystem)Medium_eva.p_defaultStart value of pressure
Modelica.Media.Interfaces.Types.TemperatureTEva_start (from PartialHeatPumpSystem)Medium_eva.T_defaultStart value of temperature
Modelica.Media.Interfaces.Types.MassFraction[Medium_eva.nX]XEva_start (from PartialHeatPumpSystem)Medium_eva.X_defaultStart value of mass fractions m_i/m
Modelica.Units.SI.TemperatureTEvaCap_startMedium_eva.T_defaultInitial temperature of heat capacity at evaporator
Dynamics › Equation
Modelica.Fluid.Types.DynamicsmassDynamics (from PartialHeatPumpSystem)Type of mass balance: dynamic (3 initialization options) or steady state (only affects fluid-models)
Modelica.Fluid.Types.DynamicsenergyDynamics (from PartialHeatPumpSystem)Type of energy balance: dynamic (3 initialization options) or steady state (only affects fluid-models)
Assumptions › Temperature sensors
Modelica.Units.SI.TimetauSenT (from PartialHeatPumpSystem)1Time constant at nominal flow rate (use tau=0 for steady-state sensor, but see user guide for potential problems)
BooleantransferHeat (from PartialHeatPumpSystem)trueIf true, temperature T converges towards TAmb when no flow
Modelica.Units.SI.TimetauHeaTraEva (from PartialHeatPumpSystem)1200Time constant for heat transfer in temperature sensors in evaporator, default 20 minutes
Modelica.Units.SI.TemperatureTAmbEva_nominal (from PartialHeatPumpSystem)273.15Fixed ambient temperature for heat transfer of sensors at the evaporator side
Modelica.Units.SI.TimetauHeaTraCon (from PartialHeatPumpSystem)1200Time constant for heat transfer in temperature sensors in condenser, default 20 minutes
Modelica.Units.SI.TemperatureTAmbCon_nominal (from PartialHeatPumpSystem)291.15Fixed ambient temperature for heat transfer of sensors at the condenser side
Assumptions › Evaporator
BooleanallowFlowReversalEva (from PartialHeatPumpSystem)false= false to simplify equations, assuming, but not enforcing, no flow reversal
BooleanaddPowerToMediumEva (from PartialHeatPumpSystem)trueSet to false to avoid any power (=heat and flow work) being added to medium (may give simpler equations)
Assumptions › Condenser
BooleanallowFlowReversalCon (from PartialHeatPumpSystem)false= false to simplify equations, assuming, but not enforcing, no flow reversal
BooleanaddPowerToMediumCon (from PartialHeatPumpSystem)trueSet to false to avoid any power (=heat and flow work) being added to medium (may give simpler equations)
Heat Pump
Booleanuse_revHPtrueTrue if the HP is reversible
RealscalingFactor1Scaling-factor of HP
Heat Pump › Refrigerant cycle inertia
Booleanuse_refInetrueConsider the inertia of the refrigerant cycle
Modelica.Units.SI.FrequencyrefIneFre_constantCut off frequency representing inertia of refrigerant cycle
IntegernthOrder3Order of refrigerant cycle interia
Evaporator/ Condenser › Condenser
Modelica.Units.SI.VolumeVConVolume in condenser. Typical values range from 1 to 20 l, depending on the size of the heat pump and the mass flow rate.
Modelica.Units.SI.PressureDifferencedpCon_nominalPressure drop at nominal mass flow rate. Only relevant if a mover is used. Try to select values to match the nominal mass flow rate.
RealdeltaM_con0.1Fraction of nominal mass flow rate where transition to turbulent occurs
Booleanuse_conCaptrueIf heat losses at capacitor side are considered or not
Modelica.Units.SI.HeatCapacityCConHeat capacity of Condenser (= cp*m). If you want to neglace the dry mass of the condenser, you can set this value to zero
Modelica.Units.SI.ThermalConductanceGConOutpercHeatLoss*QCon_nominal/(TCon_nominal - TAmbCon_nominal)Constant parameter for heat transfer to the ambient. Represents a sum of thermal resistances such as conductance, insulation and natural convection. If you want to simulate a condenser with additional dry mass but without external heat losses, set the value to zero
Modelica.Units.SI.ThermalConductanceGConInsQCon_nominal/dTPinchConConstant parameter for heat transfer to heat exchangers capacity. Represents a sum of thermal resistances such as forced convection and conduction inside of the capacity
Evaporator/ Condenser › Evaporator
Modelica.Units.SI.VolumeVEvaVolume in evaporator. Typical values range from 1 to 20 l, depending on the size of the heat pump and the mass flow rate.
Modelica.Units.SI.PressureDifferencedpEva_nominalPressure drop at nominal mass flow rate. Only relevant if a mover is used. Try to select values to match the nominal mass flow rate.
RealdeltaM_eva0.1Fraction of nominal mass flow rate where transition to turbulent occurs
Booleanuse_evaCaptrueIf heat losses at capacitor side are considered or not
Modelica.Units.SI.HeatCapacityCEvaHeat capacity of Evaporator (= cp*m). If you want to neglace the dry mass of the evaporator, you can set this value to zero
Modelica.Units.SI.ThermalConductanceGEvaOutpercHeatLoss*QEva_nominal/(TEva_nominal - TAmbEva_nominal)Constant parameter for heat transfer to the ambient. Represents a sum of thermal resistances such as conductance, insulation and natural convection. If you want to simulate a evaporator with additional dry mass but without external heat losses, set the value to zero
Modelica.Units.SI.ThermalConductanceGEvaInsQEva_nominal/dTPinchEvaConstant parameter for heat transfer to heat exchangers capacity. Represents a sum of thermal resistances such as forced convection and conduction inside of the capacity
Initialization › System inertia
Real[nthOrder]x_startzeros(nthOrder)Initial or guess values of states
RealyRefIne_start0Initial or guess value of output (= state)

Connectors

TypeNameDefaultDescription
Modelica.Fluid.Interfaces.FluidPort_aport_a1 (from PartialFourPort)Fluid connector a1 (positive design flow direction is from port_a1 to port_b1)
Modelica.Fluid.Interfaces.FluidPort_bport_b1 (from PartialFourPort)Fluid connector b1 (positive design flow direction is from port_a1 to port_b1)
Modelica.Fluid.Interfaces.FluidPort_aport_a2 (from PartialFourPort)Fluid connector a2 (positive design flow direction is from port_a2 to port_b2)
Modelica.Fluid.Interfaces.FluidPort_bport_b2 (from PartialFourPort)Fluid connector b2 (positive design flow direction is from port_a2 to port_b2)
Modelica.Blocks.Interfaces.RealInputT_oda (from PartialHeatPumpSystem)Outdoor air temperature
Modelica.Blocks.Interfaces.RealInputTAct (from PartialHeatPumpSystem)Supply temperature for controls

Components

TypeNameDefaultDescription
Medium1.MassFlowRatem1_flow (from PartialFourPortInterface)port_a1.m_flowMass flow rate from port_a1 to port_b1 (m1_flow > 0 is design flow direction)
Modelica.Units.SI.PressureDifferencedp1 (from PartialFourPortInterface)port_a1.p - port_b1.pPressure difference between port_a1 and port_b1
Medium2.MassFlowRatem2_flow (from PartialFourPortInterface)port_a2.m_flowMass flow rate from port_a2 to port_b2 (m2_flow > 0 is design flow direction)
Modelica.Units.SI.PressureDifferencedp2 (from PartialFourPortInterface)port_a2.p - port_b2.pPressure difference between port_a2 and port_b2
Medium1.ThermodynamicStatesta_a1 (from PartialFourPortInterface)if allowFlowReversal1 then Medium1.setState_phX(port_a1.p, noEvent(actualStream(port_a1.h_outflow)), noEvent(actualStream(port_a1.Xi_outflow))) else Medium1.setState_phX(port_a1.p, inStream(port_a1.h_outflow), inStream(port_a1.Xi_outflow))Medium properties in port_a1
Medium1.ThermodynamicStatesta_b1 (from PartialFourPortInterface)if allowFlowReversal1 then Medium1.setState_phX(port_b1.p, noEvent(actualStream(port_b1.h_outflow)), noEvent(actualStream(port_b1.Xi_outflow))) else Medium1.setState_phX(port_b1.p, port_b1.h_outflow, port_b1.Xi_outflow)Medium properties in port_b1
Medium2.ThermodynamicStatesta_a2 (from PartialFourPortInterface)if allowFlowReversal2 then Medium2.setState_phX(port_a2.p, noEvent(actualStream(port_a2.h_outflow)), noEvent(actualStream(port_a2.Xi_outflow))) else Medium2.setState_phX(port_a2.p, inStream(port_a2.h_outflow), inStream(port_a2.Xi_outflow))Medium properties in port_a2
Medium2.ThermodynamicStatesta_b2 (from PartialFourPortInterface)if allowFlowReversal2 then Medium2.setState_phX(port_b2.p, noEvent(actualStream(port_b2.h_outflow)), noEvent(actualStream(port_b2.Xi_outflow))) else Medium2.setState_phX(port_b2.p, port_b2.h_outflow, port_b2.Xi_outflow)Medium properties in port_b2
AixLib.Fluid.Interfaces.PartialFourPortInterfaceheatPump (from PartialHeatPumpSystem)
AixLib.Fluid.Movers.SpeedControlled_ypumSin (from PartialHeatPumpSystem)Fan or pump at sink side of HP
AixLib.Fluid.Movers.SpeedControlled_ypumSou (from PartialHeatPumpSystem)Fan or pump at source side of HP
AixLib.Fluid.Interfaces.PassThroughMediummediumPassThroughSin (from PartialHeatPumpSystem)
AixLib.Fluid.Interfaces.PassThroughMediummediumPassThroughSou (from PartialHeatPumpSystem)
SecHeatGensecHeaGen (from PartialHeatPumpSystem)
AixLib.Fluid.Interfaces.PassThroughMediummediumPassThroughSecHeaGen (from PartialHeatPumpSystem)Used if monovalent HP System
AixLib.Obsolete.Year2024.Systems.HeatPumpSystems.BaseClasses.HPSystemControllerhPSystemController (from PartialHeatPumpSystem)

Contents

NameDescription
PerDataHea
PerDataChi

Revisions

  • October 31, 2018  by Alexander Kümpel:
    Connection between controller and heat pump only via bus connector
  • May 22, 2019 by Julian Matthes:
    Rebuild due to the introducion of the thermal machine partial model (see issue #715)
  • November 26, 2018  by Fabian Wüllhorst:
    First implementation (see issue #577)