Buildings.Fluid.HeatPumps.ModularReversible
Package for reversible and non-reversible heat pumps using a modular model approach
Information
Package with models and packages for the modular reversible heat pump approach. See the Buildings.Fluid.HeatPumps.ModularReversible.UsersGuide for more information.
Extends from Modelica.Icons.VariantsPackage (Icon for package containing variants).
Package Content
| Name | Description |
|---|---|
| User's Guide for modular reversible heat pump and chiller models | |
| Reversible air to water heat pump based on 2D manufacturer data in Europe | |
| Heat pump using the Carnot approach, but with added reversibility and losses (heat, frost, inertia) | |
| Model with automatic parameter estimation for large scale water-to-water heat pumps | |
| Grey-box model for reversible and non-reversible heat pumps | |
| Reversible heat pump based on 2D manufacturer data | |
| Grey-box model for reversible and non-reversible heat pumps | |
| Grey-box model for multipipe heat pumps | |
| Package of control sequences | |
| Package for heat pupmp refrigerant cycle modules | |
| Package with data for modular reversible heat pump models | |
| Package with type definitions | |
| Collection of models that illustrate model use and test models | |
| Collection of validation models | |
| Package with base classes for Buildings.Fluid.HeatPumps.ModularReversible |
Buildings.Fluid.HeatPumps.ModularReversible.AirToWaterTableData2D
Reversible air to water heat pump based on 2D manufacturer data in Europe
Information
Reversible air-to-water heat pump based on two-dimensional data from manufacturer data, (e.g. based on EN 14511), using the Buildings.Fluid.HeatPumps.ModularReversible.Modular approach.
For more information on the approach, see Buildings.Fluid.HeatPumps.ModularReversible.UsersGuide.
Internal inertias and heat losses are neglected, as these are implicitly obtained in measured data from manufacturers. Also, icing is disabled as the performance degradation is already contained in the data.
Please read the documentation of the model for heating at Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.TableData2D.
For cooling, the assumptions are similar, and described at Buildings.Fluid.Chillers.ModularReversible.RefrigerantCycle.TableData2D
References
EN 14511-2018: Air conditioners, liquid chilling packages and heat pumps for space heating and cooling and process chillers, with electrically driven compressors https://www.beuth.de/de/norm/din-en-14511-1/298537524
Extends from Buildings.Fluid.HeatPumps.ModularReversible.TableData2D (Reversible heat pump based on 2D manufacturer data).
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| replaceable package MediumCon | PartialMedium | Medium on condenser side | |
| replaceable package MediumEva | PartialMedium | Medium on evaporator side | |
| Nominal condition | |||
| HeatFlowRate | QHea_flow_nominal | Nominal heating capacity [W] | |
| Temperature | TConHea_nominal | Nominal temperature of the heated fluid during heating mode [K] | |
| Temperature | TEvaHea_nominal | Nominal temperature of the cooled fluid during heating mode [K] | |
| Safety control | |||
| Boolean | use_intSafCtr | true | =true to enable internal safety control |
| Wuellhorst2021 | safCtrPar | redeclare replaceable Buildi... | Safety control parameters |
| Nominal condition - Pressure losses | |||
| TemperatureDifference | dTCon_nominal | QHea_flow_nominal/cpCon/mCon... | Nominal temperature difference in condenser medium, used to calculate mass flow rate [K] |
| MassFlowRate | mCon_flow_nominal | datTabHea.mCon_flow_nominal*... | Nominal mass flow rate of the condenser medium [kg/s] |
| PressureDifference | dpCon_nominal | datTabHea.dpCon_nominal*scaF... | Pressure drop at nominal mass flow rate [Pa] |
| TemperatureDifference | dTEva_nominal | (QHea_flow_nominal - PEle_no... | Nominal temperature difference in evaporator medium, used to calculate mass flow rate [K] |
| MassFlowRate | mEva_flow_nominal | datTabHea.mEva_flow_nominal*... | Nominal mass flow rate of the evaporator medium [kg/s] |
| PressureDifference | dpEva_nominal | datTabHea.dpEva_nominal*scaF... | Pressure drop at nominal mass flow rate [Pa] |
| Nominal condition - Cooling | |||
| HeatFlowRate | QCoo_flow_nominal | refCyc.refCycHeaPumCoo.QCooN... | Nominal cooling capacity [W] |
| Temperature | TConCoo_nominal | Nominal temperature of the cooled fluid during cooling mode [K] | |
| Temperature | TEvaCoo_nominal | Nominal temperature of the heated fluid during cooling mode [K] | |
| Assumptions | |||
| Evaporator | |||
| Boolean | allowFlowReversalEva | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
| Condenser | |||
| Boolean | allowFlowReversalCon | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
| Advanced | |||
| Boolean | allowDifferentDeviceIdentifiers | false | if use_rev=true, device data for cooling and heating need to entered. Set allowDifferentDeviceIdentifiers=true to allow different device identifiers devIde |
| Boolean | calEff | true | =false to disable efficiency calculation, may speed up the simulation |
| Real | limWarSca | 0.05 | Allowed difference in scaling '|scaFacHea - scaFacCoo| / scaFacHea', if exceeded, a warning will be issued [1] |
| Smoothness | smoothness | Modelica.Blocks.Types.Smooth... | Smoothness of table interpolation |
| Extrapolation | extrapolation | Modelica.Blocks.Types.Extrap... | Extrapolation of data outside the definition range |
| Diagnostics | |||
| Boolean | show_T | false | = true, if actual temperature at port is computed |
| Real | ySet_small | 0.01 | Threshold for relative speed for the device to be considered on |
| Flow resistance | |||
| Boolean | from_dp | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
| Boolean | linearized | false | = true, use linear relation between m_flow and dp for any flow rate |
| Condenser | |||
| Dynamics | |||
| Time | tauCon | 30 | Condenser heat transfer time constant at nominal flow [s] |
| Flow resistance | |||
| Real | deltaMCon | 0.1 | Fraction of nominal mass flow rate where transition to turbulent occurs |
| Heat Losses | |||
| Boolean | use_conCap | false | =true if using capacitor model for condenser heat loss estimation |
| HeatCapacity | CCon | 0 | Heat capacity of the condenser [J/K] |
| ThermalConductance | GConOut | 0 | Outer thermal conductance for condenser heat loss calculations [W/K] |
| ThermalConductance | GConIns | 0 | Inner thermal conductance for condenser heat loss calculations [W/K] |
| Evaporator | |||
| Dynamics | |||
| Time | tauEva | 30 | Evaporator heat transfer time constant at nominal flow [s] |
| Flow resistance | |||
| Real | deltaMEva | 0.1 | Fraction of nominal mass flow rate where transition to turbulent occurs |
| Heat Losses | |||
| Boolean | use_evaCap | false | =true if using capacitor model for evaporator heat loss estimation |
| HeatCapacity | CEva | 0 | Heat capacity of the evaporator [J/K] |
| ThermalConductance | GEvaOut | 0 | Outer thermal conductance for evaporator heat loss calculations [W/K] |
| ThermalConductance | GEvaIns | 0 | Inner thermal conductance for evaporator heat loss calculations [W/K] |
| Initialization | |||
| Parameters | |||
| Init | initType | Modelica.Blocks.Types.Init.I... | Type of initialization for refrigerant cycle dynamics (InitialState and InitialOutput are identical) |
| Condenser | |||
| AbsolutePressure | pCon_start | MediumCon.p_default | Start value of pressure [Pa] |
| Temperature | TCon_start | MediumCon.T_default | Start value of temperature [K] |
| Temperature | TConCap_start | MediumCon.T_default | Initial temperature of heat capacity of condenser [K] |
| MassFraction | XCon_start[MediumCon.nX] | MediumCon.X_default | Start value of mass fractions m_i/m [kg/kg] |
| Evaporator | |||
| AbsolutePressure | pEva_start | MediumEva.p_default | Start value of pressure [Pa] |
| Temperature | TEva_start | MediumEva.T_default | Start value of temperature [K] |
| Temperature | TEvaCap_start | MediumEva.T_default | Initial temperature of heat capacity at evaporator [K] |
| MassFraction | XEva_start[MediumEva.nX] | MediumEva.X_default | Start value of mass fractions m_i/m [kg/kg] |
| Dynamics | |||
| Equation | |||
| Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamic... | Type of energy balance: dynamic (3 initialization options) or steady state (only affects fluid-models) |
Connectors
| Type | Name | Description |
|---|---|---|
| FluidPort_a | port_a1 | Fluid connector a1 (positive design flow direction is from port_a1 to port_b1) |
| FluidPort_b | port_b1 | Fluid connector b1 (positive design flow direction is from port_a1 to port_b1) |
| FluidPort_a | port_a2 | Fluid connector a2 (positive design flow direction is from port_a2 to port_b2) |
| FluidPort_b | port_b2 | Fluid connector b2 (positive design flow direction is from port_a2 to port_b2) |
| replaceable package MediumCon | Medium on condenser side | |
| replaceable package MediumEva | Medium on evaporator side | |
| input RealInput | ySet | Relative compressor speed between 0 and 1 |
| input RealInput | TEvaAmb | Ambient temperature on the evaporator side [K] |
| input RealInput | TConAmb | Ambient temperature on the condenser side [K] |
| output RealOutput | QCon_flow | Actual heating heat flow rate added to fluid 1 [W] |
| output RealOutput | P | Electric power consumed by compressor [W] |
| output RealOutput | QEva_flow | Actual cooling heat flow rate removed from fluid 2 [W] |
| output RealOutput | EER | Energy efficieny ratio [1] |
| output RealOutput | COP | Coefficient of performance [1] |
| input BooleanInput | hea | =true for heating, =false for cooling |
Modelica definition
Buildings.Fluid.HeatPumps.ModularReversible.CarnotWithLosses
Heat pump using the Carnot approach, but with added reversibility and losses (heat, frost, inertia)
Information
Model of a reversible heat pump.
This model extends Buildings.Fluid.HeatPumps.ModularReversible.Modular and selects the constant Carnot effectiveness module for heat pumps ( Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.ConstantCarnotEffectiveness) and chillers ( Buildings.Fluid.Chillers.ModularReversible.RefrigerantCycle.ConstantCarnotEffectiveness) to model a reversible heat pump. For the heating operation, the approach temperatures are fixed at nominal values to avoid nonlinear system of equations.
Furthermore, losses are enabled to model the heat pump with a more realistic behaviour:
- Heat losses to the ambient (can be disabled)
- Refrigerant inertia using a first order delay
- Evaporator frosting assuming an air-sink chiller
For more information on the approach, see Buildings.Fluid.HeatPumps.ModularReversible.UsersGuide.
Extends from Buildings.Fluid.HeatPumps.ModularReversible.Modular (Grey-box model for reversible and non-reversible heat pumps).
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| replaceable package MediumCon | PartialMedium | Medium on condenser side | |
| replaceable package MediumEva | PartialMedium | Medium on evaporator side | |
| Boolean | use_rev | false | =true if the chiller or heat pump is reversible |
| replaceable model RefrigerantCycleHeatPumpHeating | Buildings.Fluid.HeatPumps.Mo... | Refrigerant cycle module for the heating mode | |
| replaceable model RefrigerantCycleHeatPumpCooling | NoCooling | Refrigerant cycle module for the cooling mode | |
| Real | etaCarnot_nominal | 0.3 | Constant Carnot effectiveness |
| Nominal condition | |||
| HeatFlowRate | QHea_flow_nominal | Nominal heating capacity [W] | |
| Temperature | TConHea_nominal | Nominal temperature of the heated fluid during heating mode [K] | |
| Temperature | TEvaHea_nominal | Nominal temperature of the cooled fluid during heating mode [K] | |
| TemperatureDifference | TAppCon_nominal | if cpCon < 1500 then 5 else 2 | Temperature difference between refrigerant and working fluid outlet in condenser [K] |
| TemperatureDifference | TAppEva_nominal | if cpEva < 1500 then 5 else 2 | Temperature difference between refrigerant and working fluid outlet in evaporator [K] |
| Inertia | |||
| replaceable model RefrigerantCycleInertia | NoInertia | Inertia between the refrigerant cycle outputs and the heat exchangers. | |
| Safety control | |||
| Boolean | use_intSafCtr | true | =true to enable internal safety control |
| Wuellhorst2021 | safCtrPar | redeclare parameter Building... | Safety control parameters |
| Nominal condition - Pressure losses | |||
| TemperatureDifference | dTCon_nominal | Nominal temperature difference in condenser medium, used to calculate mass flow rate [K] | |
| MassFlowRate | mCon_flow_nominal | QHea_flow_nominal/(dTCon_nom... | Nominal mass flow rate of the condenser medium [kg/s] |
| PressureDifference | dpCon_nominal | Pressure drop at nominal mass flow rate [Pa] | |
| TemperatureDifference | dTEva_nominal | Nominal temperature difference in evaporator medium, used to calculate mass flow rate [K] | |
| MassFlowRate | mEva_flow_nominal | (QHea_flow_nominal - PEle_no... | Nominal mass flow rate of the evaporator medium [kg/s] |
| PressureDifference | dpEva_nominal | Pressure drop at nominal mass flow rate [Pa] | |
| Nominal condition - Cooling | |||
| HeatFlowRate | QCoo_flow_nominal | -PEle_nominal*refCyc.refCycH... | Nominal cooling capacity [W] |
| Temperature | TConCoo_nominal | Nominal temperature of the cooled fluid during cooling mode [K] | |
| Temperature | TEvaCoo_nominal | Nominal temperature of the heated fluid during cooling mode [K] | |
| Refrigerant cycle inertia | |||
| Time | refIneTimCon | 300 | Refrigerant cycle inertia time constant for first order delay [s] |
| Integer | nthOrd | 1 | Order of refrigerant cycle interia |
| Assumptions | |||
| Evaporator | |||
| Boolean | allowFlowReversalEva | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
| Condenser | |||
| Boolean | allowFlowReversalCon | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
| Advanced | |||
| Boolean | allowDifferentDeviceIdentifiers | false | if use_rev=true, device data for cooling and heating need to entered. Set allowDifferentDeviceIdentifiers=true to allow different device identifiers devIde |
| Boolean | calEff | true | =false to disable efficiency calculation, may speed up the simulation |
| Real | limWarSca | 0.05 | Allowed difference in scaling '|scaFacHea - scaFacCoo| / scaFacHea', if exceeded, a warning will be issued [1] |
| Diagnostics | |||
| Boolean | show_T | false | = true, if actual temperature at port is computed |
| Real | ySet_small | 0.01 | Threshold for relative speed for the device to be considered on |
| Flow resistance | |||
| Boolean | from_dp | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
| Boolean | linearized | false | = true, use linear relation between m_flow and dp for any flow rate |
| Condenser | |||
| Dynamics | |||
| Time | tauCon | 30 | Condenser heat transfer time constant at nominal flow [s] |
| Flow resistance | |||
| Real | deltaMCon | 0.1 | Fraction of nominal mass flow rate where transition to turbulent occurs |
| Heat Losses | |||
| Boolean | use_conCap | true | =true if using capacitor model for condenser heat loss estimation |
| HeatCapacity | CCon | 0 | Heat capacity of the condenser [J/K] |
| ThermalConductance | GConOut | 0 | Outer thermal conductance for condenser heat loss calculations [W/K] |
| ThermalConductance | GConIns | 0 | Inner thermal conductance for condenser heat loss calculations [W/K] |
| Evaporator | |||
| Dynamics | |||
| Time | tauEva | 30 | Evaporator heat transfer time constant at nominal flow [s] |
| Flow resistance | |||
| Real | deltaMEva | 0.1 | Fraction of nominal mass flow rate where transition to turbulent occurs |
| Heat Losses | |||
| Boolean | use_evaCap | true | =true if using capacitor model for evaporator heat loss estimation |
| HeatCapacity | CEva | 0 | Heat capacity of the evaporator [J/K] |
| ThermalConductance | GEvaOut | 0 | Outer thermal conductance for evaporator heat loss calculations [W/K] |
| ThermalConductance | GEvaIns | 0 | Inner thermal conductance for evaporator heat loss calculations [W/K] |
| Initialization | |||
| Parameters | |||
| Init | initType | Modelica.Blocks.Types.Init.I... | Type of initialization for refrigerant cycle dynamics (InitialState and InitialOutput are identical) |
| Condenser | |||
| AbsolutePressure | pCon_start | MediumCon.p_default | Start value of pressure [Pa] |
| Temperature | TCon_start | MediumCon.T_default | Start value of temperature [K] |
| Temperature | TConCap_start | MediumCon.T_default | Initial temperature of heat capacity of condenser [K] |
| MassFraction | XCon_start[MediumCon.nX] | MediumCon.X_default | Start value of mass fractions m_i/m [kg/kg] |
| Evaporator | |||
| AbsolutePressure | pEva_start | MediumEva.p_default | Start value of pressure [Pa] |
| Temperature | TEva_start | MediumEva.T_default | Start value of temperature [K] |
| Temperature | TEvaCap_start | MediumEva.T_default | Initial temperature of heat capacity at evaporator [K] |
| MassFraction | XEva_start[MediumEva.nX] | MediumEva.X_default | Start value of mass fractions m_i/m [kg/kg] |
| Dynamics | |||
| Equation | |||
| Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamic... | Type of energy balance: dynamic (3 initialization options) or steady state (only affects fluid-models) |
Connectors
| Type | Name | Description |
|---|---|---|
| FluidPort_a | port_a1 | Fluid connector a1 (positive design flow direction is from port_a1 to port_b1) |
| FluidPort_b | port_b1 | Fluid connector b1 (positive design flow direction is from port_a1 to port_b1) |
| FluidPort_a | port_a2 | Fluid connector a2 (positive design flow direction is from port_a2 to port_b2) |
| FluidPort_b | port_b2 | Fluid connector b2 (positive design flow direction is from port_a2 to port_b2) |
| input RealInput | ySet | Relative compressor speed between 0 and 1 |
| input RealInput | TEvaAmb | Ambient temperature on the evaporator side [K] |
| input RealInput | TConAmb | Ambient temperature on the condenser side [K] |
| output RealOutput | QCon_flow | Actual heating heat flow rate added to fluid 1 [W] |
| output RealOutput | P | Electric power consumed by compressor [W] |
| output RealOutput | QEva_flow | Actual cooling heat flow rate removed from fluid 2 [W] |
| output RealOutput | EER | Energy efficieny ratio [1] |
| output RealOutput | COP | Coefficient of performance [1] |
| replaceable model RefrigerantCycleHeatPumpHeating | Refrigerant cycle module for the heating mode | |
| replaceable model RefrigerantCycleHeatPumpCooling | Refrigerant cycle module for the cooling mode | |
| input BooleanInput | hea | =true for heating, =false for cooling |
| Inertia | ||
| replaceable model RefrigerantCycleInertia | Inertia between the refrigerant cycle outputs and the heat exchangers. | |
Modelica definition
Buildings.Fluid.HeatPumps.ModularReversible.LargeScaleWaterToWater
Model with automatic parameter estimation for large scale water-to-water heat pumps
Information
Model using parameters for a large scale water-to-water heat pump, using the ModularReversible model approach.
Contrary to the standard sizing approach for the Buildings.Fluid.HeatPumps.ModularReversible.Modular models, the parameters are based on an automatic estimation as described in Buildings.Fluid.HeatPumps.ModularReversible.BaseClasses.LargeScaleWaterToWaterDeclarations.
For more information on the approach, please read the UsersGuide.
Please read the documentation of the model for heating here: Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.TableData2D.
Assumptions
- As heat losses are implicitly included in the table data given by manufacturers, heat losses are disabled.
Extends from Buildings.Fluid.HeatPumps.ModularReversible.TableData2D (Reversible heat pump based on 2D manufacturer data), Buildings.Fluid.HeatPumps.ModularReversible.BaseClasses.LargeScaleWaterToWaterDeclarations (Model with parameters for large scale water-to-water heat pump).
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| replaceable package MediumCon | PartialMedium | Medium on condenser side | |
| replaceable package MediumEva | PartialMedium | Medium on evaporator side | |
| GenericHeatPump | datTabHea | redeclare parameter Building... | Data table of heat pump |
| Generic | datTabCoo | redeclare parameter Building... | Data table of chiller |
| Nominal condition | |||
| HeatFlowRate | QHea_flow_nominal | Nominal heating capacity [W] | |
| Temperature | TConHea_nominal | Nominal temperature of the heated fluid during heating mode [K] | |
| Temperature | TEvaHea_nominal | Nominal temperature of the cooled fluid during heating mode [K] | |
| Safety control | |||
| Boolean | use_intSafCtr | true | =true to enable internal safety control |
| Wuellhorst2021 | safCtrPar | redeclare replaceable Buildi... | Safety control parameters |
| Nominal condition - Pressure losses | |||
| TemperatureDifference | dTCon_nominal | QHea_flow_nominal/cpCon/mCon... | Nominal temperature difference in condenser medium, used to calculate mass flow rate [K] |
| MassFlowRate | mCon_flow_nominal | autCalMasCon_flow | Nominal mass flow rate of the condenser medium [kg/s] |
| PressureDifference | dpCon_nominal | datTabHea.dpCon_nominal*scaF... | Pressure drop at nominal mass flow rate [Pa] |
| TemperatureDifference | dTEva_nominal | (QHea_flow_nominal - PEle_no... | Nominal temperature difference in evaporator medium, used to calculate mass flow rate [K] |
| MassFlowRate | mEva_flow_nominal | autCalMasEva_flow | Nominal mass flow rate of the evaporator medium [kg/s] |
| PressureDifference | dpEva_nominal | datTabHea.dpEva_nominal*scaF... | Pressure drop at nominal mass flow rate [Pa] |
| Nominal condition - Cooling | |||
| HeatFlowRate | QCoo_flow_nominal | refCyc.refCycHeaPumCoo.QCooN... | Nominal cooling capacity [W] |
| Temperature | TConCoo_nominal | Nominal temperature of the cooled fluid during cooling mode [K] | |
| Temperature | TEvaCoo_nominal | Nominal temperature of the heated fluid during cooling mode [K] | |
| Assumptions | |||
| Evaporator | |||
| Boolean | allowFlowReversalEva | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
| Condenser | |||
| Boolean | allowFlowReversalCon | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
| Advanced | |||
| Boolean | allowDifferentDeviceIdentifiers | false | if use_rev=true, device data for cooling and heating need to entered. Set allowDifferentDeviceIdentifiers=true to allow different device identifiers devIde |
| Boolean | calEff | true | =false to disable efficiency calculation, may speed up the simulation |
| Real | limWarSca | 0.05 | Allowed difference in scaling '|scaFacHea - scaFacCoo| / scaFacHea', if exceeded, a warning will be issued [1] |
| Smoothness | smoothness | Modelica.Blocks.Types.Smooth... | Smoothness of table interpolation |
| Extrapolation | extrapolation | Modelica.Blocks.Types.Extrap... | Extrapolation of data outside the definition range |
| Diagnostics | |||
| Boolean | show_T | false | = true, if actual temperature at port is computed |
| Real | ySet_small | 0.01 | Threshold for relative speed for the device to be considered on |
| Flow resistance | |||
| Boolean | from_dp | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
| Boolean | linearized | false | = true, use linear relation between m_flow and dp for any flow rate |
| Condenser | |||
| Dynamics | |||
| Time | tauCon | autCalVCon*rhoCon/autCalMasC... | Condenser heat transfer time constant at nominal flow [s] |
| Flow resistance | |||
| Real | deltaMCon | 0.1 | Fraction of nominal mass flow rate where transition to turbulent occurs |
| Heat Losses | |||
| Boolean | use_conCap | false | =true if using capacitor model for condenser heat loss estimation |
| HeatCapacity | CCon | 0 | Heat capacity of the condenser [J/K] |
| ThermalConductance | GConOut | 0 | Outer thermal conductance for condenser heat loss calculations [W/K] |
| ThermalConductance | GConIns | 0 | Inner thermal conductance for condenser heat loss calculations [W/K] |
| Evaporator | |||
| Dynamics | |||
| Time | tauEva | autCalVEva*rhoEva/autCalMasE... | Evaporator heat transfer time constant at nominal flow [s] |
| Flow resistance | |||
| Real | deltaMEva | 0.1 | Fraction of nominal mass flow rate where transition to turbulent occurs |
| Heat Losses | |||
| Boolean | use_evaCap | false | =true if using capacitor model for evaporator heat loss estimation |
| HeatCapacity | CEva | 0 | Heat capacity of the evaporator [J/K] |
| ThermalConductance | GEvaOut | 0 | Outer thermal conductance for evaporator heat loss calculations [W/K] |
| ThermalConductance | GEvaIns | 0 | Inner thermal conductance for evaporator heat loss calculations [W/K] |
| Initialization | |||
| Parameters | |||
| Init | initType | Modelica.Blocks.Types.Init.I... | Type of initialization for refrigerant cycle dynamics (InitialState and InitialOutput are identical) |
| Condenser | |||
| AbsolutePressure | pCon_start | MediumCon.p_default | Start value of pressure [Pa] |
| Temperature | TCon_start | MediumCon.T_default | Start value of temperature [K] |
| Temperature | TConCap_start | MediumCon.T_default | Initial temperature of heat capacity of condenser [K] |
| MassFraction | XCon_start[MediumCon.nX] | MediumCon.X_default | Start value of mass fractions m_i/m [kg/kg] |
| Evaporator | |||
| AbsolutePressure | pEva_start | MediumEva.p_default | Start value of pressure [Pa] |
| Temperature | TEva_start | MediumEva.T_default | Start value of temperature [K] |
| Temperature | TEvaCap_start | MediumEva.T_default | Initial temperature of heat capacity at evaporator [K] |
| MassFraction | XEva_start[MediumEva.nX] | MediumEva.X_default | Start value of mass fractions m_i/m [kg/kg] |
| Dynamics | |||
| Equation | |||
| Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamic... | Type of energy balance: dynamic (3 initialization options) or steady state (only affects fluid-models) |
Connectors
| Type | Name | Description |
|---|---|---|
| FluidPort_a | port_a1 | Fluid connector a1 (positive design flow direction is from port_a1 to port_b1) |
| FluidPort_b | port_b1 | Fluid connector b1 (positive design flow direction is from port_a1 to port_b1) |
| FluidPort_a | port_a2 | Fluid connector a2 (positive design flow direction is from port_a2 to port_b2) |
| FluidPort_b | port_b2 | Fluid connector b2 (positive design flow direction is from port_a2 to port_b2) |
| replaceable package MediumCon | Medium on condenser side | |
| replaceable package MediumEva | Medium on evaporator side | |
| input RealInput | ySet | Relative compressor speed between 0 and 1 |
| input RealInput | TEvaAmb | Ambient temperature on the evaporator side [K] |
| input RealInput | TConAmb | Ambient temperature on the condenser side [K] |
| output RealOutput | QCon_flow | Actual heating heat flow rate added to fluid 1 [W] |
| output RealOutput | P | Electric power consumed by compressor [W] |
| output RealOutput | QEva_flow | Actual cooling heat flow rate removed from fluid 2 [W] |
| output RealOutput | EER | Energy efficieny ratio [1] |
| output RealOutput | COP | Coefficient of performance [1] |
| input BooleanInput | hea | =true for heating, =false for cooling |
Modelica definition
Buildings.Fluid.HeatPumps.ModularReversible.Modular
Grey-box model for reversible and non-reversible heat pumps
Information
Model of a reversible, modular heat pump. This models allows combining any of the available modules for refrigerant heating or cooling cycles, inertias, heat losses, and safety controls. All features are optional.
Adding to the partial model (
Buildings.Fluid.HeatPumps.ModularReversible.BaseClasses.PartialReversibleRefrigerantMachine),
this model has the hea signal to choose
the operation mode of the heat pump.
For more information on the approach, see Buildings.Fluid.HeatPumps.ModularReversible.UsersGuide.
Extends from Buildings.Fluid.HeatPumps.ModularReversible.BaseClasses.PartialReversibleRefrigerantMachine (Model for reversible heat pumps and chillers with a refrigerant cycle).
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| replaceable package MediumCon | PartialMedium | Medium on condenser side | |
| replaceable package MediumEva | PartialMedium | Medium on evaporator side | |
| Boolean | use_rev | false | =true if the chiller or heat pump is reversible |
| replaceable model RefrigerantCycleHeatPumpHeating | Buildings.Fluid.HeatPumps.Mo... | Refrigerant cycle module for the heating mode | |
| replaceable model RefrigerantCycleHeatPumpCooling | Buildings.Fluid.Chillers.Mod... | Refrigerant cycle module for the cooling mode | |
| Nominal condition | |||
| HeatFlowRate | PEle_nominal | refCyc.refCycHeaPumHea.PEle_... | Nominal electrical power consumption [W] |
| HeatFlowRate | QHea_flow_nominal | Nominal heating capacity [W] | |
| Temperature | TConHea_nominal | Nominal temperature of the heated fluid during heating mode [K] | |
| Temperature | TEvaHea_nominal | Nominal temperature of the cooled fluid during heating mode [K] | |
| Inertia | |||
| replaceable model RefrigerantCycleInertia | NoInertia | Inertia between the refrigerant cycle outputs and the heat exchangers. | |
| Safety control | |||
| Boolean | use_intSafCtr | true | =true to enable internal safety control |
| Wuellhorst2021 | safCtrPar | redeclare parameter Building... | Safety control parameters |
| Nominal condition - Pressure losses | |||
| TemperatureDifference | dTCon_nominal | Nominal temperature difference in condenser medium, used to calculate mass flow rate [K] | |
| MassFlowRate | mCon_flow_nominal | QHea_flow_nominal/(dTCon_nom... | Nominal mass flow rate of the condenser medium [kg/s] |
| PressureDifference | dpCon_nominal | Pressure drop at nominal mass flow rate [Pa] | |
| TemperatureDifference | dTEva_nominal | Nominal temperature difference in evaporator medium, used to calculate mass flow rate [K] | |
| MassFlowRate | mEva_flow_nominal | (QHea_flow_nominal - PEle_no... | Nominal mass flow rate of the evaporator medium [kg/s] |
| PressureDifference | dpEva_nominal | Pressure drop at nominal mass flow rate [Pa] | |
| Nominal condition - Cooling | |||
| HeatFlowRate | QCoo_flow_nominal | 0 | Nominal cooling capacity [W] |
| Temperature | TConCoo_nominal | Nominal temperature of the cooled fluid during cooling mode [K] | |
| Temperature | TEvaCoo_nominal | Nominal temperature of the heated fluid during cooling mode [K] | |
| Assumptions | |||
| Evaporator | |||
| Boolean | allowFlowReversalEva | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
| Condenser | |||
| Boolean | allowFlowReversalCon | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
| Advanced | |||
| Boolean | allowDifferentDeviceIdentifiers | false | if use_rev=true, device data for cooling and heating need to entered. Set allowDifferentDeviceIdentifiers=true to allow different device identifiers devIde |
| Boolean | calEff | true | =false to disable efficiency calculation, may speed up the simulation |
| Real | limWarSca | 0.05 | Allowed difference in scaling '|scaFacHea - scaFacCoo| / scaFacHea', if exceeded, a warning will be issued [1] |
| Diagnostics | |||
| Boolean | show_T | false | = true, if actual temperature at port is computed |
| Real | ySet_small | 0.01 | Threshold for relative speed for the device to be considered on |
| Flow resistance | |||
| Boolean | from_dp | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
| Boolean | linearized | false | = true, use linear relation between m_flow and dp for any flow rate |
| Condenser | |||
| Dynamics | |||
| Time | tauCon | 30 | Condenser heat transfer time constant at nominal flow [s] |
| Flow resistance | |||
| Real | deltaMCon | 0.1 | Fraction of nominal mass flow rate where transition to turbulent occurs |
| Heat Losses | |||
| Boolean | use_conCap | true | =true if using capacitor model for condenser heat loss estimation |
| HeatCapacity | CCon | 0 | Heat capacity of the condenser [J/K] |
| ThermalConductance | GConOut | 0 | Outer thermal conductance for condenser heat loss calculations [W/K] |
| ThermalConductance | GConIns | 0 | Inner thermal conductance for condenser heat loss calculations [W/K] |
| Evaporator | |||
| Dynamics | |||
| Time | tauEva | 30 | Evaporator heat transfer time constant at nominal flow [s] |
| Flow resistance | |||
| Real | deltaMEva | 0.1 | Fraction of nominal mass flow rate where transition to turbulent occurs |
| Heat Losses | |||
| Boolean | use_evaCap | true | =true if using capacitor model for evaporator heat loss estimation |
| HeatCapacity | CEva | 0 | Heat capacity of the evaporator [J/K] |
| ThermalConductance | GEvaOut | 0 | Outer thermal conductance for evaporator heat loss calculations [W/K] |
| ThermalConductance | GEvaIns | 0 | Inner thermal conductance for evaporator heat loss calculations [W/K] |
| Initialization | |||
| Parameters | |||
| Init | initType | Modelica.Blocks.Types.Init.I... | Type of initialization for refrigerant cycle dynamics (InitialState and InitialOutput are identical) |
| Condenser | |||
| AbsolutePressure | pCon_start | MediumCon.p_default | Start value of pressure [Pa] |
| Temperature | TCon_start | MediumCon.T_default | Start value of temperature [K] |
| Temperature | TConCap_start | MediumCon.T_default | Initial temperature of heat capacity of condenser [K] |
| MassFraction | XCon_start[MediumCon.nX] | MediumCon.X_default | Start value of mass fractions m_i/m [kg/kg] |
| Evaporator | |||
| AbsolutePressure | pEva_start | MediumEva.p_default | Start value of pressure [Pa] |
| Temperature | TEva_start | MediumEva.T_default | Start value of temperature [K] |
| Temperature | TEvaCap_start | MediumEva.T_default | Initial temperature of heat capacity at evaporator [K] |
| MassFraction | XEva_start[MediumEva.nX] | MediumEva.X_default | Start value of mass fractions m_i/m [kg/kg] |
| Dynamics | |||
| Equation | |||
| Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamic... | Type of energy balance: dynamic (3 initialization options) or steady state (only affects fluid-models) |
Connectors
| Type | Name | Description |
|---|---|---|
| FluidPort_a | port_a1 | Fluid connector a1 (positive design flow direction is from port_a1 to port_b1) |
| FluidPort_b | port_b1 | Fluid connector b1 (positive design flow direction is from port_a1 to port_b1) |
| FluidPort_a | port_a2 | Fluid connector a2 (positive design flow direction is from port_a2 to port_b2) |
| FluidPort_b | port_b2 | Fluid connector b2 (positive design flow direction is from port_a2 to port_b2) |
| input RealInput | ySet | Relative compressor speed between 0 and 1 |
| input RealInput | TEvaAmb | Ambient temperature on the evaporator side [K] |
| input RealInput | TConAmb | Ambient temperature on the condenser side [K] |
| output RealOutput | QCon_flow | Actual heating heat flow rate added to fluid 1 [W] |
| output RealOutput | P | Electric power consumed by compressor [W] |
| output RealOutput | QEva_flow | Actual cooling heat flow rate removed from fluid 2 [W] |
| output RealOutput | EER | Energy efficieny ratio [1] |
| output RealOutput | COP | Coefficient of performance [1] |
| replaceable model RefrigerantCycleHeatPumpHeating | Refrigerant cycle module for the heating mode | |
| replaceable model RefrigerantCycleHeatPumpCooling | Refrigerant cycle module for the cooling mode | |
| input BooleanInput | hea | =true for heating, =false for cooling |
Modelica definition
Buildings.Fluid.HeatPumps.ModularReversible.TableData2D
Reversible heat pump based on 2D manufacturer data
Information
Heat pump based on two-dimensional data from manufacturer data, (e.g. based on EN 14511), using the Buildings.Fluid.HeatPumps.ModularReversible.Modular approach.
For more information on the approach, see Buildings.Fluid.HeatPumps.ModularReversible.UsersGuide.
Internal inertias and heat losses are typically neglected, as these are implicitly obtained in measured data from manufacturers. Also, icing is disabled as the performance degradation is already contained in the data.
Sizing
At the nominal conditions, the refrigerant cycle model will
calculate the unscaled nominal heat flow rate, which is
named QHeaNoSca_flow_nominal for heat pumps and
QCooNoSca_flow_nominal for chillers.
This value is probably
different from QHea_flow_nominal and
QCoo_flow_nominal which is for sizing.
For example, suppose you need a 7.6 kW heat pump,
but the datasheets only provides 5 kW and 10 kW options.
In such cases, the performance data and relevant parameters
are scaled using a scaling factor scaFac.
Resulting, the refrigerant machine can supply more or less heat with
the COP staying constant. However, one has to make sure
that the movers in use also scale with this factor.
Note that most parameters are scaled linearly. Only the
pressure differences are scaled quadratically due to
the linear scaling of the mass flow rates and the
basic assumption:
k = ṁ ⁄ √ Δp
Both QHeaNoSca_flow_nominal or QCooNoSca_flow_nominal
and scaFac
are calculated in the refrigerant cycle models.
Please read the documentation of the model for heating at Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.TableData2D.
For cooling, the assumptions are similar, and described at Buildings.Fluid.Chillers.ModularReversible.RefrigerantCycle.TableData2D
References
EN 14511-2018: Air conditioners, liquid chilling packages and heat pumps for space heating and cooling and process chillers, with electrically driven compressors https://www.beuth.de/de/norm/din-en-14511-1/298537524
Extends from Buildings.Fluid.HeatPumps.ModularReversible.Modular (Grey-box model for reversible and non-reversible heat pumps).
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| replaceable package MediumCon | PartialMedium | Medium on condenser side | |
| replaceable package MediumEva | PartialMedium | Medium on evaporator side | |
| Boolean | use_rev | true | =true if the chiller or heat pump is reversible |
| replaceable model RefrigerantCycleHeatPumpHeating | Buildings.Fluid.HeatPumps.Mo... | Refrigerant cycle module for the heating mode | |
| replaceable model RefrigerantCycleHeatPumpCooling | NoCooling | Refrigerant cycle module for the cooling mode | |
| GenericHeatPump | datTabHea | redeclare parameter Building... | Data table of heat pump |
| Generic | datTabCoo | datTabCoo(use_TEvaOutForTab=... | Data table of chiller |
| Nominal condition | |||
| HeatFlowRate | QHea_flow_nominal | Nominal heating capacity [W] | |
| Temperature | TConHea_nominal | Nominal temperature of the heated fluid during heating mode [K] | |
| Temperature | TEvaHea_nominal | Nominal temperature of the cooled fluid during heating mode [K] | |
| Inertia | |||
| replaceable model RefrigerantCycleInertia | NoInertia | Inertia between the refrigerant cycle outputs and the heat exchangers. | |
| Safety control | |||
| Boolean | use_intSafCtr | true | =true to enable internal safety control |
| Nominal condition - Pressure losses | |||
| TemperatureDifference | dTCon_nominal | QHea_flow_nominal/cpCon/mCon... | Nominal temperature difference in condenser medium, used to calculate mass flow rate [K] |
| MassFlowRate | mCon_flow_nominal | datTabHea.mCon_flow_nominal*... | Nominal mass flow rate of the condenser medium [kg/s] |
| PressureDifference | dpCon_nominal | datTabHea.dpCon_nominal*scaF... | Pressure drop at nominal mass flow rate [Pa] |
| TemperatureDifference | dTEva_nominal | (QHea_flow_nominal - PEle_no... | Nominal temperature difference in evaporator medium, used to calculate mass flow rate [K] |
| MassFlowRate | mEva_flow_nominal | datTabHea.mEva_flow_nominal*... | Nominal mass flow rate of the evaporator medium [kg/s] |
| PressureDifference | dpEva_nominal | datTabHea.dpEva_nominal*scaF... | Pressure drop at nominal mass flow rate [Pa] |
| Nominal condition - Cooling | |||
| HeatFlowRate | QCoo_flow_nominal | refCyc.refCycHeaPumCoo.QCooN... | Nominal cooling capacity [W] |
| Temperature | TConCoo_nominal | Nominal temperature of the cooled fluid during cooling mode [K] | |
| Temperature | TEvaCoo_nominal | Nominal temperature of the heated fluid during cooling mode [K] | |
| Assumptions | |||
| Evaporator | |||
| Boolean | allowFlowReversalEva | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
| Condenser | |||
| Boolean | allowFlowReversalCon | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
| Advanced | |||
| Boolean | allowDifferentDeviceIdentifiers | false | if use_rev=true, device data for cooling and heating need to entered. Set allowDifferentDeviceIdentifiers=true to allow different device identifiers devIde |
| Boolean | calEff | true | =false to disable efficiency calculation, may speed up the simulation |
| Real | limWarSca | 0.05 | Allowed difference in scaling '|scaFacHea - scaFacCoo| / scaFacHea', if exceeded, a warning will be issued [1] |
| Smoothness | smoothness | Modelica.Blocks.Types.Smooth... | Smoothness of table interpolation |
| Extrapolation | extrapolation | Modelica.Blocks.Types.Extrap... | Extrapolation of data outside the definition range |
| Diagnostics | |||
| Boolean | show_T | false | = true, if actual temperature at port is computed |
| Real | ySet_small | 0.01 | Threshold for relative speed for the device to be considered on |
| Flow resistance | |||
| Boolean | from_dp | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
| Boolean | linearized | false | = true, use linear relation between m_flow and dp for any flow rate |
| Condenser | |||
| Dynamics | |||
| Time | tauCon | 30 | Condenser heat transfer time constant at nominal flow [s] |
| Flow resistance | |||
| Real | deltaMCon | 0.1 | Fraction of nominal mass flow rate where transition to turbulent occurs |
| Heat Losses | |||
| Boolean | use_conCap | false | =true if using capacitor model for condenser heat loss estimation |
| HeatCapacity | CCon | 0 | Heat capacity of the condenser [J/K] |
| ThermalConductance | GConOut | 0 | Outer thermal conductance for condenser heat loss calculations [W/K] |
| ThermalConductance | GConIns | 0 | Inner thermal conductance for condenser heat loss calculations [W/K] |
| Evaporator | |||
| Dynamics | |||
| Time | tauEva | 30 | Evaporator heat transfer time constant at nominal flow [s] |
| Flow resistance | |||
| Real | deltaMEva | 0.1 | Fraction of nominal mass flow rate where transition to turbulent occurs |
| Heat Losses | |||
| Boolean | use_evaCap | false | =true if using capacitor model for evaporator heat loss estimation |
| HeatCapacity | CEva | 0 | Heat capacity of the evaporator [J/K] |
| ThermalConductance | GEvaOut | 0 | Outer thermal conductance for evaporator heat loss calculations [W/K] |
| ThermalConductance | GEvaIns | 0 | Inner thermal conductance for evaporator heat loss calculations [W/K] |
| Initialization | |||
| Parameters | |||
| Init | initType | Modelica.Blocks.Types.Init.I... | Type of initialization for refrigerant cycle dynamics (InitialState and InitialOutput are identical) |
| Condenser | |||
| AbsolutePressure | pCon_start | MediumCon.p_default | Start value of pressure [Pa] |
| Temperature | TCon_start | MediumCon.T_default | Start value of temperature [K] |
| Temperature | TConCap_start | MediumCon.T_default | Initial temperature of heat capacity of condenser [K] |
| MassFraction | XCon_start[MediumCon.nX] | MediumCon.X_default | Start value of mass fractions m_i/m [kg/kg] |
| Evaporator | |||
| AbsolutePressure | pEva_start | MediumEva.p_default | Start value of pressure [Pa] |
| Temperature | TEva_start | MediumEva.T_default | Start value of temperature [K] |
| Temperature | TEvaCap_start | MediumEva.T_default | Initial temperature of heat capacity at evaporator [K] |
| MassFraction | XEva_start[MediumEva.nX] | MediumEva.X_default | Start value of mass fractions m_i/m [kg/kg] |
| Dynamics | |||
| Equation | |||
| Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamic... | Type of energy balance: dynamic (3 initialization options) or steady state (only affects fluid-models) |
Connectors
| Type | Name | Description |
|---|---|---|
| FluidPort_a | port_a1 | Fluid connector a1 (positive design flow direction is from port_a1 to port_b1) |
| FluidPort_b | port_b1 | Fluid connector b1 (positive design flow direction is from port_a1 to port_b1) |
| FluidPort_a | port_a2 | Fluid connector a2 (positive design flow direction is from port_a2 to port_b2) |
| FluidPort_b | port_b2 | Fluid connector b2 (positive design flow direction is from port_a2 to port_b2) |
| input RealInput | ySet | Relative compressor speed between 0 and 1 |
| input RealInput | TEvaAmb | Ambient temperature on the evaporator side [K] |
| input RealInput | TConAmb | Ambient temperature on the condenser side [K] |
| output RealOutput | QCon_flow | Actual heating heat flow rate added to fluid 1 [W] |
| output RealOutput | P | Electric power consumed by compressor [W] |
| output RealOutput | QEva_flow | Actual cooling heat flow rate removed from fluid 2 [W] |
| output RealOutput | EER | Energy efficieny ratio [1] |
| output RealOutput | COP | Coefficient of performance [1] |
| replaceable model RefrigerantCycleHeatPumpHeating | Refrigerant cycle module for the heating mode | |
| replaceable model RefrigerantCycleHeatPumpCooling | Refrigerant cycle module for the cooling mode | |
| input BooleanInput | hea | =true for heating, =false for cooling |
| Inertia | ||
| replaceable model RefrigerantCycleInertia | Inertia between the refrigerant cycle outputs and the heat exchangers. | |
Modelica definition
Buildings.Fluid.HeatPumps.ModularReversible.TableData2DLoadDep
Grey-box model for reversible and non-reversible heat pumps
Information
This is a model for reversible or non-reversible heat pumps where the capacity and power are interpolated from manufacturer data along three variables.
- Condenser entering or leaving temperature: the choice
between the entering or leaving temperature depends on the
value of the parameter
use_TConOutForTabspecified in the parameter record ( Buildings.Fluid.HeatPumps.ModularReversible.Data.TableData2DLoadDep.GenericHeatPump or Buildings.Fluid.Chillers.ModularReversible.Data.TableData2DLoadDep.Generic). - Evaporator entering or leaving temperature: the choice
between the entering or leaving temperature depends on the
value of the parameter
use_TEvaOutForTabspecified in the parameter record. - Part load ratio (PLR): the part load ratio is used as a proxy variable for the actual capacity modulation observable. A discrete observable such as the number of operating compressors for systems with multiple on/off compressors is converted into a continuous PLR value and the model only approximates the system performance on a time average.
The model includes ideal controls that solve for the HW or CHW supply
or return temperature setpoint within the capacity limit.
The Boolean parameter use_TLoaLvgForCtl is used
for toggling between supply or return temperature control.
The default setting use_TLoaLvgForCtl=true corresponds to
supply temperature control.
For a comprehensive description of the algorithm and the calculations for capacity and power, please refer to the documentation of Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.BaseClasses.TableData2DLoadDep. This documentation also details the required format for the performance data file.
Control points
The following input points are available.
-
Heat pump on/off command signal:
on(Boolean, scalar) - For reversible heat pumps only (
use_rev=true), heat pump switchover signal:hea(Boolean, scalar)
Sethea=truefor heating mode,hea=falsefor cooling mode. -
HW temperature setpoint:
THwSet(real, scalar)
This is either the supply or return temperature setpoint depending on the value ofuse_TLoaLvgForCtl. - For reversible heat pumps only (
use_rev=true), CHW temperature setpoint:TChwSet(real, scalar)
This is either the supply or return temperature setpoint depending on the value ofuse_TLoaLvgForCtl.
Implementation details
This model introduces structural changes compared to other models within Buildings.Fluid.HeatPumps.ModularReversible.
First, the Boolean parameter use_rev is used
for toggling between reversible and non-reversible systems.
This differs from other models which require redeclaring the
component modeling the reversed cycle.
Second, the model includes new input variables that match the control points found in heat pump onboard controllers (see the previous section for their description).
Extends from Buildings.Fluid.HeatPumps.ModularReversible.BaseClasses.PartialReversibleRefrigerantMachine (Model for reversible heat pumps and chillers with a refrigerant cycle).
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| replaceable package MediumCon | PartialMedium | Medium on condenser side | |
| replaceable package MediumEva | PartialMedium | Medium on evaporator side | |
| Boolean | use_rev | false | =true if the chiller or heat pump is reversible |
| Boolean | use_TLoaLvgForCtl | true | Set to true for leaving temperature control, false for entering temperature control |
| GenericHeatPump | datHea | redeclare parameter Building... | Heating performance data |
| Generic | datCoo | datCoo(devIde="", dpCon_nomi... | Cooling performance data |
| Power | P_min | 0 | Minimum power when system is enabled with compressor cycled off [W] |
| Nominal condition | |||
| HeatFlowRate | PEle_nominal | refCyc.refCycHeaPumHea.PEle_... | Nominal electrical power consumption [W] |
| HeatFlowRate | QHea_flow_nominal | Nominal heating capacity [W] | |
| Temperature | TConHea_nominal | HW temperature: leaving if datHea.use_TConOutForTab=true, entering otherwise [K] | |
| Temperature | TEvaHea_nominal | Evaporator heating fluid temperature: leaving if datHea.use_TEvaOutForTab=true, entering otherwise [K] | |
| Inertia | |||
| replaceable model RefrigerantCycleInertia | NoInertia | Inertia between the refrigerant cycle outputs and the heat exchangers. | |
| Safety control | |||
| Boolean | use_intSafCtr | true | =true to enable internal safety control |
| Nominal condition - Pressure losses | |||
| TemperatureDifference | dTCon_nominal | QHea_flow_nominal/cpCon/mCon... | Nominal temperature difference in condenser medium, used to calculate mass flow rate [K] |
| MassFlowRate | mCon_flow_nominal | datHea.mCon_flow_nominal*sca... | Nominal mass flow rate of the condenser medium [kg/s] |
| PressureDifference | dpCon_nominal | datHea.dpCon_nominal*scaFacH... | Pressure drop at nominal mass flow rate [Pa] |
| TemperatureDifference | dTEva_nominal | (QHea_flow_nominal - PEle_no... | Nominal temperature difference in evaporator medium, used to calculate mass flow rate [K] |
| MassFlowRate | mEva_flow_nominal | datHea.mEva_flow_nominal*sca... | Nominal mass flow rate of the evaporator medium [kg/s] |
| PressureDifference | dpEva_nominal | datHea.dpEva_nominal*scaFacH... | Pressure drop at nominal mass flow rate [Pa] |
| Nominal condition - Cooling | |||
| HeatFlowRate | QCoo_flow_nominal | Nominal cooling capacity [W] | |
| Temperature | TConCoo_nominal | CHW temperature: leaving if datCoo.use_TEvaOutForTab=true, entering otherwise [K] | |
| Temperature | TEvaCoo_nominal | Condenser cooling fluid temperature: leaving if datCoo.use_TConOutForTab=true, entering otherwise [K] | |
| Assumptions | |||
| Evaporator | |||
| Boolean | allowFlowReversalEva | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
| Condenser | |||
| Boolean | allowFlowReversalCon | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
| Advanced | |||
| Boolean | allowDifferentDeviceIdentifiers | false | if use_rev=true, device data for cooling and heating need to entered. Set allowDifferentDeviceIdentifiers=true to allow different device identifiers devIde |
| Boolean | calEff | true | =false to disable efficiency calculation, may speed up the simulation |
| Real | limWarSca | 0.05 | Allowed difference in scaling '|scaFacHea - scaFacCoo| / scaFacHea', if exceeded, a warning will be issued [1] |
| Diagnostics | |||
| Boolean | show_T | false | = true, if actual temperature at port is computed |
| Real | ySet_small | 0.01 | Threshold for relative speed for the device to be considered on |
| Flow resistance | |||
| Boolean | from_dp | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
| Boolean | linearized | false | = true, use linear relation between m_flow and dp for any flow rate |
| Condenser | |||
| Dynamics | |||
| Time | tauCon | 30 | Condenser heat transfer time constant at nominal flow [s] |
| Flow resistance | |||
| Real | deltaMCon | 0.1 | Fraction of nominal mass flow rate where transition to turbulent occurs |
| Heat Losses | |||
| Boolean | use_conCap | false | =true if using capacitor model for condenser heat loss estimation |
| HeatCapacity | CCon | 0 | Heat capacity of the condenser [J/K] |
| ThermalConductance | GConOut | 0 | Outer thermal conductance for condenser heat loss calculations [W/K] |
| ThermalConductance | GConIns | 0 | Inner thermal conductance for condenser heat loss calculations [W/K] |
| Evaporator | |||
| Dynamics | |||
| Time | tauEva | 30 | Evaporator heat transfer time constant at nominal flow [s] |
| Flow resistance | |||
| Real | deltaMEva | 0.1 | Fraction of nominal mass flow rate where transition to turbulent occurs |
| Heat Losses | |||
| Boolean | use_evaCap | false | =true if using capacitor model for evaporator heat loss estimation |
| HeatCapacity | CEva | 0 | Heat capacity of the evaporator [J/K] |
| ThermalConductance | GEvaOut | 0 | Outer thermal conductance for evaporator heat loss calculations [W/K] |
| ThermalConductance | GEvaIns | 0 | Inner thermal conductance for evaporator heat loss calculations [W/K] |
| Initialization | |||
| Parameters | |||
| Init | initType | Modelica.Blocks.Types.Init.I... | Type of initialization for refrigerant cycle dynamics (InitialState and InitialOutput are identical) |
| Condenser | |||
| AbsolutePressure | pCon_start | MediumCon.p_default | Start value of pressure [Pa] |
| Temperature | TCon_start | MediumCon.T_default | Start value of temperature [K] |
| Temperature | TConCap_start | MediumCon.T_default | Initial temperature of heat capacity of condenser [K] |
| MassFraction | XCon_start[MediumCon.nX] | MediumCon.X_default | Start value of mass fractions m_i/m [kg/kg] |
| Evaporator | |||
| AbsolutePressure | pEva_start | MediumEva.p_default | Start value of pressure [Pa] |
| Temperature | TEva_start | MediumEva.T_default | Start value of temperature [K] |
| Temperature | TEvaCap_start | MediumEva.T_default | Initial temperature of heat capacity at evaporator [K] |
| MassFraction | XEva_start[MediumEva.nX] | MediumEva.X_default | Start value of mass fractions m_i/m [kg/kg] |
| Dynamics | |||
| Equation | |||
| Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamic... | Type of energy balance: dynamic (3 initialization options) or steady state (only affects fluid-models) |
Connectors
| Type | Name | Description |
|---|---|---|
| FluidPort_a | port_a1 | Fluid connector a1 (positive design flow direction is from port_a1 to port_b1) |
| FluidPort_b | port_b1 | Fluid connector b1 (positive design flow direction is from port_a1 to port_b1) |
| FluidPort_a | port_a2 | Fluid connector a2 (positive design flow direction is from port_a2 to port_b2) |
| FluidPort_b | port_b2 | Fluid connector b2 (positive design flow direction is from port_a2 to port_b2) |
| input RealInput | ySet | Relative compressor speed between 0 and 1 |
| input RealInput | TEvaAmb | Ambient temperature on the evaporator side [K] |
| input RealInput | TConAmb | Ambient temperature on the condenser side [K] |
| output RealOutput | QCon_flow | Actual heating heat flow rate added to fluid 1 [W] |
| output RealOutput | P | Electric power consumed by compressor [W] |
| output RealOutput | QEva_flow | Actual cooling heat flow rate removed from fluid 2 [W] |
| output RealOutput | EER | Energy efficieny ratio [1] |
| output RealOutput | COP | Coefficient of performance [1] |
| input BooleanInput | on | On/off command: true to enable heat pump, false to disable heat pump |
| input RealInput | THwSet | HW temperature setpoint - Supply or return depending on use_TLoaLvgForCtl [K] |
| input RealInput | TChwSet | CHW temperature setpoint - Supply or return depending on use_TLoaLvgForCtl [K] |
| input BooleanInput | hea | Switchover signal: true for heating, false for cooling |
| output RealOutput | PLR | Compressor part load ratio [1] |
Modelica definition
Buildings.Fluid.HeatPumps.ModularReversible.TableData2DLoadDepSHC
Grey-box model for multipipe heat pumps
Information
This is a model for simultaneous heating and cooling (SHC) air-to-water heat pumps (also referred to as 4-pipe polyvalent units or "Type A" in Eurovent, 2025), where the capacity and power are interpolated from manufacturer data along the source and sink temperature and the part load ratio (PLR).1
All kinds of capacity-modulation processes are supported, such as VFD-driven compressors, multiple on-off compressors, and single compressor cycling.
The model supports modeling both modular (nUni > 1) and
single-unit (nUni = 1) systems.
When modeling modular systems, the staging logic for multiple modules is
included, but the HW and CHW isolation valves are not.
However, the model includes the calculation of the flow characteristic
of an equivalent actuator model to simplify the modeling of isolation valves.
The model also provides control variables for these valves, or for primary pumps
that are not controlled based on Δp.
See Section "Implementation details" for further explanations.
The model includes ideal controls that solve for the HW or CHW supply
or return temperature setpoint within the capacity limit.
The Boolean parameter use_TLoaLvgForCtl is used
for toggling between supply or return temperature control.
The default setting use_TLoaLvgForCtl = true corresponds to
supply temperature control.
For a comprehensive description of the algorithm and underlying assumptions, please refer to the documentation of Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.BaseClasses.TableData2DLoadDepSHC. This documentation also explains the required format for the performance data file.
Footnotes
1 The part load ratio is used as a proxy variable for the actual capacity modulation observable. A discrete observable such as the number of operating compressors for systems with multiple on/off compressors is converted into a continuous PLR value and the model only approximates the system performance on a time average.
Control signals
The following input signals are available.
-
Heating on/off command:
onHea(Boolean, scalar) -
Cooling on/off command:
onCoo(Boolean, scalar) -
HW temperature setpoint:
THwSet(real, scalar)
This is either the supply or return temperature setpoint depending on the value ofuse_TLoaLvgForCtl. -
CHW temperature setpoint:
TChwSet(real, scalar)
This is either the supply or return temperature setpoint depending on the value ofuse_TLoaLvgForCtl.
The following output signals are available.
-
HW isolation valve commanded position:
yValHwIso(real, scalar)
This is a real scalar signal (not a Boolean vector) that is provided to control a single instance of Buildings.Fluid.Actuators.Valves.TwoWayPolynomial as an equivalent for the modules' HW isolation valves, see Section "Implementation details". -
CHW isolation valve commanded position:
yValChwIso(real, scalar)
This is a real scalar signal (not a Boolean vector) that is provided to control a single instance of Buildings.Fluid.Actuators.Valves.TwoWayPolynomial as an equivalent for the modules' CHW isolation valves, see Section "Implementation details". -
HW isolation valve or primary pump command:
y1HwValIsoPumPri(Boolean, 1D-array of dimensionnUni)
This variable is provided to control a parallel arrangement of either HW isolation valves (two-position) or primary pumps, see Section "Implementation details". -
CHW isolation valve or primary pump command:
y1ChwValIsoPumPri(Boolean, 1D-array of dimensionnUni)
This variable is provided to control a parallel arrangement of either CHW isolation valves (two-position) or primary pumps, see Section "Implementation details".
Implementation details
Modular systems are typically installed with HW and CHW isolation valves for each module.
The model does not include these valves.
Furthermore, the model aggregates all modules into an equivalent heating or cooling system.
For integration into a plant model, the recommended approach consists of using
a single instance of
Buildings.Fluid.Actuators.Valves.TwoWayPolynomial
to represent the parallel network of HW isolation valves in series with the
modules' condenser barrels, and another instance to represent the parallel network of
CHW isolation valves in series with the modules' evaporator barrels.
The heat pump model must then be configured with use_preDro = false
to inhibit the heat exchanger pressure drop calculation.
The actuator model can be parameterized with the flow characteristic
chaValHwIso (resp. chaValChwIso) which is calculated by
the current model to ensure that a fractional opening of 1 / i
results in a mass flow rate of mCon_flow_nominal / i
(resp. mEva_flow_nominal / i) when the model is subjected to a
differential pressure of dpHw_nominal on the HW side
(resp. dpChw_nominal on the CHW side).
The flow characteristic is calculated under the assumption that the
heat pump heat exchanger flow resistance is lumped with the actuator
flow resistance, which yields the following expression for the characteristic:
φ(y) = (y2 * dpValIso_nominal /
(dpValIso_nominal + dp<Hw|Chw>_nominal * (1 - y2)))1/2,
where y = 1 / i is the fractional opening of the equivalent actuator
when a number of i modules are enabled on the HW or CHW side,
and dpValIso_nominal is the isolation valve pressure drop at design flow.
Note that at least one HW isolation valve (resp. CHW isolation valve) must be open
when the heat pump is in SHC or heating-only mode (resp. SHC or cooling-only mode),
irrespective of any modules being staged on. This is a requirement for proper load calculation
in the staging logic. This requirement is taken into account in the calculation of
the control variables for the equivalent actuator yValHwIso and yValChwIso.
This approach is illustrated in the example models Buildings.Fluid.HeatPumps.ModularReversible.Examples.TableData2DLoadDepSHC1Only and Buildings.Fluid.HeatPumps.ModularReversible.Examples.TableData2DLoadDepSHC1And2 that showcase the use of this heat pump model in conjunction with equivalent actuator models in a primary-only and constant primary-secondary plant model.
Alternatively, the model also provides the Boolean array connectors y1HwValIsoPumPri[nUni]
and y1ChwValIsoPumPri[nUni] that can be used to control an explicit parallel arrangement
of isolation valves or primary pumps.
These variables use the same requirement as above and their first element is true
based on the system operating mode command, irrespective of any modules being staged on.
References
- Eurovent (2025). Technical certification rules (TCR) of the Eurovent certified performance mark liquid chilling packages and hydronic heat pumps (ECP - 3 LCPHP, Rev. 02-2025). https://www.eurovent-certification.com/media/images/c2c/031/c2c031f2dd38173a81e30a42f7d6f42a386f047c.pdf
Extends from Buildings.Fluid.HeatPumps.ModularReversible.BaseClasses.PartialReversibleRefrigerantMachine (Model for reversible heat pumps and chillers with a refrigerant cycle).
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| replaceable package MediumCon | PartialMedium | Medium on condenser side | |
| replaceable package MediumEva | PartialMedium | Medium on evaporator side | |
| Boolean | use_rev | false | =true if the chiller or heat pump is reversible |
| Integer | nUni | 1 | Number of modules |
| Boolean | use_TLoaLvgForCtl | true | Set to true for leaving temperature control, false for entering temperature control |
| Boolean | use_preDro | true | Set to true to model HW/CHW pressure drop, false for external calculation by valve component |
| Generic | dat | redeclare parameter Building... | Performance data |
| Power | P_min | 0 | Remaining power when system is enabled with all compressors cycled off [W] |
| Nominal condition | |||
| HeatFlowRate | PEle_nominal | refCyc.refCycHeaPumHea.PEle_... | Nominal electrical power consumption [W] |
| PressureDifference | dpHw_nominal | dat.dpCon_nominal*scaFacHea^2 | HW pressure drop - Only modeled in component if use_preDro=true [Pa] |
| PressureDifference | dpChw_nominal | dat.dpEva_nominal*scaFacCoo^2 | CHW pressure drop - Only modeled in component if use_preDro=true [Pa] |
| HeatFlowRate | QHea_flow_nominal | Heating heat flow rate - All modules [W] | |
| Temperature | TConHea_nominal | HW temperature: leaving if dat.use_TConOutForTab=true, entering otherwise [K] | |
| Temperature | TEvaHea_nominal | Evaporator heating fluid temperature: leaving if dat.use_TAmbOutForTab=true, entering otherwise [K] | |
| Inertia | |||
| replaceable model RefrigerantCycleInertia | NoInertia | Inertia between the refrigerant cycle outputs and the heat exchangers. | |
| Safety control | |||
| Boolean | use_intSafCtr | false | =true to enable internal safety control |
| Nominal condition - Pressure losses | |||
| TemperatureDifference | dTCon_nominal | QHea_flow_nominal/cpCon/mCon... | Nominal temperature difference in condenser medium, used to calculate mass flow rate [K] |
| MassFlowRate | mCon_flow_nominal | dat.mCon_flow_nominal*scaFac... | Nominal mass flow rate of the condenser medium [kg/s] |
| PressureDifference | dpCon_nominal | if use_preDro then dpHw_nomi... | Pressure drop at nominal mass flow rate [Pa] |
| TemperatureDifference | dTEva_nominal | abs(QCoo_flow_nominal)/cpEva... | Nominal temperature difference in evaporator medium, used to calculate mass flow rate [K] |
| MassFlowRate | mEva_flow_nominal | dat.mEva_flow_nominal*scaFac... | Nominal mass flow rate of the evaporator medium [kg/s] |
| PressureDifference | dpEva_nominal | if use_preDro then dpChw_nom... | Pressure drop at nominal mass flow rate [Pa] |
| Nominal condition - Cooling | |||
| HeatFlowRate | QCoo_flow_nominal | Cooling heat flow rate - All modules [W] | |
| Temperature | TConCoo_nominal | CHW temperature: leaving if dat.use_TEvaOutForTab=true, entering otherwise [K] | |
| Temperature | TEvaCoo_nominal | Condenser cooling fluid temperature: leaving if dat.use_TAmbOutForTab=true, entering otherwise [K] | |
| Nominal condition - SHC | |||
| HeatFlowRate | QHeaShc_flow_nominal | Heating heat flow rate - All modules [W] | |
| HeatFlowRate | QCooShc_flow_nominal | Cooling heat flow rate - All modules [W] | |
| Assumptions | |||
| Boolean | allowFlowReversalAmb | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for ambient-side medium |
| Evaporator | |||
| Boolean | allowFlowReversalEva | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
| Condenser | |||
| Boolean | allowFlowReversalCon | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
| Advanced | |||
| Boolean | allowDifferentDeviceIdentifiers | false | if use_rev=true, device data for cooling and heating need to entered. Set allowDifferentDeviceIdentifiers=true to allow different device identifiers devIde |
| Boolean | calEff | false | =false to disable efficiency calculation, may speed up the simulation |
| Real | limWarSca | 0.05 | Allowed difference in scaling '|scaFacHea - scaFacCoo| / scaFacHea', if exceeded, a warning will be issued [1] |
| Real | dpValIso_nominal | Buildings.Templates.Data.Def... | HW/CHW isolation valve pressure drop at nominal flow rate |
| Diagnostics | |||
| Boolean | show_T | false | = true, if actual temperature at port is computed |
| Real | ySet_small | 0.01 | Threshold for relative speed for the device to be considered on |
| Flow resistance | |||
| Boolean | from_dp | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
| Boolean | linearized | false | = true, use linear relation between m_flow and dp for any flow rate |
| Staging logic | |||
| Real | dtRun | 300 | Minimum stage runtime [s] |
| Real | dtMea | 120 | Load averaging time window [s] |
| Real | SPLR | 0.9 | Staging part load ratio |
| Safeties | |||
| TemperatureDifference | dTSaf | 2 | Maximum temperature deviation from setpoint before limiting demand for safety (>0) [K] |
| Condenser | |||
| Dynamics | |||
| Time | tauCon | 30 | Condenser heat transfer time constant at nominal flow [s] |
| Flow resistance | |||
| Real | deltaMCon | 0.1 | Fraction of nominal mass flow rate where transition to turbulent occurs |
| Heat Losses | |||
| Boolean | use_conCap | false | =true if using capacitor model for condenser heat loss estimation |
| HeatCapacity | CCon | 0 | Heat capacity of the condenser [J/K] |
| ThermalConductance | GConOut | 0 | Outer thermal conductance for condenser heat loss calculations [W/K] |
| ThermalConductance | GConIns | 0 | Inner thermal conductance for condenser heat loss calculations [W/K] |
| Evaporator | |||
| Dynamics | |||
| Time | tauEva | 30 | Evaporator heat transfer time constant at nominal flow [s] |
| Flow resistance | |||
| Real | deltaMEva | 0.1 | Fraction of nominal mass flow rate where transition to turbulent occurs |
| Heat Losses | |||
| Boolean | use_evaCap | false | =true if using capacitor model for evaporator heat loss estimation |
| HeatCapacity | CEva | 0 | Heat capacity of the evaporator [J/K] |
| ThermalConductance | GEvaOut | 0 | Outer thermal conductance for evaporator heat loss calculations [W/K] |
| ThermalConductance | GEvaIns | 0 | Inner thermal conductance for evaporator heat loss calculations [W/K] |
| Initialization | |||
| Parameters | |||
| Init | initType | Modelica.Blocks.Types.Init.I... | Type of initialization for refrigerant cycle dynamics (InitialState and InitialOutput are identical) |
| Condenser | |||
| AbsolutePressure | pCon_start | MediumCon.p_default | Start value of pressure [Pa] |
| Temperature | TCon_start | MediumCon.T_default | Start value of temperature [K] |
| Temperature | TConCap_start | MediumCon.T_default | Initial temperature of heat capacity of condenser [K] |
| MassFraction | XCon_start[MediumCon.nX] | MediumCon.X_default | Start value of mass fractions m_i/m [kg/kg] |
| Evaporator | |||
| AbsolutePressure | pEva_start | MediumEva.p_default | Start value of pressure [Pa] |
| Temperature | TEva_start | MediumEva.T_default | Start value of temperature [K] |
| Temperature | TEvaCap_start | MediumEva.T_default | Initial temperature of heat capacity at evaporator [K] |
| MassFraction | XEva_start[MediumEva.nX] | MediumEva.X_default | Start value of mass fractions m_i/m [kg/kg] |
| Dynamics | |||
| Equation | |||
| Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamic... | Type of energy balance: dynamic (3 initialization options) or steady state (only affects fluid-models) |
Connectors
| Type | Name | Description |
|---|---|---|
| FluidPort_a | port_a1 | Fluid connector a1 (positive design flow direction is from port_a1 to port_b1) |
| FluidPort_b | port_b1 | Fluid connector b1 (positive design flow direction is from port_a1 to port_b1) |
| FluidPort_a | port_a2 | Fluid connector a2 (positive design flow direction is from port_a2 to port_b2) |
| FluidPort_b | port_b2 | Fluid connector b2 (positive design flow direction is from port_a2 to port_b2) |
| input RealInput | ySet | Relative compressor speed between 0 and 1 |
| input RealInput | TEvaAmb | Ambient temperature on the evaporator side [K] |
| input RealInput | TConAmb | Ambient temperature on the condenser side [K] |
| output RealOutput | QCon_flow | Actual heating heat flow rate added to fluid 1 [W] |
| output RealOutput | P | Electric power consumed by compressor [W] |
| output RealOutput | QEva_flow | Actual cooling heat flow rate removed from fluid 2 [W] |
| output RealOutput | EER | Energy efficieny ratio [1] |
| output RealOutput | COP | Coefficient of performance [1] |
| input BooleanInput | onHea | Heating on/off command |
| input RealInput | THwSet | HW temperature setpoint - Supply or return depending on use_TLoaLvgForCtl [K] |
| input RealInput | TChwSet | CHW temperature setpoint - Supply or return depending on use_TLoaLvgForCtl [K] |
| input BooleanInput | onCoo | Cooling on/off command |
| output IntegerOutput | nUniHea | Number of modules in heating mode |
| output IntegerOutput | nUniCoo | Number of modules in cooling mode |
| output IntegerOutput | nUniShc | Number of modules in SHC mode (may be cycling into single mode) |
| output RealOutput | yValHwIso | Equivalent HW isolation valve command [1] |
| output RealOutput | yValChwIso | Equivalent CHW isolation valve command [1] |
| output BooleanOutput | y1HwValIsoPumPri[nUni] | HW isolation valve or primary pump command |
| output BooleanOutput | y1ChwValIsoPumPri[nUni] | CHW isolation valve or primary pump command |
| Bus | weaBus | Weather bus |
Modelica definition
Buildings.Fluid.HeatPumps.ModularReversible.Modular.RefrigerantCycleHeatPumpHeating
Refrigerant cycle module for the heating mode
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| String | devIde | "" | Indicates the data source, used to warn users about different vapor compression devices in reversible models |
| Boolean | useInHeaPum | =false to indicate that this model is used in a chiller | |
| Nominal condition | |||
| Power | PEle_nominal | 0 | Nominal electrical power consumption [W] |
| Temperature | TCon_nominal | Nominal temperature at secondary condenser side [K] | |
| Temperature | TEva_nominal | Nominal temperature at secondary evaporator side [K] | |
| HeatFlowRate | QHea_flow_nominal | Nominal heating capacity [W] | |
| Frosting supression | |||
| NoFrosting | iceFacCal | redeclare Buildings.Fluid.He... | Replaceable model to calculate the icing factor |
| Advanced | |||
| Medium properties | |||
| SpecificHeatCapacity | cpCon | Evaporator medium specific heat capacity [J/(kg.K)] | |
| SpecificHeatCapacity | cpEva | Evaporator medium specific heat capacity [J/(kg.K)] | |
Connectors
| Type | Name | Description |
|---|---|---|
| output RealOutput | PEle | Electrical Power consumed by the device [W] |
| output RealOutput | QCon_flow | Heat flow rate through condenser [W] |
| RefrigerantMachineControlBus | sigBus | Bus-connector |
| output RealOutput | QEva_flow | Heat flow rate through evaporator [W] |
Modelica definition
Buildings.Fluid.HeatPumps.ModularReversible.Modular.RefrigerantCycleHeatPumpCooling
Refrigerant cycle module for the cooling mode
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| String | devIde | "NoCooling" | Indicates the data source, used to warn users about different vapor compression devices in reversible models |
| Boolean | useInChi | =false to indicate that this model is used as a heat pump | |
| Nominal condition | |||
| Power | PEle_nominal | 0 | Nominal electrical power consumption [W] |
| Temperature | TCon_nominal | 273.15 | Nominal temperature at secondary condenser side [K] |
| Temperature | TEva_nominal | 273.15 | Nominal temperature at secondary evaporator side [K] |
| HeatFlowRate | QCoo_flow_nominal | 0 | Nominal cooling capacity [W] |
| Advanced | |||
| Medium properties | |||
| SpecificHeatCapacity | cpCon | 4184 | Evaporator medium specific heat capacity [J/(kg.K)] |
| SpecificHeatCapacity | cpEva | 4184 | Evaporator medium specific heat capacity [J/(kg.K)] |
Connectors
| Type | Name | Description |
|---|---|---|
| output RealOutput | PEle | Electrical Power consumed by the device [W] |
| output RealOutput | QCon_flow | Heat flow rate through condenser [W] |
| RefrigerantMachineControlBus | sigBus | Bus-connector |
| output RealOutput | QEva_flow | Heat flow rate through evaporator [W] |
Modelica definition
Buildings.Fluid.HeatPumps.ModularReversible.TableData2DLoadDep.RefrigerantCycleHeatPumpHeating
Refrigerant cycle module for the heating mode
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Boolean | useInHeaPum | true | =false to indicate that this model is used in a chiller |
| Boolean | use_rev | use_rev | True if the refrigerant machine is reversible |
| Boolean | use_TLoaLvgForCtl | use_TLoaLvgForCtl | Set to true for leaving temperature control, false for entering temperature control |
| GenericHeatPump | dat | datHea | Table with performance data |
| Power | P_min | P_min | Minimum power when system is enabled with compressor cycled off [W] |
| Nominal condition | |||
| Power | PEle_nominal | calQUseP.P_nominal*scaFac | Nominal electrical power consumption [W] |
| Temperature | TCon_nominal | TConHea_nominal | Nominal temperature at secondary condenser side [K] |
| Temperature | TEva_nominal | TEvaHea_nominal | Nominal temperature at secondary evaporator side [K] |
| HeatFlowRate | QHea_flow_nominal | QHea_flow_nominal | Nominal heating capacity [W] |
| Advanced | |||
| Medium properties | |||
| SpecificHeatCapacity | cpCon | cpCon | Evaporator medium specific heat capacity [J/(kg.K)] |
| SpecificHeatCapacity | cpEva | cpEva | Evaporator medium specific heat capacity [J/(kg.K)] |
Connectors
| Type | Name | Description |
|---|---|---|
| output RealOutput | PEle | Electrical Power consumed by the device [W] |
| output RealOutput | QCon_flow | Heat flow rate through condenser [W] |
| RefrigerantMachineControlBus | sigBus | Bus-connector |
| output RealOutput | QEva_flow | Heat flow rate through evaporator [W] |
Modelica definition
Buildings.Fluid.HeatPumps.ModularReversible.TableData2DLoadDep.RefrigerantCycleHeatPumpCooling
Refrigerant cycle module for the cooling mode
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Boolean | useInChi | false | =false to indicate that this model is used as a heat pump |
| Boolean | have_switchover | false | Set to true for heat recovery chiller with built-in switchover |
| Boolean | use_TLoaLvgForCtl | use_TLoaLvgForCtl | Set to true for leaving temperature control, false for entering temperature control |
| Generic | dat | datCoo | Table with performance data |
| Power | P_min | P_min | Minimum power when system is enabled with compressor cycled off [W] |
| Nominal condition | |||
| Power | PEle_nominal | calQUseP.P_nominal*scaFac | Nominal electrical power consumption [W] |
| Temperature | TCon_nominal | TEvaCoo_nominal | Nominal temperature at secondary condenser side [K] |
| Temperature | TEva_nominal | TConCoo_nominal | Nominal temperature at secondary evaporator side [K] |
| HeatFlowRate | QCoo_flow_nominal | QCoo_flow_nominal | Nominal cooling capacity [W] |
| Advanced | |||
| Medium properties | |||
| SpecificHeatCapacity | cpCon | cpCon | Evaporator medium specific heat capacity [J/(kg.K)] |
| SpecificHeatCapacity | cpEva | cpEva | Evaporator medium specific heat capacity [J/(kg.K)] |
Connectors
| Type | Name | Description |
|---|---|---|
| output RealOutput | PEle | Electrical Power consumed by the device [W] |
| output RealOutput | QCon_flow | Heat flow rate through condenser [W] |
| RefrigerantMachineControlBus | sigBus | Bus-connector |
| output RealOutput | QEva_flow | Heat flow rate through evaporator [W] |
Modelica definition
Buildings.Fluid.HeatPumps.ModularReversible.TableData2DLoadDepSHC.RefrigerantCycleHeatPumpHeating
Refrigerant cycle module for the heating mode
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Integer | nUni | nUni | Number of modules |
| Boolean | use_TLoaLvgForCtl | use_TLoaLvgForCtl | Set to true for leaving temperature control, false for entering temperature control |
| Generic | dat | dat | Record with performance data |
| Power | P_min | P_min | Remaining power when system is enabled with all compressors cycled off [W] |
| Nominal condition | |||
| Power | PEle_nominal | calQUseP.P_nominal | Nominal electrical power consumption [W] |
| Temperature | TCon_nominal | TConHea_nominal | Nominal temperature at secondary condenser side [K] |
| Temperature | TEva_nominal | TEvaHea_nominal | Nominal temperature at secondary evaporator side [K] |
| HeatFlowRate | QHea_flow_nominal | QHea_flow_nominal | Nominal heating capacity [W] |
| Nominal condition - Cooling | |||
| HeatFlowRate | QCoo_flow_nominal | QCoo_flow_nominal | Cooling heat flow rate - All modules [W] |
| Temperature | TConCoo_nominal | TConCoo_nominal | CHW temperature: leaving if dat.use_TEvaOutForTab=true, entering otherwise [K] |
| Temperature | TEvaCoo_nominal | TEvaCoo_nominal | Condenser cooling fluid temperature: leaving if dat.use_TAmbOutForTab=true, entering otherwise [K] |
| Nominal condition - SHC | |||
| HeatFlowRate | QHeaShc_flow_nominal | QHeaShc_flow_nominal | Heating heat flow rate - All modules [W] |
| HeatFlowRate | QCooShc_flow_nominal | QCooShc_flow_nominal | Cooling heat flow rate - All modules [W] |
| Advanced | |||
| Medium properties | |||
| SpecificHeatCapacity | cpCon | cpCon | Evaporator medium specific heat capacity [J/(kg.K)] |
| SpecificHeatCapacity | cpEva | cpEva | Evaporator medium specific heat capacity [J/(kg.K)] |
| Staging logic | |||
| Real | dtRun | dtRun | Minimum stage runtime [s] |
| Real | dtMea | dtMea | Load averaging time window [s] |
| Real | SPLR | SPLR | Staging part load ratio |
| Safeties | |||
| TemperatureDifference | dTSaf | dTSaf | Maximum temperature deviation from setpoint before limiting demand for safety (>0) [K] |
Connectors
| Type | Name | Description |
|---|---|---|
| output RealOutput | PEle | Electrical Power consumed by the device [W] |
| output RealOutput | QCon_flow | Heat flow rate through condenser [W] |
| RefrigerantMachineControlBus | sigBus | Bus-connector |
| output RealOutput | QEva_flow | Heat flow rate through evaporator [W] |
Modelica definition
Buildings.Fluid.HeatPumps.ModularReversible.TableData2DLoadDepSHC.RefrigerantCycleHeatPumpCooling
Refrigerant cycle module for the cooling mode
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| String | devIde | "NoCooling" | Indicates the data source, used to warn users about different vapor compression devices in reversible models |
| Boolean | useInChi | false | =false to indicate that this model is used as a heat pump |
| Nominal condition | |||
| Power | PEle_nominal | 0 | Nominal electrical power consumption [W] |
| Temperature | TCon_nominal | TEvaCoo_nominal | Nominal temperature at secondary condenser side [K] |
| Temperature | TEva_nominal | TConCoo_nominal | Nominal temperature at secondary evaporator side [K] |
| HeatFlowRate | QCoo_flow_nominal | QCoo_flow_nominal | Nominal cooling capacity [W] |
| Advanced | |||
| Medium properties | |||
| SpecificHeatCapacity | cpCon | cpCon | Evaporator medium specific heat capacity [J/(kg.K)] |
| SpecificHeatCapacity | cpEva | cpEva | Evaporator medium specific heat capacity [J/(kg.K)] |
Connectors
| Type | Name | Description |
|---|---|---|
| output RealOutput | PEle | Electrical Power consumed by the device [W] |
| output RealOutput | QCon_flow | Heat flow rate through condenser [W] |
| RefrigerantMachineControlBus | sigBus | Bus-connector |
| output RealOutput | QEva_flow | Heat flow rate through evaporator [W] |