Buildings.Fluid.Chillers.BaseClasses
Package with base classes for Buildings.Fluid.Chillers
Information
This package contains base classes that are used to construct the models in Buildings.Fluid.Chillers.
Extends from Modelica.Icons.BasesPackage (Icon for packages containing base classes).
Package Content
Name | Description |
---|---|
AbsorptionIndirectSteam | Absorption indirect chiller performance curve method |
Carnot | |
PartialCarnot_T | Partial model for chiller with performance curve adjusted based on Carnot efficiency |
PartialCarnot_y | Partial chiller model with performance curve adjusted based on Carnot efficiency |
PartialElectric | Partial model for electric chiller based on the model in DOE-2, CoolTools and EnergyPlus |
warnIfPerformanceOutOfBounds | Function that checks the performance and writes a warning if it is outside of 0.9 to 1.1 |
Buildings.Fluid.Chillers.BaseClasses.AbsorptionIndirectSteam
Absorption indirect chiller performance curve method
Information
Block that computes the performance for the model Buildings.Fluid.Chillers.AbsorptionIndirectSteam. See Buildings.Fluid.Chillers.AbsorptionIndirectSteam for a description of this model.
Extends from Modelica.Blocks.Icons.Block (Basic graphical layout of input/output block).
Parameters
Type | Name | Default | Description |
---|---|---|---|
Generic | per | Performance data | |
HeatFlowRate | Q_flow_small | Small value for heat flow rate or power, used to avoid division by zero [W] |
Connectors
Type | Name | Description |
---|---|---|
input BooleanInput | on | Set to true to enable the absorption chiller |
input RealInput | TConEnt | Condenser entering water temperature [K] |
input RealInput | TEvaLvg | Evaporator leaving water temperature [K] |
input RealInput | QEva_flow_set | Evaporator setpoint heat flow rate [W] |
output RealOutput | QCon_flow | Condenser heat flow rate [W] |
output RealOutput | QEva_flow | Evaporator heat flow rate [W] |
output RealOutput | QGen_flow | Required generator heat flow rate [W] |
output RealOutput | P | Pump power [W] |
output RealOutput | PLR | Part load ratio [1] |
output RealOutput | CR | Cycling ratio [1] |
Modelica definition
Buildings.Fluid.Chillers.BaseClasses.Carnot
Information
This is the base class for the Carnot chiller and the Carnot heat pump whose coefficient of performance COP changes with temperatures in the same way as the Carnot efficiency changes.
Set use_eta_Carnot_nominal=true
to specify directly
the Carnot effectiveness ηCarnot,0,
in which case the value of the parameter COP_nominal
will not affect the simulation.
If use_eta_Carnot_nominal=false
, the model will use
the value of the parameter COP_nominal
together with the specified nominal temperatures
to compute the Carnot effectiveness as
ηCarnot,0 = COP0 ⁄ (Tuse,0 ⁄ (Tcon,0 + Tapp,con,0 - (Teva,0-Tapp,eva,0))),
where
Teva,0 is the evaporator temperature,
Tcon,0 is the condenser temperature,
Tapp,eva,0 is the evaporator approach temperature,
Tapp,con,0 is the condenser approach temperature, and
Tuse,0 is the temperature of the the useful heat.
If COP_is_for_cooling=true
,
then Tuse,0 is the condenser temperature of a heat pump plus the approach temperature,
otherwise it is the evaporator temperature minus the approach temperature of a chiller.
The COP is computed as the product
COP = ηCarnot,0 COPCarnot ηPL,
where COPCarnot is the Carnot efficiency and ηPL is the part load efficiency, expressed using a polynomial. This polynomial has the form
ηPL = a1 + a2 y + a3 y2 + ...,
where y ∈ [0, 1] is
either the part load for cooling in case of a chiller, or the part load of heating in
case of a heat pump, and the coefficients ai
are declared by the parameter a
.
Implementation
To make this base class applicable to chiller or heat pumps, it uses
the boolean constant COP_is_for_cooling
.
Depending on its value, the equations for the coefficient of performance
and the part load ratio are set up.
Extends from Buildings.Fluid.Interfaces.PartialFourPortInterface (Partial model with four ports and declaration of quantities that are used by many models).
Parameters
Type | Name | Default | Description |
---|---|---|---|
replaceable package Medium1 | PartialMedium | Medium 1 in the component | |
replaceable package Medium2 | PartialMedium | Medium 2 in the component | |
Nominal condition | |||
MassFlowRate | m1_flow_nominal | QCon_flow_nominal/cp1_defaul... | Nominal mass flow rate [kg/s] |
MassFlowRate | m2_flow_nominal | QEva_flow_nominal/cp2_defaul... | Nominal mass flow rate [kg/s] |
HeatFlowRate | QEva_flow_nominal | Nominal cooling heat flow rate (QEva_flow_nominal < 0) [W] | |
HeatFlowRate | QCon_flow_nominal | Nominal heating flow rate [W] | |
TemperatureDifference | dTEva_nominal | -10 | Temperature difference evaporator outlet-inlet [K] |
TemperatureDifference | dTCon_nominal | 10 | Temperature difference condenser outlet-inlet [K] |
Pressure | dp1_nominal | Pressure difference over condenser [Pa] | |
Pressure | dp2_nominal | Pressure difference over evaporator [Pa] | |
Efficiency | |||
Boolean | use_eta_Carnot_nominal | true | Set to true to use Carnot effectiveness etaCarnot_nominal rather than COP_nominal |
Real | etaCarnot_nominal | 0.3 | Carnot effectiveness (=COP/COP_Carnot) used during simulation if use_eta_Carnot_nominal = true [1] |
Real | COP_nominal | etaCarnot_nominal*TUseAct_no... | Coefficient of performance at TEva_nominal and TCon_nominal, used during simulation if use_eta_Carnot_nominal = false [1] |
Temperature | TCon_nominal | 303.15 | Condenser temperature used to compute COP_nominal if use_eta_Carnot_nominal=false [K] |
Temperature | TEva_nominal | 278.15 | Evaporator temperature used to compute COP_nominal if use_eta_Carnot_nominal=false [K] |
Real | a[:] | {1} | Coefficients for efficiency curve (need p(a=a, yPL=1)=1) |
TemperatureDifference | TAppCon_nominal | if cp1_default < 1500 then 5... | Temperature difference between refrigerant and working fluid outlet in condenser [K] |
TemperatureDifference | TAppEva_nominal | if cp2_default < 1500 then 5... | Temperature difference between refrigerant and working fluid outlet in evaporator [K] |
Assumptions | |||
Boolean | allowFlowReversal1 | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 1 |
Boolean | allowFlowReversal2 | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 2 |
Advanced | |||
MassFlowRate | m1_flow_small | 1E-4*abs(m1_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
MassFlowRate | m2_flow_small | 1E-4*abs(m2_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
Diagnostics | |||
Boolean | show_T | false | = true, if actual temperature at port is computed |
Flow resistance | |||
Condenser | |||
Boolean | from_dp1 | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
Boolean | linearizeFlowResistance1 | false | = true, use linear relation between m_flow and dp for any flow rate |
Real | deltaM1 | 0.1 | Fraction of nominal flow rate where flow transitions to laminar [1] |
Evaporator | |||
Boolean | from_dp2 | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
Boolean | linearizeFlowResistance2 | false | = true, use linear relation between m_flow and dp for any flow rate |
Real | deltaM2 | 0.1 | Fraction of nominal flow rate where flow transitions to laminar [1] |
Dynamics | |||
Condenser | |||
Time | tau1 | 60 | Time constant at nominal flow rate (used if energyDynamics1 <> Modelica.Fluid.Types.Dynamics.SteadyState) [s] |
Temperature | T1_start | Medium1.T_default | Initial or guess value of set point [K] |
Evaporator | |||
Time | tau2 | 60 | Time constant at nominal flow rate (used if energyDynamics2 <> Modelica.Fluid.Types.Dynamics.SteadyState) [s] |
Temperature | T2_start | Medium2.T_default | Initial or guess value of set point [K] |
Evaporator and condenser | |||
Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamic... | Type of energy balance: dynamic (3 initialization options) or steady state |
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) |
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] |
Modelica definition
Buildings.Fluid.Chillers.BaseClasses.PartialCarnot_T
Partial model for chiller with performance curve adjusted based on Carnot efficiency
Information
This is a partial model of a chiller whose coefficient of performance (COP) changes with temperatures in the same way as the Carnot efficiency changes. This base class is used for the Carnot chiller and Carnot heat pump that uses the compressor part load ratio as the control signal.
Extends from Buildings.Fluid.Chillers.BaseClasses.Carnot.
Parameters
Type | Name | Default | Description |
---|---|---|---|
replaceable package Medium1 | PartialMedium | Medium 1 in the component | |
replaceable package Medium2 | PartialMedium | Medium 2 in the component | |
Nominal condition | |||
MassFlowRate | m1_flow_nominal | QCon_flow_nominal/cp1_defaul... | Nominal mass flow rate [kg/s] |
MassFlowRate | m2_flow_nominal | QEva_flow_nominal/cp2_defaul... | Nominal mass flow rate [kg/s] |
HeatFlowRate | QEva_flow_nominal | Nominal cooling heat flow rate (QEva_flow_nominal < 0) [W] | |
HeatFlowRate | QCon_flow_nominal | Nominal heating flow rate [W] | |
TemperatureDifference | dTEva_nominal | -10 | Temperature difference evaporator outlet-inlet [K] |
TemperatureDifference | dTCon_nominal | 10 | Temperature difference condenser outlet-inlet [K] |
Pressure | dp1_nominal | Pressure difference over condenser [Pa] | |
Pressure | dp2_nominal | Pressure difference over evaporator [Pa] | |
Efficiency | |||
Boolean | use_eta_Carnot_nominal | true | Set to true to use Carnot effectiveness etaCarnot_nominal rather than COP_nominal |
Real | etaCarnot_nominal | 0.3 | Carnot effectiveness (=COP/COP_Carnot) used during simulation if use_eta_Carnot_nominal = true [1] |
Real | COP_nominal | etaCarnot_nominal*TUseAct_no... | Coefficient of performance at TEva_nominal and TCon_nominal, used during simulation if use_eta_Carnot_nominal = false [1] |
Temperature | TCon_nominal | 303.15 | Condenser temperature used to compute COP_nominal if use_eta_Carnot_nominal=false [K] |
Temperature | TEva_nominal | 278.15 | Evaporator temperature used to compute COP_nominal if use_eta_Carnot_nominal=false [K] |
Real | a[:] | {1} | Coefficients for efficiency curve (need p(a=a, yPL=1)=1) |
TemperatureDifference | TAppCon_nominal | if cp1_default < 1500 then 5... | Temperature difference between refrigerant and working fluid outlet in condenser [K] |
TemperatureDifference | TAppEva_nominal | if cp2_default < 1500 then 5... | Temperature difference between refrigerant and working fluid outlet in evaporator [K] |
Assumptions | |||
Boolean | allowFlowReversal1 | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 1 |
Boolean | allowFlowReversal2 | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 2 |
Advanced | |||
MassFlowRate | m1_flow_small | 1E-4*abs(m1_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
MassFlowRate | m2_flow_small | 1E-4*abs(m2_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
Diagnostics | |||
Boolean | show_T | false | = true, if actual temperature at port is computed |
Flow resistance | |||
Condenser | |||
Boolean | from_dp1 | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
Boolean | linearizeFlowResistance1 | false | = true, use linear relation between m_flow and dp for any flow rate |
Real | deltaM1 | 0.1 | Fraction of nominal flow rate where flow transitions to laminar [1] |
Evaporator | |||
Boolean | from_dp2 | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
Boolean | linearizeFlowResistance2 | false | = true, use linear relation between m_flow and dp for any flow rate |
Real | deltaM2 | 0.1 | Fraction of nominal flow rate where flow transitions to laminar [1] |
Dynamics | |||
Condenser | |||
Time | tau1 | 60 | Time constant at nominal flow rate (used if energyDynamics1 <> Modelica.Fluid.Types.Dynamics.SteadyState) [s] |
Temperature | T1_start | Medium1.T_default | Initial or guess value of set point [K] |
Evaporator | |||
Time | tau2 | 60 | Time constant at nominal flow rate (used if energyDynamics2 <> Modelica.Fluid.Types.Dynamics.SteadyState) [s] |
Temperature | T2_start | Medium2.T_default | Initial or guess value of set point [K] |
Evaporator and condenser | |||
Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamic... | Type of energy balance: dynamic (3 initialization options) or steady state |
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) |
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] |
Modelica definition
Buildings.Fluid.Chillers.BaseClasses.PartialCarnot_y
Partial chiller model with performance curve adjusted based on Carnot efficiency
Information
This is a partial model of a chiller whose coefficient of performance (COP) changes with temperatures in the same way as the Carnot efficiency changes. This base class is used for the Carnot chiller and Carnot heat pump that uses the leaving fluid temperature as the control signal.
Extends from Carnot.
Parameters
Type | Name | Default | Description |
---|---|---|---|
replaceable package Medium1 | PartialMedium | Medium 1 in the component | |
replaceable package Medium2 | PartialMedium | Medium 2 in the component | |
Nominal condition | |||
MassFlowRate | m1_flow_nominal | QCon_flow_nominal/cp1_defaul... | Nominal mass flow rate [kg/s] |
MassFlowRate | m2_flow_nominal | QEva_flow_nominal/cp2_defaul... | Nominal mass flow rate [kg/s] |
HeatFlowRate | QEva_flow_nominal | if COP_is_for_cooling then -... | Nominal cooling heat flow rate (QEva_flow_nominal < 0) [W] |
HeatFlowRate | QCon_flow_nominal | P_nominal - QEva_flow_nominal | Nominal heating flow rate [W] |
TemperatureDifference | dTEva_nominal | -10 | Temperature difference evaporator outlet-inlet [K] |
TemperatureDifference | dTCon_nominal | 10 | Temperature difference condenser outlet-inlet [K] |
Pressure | dp1_nominal | Pressure difference over condenser [Pa] | |
Pressure | dp2_nominal | Pressure difference over evaporator [Pa] | |
Power | P_nominal | Nominal compressor power (at y=1) [W] | |
Efficiency | |||
Boolean | use_eta_Carnot_nominal | true | Set to true to use Carnot effectiveness etaCarnot_nominal rather than COP_nominal |
Real | etaCarnot_nominal | 0.3 | Carnot effectiveness (=COP/COP_Carnot) used during simulation if use_eta_Carnot_nominal = true [1] |
Real | COP_nominal | etaCarnot_nominal*TUseAct_no... | Coefficient of performance at TEva_nominal and TCon_nominal, used during simulation if use_eta_Carnot_nominal = false [1] |
Temperature | TCon_nominal | 303.15 | Condenser temperature used to compute COP_nominal if use_eta_Carnot_nominal=false [K] |
Temperature | TEva_nominal | 278.15 | Evaporator temperature used to compute COP_nominal if use_eta_Carnot_nominal=false [K] |
Real | a[:] | {1} | Coefficients for efficiency curve (need p(a=a, yPL=1)=1) |
TemperatureDifference | TAppCon_nominal | if cp1_default < 1500 then 5... | Temperature difference between refrigerant and working fluid outlet in condenser [K] |
TemperatureDifference | TAppEva_nominal | if cp2_default < 1500 then 5... | Temperature difference between refrigerant and working fluid outlet in evaporator [K] |
Assumptions | |||
Boolean | allowFlowReversal1 | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 1 |
Boolean | allowFlowReversal2 | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 2 |
Advanced | |||
MassFlowRate | m1_flow_small | 1E-4*abs(m1_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
MassFlowRate | m2_flow_small | 1E-4*abs(m2_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
Diagnostics | |||
Boolean | show_T | false | = true, if actual temperature at port is computed |
Flow resistance | |||
Condenser | |||
Boolean | from_dp1 | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
Boolean | linearizeFlowResistance1 | false | = true, use linear relation between m_flow and dp for any flow rate |
Real | deltaM1 | 0.1 | Fraction of nominal flow rate where flow transitions to laminar [1] |
Evaporator | |||
Boolean | from_dp2 | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
Boolean | linearizeFlowResistance2 | false | = true, use linear relation between m_flow and dp for any flow rate |
Real | deltaM2 | 0.1 | Fraction of nominal flow rate where flow transitions to laminar [1] |
Dynamics | |||
Condenser | |||
Time | tau1 | 60 | Time constant at nominal flow rate (used if energyDynamics1 <> Modelica.Fluid.Types.Dynamics.SteadyState) [s] |
Temperature | T1_start | Medium1.T_default | Initial or guess value of set point [K] |
Evaporator | |||
Time | tau2 | 60 | Time constant at nominal flow rate (used if energyDynamics2 <> Modelica.Fluid.Types.Dynamics.SteadyState) [s] |
Temperature | T2_start | Medium2.T_default | Initial or guess value of set point [K] |
Evaporator and condenser | |||
Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamic... | Type of energy balance: dynamic (3 initialization options) or steady state |
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) |
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] |
input RealInput | y | Part load ratio of compressor [1] |
Modelica definition
Buildings.Fluid.Chillers.BaseClasses.PartialElectric
Partial model for electric chiller based on the model in DOE-2, CoolTools and EnergyPlus
Information
Base class for model of an electric chiller, based on the DOE-2.1 chiller model and the
CoolTools chiller model that are implemented in EnergyPlus as the models
Chiller:Electric:EIR
and Chiller:Electric:ReformulatedEIR
.
The model takes as an input the set point for the leaving chilled water temperature, which is met if the chiller has sufficient capacity. Thus, the model has a built-in, ideal temperature control. The model has three tests on the part load ratio and the cycling ratio:
-
The test
PLR1 =min(QEva_flow_set/QEva_flow_ava, PLRMax)
ensures that the chiller capacity does not exceed the chiller capacity specified by the parameterPLRMax
. -
The test
CR = min(PLR1/per.PRLMin, 1.0)
computes a cycling ratio. This ratio expresses the fraction of time that a chiller would run if it were to cycle because its load is smaller than the minimal load at which it can operature. Notice that this model does continuously operature even if the part load ratio is below the minimum part load ratio. Its leaving evaporator and condenser temperature can therefore be considered as an average temperature between the modes where the compressor is off and on. -
The test
PLR2 = max(PLRMinUnl, PLR1)
computes the part load ratio of the compressor. The assumption is that for a part load ratio belowPLRMinUnl
, the chiller uses hot gas bypass to reduce the capacity, while the compressor power draw does not change.
The electric power only contains the power for the compressor, but not any power for pumps or fans.
Optionally, the model can be configured to represent heat recovery chillers with
a switchover option by setting the parameter have_switchover
to
true
.
In that case an additional Boolean input connector coo
is used.
The chiller is tracking a chilled water supply temperature setpoint at the
outlet of the evaporator barrel if coo
is true
.
Otherwise, if coo
is false
, the chiller is tracking
a hot water supply temperature setpoint at the outlet of the condenser barrel.
See
Buildings.Fluid.Chillers.Examples.ElectricEIR_HeatRecovery
for an example with a chiller operating in heating mode.
Implementation
This implementation computes the chiller capacity and power consumption the same way as documented in EnergyPlus v22.1.0 Engineering Reference section 14.3.9.2. Especially see equations 14.234 and 14.240 in the referenced document.
The available chiller capacity QEva_flow_ava
is adjusted from
its nominal capacity QEva_flow_nominal
by factor capFunT
as
QEva_flow_ava = QEva_flow_nominal*capFunT
and the compressor power consumption is computed as
P = -QEva_flow_ava*(1/COP_nominal)*EIRFunT*EIRFunPLR*CR.
The models that extend from this base class implement the functions used above in ways that are shown in the table below.
Function | Description | Formulation | |
---|---|---|---|
ElectricEIR |
ElectricReformulatedEIR |
||
capFunT |
Adjusts cooling capacity for current fluid temperatures | Biquadratic on TConEnt and TEvaLvg |
Biquadratic on TConLvg and TEvaLvg |
EIRFunPLR |
Adjusts EIR for the current PLR | Quadratic on PLR | Bicubic on TConLvg and PLR |
EIRFunT |
Adjusts EIR for current fluid temperatures | Biquadratic on TConEnt and TEvaLvg |
Biquadratic on TConLvg and TEvaLvg |
where
TConEnt
is the condenser entering temperature,
TEvaLvg
is the evaporator leaving temperature,
TConLvg
is the condenser leaving temperatore, and
PLR is the part load ratio.
References
Extends from Buildings.Fluid.Interfaces.FourPortHeatMassExchanger (Model transporting two fluid streams between four ports with storing mass or energy).
Parameters
Type | Name | Default | Description |
---|---|---|---|
replaceable package Medium1 | PartialMedium | Medium 1 in the component | |
replaceable package Medium2 | PartialMedium | Medium 2 in the component | |
Boolean | have_switchover | false | Set to true for heat recovery chiller with built-in switchover |
Nominal condition | |||
MassFlowRate | m1_flow_nominal | mCon_flow_nominal | Nominal mass flow rate [kg/s] |
MassFlowRate | m2_flow_nominal | mEva_flow_nominal | Nominal mass flow rate [kg/s] |
PressureDifference | dp1_nominal | Pressure difference [Pa] | |
PressureDifference | dp2_nominal | Pressure difference [Pa] | |
Assumptions | |||
Boolean | allowFlowReversal1 | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 1 |
Boolean | allowFlowReversal2 | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 2 |
Advanced | |||
MassFlowRate | m1_flow_small | 1E-4*abs(m1_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
MassFlowRate | m2_flow_small | 1E-4*abs(m2_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
Diagnostics | |||
Boolean | show_T | false | = true, if actual temperature at port is computed |
Flow resistance | |||
Medium 1 | |||
Boolean | from_dp1 | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
Boolean | linearizeFlowResistance1 | false | = true, use linear relation between m_flow and dp for any flow rate |
Real | deltaM1 | 0.1 | Fraction of nominal flow rate where flow transitions to laminar |
Medium 2 | |||
Boolean | from_dp2 | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
Boolean | linearizeFlowResistance2 | false | = true, use linear relation between m_flow and dp for any flow rate |
Real | deltaM2 | 0.1 | Fraction of nominal flow rate where flow transitions to laminar |
Dynamics | |||
Nominal condition | |||
Time | tau1 | 30 | Time constant at nominal flow [s] |
Time | tau2 | 30 | Time constant at nominal flow [s] |
Conservation equations | |||
Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamic... | Type of energy balance: dynamic (3 initialization options) or steady state |
Initialization | |||
Medium 1 | |||
AbsolutePressure | p1_start | Medium1.p_default | Start value of pressure [Pa] |
Temperature | T1_start | 273.15 + 25 | Start value of temperature [K] |
MassFraction | X1_start[Medium1.nX] | Medium1.X_default | Start value of mass fractions m_i/m [kg/kg] |
ExtraProperty | C1_start[Medium1.nC] | fill(0, Medium1.nC) | Start value of trace substances |
ExtraProperty | C1_nominal[Medium1.nC] | fill(1E-2, Medium1.nC) | Nominal value of trace substances. (Set to typical order of magnitude.) |
Medium 2 | |||
AbsolutePressure | p2_start | Medium2.p_default | Start value of pressure [Pa] |
Temperature | T2_start | 273.15 + 5 | Start value of temperature [K] |
MassFraction | X2_start[Medium2.nX] | Medium2.X_default | Start value of mass fractions m_i/m [kg/kg] |
ExtraProperty | C2_start[Medium2.nC] | fill(0, Medium2.nC) | Start value of trace substances |
ExtraProperty | C2_nominal[Medium2.nC] | fill(1E-2, Medium2.nC) | Nominal value of trace substances. (Set to typical order of magnitude.) |
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 BooleanInput | on | Set to true to enable compressor, or false to disable compressor |
input RealInput | TSet | Set point for leaving chilled water temperature (condenser water if have_switchover=true and coo=false) [K] |
output RealOutput | P | Electric power consumed by compressor [W] |
output RealOutput | COP_h | Coefficient of performance of heating [1] |
input BooleanInput | coo | Switchover signal: true for cooling, false for heating |
Modelica definition
Buildings.Fluid.Chillers.BaseClasses.warnIfPerformanceOutOfBounds
Function that checks the performance and writes a warning if it is outside of 0.9 to 1.1
Information
This function checks if the numeric argument is outside of the interval 0.9 to 1.1. If this is the case, the function writes a warning.
Inputs
Type | Name | Default | Description |
---|---|---|---|
Real | x | Argument to be checked | |
String | msg | String to be added to warning message | |
String | curveName | Name of the curve that was tested |
Outputs
Type | Name | Description |
---|---|---|
Integer | retVal | 0 if x is inside bounds, -1 if it is below bounds, or +1 if it is above bounds |