modelConstantCarnotEffectiveness

Carnot EER with a constant Carnot effectiveness

Extends from Buildings.Fluid.Chillers.ModularReversible.RefrigerantCycle.BaseClasses.PartialChillerCycle (Partial model of refrigerant cycle used for chiller applications), Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.BaseClasses.PartialCarnot (Model with components for Carnot efficiency calculation).

Information

This model uses a constant Carnot effectiveness approach to compute the efficiency of the chiller.

PEle_nominal is computed from the provided QCoo_flow_nominal and other nominal conditions. PEle_nominal stays constant over all boundary conditions and is used to calculate PEle by multiplying it with the relative compressor speed. QEva_flow is computed using the Carnot approach:

QEva_flow = PEle_nominal * etaCarnot_nominal * yMea * (TEvaOut - TAppEva) / (TConOut + TAppCon - (TEvaOut - TAppEva))

PEle = PEle_nominal * yMea

These equations follow the same methods used in Buildings.Fluid.Chillers.Carnot_y Similarly, the variables TAppCon and TAppEva define the approach (pinch) temperature differences.

The approach temperatures are calculated using the following equation:

TApp = TApp_nominal * Q_flow / Q_flow_nominal

This introduces nonlinear equations to the model, which can lead to solver issues for reversible operation. You can use the nominal values as a constant by enabling use_constAppTem

Parameters

TypeNameDefaultDescription
StringdevIde (from PartialRefrigerantCycle)""Indicates the data source, used to warn users about different vapor compression devices in reversible models
BooleanuseInChi (from PartialChillerCycle)=false to indicate that this model is used as a heat pump
BooleanuseForChi (from PartialCarnot)=false to use in heat pump models
Nominal condition
Modelica.Units.SI.PowerPEle_nominal (from PartialRefrigerantCycle)Nominal electrical power consumption
Modelica.Units.SI.TemperatureTCon_nominal (from PartialRefrigerantCycle)Nominal temperature at secondary condenser side
Modelica.Units.SI.TemperatureTEva_nominal (from PartialRefrigerantCycle)Nominal temperature at secondary evaporator side
Modelica.Units.SI.HeatFlowRateQCoo_flow_nominal (from PartialChillerCycle)Nominal cooling capacity
RealetaCarnot_nominal (from PartialCarnot)0.3Constant Carnot effectiveness
RealEER_nominaletaCarnot_nominal*(TEva_nominal - TAppEva_nominal)/(TCon_nominal + TAppCon_nominal - (TEva_nominal - TAppEva_nominal))Nominal EER
Advanced › Medium properties
Modelica.Units.SI.SpecificHeatCapacitycpCon (from PartialRefrigerantCycle)Evaporator medium specific heat capacity
Modelica.Units.SI.SpecificHeatCapacitycpEva (from PartialRefrigerantCycle)Evaporator medium specific heat capacity
Efficiency
Booleanuse_constAppTem (from PartialCarnot)false=true to fix approach temperatures at nominal values. This can improve simulation speed
Modelica.Units.SI.TemperatureDifferenceTAppCon_nominal (from PartialCarnot)Temperature difference between refrigerant and working fluid outlet in condenser
Modelica.Units.SI.TemperatureDifferenceTAppEva_nominal (from PartialCarnot)Temperature difference between refrigerant and working fluid outlet in evaporator
Advanced
Modelica.Units.SI.TemperatureDifferencedTCarMin (from PartialCarnot)5Minimal temperature difference, used to avoid division errors

Connectors

TypeNameDefaultDescription
Modelica.Blocks.Interfaces.RealOutputPEle (from PartialRefrigerantCycle)Electrical Power consumed by the device
Modelica.Blocks.Interfaces.RealOutputQCon_flow (from PartialRefrigerantCycle)Heat flow rate through condenser
Buildings.Fluid.HeatPumps.ModularReversible.BaseClasses.RefrigerantMachineControlBussigBus (from PartialRefrigerantCycle)Bus-connector
Modelica.Blocks.Interfaces.RealOutputQEva_flow (from PartialRefrigerantCycle)Heat flow rate through evaporator

Components

TypeNameDefaultDescription
Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.Frosting.NoFrostingiceFacCal (from PartialRefrigerantCycle)
Modelica.Blocks.Math.AddredQCon (from PartialRefrigerantCycle)Reduce heat flow to the condenser based on the reduction to the evaporator
Modelica.Blocks.Math.ProductproRedQEva (from PartialRefrigerantCycle)Reduce heat flow to the evaporator based on the icing factor
Modelica.Blocks.Sources.RealExpressionreaCarnotCOP (from PartialCarnot)Internal calculation of Carnot COP
Modelica.Blocks.Math.MultiProductproQUse_flow (from PartialCarnot)Calculate QUse_flow
Modelica.Blocks.Math.ProductproPEle (from PartialCarnot)Calculate electrical power consumption
Modelica.Blocks.Sources.ConstantconstPEle (from PartialCarnot)Constant electrical power consumption
Modelica.Blocks.Routing.RealPassThroughpasThrYMea (from PartialCarnot)From signal bus
Modelica.Units.SI.TemperatureTUseSidAct (from PartialCarnot)if useForChi then TEvaAct else TConActUseful side refrigerant temperature
Modelica.Units.SI.TemperatureTConAct (from PartialCarnot)pasThrTCon.y + TAppConRefrigerant condensation temperature
Modelica.Units.SI.TemperatureTEvaAct (from PartialCarnot)pasThrTEva.y - TAppEvaRefrigerant evaporation temperature
Modelica.Units.SI.TemperatureDifferenceTAppCon (from PartialCarnot)if use_constAppTem then TAppCon_nominal else TAppCon_nominal*QCon_flow_internal/QCon_flow_nominalCondenser approach temperature
Modelica.Units.SI.TemperatureDifferenceTAppEva (from PartialCarnot)if use_constAppTem then TAppEva_nominal else TAppEva_nominal*QEva_flow_internal/QEva_flow_nominalEvaporator approach temperature
Modelica.Blocks.Sources.ConstantconstZer (from PartialCarnot)Constant zero value if off
Modelica.Blocks.Logical.SwitchswiPEle (from PartialCarnot)If device is off, no heat exchange occurs
Modelica.Blocks.Logical.SwitchswiQUse (from PartialCarnot)If device is off, no heat exchange occurs
Modelica.Blocks.Routing.RealPassThroughpasThrTEva (from PartialCarnot)Evaporator outlet pass through
Modelica.Blocks.Routing.RealPassThroughpasThrTCon (from PartialCarnot)Condenser outlet pass through
Modelica.Blocks.Sources.RealExpressionreaCarnotEff (from PartialCarnot)Internal calculation of Carnot effectiveness
Modelica.Blocks.Sources.ConstantconstNegOneNegative one to negative evaporator heat flow rate

Revisions

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