modelPartialHeatPumpSystem

Partial model containing the basic heat pump block and different control blocks(optional)

Extends from AixLib.Fluid.Interfaces.PartialFourPortInterface (Partial model with four ports and declaration of quantities that are used by many models), AixLib.Obsolete.Year2024.Systems.HeatPumpSystems.BaseClasses.HeatPumpSystemParameters (Parameters for design point of a heat pump system).

Information

Partial heat pump system. This model is used to enable the use of different heat pump models in the resulting heat pump system.

Characteristics

  1. HPSystemController: Model used to calculate a relative compressor speed and heat pump mode based on the ambient temperature and current supply temperature.
  2. HeatPump: Any model out of AixLib.Fluid.HeatPumps. Only restrain is the use of the signal bus. One has to first add the sigBus to the existing heat pump model.
  3. Movers: Any model out of AixLib.Fluid.Movers to move the used sink or source medium through the heat exchanger.
  4. Second heat generator: Any two port interface. This model should represent an auxiliar heater or a boiler in order to simulate a bivalent or hybrid heat pump system.

Parameters

TypeNameDefaultDescription
Medium_con.ThermodynamicStatestateCon_defaultMedium_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_defaultMedium_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
AixLib.Fluid.Movers.Data.GenericperCon
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_conNominalNominal mass flow rate, used for regularization near zero flow
Modelica.Units.SI.MassFlowRatemFlow_evaNominalNominal 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_secHeaGentrueTrue if a bivalent setup is required
Modelica.Units.SI.HeatFlowRateQ_flow_nominalNominal heat flow rate of second heat generator. Used to calculate input singal y.
Sink
Booleanuse_conPumtrueTrue if pump or fan at condenser side are included into this model
Source
Booleanuse_evaPumtrueTrue if pump or fan at evaporator side are included into this model
Heat Pump Control › Heating Curve
Booleanuse_tableDatatrueChoose between tables or function to calculate TSet
AixLib.DataBase.Boiler.DayNightMode.HeatingCurvesDayNightBaseDataDefinitionheatingCurveRecordAixLib.DataBase.Boiler.DayNightMode.HeatingCurves_Vitotronic_Day25_Night10()Record with information about heating curve data
Realdeclination2Declination of heating curve
Realday_hour6Hour of day at which day mode is enabled
Realnight_hour22Hour of day at which night mode is enabled
AixLib.Utilities.Time.Types.ZeroTimezerTimAixLib.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_antLegtrueTrue if Anti-Legionella control is considered
Modelica.Units.SI.ThermodynamicTemperatureTLegMin333.15Temperature at which the legionella in DWH dies
Modelica.Units.SI.TimeminTimeAntLegMinimal duration of antilegionella control
BooleanweeklytrueSwitch between a daily or weekly trigger approach
IntegertrigWeekDay5Day of the week at which control is triggered
IntegertrigHour3Hour of the day at which control is triggered
Safety Control › General
Booleanuse_sectrueFalse if the Safety block should be disabled
Safety Control › On-/Off Control
Booleanuse_minRunTimefalseFalse if minimal runtime of HP is not considered
Modelica.Units.SI.TimeminRunTime300Minimum runtime of heat pump
Booleanuse_minLocTimefalseFalse if minimal locktime of HP is not considered
Modelica.Units.SI.TimeminLocTime300Minimum lock time of heat pump
Booleanuse_runPerHoufalseFalse if maximal runs per hour of HP are not considered
IntegermaxRunPerHou3Maximal number of on/off cycles in one hour
Booleanpre_n_startfalseStart value of pre(n) at initial time
Safety Control › Operational Envelope
Booleanuse_opeEnvtrueFalse to allow HP to run out of operational envelope
Booleanuse_opeEnvFroRecfalseUse a the operational envelope given in the datasheet
Obsolete.Year2024.DataBase.HeatPump.HeatPumpBaseDataDefinitiondataTableData Table of HP
Real[:,2]tableUpp[0, 60; 5, 70; 30, 70]Upper boundary of envelope
Modelica.Units.SI.TemperatureDifferencedTHystOperEnv5Temperature difference used for both upper and lower hysteresis in the operational envelope.
Safety Control › Defrost
Booleanuse_deFrotrueFalse if defrost in not considered
RealminIceFacMinimal value above which no defrost is necessary
RealdeltaIceFac0.1Bandwitdth for hystereses. If the icing factor is based on the duration of defrost, this value is necessary to avoid state-events.
Booleanuse_chillerfalseTrue if defrost operates by changing mode to cooling. False to use an electrical heater
Modelica.Units.SI.PowercalcPel_deFroCalculate how much eletrical energy is used to melt ice
Safety Control › Anti Freeze Control
Booleanuse_antFrefalseTrue if anti freeze control is part of safety control
Modelica.Units.SI.ThermodynamicTemperatureTantFre276.15Limit temperature for anti freeze control
Initialization › Parameters
Modelica.Blocks.Types.InitinitTypeModelica.Blocks.Types.Init.InitialStateType of initialization (InitialState and InitialOutput are identical)
Initialization › Condenser
Modelica.Media.Interfaces.Types.AbsolutePressurepCon_startMedium_con.p_defaultStart value of pressure
Modelica.Media.Interfaces.Types.TemperatureTCon_startMedium_con.T_defaultStart value of temperature
Modelica.Media.Interfaces.Types.MassFraction[Medium_con.nX]XCon_startMedium_con.X_defaultStart value of mass fractions m_i/m
Initialization › Evaporator
Modelica.Media.Interfaces.Types.AbsolutePressurepEva_startMedium_eva.p_defaultStart value of pressure
Modelica.Media.Interfaces.Types.TemperatureTEva_startMedium_eva.T_defaultStart value of temperature
Modelica.Media.Interfaces.Types.MassFraction[Medium_eva.nX]XEva_startMedium_eva.X_defaultStart value of mass fractions m_i/m
Dynamics › Equation
Modelica.Fluid.Types.DynamicsmassDynamicsType of mass balance: dynamic (3 initialization options) or steady state (only affects fluid-models)
Modelica.Fluid.Types.DynamicsenergyDynamicsType of energy balance: dynamic (3 initialization options) or steady state (only affects fluid-models)
Assumptions › Temperature sensors
Modelica.Units.SI.TimetauSenT1Time constant at nominal flow rate (use tau=0 for steady-state sensor, but see user guide for potential problems)
BooleantransferHeattrueIf true, temperature T converges towards TAmb when no flow
Modelica.Units.SI.TimetauHeaTraEva1200Time constant for heat transfer in temperature sensors in evaporator, default 20 minutes
Modelica.Units.SI.TemperatureTAmbEva_nominal273.15Fixed ambient temperature for heat transfer of sensors at the evaporator side
Modelica.Units.SI.TimetauHeaTraCon1200Time constant for heat transfer in temperature sensors in condenser, default 20 minutes
Modelica.Units.SI.TemperatureTAmbCon_nominal291.15Fixed ambient temperature for heat transfer of sensors at the condenser side
Assumptions › Evaporator
BooleanallowFlowReversalEvafalse= false to simplify equations, assuming, but not enforcing, no flow reversal
BooleanaddPowerToMediumEvatrueSet to false to avoid any power (=heat and flow work) being added to medium (may give simpler equations)
Assumptions › Condenser
BooleanallowFlowReversalConfalse= false to simplify equations, assuming, but not enforcing, no flow reversal
BooleanaddPowerToMediumContrueSet to false to avoid any power (=heat and flow work) being added to medium (may give simpler equations)

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_odaOutdoor air temperature
Modelica.Blocks.Interfaces.RealInputTActSupply 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
AixLib.Fluid.Movers.SpeedControlled_ypumSinFan or pump at sink side of HP
AixLib.Fluid.Movers.SpeedControlled_ypumSouFan or pump at source side of HP
AixLib.Fluid.Interfaces.PassThroughMediummediumPassThroughSin
AixLib.Fluid.Interfaces.PassThroughMediummediumPassThroughSou
SecHeatGensecHeaGen
AixLib.Fluid.Interfaces.PassThroughMediummediumPassThroughSecHeaGenUsed if monovalent HP System
AixLib.Obsolete.Year2024.Systems.HeatPumpSystems.BaseClasses.HPSystemControllerhPSystemController

Contents

NameDescription
Medium_conMedium at sink side
Medium_evaMedium at source side
SecHeatGen
TSetToNSet
HeatingCurveFunction

Revisions

  • 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)