Buildings.Fluid.Chillers.ModularReversible

Package for reversible and non-reversible chillers using a modular model approach

Information

Package with models and packages for the modular reversible chiller 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
Buildings.Fluid.Chillers.ModularReversible.UsersGuide UsersGuide User's Guide for modular reversible heat pump and chiller models
Buildings.Fluid.Chillers.ModularReversible.CarnotWithLosses CarnotWithLosses Reversible chiller using Carnot approach with losses (frost, heat, inertia)
Buildings.Fluid.Chillers.ModularReversible.LargeScaleWaterToWater LargeScaleWaterToWater Large scale water to water chiller
Buildings.Fluid.Chillers.ModularReversible.Modular Modular Grey-box model for reversible and non-reversible chillers
Buildings.Fluid.Chillers.ModularReversible.Controls Controls Package of control sequences
Buildings.Fluid.Chillers.ModularReversible.RefrigerantCycle RefrigerantCycle Package for chiller refrigerant cycle modules
Buildings.Fluid.Chillers.ModularReversible.Data Data Package for data records
Buildings.Fluid.Chillers.ModularReversible.Examples Examples Collection of models that illustrate model use and test models
Buildings.Fluid.Chillers.ModularReversible.Validation Validation Package for model validation
Buildings.Fluid.Chillers.ModularReversible.BaseClasses BaseClasses Package with base classes for Buildings.Fluid.Chillers.ModularReversible

Buildings.Fluid.Chillers.ModularReversible.CarnotWithLosses Buildings.Fluid.Chillers.ModularReversible.CarnotWithLosses

Reversible chiller using Carnot approach with losses (frost, heat, inertia)

Buildings.Fluid.Chillers.ModularReversible.CarnotWithLosses

Information

Model of a reversible chiller.

This model extends Buildings.Fluid.Chillers.ModularReversible.Modular and selects the constant Carnot effectiveness module for chillers ( Buildings.Fluid.Chillers.ModularReversible.RefrigerantCycle.ConstantCarnotEffectiveness) and heat pumps ( Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.ConstantCarnotEffectiveness) to model a reversible chiller. For the heating operation, the nominal approach temperatures are used as a constant to avoid nonlinear system of equations.

Furthermore, losses are enabled to model the chiller with a more realistic behaviour:

For more information, see Buildings.Fluid.HeatPumps.ModularReversible.UsersGuide.

Extends from Buildings.Fluid.Chillers.ModularReversible.Modular (Grey-box model for reversible and non-reversible chillers).

Parameters

TypeNameDefaultDescription
replaceable package MediumConPartialMediumMedium on condenser side
replaceable package MediumEvaPartialMediumMedium on evaporator side
Booleanuse_revfalse=true if the chiller or heat pump is reversible
replaceable model RefrigerantCycleChillerCoolingBuildings.Fluid.Chillers.Mod...Refrigerant cycle module for the cooling mode
replaceable model RefrigerantCycleChillerHeatingBuildings.Fluid.HeatPumps.Mo...Refrigerant cycle module for the heating mode
RealetaCarnot_nominal0.3Constant Carnot effectiveness
Nominal condition
HeatFlowRateQCoo_flow_nominal Nominal cooling capcaity [W]
TemperatureTEvaCoo_nominal Nominal temperature of the cooled fluid [K]
TemperatureTConCoo_nominal Nominal temperature of the heated fluid [K]
TemperatureDifferenceTAppCon_nominalif cpCon < 1500 then 5 else 2Temperature difference between refrigerant and working fluid outlet in condenser [K]
TemperatureDifferenceTAppEva_nominalif cpEva < 1500 then 5 else 2Temperature difference between refrigerant and working fluid outlet in evaporator [K]
Inertia
replaceable model RefrigerantCycleInertiaNoInertiaInertia between the refrigerant cycle outputs and the heat exchangers.
Safety control
Booleanuse_intSafCtrtrue=true to enable internal safety control
Wuellhorst2021safCtrParredeclare parameter Building...Safety control parameters
Nominal condition - Pressure losses
TemperatureDifferencedTCon_nominal Nominal temperature difference in condenser medium, used to calculate mass flow rate [K]
MassFlowRatemCon_flow_nominal(PEle_nominal - QCoo_flow_no...Nominal mass flow rate of the condenser medium [kg/s]
PressureDifferencedpCon_nominal Pressure drop at nominal mass flow rate [Pa]
TemperatureDifferencedTEva_nominal Nominal temperature difference in evaporator medium, used to calculate mass flow rate [K]
MassFlowRatemEva_flow_nominal-QCoo_flow_nominal/(dTEva_no...Nominal mass flow rate of the evaporator medium [kg/s]
PressureDifferencedpEva_nominal Pressure drop at nominal mass flow rate [Pa]
Nominal condition - Heating
HeatFlowRateQHea_flow_nominalPEle_nominal*refCyc.refCycCh...Nominal heating capacity [W]
TemperatureTEvaHea_nominal Nominal temperature of the heated fluid [K]
TemperatureTConHea_nominal Nominal temperature of the cooled fluid [K]
Refrigerant cycle inertia
TimerefIneTimCon300Refrigerant cycle inertia time constant for first order delay [s]
IntegernthOrd1Order of refrigerant cycle interia
Assumptions
Evaporator
BooleanallowFlowReversalEvatrue= false to simplify equations, assuming, but not enforcing, no flow reversal
Condenser
BooleanallowFlowReversalContrue= false to simplify equations, assuming, but not enforcing, no flow reversal
Advanced
BooleanallowDifferentDeviceIdentifiersfalseif use_rev=true, device data for cooling and heating need to entered. Set allowDifferentDeviceIdentifiers=true to allow different device identifiers devIde
BooleancalEfftrue=false to disable efficiency calculation, may speed up the simulation
ReallimWarSca0.05Allowed difference in scaling '|scaFacHea - scaFacCoo| / scaFacHea', if exceeded, a warning will be issued [1]
Diagnostics
Booleanshow_Tfalse= true, if actual temperature at port is computed
RealySet_small0.01Threshold for relative speed for the device to be considered on
Flow resistance
Booleanfrom_dpfalse= true, use m_flow = f(dp) else dp = f(m_flow)
Booleanlinearizedfalse= true, use linear relation between m_flow and dp for any flow rate
Condenser
Dynamics
TimetauCon30Condenser heat transfer time constant at nominal flow [s]
Flow resistance
RealdeltaMCon0.1Fraction of nominal mass flow rate where transition to turbulent occurs
Heat Losses
Booleanuse_conCaptrue=true if using capacitor model for condenser heat loss estimation
HeatCapacityCCon0Heat capacity of the condenser [J/K]
ThermalConductanceGConOut0Outer thermal conductance for condenser heat loss calculations [W/K]
ThermalConductanceGConIns0Inner thermal conductance for condenser heat loss calculations [W/K]
Evaporator
Dynamics
TimetauEva30Evaporator heat transfer time constant at nominal flow [s]
Flow resistance
RealdeltaMEva0.1Fraction of nominal mass flow rate where transition to turbulent occurs
Heat Losses
Booleanuse_evaCaptrue=true if using capacitor model for evaporator heat loss estimation
HeatCapacityCEva0Heat capacity of the evaporator [J/K]
ThermalConductanceGEvaOut0Outer thermal conductance for evaporator heat loss calculations [W/K]
ThermalConductanceGEvaIns0Inner thermal conductance for evaporator heat loss calculations [W/K]
Initialization
Parameters
InitinitTypeModelica.Blocks.Types.Init.I...Type of initialization for refrigerant cycle dynamics (InitialState and InitialOutput are identical)
Condenser
AbsolutePressurepCon_startMediumCon.p_defaultStart value of pressure [Pa]
TemperatureTCon_startMediumCon.T_defaultStart value of temperature [K]
TemperatureTConCap_startMediumCon.T_defaultInitial temperature of heat capacity of condenser [K]
MassFractionXCon_start[MediumCon.nX]MediumCon.X_defaultStart value of mass fractions m_i/m [kg/kg]
Evaporator
AbsolutePressurepEva_startMediumEva.p_defaultStart value of pressure [Pa]
TemperatureTEva_startMediumEva.T_defaultStart value of temperature [K]
TemperatureTEvaCap_startMediumEva.T_defaultInitial temperature of heat capacity at evaporator [K]
MassFractionXEva_start[MediumEva.nX]MediumEva.X_defaultStart value of mass fractions m_i/m [kg/kg]
Dynamics
Equation
DynamicsenergyDynamicsModelica.Fluid.Types.Dynamic...Type of energy balance: dynamic (3 initialization options) or steady state (only affects fluid-models)

Connectors

TypeNameDescription
FluidPort_aport_a1Fluid connector a1 (positive design flow direction is from port_a1 to port_b1)
FluidPort_bport_b1Fluid connector b1 (positive design flow direction is from port_a1 to port_b1)
FluidPort_aport_a2Fluid connector a2 (positive design flow direction is from port_a2 to port_b2)
FluidPort_bport_b2Fluid connector b2 (positive design flow direction is from port_a2 to port_b2)
input RealInputySetRelative compressor speed between 0 and 1
input RealInputTEvaAmbAmbient temperature on the evaporator side [K]
input RealInputTConAmbAmbient temperature on the condenser side [K]
output RealOutputQCon_flowActual heating heat flow rate added to fluid 1 [W]
output RealOutputPElectric power consumed by compressor [W]
output RealOutputQEva_flowActual cooling heat flow rate removed from fluid 2 [W]
output RealOutputEEREnergy efficieny ratio [1]
output RealOutputCOPCoefficient of performance [1]
replaceable model RefrigerantCycleChillerCoolingRefrigerant cycle module for the cooling mode
replaceable model RefrigerantCycleChillerHeatingRefrigerant cycle module for the heating mode
input BooleanInputcoo=true for cooling, =false for heating
Inertia
replaceable model RefrigerantCycleInertiaInertia between the refrigerant cycle outputs and the heat exchangers.

Modelica definition

model CarnotWithLosses "Reversible chiller using Carnot approach with losses (frost, heat, inertia)" extends Buildings.Fluid.Chillers.ModularReversible.Modular( QHea_flow_nominal=PEle_nominal*refCyc.refCycChiHea.COP_nominal, redeclare model RefrigerantCycleChillerHeating = Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.ConstantCarnotEffectiveness ( PEle_nominal=PEle_nominal, redeclare Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.Frosting.NoFrosting iceFacCal, etaCarnot_nominal=etaCarnot_nominal, use_constAppTem=true, TAppCon_nominal=TAppCon_nominal, TAppEva_nominal=TAppEva_nominal), redeclare model RefrigerantCycleChillerCooling = Buildings.Fluid.Chillers.ModularReversible.RefrigerantCycle.ConstantCarnotEffectiveness ( redeclare Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.Frosting.FunctionalIcingFactor iceFacCal(redeclare function icingFactor = Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.Frosting.Functions.wetterAfjei1997), TAppCon_nominal=TAppCon_nominal, TAppEva_nominal=TAppEva_nominal, etaCarnot_nominal=etaCarnot_nominal), final allowDifferentDeviceIdentifiers=false, redeclare model RefrigerantCycleInertia = Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.Inertias.VariableOrder ( final refIneFreConst=1/refIneTimCon, final nthOrd=1, initType=Modelica.Blocks.Types.Init.InitialOutput)); parameter Real etaCarnot_nominal=0.3 "Constant Carnot effectiveness"; parameter Modelica.Units.SI.TemperatureDifference TAppCon_nominal=if cpCon < 1500 then 5 else 2 "Temperature difference between refrigerant and working fluid outlet in condenser"; parameter Modelica.Units.SI.TemperatureDifference TAppEva_nominal=if cpEva < 1500 then 5 else 2 "Temperature difference between refrigerant and working fluid outlet in evaporator"; parameter Modelica.Units.SI.Time refIneTimCon = 300 "Refrigerant cycle inertia time constant for first order delay"; parameter Integer nthOrd=1 "Order of refrigerant cycle interia"; end CarnotWithLosses;

Buildings.Fluid.Chillers.ModularReversible.LargeScaleWaterToWater Buildings.Fluid.Chillers.ModularReversible.LargeScaleWaterToWater

Large scale water to water chiller

Buildings.Fluid.Chillers.ModularReversible.LargeScaleWaterToWater

Information

Large scale water-to-water chiller, using the Buildings.Fluid.Chillers.ModularReversible.Modular approach.

Contrary to the standard sizing approach for the Buildings.Fluid.Chillers.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, see UsersGuide.

The documentation of the model for cooling is at Buildings.Fluid.Chillers.ModularReversible.RefrigerantCycle.TableData2D.

Assumptions

Extends from Modular (Grey-box model for reversible and non-reversible chillers), Buildings.Fluid.HeatPumps.ModularReversible.BaseClasses.LargeScaleWaterToWaterDeclarations (Model with parameters for large scale water-to-water heat pump).

Parameters

TypeNameDefaultDescription
replaceable package MediumConPartialMediumMedium on condenser side
replaceable package MediumEvaPartialMediumMedium on evaporator side
Booleanuse_revfalse=true if the chiller or heat pump is reversible
replaceable model RefrigerantCycleChillerCoolingBuildings.Fluid.Chillers.Mod...Refrigerant cycle module for the cooling mode
replaceable model RefrigerantCycleChillerHeatingBuildings.Fluid.HeatPumps.Mo...Refrigerant cycle module for the heating mode
GenericdatTabredeclare parameter Building...Data Table of Chiller
Nominal condition
HeatFlowRateQCoo_flow_nominal Nominal cooling capcaity [W]
TemperatureTEvaCoo_nominal Nominal temperature of the cooled fluid [K]
TemperatureTConCoo_nominal Nominal temperature of the heated fluid [K]
Inertia
replaceable model RefrigerantCycleInertiaNoInertiaInertia between the refrigerant cycle outputs and the heat exchangers.
Safety control
Booleanuse_intSafCtrtrue=true to enable internal safety control
Nominal condition - Pressure losses
TemperatureDifferencedTCon_nominal(PEle_nominal - QCoo_flow_no...Nominal temperature difference in condenser medium, used to calculate mass flow rate [K]
MassFlowRatemCon_flow_nominalautCalMasCon_flowNominal mass flow rate of the condenser medium [kg/s]
PressureDifferencedpCon_nominaldatTab.dpCon_nominal*scaFac^2Pressure drop at nominal mass flow rate [Pa]
TemperatureDifferencedTEva_nominal-QCoo_flow_nominal/cpEva/mEv...Nominal temperature difference in evaporator medium, used to calculate mass flow rate [K]
MassFlowRatemEva_flow_nominalautCalMasEva_flowNominal mass flow rate of the evaporator medium [kg/s]
PressureDifferencedpEva_nominaldatTab.dpEva_nominal*scaFac^2Pressure drop at nominal mass flow rate [Pa]
Nominal condition - Heating
HeatFlowRateQHea_flow_nominal0Nominal heating capacity [W]
TemperatureTEvaHea_nominal0Nominal temperature of the heated fluid [K]
TemperatureTConHea_nominal0Nominal temperature of the cooled fluid [K]
Assumptions
Evaporator
BooleanallowFlowReversalEvatrue= false to simplify equations, assuming, but not enforcing, no flow reversal
Condenser
BooleanallowFlowReversalContrue= false to simplify equations, assuming, but not enforcing, no flow reversal
Advanced
BooleanallowDifferentDeviceIdentifiersfalseif use_rev=true, device data for cooling and heating need to entered. Set allowDifferentDeviceIdentifiers=true to allow different device identifiers devIde
BooleancalEfftrue=false to disable efficiency calculation, may speed up the simulation
ReallimWarSca0.05Allowed difference in scaling '|scaFacHea - scaFacCoo| / scaFacHea', if exceeded, a warning will be issued [1]
Diagnostics
Booleanshow_Tfalse= true, if actual temperature at port is computed
RealySet_small0.01Threshold for relative speed for the device to be considered on
Flow resistance
Booleanfrom_dpfalse= true, use m_flow = f(dp) else dp = f(m_flow)
Booleanlinearizedfalse= true, use linear relation between m_flow and dp for any flow rate
Condenser
Dynamics
TimetauConautCalVCon*rhoCon/autCalMasC...Condenser heat transfer time constant at nominal flow [s]
Flow resistance
RealdeltaMCon0.1Fraction of nominal mass flow rate where transition to turbulent occurs
Heat Losses
Booleanuse_conCapfalse=true if using capacitor model for condenser heat loss estimation
HeatCapacityCCon0Heat capacity of the condenser [J/K]
ThermalConductanceGConOut0Outer thermal conductance for condenser heat loss calculations [W/K]
ThermalConductanceGConIns0Inner thermal conductance for condenser heat loss calculations [W/K]
Evaporator
Dynamics
TimetauEvaautCalVEva*rhoEva/autCalMasE...Evaporator heat transfer time constant at nominal flow [s]
Flow resistance
RealdeltaMEva0.1Fraction of nominal mass flow rate where transition to turbulent occurs
Heat Losses
Booleanuse_evaCapfalse=true if using capacitor model for evaporator heat loss estimation
HeatCapacityCEva0Heat capacity of the evaporator [J/K]
ThermalConductanceGEvaOut0Outer thermal conductance for evaporator heat loss calculations [W/K]
ThermalConductanceGEvaIns0Inner thermal conductance for evaporator heat loss calculations [W/K]
Initialization
Parameters
InitinitTypeModelica.Blocks.Types.Init.I...Type of initialization for refrigerant cycle dynamics (InitialState and InitialOutput are identical)
Condenser
AbsolutePressurepCon_startMediumCon.p_defaultStart value of pressure [Pa]
TemperatureTCon_startMediumCon.T_defaultStart value of temperature [K]
TemperatureTConCap_startMediumCon.T_defaultInitial temperature of heat capacity of condenser [K]
MassFractionXCon_start[MediumCon.nX]MediumCon.X_defaultStart value of mass fractions m_i/m [kg/kg]
Evaporator
AbsolutePressurepEva_startMediumEva.p_defaultStart value of pressure [Pa]
TemperatureTEva_startMediumEva.T_defaultStart value of temperature [K]
TemperatureTEvaCap_startMediumEva.T_defaultInitial temperature of heat capacity at evaporator [K]
MassFractionXEva_start[MediumEva.nX]MediumEva.X_defaultStart value of mass fractions m_i/m [kg/kg]
Dynamics
Equation
DynamicsenergyDynamicsModelica.Fluid.Types.Dynamic...Type of energy balance: dynamic (3 initialization options) or steady state (only affects fluid-models)

Connectors

TypeNameDescription
FluidPort_aport_a1Fluid connector a1 (positive design flow direction is from port_a1 to port_b1)
FluidPort_bport_b1Fluid connector b1 (positive design flow direction is from port_a1 to port_b1)
FluidPort_aport_a2Fluid connector a2 (positive design flow direction is from port_a2 to port_b2)
FluidPort_bport_b2Fluid connector b2 (positive design flow direction is from port_a2 to port_b2)
replaceable package MediumConMedium on condenser side
replaceable package MediumEvaMedium on evaporator side
input RealInputySetRelative compressor speed between 0 and 1
input RealInputTEvaAmbAmbient temperature on the evaporator side [K]
input RealInputTConAmbAmbient temperature on the condenser side [K]
output RealOutputQCon_flowActual heating heat flow rate added to fluid 1 [W]
output RealOutputPElectric power consumed by compressor [W]
output RealOutputQEva_flowActual cooling heat flow rate removed from fluid 2 [W]
output RealOutputEEREnergy efficieny ratio [1]
output RealOutputCOPCoefficient of performance [1]
replaceable model RefrigerantCycleChillerCoolingRefrigerant cycle module for the cooling mode
replaceable model RefrigerantCycleChillerHeatingRefrigerant cycle module for the heating mode
input BooleanInputcoo=true for cooling, =false for heating
Inertia
replaceable model RefrigerantCycleInertiaInertia between the refrigerant cycle outputs and the heat exchangers.

Modelica definition

model LargeScaleWaterToWater "Large scale water to water chiller" extends Modular( dpEva_nominal=datTab.dpEva_nominal*scaFac^2, dpCon_nominal=datTab.dpCon_nominal*scaFac^2, final dTEva_nominal=-QCoo_flow_nominal/cpEva/mEva_flow_nominal, final dTCon_nominal=(PEle_nominal - QCoo_flow_nominal)/cpCon/mCon_flow_nominal, redeclare replaceable package MediumCon = Buildings.Media.Water, redeclare replaceable package MediumEva = Buildings.Media.Water, final GEvaIns=0, final GEvaOut=0, final CEva=0, final use_evaCap=false, final GConIns=0, final GConOut=0, final CCon=0, final TConHea_nominal=0, final TEvaHea_nominal=0, final use_conCap=false, redeclare replaceable Buildings.Fluid.HeatPumps.ModularReversible.Controls.Safety.Data.Wuellhorst2021 safCtrPar constrainedby Buildings.Fluid.HeatPumps.ModularReversible.Controls.Safety.Data.Generic ( final tabUppHea=datTab.tabLowBou, final tabLowCoo=datTab.tabLowBou, final use_TEvaOutCoo=datTab.use_TEvaOutForOpeEnv, final use_TConOutCoo=datTab.use_TConOutForOpeEnv), redeclare model RefrigerantCycleInertia = Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.Inertias.NoInertia, redeclare model RefrigerantCycleChillerHeating = Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.BaseClasses.NoHeating, redeclare model RefrigerantCycleChillerCooling = Buildings.Fluid.Chillers.ModularReversible.RefrigerantCycle.TableData2D ( redeclare Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.Frosting.NoFrosting iceFacCal, datTab=datTab), final use_rev=false, final QHea_flow_nominal=0, final mCon_flow_nominal=autCalMasCon_flow, final mEva_flow_nominal=autCalMasEva_flow, final tauCon=autCalVCon*rhoCon/autCalMasCon_flow, final tauEva=autCalVEva*rhoEva/autCalMasEva_flow); final parameter Real scaFac=refCyc.refCycChiCoo.scaFac "Scaling factor of chiller"; extends Buildings.Fluid.HeatPumps.ModularReversible.BaseClasses.LargeScaleWaterToWaterDeclarations( final autCalMasCon_flow=max(5E-5*abs(QCoo_flow_nominal) + 0.3161, autCalMMin_flow), final autCalMasEva_flow=max(5E-5*abs(QCoo_flow_nominal) - 0.5662, autCalMMin_flow), final autCalVCon=max(2E-7*abs(QCoo_flow_nominal) - 84E-4, autCalVMin), final autCalVEva=max(1E-7*abs(QCoo_flow_nominal) - 66E-4, autCalVMin)); replaceable parameter Buildings.Fluid.Chillers.ModularReversible.Data.TableData2D.Generic datTab constrainedby Data.TableData2D.Generic "Data Table of Chiller"; end LargeScaleWaterToWater;

Buildings.Fluid.Chillers.ModularReversible.Modular Buildings.Fluid.Chillers.ModularReversible.Modular

Grey-box model for reversible and non-reversible chillers

Buildings.Fluid.Chillers.ModularReversible.Modular

Information

Model of a reversible, modular chiller. 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 coo signal to choose the operation mode of the chiller.

For more information, 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

TypeNameDefaultDescription
replaceable package MediumConPartialMediumMedium on condenser side
replaceable package MediumEvaPartialMediumMedium on evaporator side
Booleanuse_revfalse=true if the chiller or heat pump is reversible
replaceable model RefrigerantCycleChillerCoolingBuildings.Fluid.Chillers.Mod...Refrigerant cycle module for the cooling mode
replaceable model RefrigerantCycleChillerHeatingBuildings.Fluid.HeatPumps.Mo...Refrigerant cycle module for the heating mode
Nominal condition
HeatFlowRatePEle_nominalrefCyc.refCycChiCoo.PEle_nom...Nominal electrical power consumption [W]
HeatFlowRateQCoo_flow_nominal Nominal cooling capcaity [W]
TemperatureTEvaCoo_nominal Nominal temperature of the cooled fluid [K]
TemperatureTConCoo_nominal Nominal temperature of the heated fluid [K]
Inertia
replaceable model RefrigerantCycleInertiaNoInertiaInertia between the refrigerant cycle outputs and the heat exchangers.
Safety control
Booleanuse_intSafCtrtrue=true to enable internal safety control
Wuellhorst2021safCtrParredeclare parameter Building...Safety control parameters
Nominal condition - Pressure losses
TemperatureDifferencedTCon_nominal Nominal temperature difference in condenser medium, used to calculate mass flow rate [K]
MassFlowRatemCon_flow_nominal(PEle_nominal - QCoo_flow_no...Nominal mass flow rate of the condenser medium [kg/s]
PressureDifferencedpCon_nominal Pressure drop at nominal mass flow rate [Pa]
TemperatureDifferencedTEva_nominal Nominal temperature difference in evaporator medium, used to calculate mass flow rate [K]
MassFlowRatemEva_flow_nominal-QCoo_flow_nominal/(dTEva_no...Nominal mass flow rate of the evaporator medium [kg/s]
PressureDifferencedpEva_nominal Pressure drop at nominal mass flow rate [Pa]
Nominal condition - Heating
HeatFlowRateQHea_flow_nominal0Nominal heating capacity [W]
TemperatureTEvaHea_nominal Nominal temperature of the heated fluid [K]
TemperatureTConHea_nominal Nominal temperature of the cooled fluid [K]
Assumptions
Evaporator
BooleanallowFlowReversalEvatrue= false to simplify equations, assuming, but not enforcing, no flow reversal
Condenser
BooleanallowFlowReversalContrue= false to simplify equations, assuming, but not enforcing, no flow reversal
Advanced
BooleanallowDifferentDeviceIdentifiersfalseif use_rev=true, device data for cooling and heating need to entered. Set allowDifferentDeviceIdentifiers=true to allow different device identifiers devIde
BooleancalEfftrue=false to disable efficiency calculation, may speed up the simulation
ReallimWarSca0.05Allowed difference in scaling '|scaFacHea - scaFacCoo| / scaFacHea', if exceeded, a warning will be issued [1]
Diagnostics
Booleanshow_Tfalse= true, if actual temperature at port is computed
RealySet_small0.01Threshold for relative speed for the device to be considered on
Flow resistance
Booleanfrom_dpfalse= true, use m_flow = f(dp) else dp = f(m_flow)
Booleanlinearizedfalse= true, use linear relation between m_flow and dp for any flow rate
Condenser
Dynamics
TimetauCon30Condenser heat transfer time constant at nominal flow [s]
Flow resistance
RealdeltaMCon0.1Fraction of nominal mass flow rate where transition to turbulent occurs
Heat Losses
Booleanuse_conCaptrue=true if using capacitor model for condenser heat loss estimation
HeatCapacityCCon0Heat capacity of the condenser [J/K]
ThermalConductanceGConOut0Outer thermal conductance for condenser heat loss calculations [W/K]
ThermalConductanceGConIns0Inner thermal conductance for condenser heat loss calculations [W/K]
Evaporator
Dynamics
TimetauEva30Evaporator heat transfer time constant at nominal flow [s]
Flow resistance
RealdeltaMEva0.1Fraction of nominal mass flow rate where transition to turbulent occurs
Heat Losses
Booleanuse_evaCaptrue=true if using capacitor model for evaporator heat loss estimation
HeatCapacityCEva0Heat capacity of the evaporator [J/K]
ThermalConductanceGEvaOut0Outer thermal conductance for evaporator heat loss calculations [W/K]
ThermalConductanceGEvaIns0Inner thermal conductance for evaporator heat loss calculations [W/K]
Initialization
Parameters
InitinitTypeModelica.Blocks.Types.Init.I...Type of initialization for refrigerant cycle dynamics (InitialState and InitialOutput are identical)
Condenser
AbsolutePressurepCon_startMediumCon.p_defaultStart value of pressure [Pa]
TemperatureTCon_startMediumCon.T_defaultStart value of temperature [K]
TemperatureTConCap_startMediumCon.T_defaultInitial temperature of heat capacity of condenser [K]
MassFractionXCon_start[MediumCon.nX]MediumCon.X_defaultStart value of mass fractions m_i/m [kg/kg]
Evaporator
AbsolutePressurepEva_startMediumEva.p_defaultStart value of pressure [Pa]
TemperatureTEva_startMediumEva.T_defaultStart value of temperature [K]
TemperatureTEvaCap_startMediumEva.T_defaultInitial temperature of heat capacity at evaporator [K]
MassFractionXEva_start[MediumEva.nX]MediumEva.X_defaultStart value of mass fractions m_i/m [kg/kg]
Dynamics
Equation
DynamicsenergyDynamicsModelica.Fluid.Types.Dynamic...Type of energy balance: dynamic (3 initialization options) or steady state (only affects fluid-models)

Connectors

TypeNameDescription
FluidPort_aport_a1Fluid connector a1 (positive design flow direction is from port_a1 to port_b1)
FluidPort_bport_b1Fluid connector b1 (positive design flow direction is from port_a1 to port_b1)
FluidPort_aport_a2Fluid connector a2 (positive design flow direction is from port_a2 to port_b2)
FluidPort_bport_b2Fluid connector b2 (positive design flow direction is from port_a2 to port_b2)
input RealInputySetRelative compressor speed between 0 and 1
input RealInputTEvaAmbAmbient temperature on the evaporator side [K]
input RealInputTConAmbAmbient temperature on the condenser side [K]
output RealOutputQCon_flowActual heating heat flow rate added to fluid 1 [W]
output RealOutputPElectric power consumed by compressor [W]
output RealOutputQEva_flowActual cooling heat flow rate removed from fluid 2 [W]
output RealOutputEEREnergy efficieny ratio [1]
output RealOutputCOPCoefficient of performance [1]
replaceable model RefrigerantCycleChillerCoolingRefrigerant cycle module for the cooling mode
replaceable model RefrigerantCycleChillerHeatingRefrigerant cycle module for the heating mode
input BooleanInputcoo=true for cooling, =false for heating

Modelica definition

model Modular "Grey-box model for reversible and non-reversible chillers" extends Buildings.Fluid.HeatPumps.ModularReversible.BaseClasses.PartialReversibleRefrigerantMachine ( final use_COP=use_rev, final use_EER=true, con(preDro(m_flow(nominal=-QCoo_flow_nominal/1000/10))), eva(preDro(m_flow(nominal=-QCoo_flow_nominal/1000/10))), safCtr(redeclare Buildings.Fluid.Chillers.ModularReversible.Controls.Safety.OperationalEnvelope opeEnv), final PEle_nominal=refCyc.refCycChiCoo.PEle_nominal, mEva_flow_nominal=-QCoo_flow_nominal/(dTEva_nominal*cpEva), mCon_flow_nominal=(PEle_nominal - QCoo_flow_nominal)/(dTCon_nominal*cpCon), use_rev=false, redeclare final Buildings.Fluid.Chillers.ModularReversible.BaseClasses.RefrigerantCycle refCyc( redeclare model RefrigerantCycleChillerCooling = RefrigerantCycleChillerCooling, redeclare model RefrigerantCycleChillerHeating = RefrigerantCycleChillerHeating, final allowDifferentDeviceIdentifiers=allowDifferentDeviceIdentifiers)); parameter Modelica.Units.SI.HeatFlowRate QCoo_flow_nominal(max=0) "Nominal cooling capcaity"; parameter Modelica.Units.SI.HeatFlowRate QHea_flow_nominal=0 "Nominal heating capacity"; replaceable model RefrigerantCycleChillerCooling = Buildings.Fluid.Chillers.ModularReversible.RefrigerantCycle.BaseClasses.PartialChillerCycle (PEle_nominal=0) constrainedby Buildings.Fluid.Chillers.ModularReversible.RefrigerantCycle.BaseClasses.PartialChillerCycle ( final useInChi=true, final TCon_nominal=TConCoo_nominal, final TEva_nominal=TEvaCoo_nominal, final QCoo_flow_nominal=QCoo_flow_nominal, final cpCon=cpCon, final cpEva=cpEva) "Refrigerant cycle module for the cooling mode"; replaceable model RefrigerantCycleChillerHeating = Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.BaseClasses.NoHeating (PEle_nominal=PEle_nominal) constrainedby Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.BaseClasses.PartialHeatPumpCycle ( final useInHeaPum=false, final TCon_nominal=TEvaHea_nominal, final TEva_nominal=TConHea_nominal, final QHea_flow_nominal=QHea_flow_nominal, final cpCon=cpCon, final cpEva=cpEva) "Refrigerant cycle module for the heating mode"; parameter Modelica.Units.SI.Temperature TEvaCoo_nominal "Nominal temperature of the cooled fluid"; parameter Modelica.Units.SI.Temperature TConCoo_nominal "Nominal temperature of the heated fluid"; parameter Modelica.Units.SI.Temperature TEvaHea_nominal "Nominal temperature of the heated fluid"; parameter Modelica.Units.SI.Temperature TConHea_nominal "Nominal temperature of the cooled fluid"; Modelica.Blocks.Interfaces.BooleanInput coo if not use_busConOnl and use_rev "=true for cooling, =false for heating"; Modelica.Blocks.Sources.BooleanConstant conCoo(final k=true) if not use_busConOnl and not use_rev "Locks the device in cooling mode if designated to be not reversible"; Modelica.Blocks.Logical.Not notCoo "Not cooling is heating"; Modelica.Blocks.Logical.Hysteresis hys( final uLow=0.001, final uHigh=ySet_small, final pre_y_start=false) "Outputs whether the device is on based on the relative speed"; equation connect(conCoo.y, sigBus.coo); connect(coo, sigBus.coo); connect(eff.QUse_flow, refCycIneEva.y); connect(eff.hea, notCoo.y); connect(notCoo.u, sigBus.coo); connect(hys.y, sigBus.onOffMea); connect(hys.u, sigBus.yMea); end Modular;

Buildings.Fluid.Chillers.ModularReversible.Modular.RefrigerantCycleChillerCooling Buildings.Fluid.Chillers.ModularReversible.Modular.RefrigerantCycleChillerCooling

Refrigerant cycle module for the cooling mode

Buildings.Fluid.Chillers.ModularReversible.Modular.RefrigerantCycleChillerCooling

Parameters

TypeNameDefaultDescription
StringdevIde""Indicates the data source, used to warn users about different vapor compression devices in reversible models
BooleanuseInChi =false to indicate that this model is used as a heat pump
Nominal condition
PowerPEle_nominal0Nominal electrical power consumption [W]
TemperatureTCon_nominal Nominal temperature at secondary condenser side [K]
TemperatureTEva_nominal Nominal temperature at secondary evaporator side [K]
HeatFlowRateQCoo_flow_nominal Nominal cooling capacity [W]
Frosting supression
NoFrostingiceFacCalredeclare Buildings.Fluid.He...Replaceable model to calculate the icing factor
Advanced
Medium properties
SpecificHeatCapacitycpCon Evaporator medium specific heat capacity [J/(kg.K)]
SpecificHeatCapacitycpEva Evaporator medium specific heat capacity [J/(kg.K)]

Connectors

TypeNameDescription
output RealOutputPEleElectrical Power consumed by the device [W]
output RealOutputQCon_flowHeat flow rate through condenser [W]
RefrigerantMachineControlBussigBusBus-connector
output RealOutputQEva_flowHeat flow rate through evaporator [W]

Modelica definition

replaceable model RefrigerantCycleChillerCooling = Buildings.Fluid.Chillers.ModularReversible.RefrigerantCycle.BaseClasses.PartialChillerCycle (PEle_nominal=0) constrainedby Buildings.Fluid.Chillers.ModularReversible.RefrigerantCycle.BaseClasses.PartialChillerCycle ( final useInChi=true, final TCon_nominal=TConCoo_nominal, final TEva_nominal=TEvaCoo_nominal, final QCoo_flow_nominal=QCoo_flow_nominal, final cpCon=cpCon, final cpEva=cpEva) "Refrigerant cycle module for the cooling mode";

Buildings.Fluid.Chillers.ModularReversible.Modular.RefrigerantCycleChillerHeating Buildings.Fluid.Chillers.ModularReversible.Modular.RefrigerantCycleChillerHeating

Refrigerant cycle module for the heating mode

Buildings.Fluid.Chillers.ModularReversible.Modular.RefrigerantCycleChillerHeating

Parameters

TypeNameDefaultDescription
StringdevIde"NoHeating"Indicates the data source, used to warn users about different vapor compression devices in reversible models
BooleanuseInHeaPum =false to indicate that this model is used in a chiller
Nominal condition
PowerPEle_nominalPEle_nominalNominal electrical power consumption [W]
TemperatureTCon_nominal273.15Nominal temperature at secondary condenser side [K]
TemperatureTEva_nominal273.15Nominal temperature at secondary evaporator side [K]
HeatFlowRateQHea_flow_nominal0Nominal heating capacity [W]
Advanced
Medium properties
SpecificHeatCapacitycpCon4184Evaporator medium specific heat capacity [J/(kg.K)]
SpecificHeatCapacitycpEva4184Evaporator medium specific heat capacity [J/(kg.K)]

Connectors

TypeNameDescription
output RealOutputPEleElectrical Power consumed by the device [W]
output RealOutputQCon_flowHeat flow rate through condenser [W]
RefrigerantMachineControlBussigBusBus-connector
output RealOutputQEva_flowHeat flow rate through evaporator [W]

Modelica definition

replaceable model RefrigerantCycleChillerHeating = Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.BaseClasses.NoHeating (PEle_nominal=PEle_nominal) constrainedby Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.BaseClasses.PartialHeatPumpCycle ( final useInHeaPum=false, final TCon_nominal=TEvaHea_nominal, final TEva_nominal=TConHea_nominal, final QHea_flow_nominal=QHea_flow_nominal, final cpCon=cpCon, final cpEva=cpEva) "Refrigerant cycle module for the heating mode";