modelChillerGroup
Extends from Buildings.Fluid.Interfaces.PartialFourPortInterface.
Information
This model represents a set of identical water-cooled compression chillers that are piped in parallel. Modulating isolation valves are included on condenser and evaporator side.
Control points
The following input and output points are available.
-
On/Off command
y1: DO signal dedicated to each unit, with a dimensionality of one -
CHW supply temperature setpoint
TSet: AO signal common to all units, with a dimensionality of zero -
Condenser and evaporator isolation valve commanded position
yVal(Con|Eva): AO signal dedicated to each unit, with a dimensionality of one -
Condenser and evaporator leaving temperature
T(Con|Eva)Lvg: AI signal dedicated to each unit, with a dimensionality of one -
Condenser and evaporator mass flow rate
m(Con|Eva)_flow: AI signal dedicated to each unit, with a dimensionality of one
Details
Modeling approach
In a parallel arrangement, all operating units have the same operating point, provided that the isolation valves are commanded to the same position. This allows modeling the heat transfer through the condenser and evaporator barrel with a single instance of Buildings.Fluid.Chillers.ElectricReformulatedEIR. Hydronics are resolved with mass flow rate multiplier components in conjunction with instances of Buildings.DHC.Plants.Combined.Subsystems.BaseClasses.MultipleValves which represent the parallel network of valves and fixed resistances.
Actuators
By default, linear valve models are used. Those are configured with a pressure drop varying linearly with the flow rate, as opposed to the quadratic dependency usually considered for a turbulent flow regime. This is because the whole plant model contains large nonlinear systems of equations and this configuration limits the risk of solver failure while reducing the time to solution. This has no significant impact on the operating point of the circulation pumps when a control loop is used to modulate the valve opening and maintain the flow rate or the leaving temperature at setpoint. Then, whatever the modeling assumptions for the valve, the control loop ensures that the valve creates the adequate pressure drop and flow, which will simply be reached at a different valve opening with the above simplification.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Integer | nUni | Number of units operating at design conditions | |
| Modelica.Units.SI.Temperature | TChiWatSup_nominal | dat.TEvaLvg_nominal | Design (minimum) CHW supply temperature |
| Modelica.Units.SI.Temperature | TConWatLvg_nominal | dat.TConLvg_nominal | Design (maximum) CW leaving temperature |
| Fluid.Chillers.Data.ElectricReformulatedEIR.Generic | dat | Chiller parameters (each unit) | |
| Nominal condition | |||
| Modelica.Units.SI.HeatFlowRate | QChiWatUni_flow_nominal | dat.QEva_flow_nominal | Design cooling heat flow rate (each unit, <0) |
| Modelica.Units.SI.HeatFlowRate | QConWatUni_flow_nominal | -dat.QEva_flow_nominal*(1 + 1/dat.COP_nominal*dat.etaMotor) | Design CW heat flow rate (each unit, >0) |
| Modelica.Units.SI.HeatFlowRate | QChiWat_flow_nominal | nUni*QChiWatUni_flow_nominal | Design cooling heat flow rate (all units, <0) |
| Modelica.Units.SI.HeatFlowRate | QConWat_flow_nominal | nUni*QConWatUni_flow_nominal | Design CW heat flow rate (all units, >0) |
| Modelica.Units.SI.MassFlowRate | mChiWatUni_flow_nominal | dat.mEva_flow_nominal | Design chiller CHW mass flow rate (each unit) |
| Modelica.Units.SI.MassFlowRate | mConWatUni_flow_nominal | dat.mCon_flow_nominal | Design chiller CW mass flow rate (each unit) |
| Modelica.Units.SI.MassFlowRate | mChiWat_flow_nominal | nUni*mChiWatUni_flow_nominal | Design CHW mass flow rate (all units) |
| Modelica.Units.SI.MassFlowRate | mConWat_flow_nominal | nUni*mConWatUni_flow_nominal | Design CW mass flow rate (all units) |
| Modelica.Units.SI.PressureDifference | dpEva_nominal | Design chiller evaporator pressure drop (each unit) | |
| Modelica.Units.SI.PressureDifference | dpCon_nominal | Chiller condenser design pressure drop (each unit) | |
| Dynamics › Conservation equations | |||
| Modelica.Fluid.Types.Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamics.DynamicFreeInitial | Type of energy balance: dynamic (3 initialization options) or steady state |
| Dynamics › Time needed to open or close valve | |||
| Boolean | use_strokeTime | energyDynamics <> Modelica.Fluid.Types.Dynamics.SteadyState | Set to true to continuously open and close valve |
| Modelica.Units.SI.Time | strokeTime | 120 | Time needed to open or close valve |
| Modelica.Blocks.Types.Init | init | Modelica.Blocks.Types.Init.InitialOutput | Type of initialization (no init/steady state/initial state/initial output) |
| Real | y_start | 1 | Initial position of actuator |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nUni] | y1 | Chiller On/Off command | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | TSet | Supply temperature setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | P | Power drawn | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput[nUni] | yValCon | Chiller condenser isolation valve commanded position | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput[nUni] | yValEva | Chiller evaporator isolation valve commanded position | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput[nUni] | TConLvg | Chiller condenser leaving temperature | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput[nUni] | mCon_flow | Chiller condenser barrel mass flow rate | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput[nUni] | TEvaLvg | Chiller evaporator leaving temperature | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput[nUni] | mEva_flow | Chiller evaporator barrel mass flow rate | |
| Fluid.Chillers.ElectricReformulatedEIR | chi | Chiller | |
| Fluid.BaseClasses.MassFlowRateMultiplier | mulConInl | Flow rate multiplier | |
| Fluid.BaseClasses.MassFlowRateMultiplier | mulConOut | Flow rate multiplier | |
| Fluid.BaseClasses.MassFlowRateMultiplier | mulEvaInl | Flow rate multiplier | |
| Fluid.BaseClasses.MassFlowRateMultiplier | mulEvaOut | Flow rate multiplier | |
| Buildings.Templates.Components.Controls.MultipleCommands | com | Convert command signals | |
| BaseClasses.MultipleValves | valEva | Chiller evaporator isolation valves | |
| BaseClasses.MultipleValves | valCon | Chiller condenser isolation valves | |
| Buildings.Controls.OBC.CDL.Reals.Multiply | mulP | Scale power | |
| Fluid.Sensors.TemperatureTwoPort | temConLvg | Chiller condenser leaving temperature | |
| Fluid.Sensors.TemperatureTwoPort | temEvaLvg | Chiller evaporator leaving temperature | |
| Fluid.Sensors.MassFlowRate | floCon | Chiller condenser barrel mass flow rate | |
| Fluid.Sensors.MassFlowRate | floEva | Chiller evaporator barrel mass flow rate | |
| Buildings.Controls.OBC.CDL.Routing.RealScalarReplicator | rep | Replicate | |
| Buildings.Controls.OBC.CDL.Routing.RealScalarReplicator | rep1 | Replicate | |
| Buildings.Controls.OBC.CDL.Routing.RealScalarReplicator | rep2 | Replicate | |
| Buildings.Controls.OBC.CDL.Routing.RealScalarReplicator | rep3 | Replicate |
Revisions
-
February 24, 2023, by Antoine Gautier:
First implementation.