modelElectricChillerParallel
District cooling plant model
Extends from Buildings.DHC.Plants.BaseClasses.PartialPlant (Partial class for modeling a plant).
Information
This model implements a generic district central cooling plant as illustrated in the schematics below.
- The cooling is provided by two parallel chillers instantiated from Buildings.Applications.BaseClasses.Equipment.ElectricChillerParallel.
- The chilled water bypass loop is controlled to ensure a minimum flow of chilled water running through the chillers all the time.
- The condenser water is cooled by two parallel cooling towers with a bypass loop. See Buildings.DHC.Plants.Cooling.Subsystems.CoolingTowersWithBypass for the details of the modeling of the cooling towers.
- The chilled water loop is equipped with two parallel constant speed pumps, which run one-and-one with each chiller. The condenser water pumps are constant speed with prescribed mass flow rates.
- The plant operates when it receives an
onsignal from the external control.
The staging of the chillers is based on the calculated cooling load.
See Buildings.DHC.Plants.Cooling.Controls.ChillerStage for the detailed control logic.
.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Boolean | have_fue (from PartialPlant) | nFue > 0 | Set to true if the plant has fuel use |
| Buildings.Fluid.Data.Fuels.Generic[nFue] | fue (from PartialPlant) | Fuel type | |
| Buildings.Fluid.Movers.Data.Generic | perCHWPum | ||
| Buildings.Fluid.Movers.Data.Generic | perCWPum | ||
| Modelica.Units.SI.PressureDifference | dpCooTowVal_nominal | Nominal pressure difference of the cooling tower valve | |
| Configuration | |||
| Buildings.DHC.Types.DistrictSystemType | typ (from PartialPlant) | Buildings.DHC.Types.DistrictSystemType.CombinedGeneration2to4 | Type of district system |
| Boolean | have_fan (from PartialPlant) | false | Set to true if fan power is computed |
| Boolean | have_pum (from PartialPlant) | false | Set to true if pump power is computed |
| Boolean | have_eleHea (from PartialPlant) | false | Set to true if the plant has electric heating system |
| Integer | nFue (from PartialPlant) | 0 | Number of fuel types (0 means no combustion system) |
| Boolean | have_eleCoo (from PartialPlant) | false | Set to true if the plant has electric cooling system |
| Boolean | have_weaBus (from PartialPlant) | false | Set to true to use a weather bus |
| Assumptions | |||
| Boolean | allowFlowReversal (from PartialPlant) | false | Set to true to allow flow reversal in service lines |
| Chiller | |||
| Integer | numChi | 2 | Number of chillers |
| Buildings.Fluid.Chillers.Data.ElectricEIR.Generic | perChi | Performance data of chiller | |
| Modelica.Units.SI.MassFlowRate | mCHW_flow_nominal | Nominal chilled water mass flow rate | |
| Modelica.Units.SI.Pressure | dpCHW_nominal | Pressure difference at the chilled water side | |
| Modelica.Units.SI.HeatFlowRate | QChi_nominal | Nominal cooling capacity of single chiller (negative means cooling) | |
| Modelica.Units.SI.MassFlowRate | mMin_flow | Minimum mass flow rate of single chiller | |
| Cooling Tower | |||
| Modelica.Units.SI.MassFlowRate | mCW_flow_nominal | Nominal condenser water mass flow rate | |
| Modelica.Units.SI.Pressure | dpCW_nominal | Pressure difference at the condenser water side | |
| Modelica.Units.SI.Temperature | TAirInWB_nominal | Nominal air wetbulb temperature | |
| Modelica.Units.SI.Temperature | TCW_nominal | Nominal condenser water temperature at tower inlet | |
| Modelica.Units.SI.TemperatureDifference | dT_nominal | Temperature difference between inlet and outlet of the tower | |
| Modelica.Units.SI.TemperatureDifference | dTApp | Approach temperature | |
| Modelica.Units.SI.Temperature | TMin | Minimum allowed water temperature entering chiller | |
| Modelica.Units.SI.Power | PFan_nominal | Fan power | |
| Pump | |||
| Modelica.Units.SI.Pressure | dpCHWPumVal_nominal | Nominal pressure drop of chilled water pump valve | |
| Modelica.Units.SI.Pressure | dpCWPumVal_nominal | Nominal pressure drop of condenser water pump valve | |
| Dynamics › Pump | |||
| Modelica.Units.SI.Time | tau | 1 | Pump time constant at nominal flow (if energyDynamics <> SteadyState) |
| Boolean | use_riseTime | false | Set to true to continuously change motor speed |
| Modelica.Units.SI.Time | riseTime | 30 | Time needed to change motor speed between zero and full speed |
| Modelica.Blocks.Types.Init | init | Modelica.Blocks.Types.Init.InitialOutput | Type of initialization for pumps (no init/steady state/initial state/initial output) |
| Real | yCHWP_start | fill(0, numChi) | Initial value of CHW pump signals |
| Real | yCWP_start | fill(0, numChi) | Initial value of CW pump signals |
| Dynamics › Valve | |||
| Boolean | use_strokeTime | use_riseTime | Set to true to continuously change valve position |
| Modelica.Units.SI.Time | strokeTime | riseTime | Time needed to open or close valve |
| Control Settings | |||
| Modelica.Units.SI.Time | tWai | Waiting time | |
| Dynamics › Conservation equations | |||
| Modelica.Fluid.Types.Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamics.DynamicFreeInitial | Type of energy balance: dynamic (3 initialization options) or steady state |
| Advanced › Dynamics | |||
| Modelica.Fluid.Types.Dynamics | massDynamics | energyDynamics | Type of mass balance: dynamic (3 initialization options) or steady state, must be steady state if energyDynamics is steady state |
Connectors
Components
Revisions
-
January 2, 2023, by Kathryn Hinkelman:
Revised chilled water pump control to be constant speed and running 1-and-1 with chillers. -
December 14, 2022, by Kathryn Hinkelman:
CorrectedchiBypConto control mass flow rate through the chillers.
This is for issue 2912. -
November 16, 2022, by Michael Wetter:
Corrected wrong assignments for chiller systemmulChiSyswhich assigned chilled water to condenser water parameters and vice versa.
Changed rise time of valve to 30 seconds so that it is the same as the one for the pumps. -
September 15, 2022, by Kathryn Hinkelman:
Propagated dynamics and initialization parameters for pumps. -
March 3, 2022, by Michael Wetter:
MovedmassDynamicstoAdvancedtab and added assertion for correct combination of energy and mass dynamics.
This is for issue 1542. -
August 6, 2020 by Jing Wang:
First implementation.