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 |
![]() |
Package of control sequences |
![]() |
Package for heat pupmp refrigerant cycle modules |
![]() |
Package with data for modular reversible heat pump models |
![]() |
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 [K] | |
Temperature | TEvaHea_nominal | Nominal temperature of the cooled fluid [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 [K] | |
Temperature | TEvaCoo_nominal | Nominal temperature of the heated fluid [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 [K] | |
Temperature | TEvaHea_nominal | Nominal temperature of the cooled fluid [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 [K] | |
Temperature | TEvaCoo_nominal | Nominal temperature of the heated fluid [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 [K] | |
Temperature | TEvaHea_nominal | Nominal temperature of the cooled fluid [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 [K] | |
Temperature | TEvaCoo_nominal | Nominal temperature of the heated fluid [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 [K] | |
Temperature | TEvaHea_nominal | Nominal temperature of the cooled fluid [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 [K] | |
Temperature | TEvaCoo_nominal | Nominal temperature of the heated fluid [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 [K] | |
Temperature | TEvaHea_nominal | Nominal temperature of the cooled fluid [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 [K] | |
Temperature | TEvaCoo_nominal | Nominal temperature of the heated fluid [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.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] |