modelCarnotWithLosses

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

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

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:

  • 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, see Buildings.Fluid.HeatPumps.ModularReversible.UsersGuide.

Parameters

TypeNameDefaultDescription
Booleanuse_rev (from PartialReversibleRefrigerantMachine)true=true if the chiller or heat pump is reversible
Buildings.Fluid.HeatPumps.ModularReversible.Controls.Safety.Data.Wuellhorst2021safCtrPar (from PartialReversibleRefrigerantMachine)
Modelica.Units.SI.DensityrhoCon (from PartialReversibleRefrigerantMachine)MediumCon.density(staCon_nominal)Condenser medium density
Modelica.Units.SI.SpecificHeatCapacitycpCon (from PartialReversibleRefrigerantMachine)MediumCon.specificHeatCapacityCp(staCon_nominal)Condenser medium specific heat capacity
Modelica.Units.SI.DensityrhoEva (from PartialReversibleRefrigerantMachine)MediumEva.density(staEva_nominal)Evaporator medium density
Modelica.Units.SI.SpecificHeatCapacitycpEva (from PartialReversibleRefrigerantMachine)MediumEva.specificHeatCapacityCp(staEva_nominal)Evaporator medium specific heat capacity
RealetaCarnot_nominal0.3Constant Carnot effectiveness
Assumptions
BooleanallowFlowReversal1 (from PartialFourPort)true= false to simplify equations, assuming, but not enforcing, no flow reversal for medium 1
BooleanallowFlowReversal2 (from PartialFourPort)true= false to simplify equations, assuming, but not enforcing, no flow reversal for medium 2
Nominal condition
Modelica.Units.SI.MassFlowRatem1_flow_nominal (from PartialFourPortInterface)Nominal mass flow rate
Modelica.Units.SI.MassFlowRatem2_flow_nominal (from PartialFourPortInterface)Nominal mass flow rate
Modelica.Units.SI.HeatFlowRatePEle_nominal (from PartialReversibleRefrigerantMachine)Nominal electrical power consumption
Modelica.Units.SI.HeatFlowRateQCoo_flow_nominal (from Modular)Nominal cooling capcaity
Modelica.Units.SI.TemperatureTEvaCoo_nominal (from Modular)Nominal temperature of the cooled fluid during cooling mode
Modelica.Units.SI.TemperatureTConCoo_nominal (from Modular)Nominal temperature of the heated fluid during cooling mode
Modelica.Units.SI.TemperatureDifferenceTAppCon_nominalif cpCon < 1500 then 5 else 2Temperature difference between refrigerant and working fluid outlet in condenser
Modelica.Units.SI.TemperatureDifferenceTAppEva_nominalif cpEva < 1500 then 5 else 2Temperature difference between refrigerant and working fluid outlet in evaporator
Advanced
Medium1.MassFlowRatem1_flow_small (from PartialFourPortInterface)1E-4*abs(m1_flow_nominal)Small mass flow rate for regularization of zero flow
Medium2.MassFlowRatem2_flow_small (from PartialFourPortInterface)1E-4*abs(m2_flow_nominal)Small mass flow rate for regularization of zero flow
BooleanallowDifferentDeviceIdentifiers (from PartialReversibleRefrigerantMachine)falseif use_rev=true, device data for cooling and heating need to entered. Set allowDifferentDeviceIdentifiers=true to allow different device identifiers devIde
BooleancalEff (from PartialReversibleRefrigerantMachine)true=false to disable efficiency calculation, may speed up the simulation
ReallimWarSca (from PartialReversibleRefrigerantMachine)0.05Allowed difference in scaling '|scaFacHea - scaFacCoo| / scaFacHea', if exceeded, a warning will be issued
Advanced › Diagnostics
Booleanshow_T (from PartialFourPortInterface)false= true, if actual temperature at port is computed
RealySet_small (from PartialReversibleRefrigerantMachine)0.01Threshold for relative speed for the device to be considered on
Safety control
Booleanuse_intSafCtr (from PartialReversibleRefrigerantMachine)true=true to enable internal safety control
Condenser › Dynamics
Modelica.Units.SI.TimetauCon (from PartialReversibleRefrigerantMachine)30Condenser heat transfer time constant at nominal flow
Nominal condition - Pressure losses
Modelica.Units.SI.TemperatureDifferencedTCon_nominal (from PartialReversibleRefrigerantMachine)Nominal temperature difference in condenser medium, used to calculate mass flow rate
Modelica.Units.SI.MassFlowRatemCon_flow_nominal (from PartialReversibleRefrigerantMachine)Nominal mass flow rate of the condenser medium
Modelica.Units.SI.PressureDifferencedpCon_nominal (from PartialReversibleRefrigerantMachine)Pressure drop at nominal mass flow rate
Modelica.Units.SI.TemperatureDifferencedTEva_nominal (from PartialReversibleRefrigerantMachine)Nominal temperature difference in evaporator medium, used to calculate mass flow rate
Modelica.Units.SI.MassFlowRatemEva_flow_nominal (from PartialReversibleRefrigerantMachine)Nominal mass flow rate of the evaporator medium
Modelica.Units.SI.PressureDifferencedpEva_nominal (from PartialReversibleRefrigerantMachine)Pressure drop at nominal mass flow rate
Condenser › Flow resistance
RealdeltaMCon (from PartialReversibleRefrigerantMachine)0.1Fraction of nominal mass flow rate where transition to turbulent occurs
RealnCon (from PartialReversibleRefrigerantMachine)2Flow exponent, n=1 for laminar, n=2 for turbulent
Condenser › Heat Losses
Booleanuse_conCap (from PartialReversibleRefrigerantMachine)true=true if using capacitor model for condenser heat loss estimation
Modelica.Units.SI.HeatCapacityCCon (from PartialReversibleRefrigerantMachine)0Heat capacity of the condenser
Modelica.Units.SI.ThermalConductanceGConOut (from PartialReversibleRefrigerantMachine)0Outer thermal conductance for condenser heat loss calculations
Modelica.Units.SI.ThermalConductanceGConIns (from PartialReversibleRefrigerantMachine)0Inner thermal conductance for condenser heat loss calculations
Evaporator › Dynamics
Modelica.Units.SI.TimetauEva (from PartialReversibleRefrigerantMachine)30Evaporator heat transfer time constant at nominal flow
Evaporator › Flow resistance
RealdeltaMEva (from PartialReversibleRefrigerantMachine)0.1Fraction of nominal mass flow rate where transition to turbulent occurs
RealnEva (from PartialReversibleRefrigerantMachine)2Flow exponent, n=1 for laminar, n=2 for turbulent
Evaporator › Heat Losses
Booleanuse_evaCap (from PartialReversibleRefrigerantMachine)true=true if using capacitor model for evaporator heat loss estimation
Modelica.Units.SI.HeatCapacityCEva (from PartialReversibleRefrigerantMachine)0Heat capacity of the evaporator
Modelica.Units.SI.ThermalConductanceGEvaOut (from PartialReversibleRefrigerantMachine)0Outer thermal conductance for evaporator heat loss calculations
Modelica.Units.SI.ThermalConductanceGEvaIns (from PartialReversibleRefrigerantMachine)0Inner thermal conductance for evaporator heat loss calculations
Assumptions › Evaporator
BooleanallowFlowReversalEva (from PartialReversibleRefrigerantMachine)true= false to simplify equations, assuming, but not enforcing, no flow reversal
Assumptions › Condenser
BooleanallowFlowReversalCon (from PartialReversibleRefrigerantMachine)true= false to simplify equations, assuming, but not enforcing, no flow reversal
Initialization › Parameters
Modelica.Blocks.Types.InitinitType (from PartialReversibleRefrigerantMachine)Modelica.Blocks.Types.Init.InitialStateType of initialization for refrigerant cycle dynamics (InitialState and InitialOutput are identical)
Initialization › Condenser
Modelica.Media.Interfaces.Types.AbsolutePressurepCon_start (from PartialReversibleRefrigerantMachine)MediumCon.p_defaultStart value of pressure
Modelica.Media.Interfaces.Types.TemperatureTCon_start (from PartialReversibleRefrigerantMachine)MediumCon.T_defaultStart value of temperature
Modelica.Units.SI.TemperatureTConCap_start (from PartialReversibleRefrigerantMachine)MediumCon.T_defaultInitial temperature of heat capacity of condenser
Modelica.Media.Interfaces.Types.MassFraction[MediumCon.nX]XCon_start (from PartialReversibleRefrigerantMachine)MediumCon.X_defaultStart value of mass fractions m_i/m
Initialization › Evaporator
Modelica.Media.Interfaces.Types.AbsolutePressurepEva_start (from PartialReversibleRefrigerantMachine)MediumEva.p_defaultStart value of pressure
Modelica.Media.Interfaces.Types.TemperatureTEva_start (from PartialReversibleRefrigerantMachine)MediumEva.T_defaultStart value of temperature
Modelica.Units.SI.TemperatureTEvaCap_start (from PartialReversibleRefrigerantMachine)MediumEva.T_defaultInitial temperature of heat capacity at evaporator
Modelica.Media.Interfaces.Types.MassFraction[MediumEva.nX]XEva_start (from PartialReversibleRefrigerantMachine)MediumEva.X_defaultStart value of mass fractions m_i/m
Dynamics › Equation
Modelica.Fluid.Types.DynamicsenergyDynamics (from PartialReversibleRefrigerantMachine)Modelica.Fluid.Types.Dynamics.DynamicFreeInitialType of energy balance: dynamic (3 initialization options) or steady state (only affects fluid-models)
Advanced › Flow resistance
Booleanfrom_dp (from PartialReversibleRefrigerantMachine)false= true, use m_flow = f(dp) else dp = f(m_flow)
Booleanlinearized (from PartialReversibleRefrigerantMachine)false= true, use linear relation between m_flow and dp for any flow rate
Nominal condition - Heating
Modelica.Units.SI.HeatFlowRateQHea_flow_nominal (from Modular)0Nominal heating capacity
Modelica.Units.SI.TemperatureTEvaHea_nominal (from Modular)Nominal temperature of the heated fluid during heating mode
Modelica.Units.SI.TemperatureTConHea_nominal (from Modular)Nominal temperature of the cooled fluid during heating mode
Refrigerant cycle inertia
Modelica.Units.SI.TimerefIneTimCon300Refrigerant cycle inertia time constant for first order delay
IntegernthOrd1Order of refrigerant cycle interia

Connectors

TypeNameDefaultDescription
Modelica.Fluid.Interfaces.FluidPort_aport_a1 (from PartialFourPort)Fluid connector a1 (positive design flow direction is from port_a1 to port_b1)
Modelica.Fluid.Interfaces.FluidPort_bport_b1 (from PartialFourPort)Fluid connector b1 (positive design flow direction is from port_a1 to port_b1)
Modelica.Fluid.Interfaces.FluidPort_aport_a2 (from PartialFourPort)Fluid connector a2 (positive design flow direction is from port_a2 to port_b2)
Modelica.Fluid.Interfaces.FluidPort_bport_b2 (from PartialFourPort)Fluid connector b2 (positive design flow direction is from port_a2 to port_b2)
Modelica.Blocks.Interfaces.RealInputySet (from PartialReversibleRefrigerantMachine)Relative compressor speed between 0 and 1
Modelica.Blocks.Interfaces.RealInputTEvaAmb (from PartialReversibleRefrigerantMachine)Ambient temperature on the evaporator side
Modelica.Blocks.Interfaces.RealInputTConAmb (from PartialReversibleRefrigerantMachine)Ambient temperature on the condenser side
Modelica.Blocks.Interfaces.RealOutputQCon_flow (from PartialReversibleRefrigerantMachine)Actual heating heat flow rate added to fluid 1
Modelica.Blocks.Interfaces.RealOutputP (from PartialReversibleRefrigerantMachine)Electric power consumed by compressor
Modelica.Blocks.Interfaces.RealOutputQEva_flow (from PartialReversibleRefrigerantMachine)Actual cooling heat flow rate removed from fluid 2
Modelica.Blocks.Interfaces.RealOutputEER (from PartialReversibleRefrigerantMachine)Energy efficieny ratio
Modelica.Blocks.Interfaces.RealOutputCOP (from PartialReversibleRefrigerantMachine)Coefficient of performance
Modelica.Blocks.Interfaces.BooleanInputcoo (from Modular)=true for cooling, =false for heating

Components

TypeNameDefaultDescription
Medium1.MassFlowRatem1_flow (from PartialFourPortInterface)port_a1.m_flowMass flow rate from port_a1 to port_b1 (m1_flow > 0 is design flow direction)
Modelica.Units.SI.PressureDifferencedp1 (from PartialFourPortInterface)port_a1.p - port_b1.pPressure difference between port_a1 and port_b1
Medium2.MassFlowRatem2_flow (from PartialFourPortInterface)port_a2.m_flowMass flow rate from port_a2 to port_b2 (m2_flow > 0 is design flow direction)
Modelica.Units.SI.PressureDifferencedp2 (from PartialFourPortInterface)port_a2.p - port_b2.pPressure difference between port_a2 and port_b2
Medium1.ThermodynamicStatesta_a1 (from PartialFourPortInterface)if allowFlowReversal1 then Medium1.setState_phX(port_a1.p, noEvent(actualStream(port_a1.h_outflow)), noEvent(actualStream(port_a1.Xi_outflow))) else Medium1.setState_phX(port_a1.p, inStream(port_a1.h_outflow), inStream(port_a1.Xi_outflow))Medium properties in port_a1
Medium1.ThermodynamicStatesta_b1 (from PartialFourPortInterface)if allowFlowReversal1 then Medium1.setState_phX(port_b1.p, noEvent(actualStream(port_b1.h_outflow)), noEvent(actualStream(port_b1.Xi_outflow))) else Medium1.setState_phX(port_b1.p, port_b1.h_outflow, port_b1.Xi_outflow)Medium properties in port_b1
Medium2.ThermodynamicStatesta_a2 (from PartialFourPortInterface)if allowFlowReversal2 then Medium2.setState_phX(port_a2.p, noEvent(actualStream(port_a2.h_outflow)), noEvent(actualStream(port_a2.Xi_outflow))) else Medium2.setState_phX(port_a2.p, inStream(port_a2.h_outflow), inStream(port_a2.Xi_outflow))Medium properties in port_a2
Medium2.ThermodynamicStatesta_b2 (from PartialFourPortInterface)if allowFlowReversal2 then Medium2.setState_phX(port_b2.p, noEvent(actualStream(port_b2.h_outflow)), noEvent(actualStream(port_b2.Xi_outflow))) else Medium2.setState_phX(port_b2.p, port_b2.h_outflow, port_b2.Xi_outflow)Medium properties in port_b2
PartialModularRefrigerantCyclerefCyc (from PartialReversibleRefrigerantMachine)
Modelica.Units.SI.HeatFlowRateQ1_flow (from PartialReversibleRefrigerantMachine)QCon_flowHeat transferred into the medium 1
Modelica.Units.SI.HeatFlowRateQ2_flow (from PartialReversibleRefrigerantMachine)QEva_flowHeat transferred into the medium 2
Buildings.Fluid.HeatPumps.ModularReversible.BaseClasses.EvaporatorCondenserWithCapacitycon (from PartialReversibleRefrigerantMachine)Heat exchanger model for the condenser
Buildings.Fluid.HeatPumps.ModularReversible.BaseClasses.EvaporatorCondenserWithCapacityeva (from PartialReversibleRefrigerantMachine)Heat exchanger model for the evaporator
Buildings.HeatTransfer.Sources.PrescribedTemperaturevarTOutEva (from PartialReversibleRefrigerantMachine)Forces heat losses according to ambient temperature
Buildings.HeatTransfer.Sources.PrescribedTemperaturevarTOutCon (from PartialReversibleRefrigerantMachine)Forces heat losses according to ambient temperature
Buildings.Fluid.HeatPumps.ModularReversible.Controls.Safety.SafetysafCtr (from PartialReversibleRefrigerantMachine)Safety control models
Buildings.Fluid.Sensors.MassFlowRatemEva_flow (from PartialReversibleRefrigerantMachine)Mass flow sensor at the evaporator
Buildings.Fluid.Sensors.MassFlowRatemCon_flow (from PartialReversibleRefrigerantMachine)Mass flow sensor at the condenser
RefrigerantCycleInertiarefCycIneCon (from PartialReversibleRefrigerantMachine)Inertia model for condenser side
RefrigerantCycleInertiarefCycIneEva (from PartialReversibleRefrigerantMachine)Inertia model for evaporator side
Modelica.Blocks.Sources.RealExpressionsenTConIn (from PartialReversibleRefrigerantMachine)Real expression for condenser inlet temperature
Modelica.Blocks.Sources.RealExpressionsenTEvaIn (from PartialReversibleRefrigerantMachine)Real expression for evaporator inlet temperature
Buildings.Fluid.HeatPumps.ModularReversible.BaseClasses.CalculateEfficiencyeff (from PartialReversibleRefrigerantMachine)Calculate efficiencies of device
Modelica.Blocks.Sources.BooleanConstantconCoo (from Modular)Locks the device in cooling mode if designated to be not reversible
Modelica.Blocks.Logical.NotnotCoo (from Modular)Not cooling is heating
Modelica.Blocks.Logical.Hysteresishys (from Modular)Outputs whether the device is on based on the relative speed

Revisions

  • October 2, 2022 by Fabian Wuellhorst:
    First implementation (see issue #1576)