modelPartialHeatPumpSystem
Partial model containing the basic heat pump block and different control blocks(optional)
Extends from AixLib.Fluid.Interfaces.PartialFourPortInterface, AixLib.Obsolete.Year2024.Systems.HeatPumpSystems.BaseClasses.HeatPumpSystemParameters.
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
- HPSystemController: Model used to calculate a relative compressor speed and heat pump mode based on the ambient temperature and current supply temperature.
- 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.
- Movers: Any model out of AixLib.Fluid.Movers to move the used sink or source medium through the heat exchanger.
- 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
| Type | Name | Default | Description |
|---|---|---|---|
| Medium_con.ThermodynamicState | stateCon_default | 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.ThermodynamicState | stateEva_default | 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.Generic | perEva | ||
| AixLib.Fluid.Movers.Data.Generic | perCon | ||
| Nominal condition | |||
| Modelica.Units.SI.MassFlowRate | mFlow_conNominal | Nominal mass flow rate, used for regularization near zero flow | |
| Modelica.Units.SI.MassFlowRate | mFlow_evaNominal | Nominal mass flow rate | |
| System | |||
| Boolean | use_secHeaGen | true | True if a bivalent setup is required |
| Modelica.Units.SI.HeatFlowRate | Q_flow_nominal | Nominal heat flow rate of second heat generator. Used to calculate input singal y. | |
| Sink | |||
| Boolean | use_conPum | true | True if pump or fan at condenser side are included into this model |
| Source | |||
| Boolean | use_evaPum | true | True if pump or fan at evaporator side are included into this model |
| Heat Pump Control › Heating Curve | |||
| Boolean | use_tableData | true | Choose between tables or function to calculate TSet |
| AixLib.DataBase.Boiler.DayNightMode.HeatingCurvesDayNightBaseDataDefinition | heatingCurveRecord | AixLib.DataBase.Boiler.DayNightMode.HeatingCurves_Vitotronic_Day25_Night10() | Record with information about heating curve data |
| Real | declination | 2 | Declination of heating curve |
| Real | day_hour | 6 | Hour of day at which day mode is enabled |
| Real | night_hour | 22 | Hour of day at which night mode is enabled |
| AixLib.Utilities.Time.Types.ZeroTime | zerTim | AixLib.Utilities.Time.Types.ZeroTime.NY2017 | Enumeration for choosing how reference time (time = 0) should be defined. Used for heating curve and antilegionella |
| Heat Pump Control › Anti Legionella | |||
| Boolean | use_antLeg | true | True if Anti-Legionella control is considered |
| Modelica.Units.SI.ThermodynamicTemperature | TLegMin | 333.15 | Temperature at which the legionella in DWH dies |
| Modelica.Units.SI.Time | minTimeAntLeg | Minimal duration of antilegionella control | |
| Boolean | weekly | true | Switch between a daily or weekly trigger approach |
| Integer | trigWeekDay | 5 | Day of the week at which control is triggered |
| Integer | trigHour | 3 | Hour of the day at which control is triggered |
| Safety Control › General | |||
| Boolean | use_sec | true | False if the Safety block should be disabled |
| Safety Control › On-/Off Control | |||
| Boolean | use_minRunTime | false | False if minimal runtime of HP is not considered |
| Modelica.Units.SI.Time | minRunTime | 300 | Minimum runtime of heat pump |
| Boolean | use_minLocTime | false | False if minimal locktime of HP is not considered |
| Modelica.Units.SI.Time | minLocTime | 300 | Minimum lock time of heat pump |
| Boolean | use_runPerHou | false | False if maximal runs per hour of HP are not considered |
| Integer | maxRunPerHou | 3 | Maximal number of on/off cycles in one hour |
| Boolean | pre_n_start | false | Start value of pre(n) at initial time |
| Safety Control › Operational Envelope | |||
| Boolean | use_opeEnv | true | False to allow HP to run out of operational envelope |
| Boolean | use_opeEnvFroRec | false | Use a the operational envelope given in the datasheet |
| Obsolete.Year2024.DataBase.HeatPump.HeatPumpBaseDataDefinition | dataTable | Data Table of HP | |
| Real[:,2] | tableUpp | [0, 60; 5, 70; 30, 70] | Upper boundary of envelope |
| Modelica.Units.SI.TemperatureDifference | dTHystOperEnv | 5 | Temperature difference used for both upper and lower hysteresis in the operational envelope. |
| Safety Control › Defrost | |||
| Boolean | use_deFro | true | False if defrost in not considered |
| Real | minIceFac | Minimal value above which no defrost is necessary | |
| Real | deltaIceFac | 0.1 | Bandwitdth for hystereses. If the icing factor is based on the duration of defrost, this value is necessary to avoid state-events. |
| Boolean | use_chiller | false | True if defrost operates by changing mode to cooling. False to use an electrical heater |
| Modelica.Units.SI.Power | calcPel_deFro | Calculate how much eletrical energy is used to melt ice | |
| Safety Control › Anti Freeze Control | |||
| Boolean | use_antFre | false | True if anti freeze control is part of safety control |
| Modelica.Units.SI.ThermodynamicTemperature | TantFre | 276.15 | Limit temperature for anti freeze control |
| Initialization › Parameters | |||
| Modelica.Blocks.Types.Init | initType | Modelica.Blocks.Types.Init.InitialState | Type of initialization (InitialState and InitialOutput are identical) |
| Initialization › Condenser | |||
| Modelica.Media.Interfaces.Types.AbsolutePressure | pCon_start | Medium_con.p_default | Start value of pressure |
| Modelica.Media.Interfaces.Types.Temperature | TCon_start | Medium_con.T_default | Start value of temperature |
| Modelica.Media.Interfaces.Types.MassFraction[Medium_con.nX] | XCon_start | Medium_con.X_default | Start value of mass fractions m_i/m |
| Initialization › Evaporator | |||
| Modelica.Media.Interfaces.Types.AbsolutePressure | pEva_start | Medium_eva.p_default | Start value of pressure |
| Modelica.Media.Interfaces.Types.Temperature | TEva_start | Medium_eva.T_default | Start value of temperature |
| Modelica.Media.Interfaces.Types.MassFraction[Medium_eva.nX] | XEva_start | Medium_eva.X_default | Start value of mass fractions m_i/m |
| Dynamics › Equation | |||
| Modelica.Fluid.Types.Dynamics | massDynamics | Type of mass balance: dynamic (3 initialization options) or steady state (only affects fluid-models) | |
| Modelica.Fluid.Types.Dynamics | energyDynamics | Type of energy balance: dynamic (3 initialization options) or steady state (only affects fluid-models) | |
| Assumptions › Temperature sensors | |||
| Modelica.Units.SI.Time | tauSenT | 1 | Time constant at nominal flow rate (use tau=0 for steady-state sensor, but see user guide for potential problems) |
| Boolean | transferHeat | true | If true, temperature T converges towards TAmb when no flow |
| Modelica.Units.SI.Time | tauHeaTraEva | 1200 | Time constant for heat transfer in temperature sensors in evaporator, default 20 minutes |
| Modelica.Units.SI.Temperature | TAmbEva_nominal | 273.15 | Fixed ambient temperature for heat transfer of sensors at the evaporator side |
| Modelica.Units.SI.Time | tauHeaTraCon | 1200 | Time constant for heat transfer in temperature sensors in condenser, default 20 minutes |
| Modelica.Units.SI.Temperature | TAmbCon_nominal | 291.15 | Fixed ambient temperature for heat transfer of sensors at the condenser side |
| Assumptions › Evaporator | |||
| Boolean | allowFlowReversalEva | false | = false to simplify equations, assuming, but not enforcing, no flow reversal |
| Boolean | addPowerToMediumEva | true | Set to false to avoid any power (=heat and flow work) being added to medium (may give simpler equations) |
| Assumptions › Condenser | |||
| Boolean | allowFlowReversalCon | false | = false to simplify equations, assuming, but not enforcing, no flow reversal |
| Boolean | addPowerToMediumCon | true | Set to false to avoid any power (=heat and flow work) being added to medium (may give simpler equations) |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| AixLib.Fluid.Interfaces.PartialFourPortInterface | heatPump | ||
| AixLib.Fluid.Movers.SpeedControlled_y | pumSin | Fan or pump at sink side of HP | |
| AixLib.Fluid.Movers.SpeedControlled_y | pumSou | Fan or pump at source side of HP | |
| Modelica.Blocks.Interfaces.RealInput | T_oda | Outdoor air temperature | |
| AixLib.Fluid.Interfaces.PassThroughMedium | mediumPassThroughSin | ||
| AixLib.Fluid.Interfaces.PassThroughMedium | mediumPassThroughSou | ||
| SecHeatGen | secHeaGen | ||
| AixLib.Fluid.Interfaces.PassThroughMedium | mediumPassThroughSecHeaGen | Used if monovalent HP System | |
| AixLib.Obsolete.Year2024.Systems.HeatPumpSystems.BaseClasses.HPSystemController | hPSystemController | ||
| Modelica.Blocks.Interfaces.RealInput | TAct | Supply temperature for controls |
Contents
| Name | Description |
|---|---|
| Medium_con | Medium at sink side |
| Medium_eva | Medium at source side |
| SecHeatGen | |
| TSetToNSet | |
| HeatingCurveFunction |