Description: "Chiller plant with water side economizer for data center"

- Home > Modelica

## Buildings.Examples.ChillerPlant

Chiller plant with water side economizer for data center

### Information

#### System Configuration

This example demonstrates the implementation of a chiller plant with water-side economizer (WSE) to cool a data center. The system schematics is as shown below.

The system is a primary-only chiller plant with integrated WSE. The objective was to improve the energy efficiency of the chilled water plant by optimizing the control setpoints. The room of the data center was modeled using a mixed air volume with a heat source. Heat conduction and air infiltration through the building envelope were neglected since the heat exchange between the room and the ambient environment was small compared to the heat released by the computers.

The control objective was to maintain the temperature of the supply air to the room, while reducing energy consumption of the chilled water plant. The control was based on the control sequence proposed by Stein (2009). To simplify the implementation, we only applied the controls for the differential pressure of the chilled water loop, the setpoint temperature of the chilled water leaving the chiller, and the chiller and WSE on/off control.

#### Enabling/Disabling the WSE

The WSE is enabled when

1. The WSE has been disabled for at least 20 minutes, and
2. Tws > 0.9 Twet + ΔTt + ΔTw

where Tws is the temperature of chilled water leaving the cooling coil, Twet is the wet bulb temperature, ΔTt is the temperature difference between the water leaving the cooling tower and the air entering the cooling tower, ΔTw is the temperature difference between the chilled water leaving the WSE and the condenser water entering the WSE.

The WSE is disabled when

1. The WSE has been enabled for at least 20 minutes, and
2. Tws < Twc + ΔTwse,off

where Twc is the temperature of condenser water leaving the cooling tower, ΔTwse,off = 0.6 K is the offset temperature.

#### Enabling/Disabling the Chiller

The control strategy is as follows:

- The chiller is enabled when Tchw,ent > Tchi,set + ΔTchi,ban
- The chiller is disabled when Tchw,ent ≤ Tchi,set

where Tchw,ent is the tempearture of chilled water entering the chiller, Tchi,set is the setpoint temperature of the chilled water leaving the chiller, and ΔTchi,ban is the dead-band to prevent short cycling.

#### Setpoint Reset

The setpoint reset strategy is to first increase the different pressure, Δp, of the chilled water loop to increase the mass flow rate. If Δp reaches the maximum value and further cooling is still needed, the chiller remperature setpoint, Tchi,set, is reduced. If there is too much cooling, the Tchi,set and Δp will be changed in the reverse direction.

There are two implementations for the setpoint reset.

The model Buildings.Examples.ChillerPlant.DataCenterDiscreteTimeControl implements a discrete time trim and response logic as follows:

- A cooling request is triggered if the input signal, y, is larger than 0. y is the difference between the actual and set temperature of the suppuly air to the data center room.
- The request is sampled every 2 minutes. If there is a cooling request, the control signal u is increased by 0.03, where 0 ≤ u ≤ 1. If there is no cooling request, u is decreased by 0.03.

The model Buildings.Examples.ChillerPlant.DataCenterContinuousTimeControl uses a PI-controller to approximate the above trim and response logic. This significantly reduces computing time.

For both models, the control signal u is converted to setpoints for Δp and Tchi,set as follows:

- If u ∈ [0, x] then Δp = Δpmin + u (Δpmax-Δpmin)/x and T = Tmax
- If u ∈ (x, 1] then Δp = Δpmax and T = Tmax - (u-x) (Tmax-Tmin)/(1-x)

where Δpmin and Δpmax are minimum and maximum values for Δp, and Tmin and Tmax are the minimum and maximum values for Tchi,set.

#### Reference

Stein, J. (2009). Waterside Economizing in Data Centers: Design and Control Considerations. ASHRAE Transactions, 115(2), 192-200.
Taylor, S.T. (2007). Increasing Efficiency with VAV System Static Pressure Setpoint Reset. ASHRAE Journal, June, 24-32.

Extends from Modelica.Icons.ExamplesPackage (Icon for packages containing runnable examples).

### Package Content

Name | Description
--- | ---
DataCenterContinuousTimeControl | Model of data center that approximates the trim and response logic
DataCenterDiscreteTimeControl | Model of data center with trim and response control
DataCenterRenewables | Model of a data center connected to renewable energy generation
BaseClasses | Package with base classes for Buildings.Examples.ChillerPlant

## Buildings.Examples.ChillerPlant.DataCenterContinuousTimeControl

Model of data center that approximates the trim and response logic

### Information

This model is the chilled water plant with continuous time control. The trim and response logic is approximated by a PI controller which significantly reduces computing time. The model is described at Buildings.Examples.ChillerPlant.

See Buildings.Examples.ChillerPlant.DataCenterContinuousTimeControl for an implementation with the discrete time trim and response logic.

Extends from Buildings.Examples.ChillerPlant.BaseClasses.DataCenter (Primary only chiller plant system with water-side economizer), Modelica.Icons.Example (Icon for runnable examples).

### Parameters

Type | Name | Default | Description
--- | --- | --- | ---
replaceable package MediumA | Air | Medium model
replaceable package MediumW | Water | Medium model
MassFlowRate | mAir_flow_nominal | roo.QRoo_flow/(1005*15) | Nominal mass flow rate at fan [kg/s]
Power | P_nominal | 80E3 | Nominal compressor power (at y=1) [W]
TemperatureDifference | dTEva_nominal | 10 | Temperature difference evaporator inlet-outlet [K]
TemperatureDifference | dTCon_nominal | 10 | Temperature difference condenser outlet-inlet [K]
Real | COPc_nominal | 3 | Chiller COP
MassFlowRate | mCHW_flow_nominal | 2*roo.QRoo_flow/(4200*20) | Nominal mass flow rate at chilled water [kg/s]
MassFlowRate | mCW_flow_nominal | 2*roo.QRoo_flow/(4200*6) | Nominal mass flow rate at condenser water [kg/s]
Pressure | dp_nominal | 500 | Nominal pressure difference [Pa]

### Connectors

Type | Name | Description
--- | --- | ---
Bus | weaBus |

### Modelica definition

model DataCenterContinuousTimeControl "Model of data center that approximates the trim and response logic" extends Buildings.Examples.ChillerPlant.BaseClasses.DataCenter; extends Modelica.Icons.Example; BaseClasses.Controls.TrimAndRespondContinuousTimeApproximation triAndRes "Continuous time approximation for trim and response controller"; equation connect(feedback.y, triAndRes.u); connect(triAndRes.y, linPieTwo.u); end DataCenterContinuousTimeControl;

## Buildings.Examples.ChillerPlant.DataCenterDiscreteTimeControl

Model of data center with trim and response control

### Information

This model is the chilled water plant with trim and response control, which is a discrete time control logic.

The trim and response logic is approximated by a PI controller which significantly reduces computing time. The model is described at Buildings.Examples.ChillerPlant.

See Buildings.Examples.ChillerPlant.DataCenterContinuousTimeControl for an implementation that approximates the trim and response logic by a continuous time controller.

Extends from Buildings.Examples.ChillerPlant.BaseClasses.DataCenter (Primary only chiller plant system with water-side economizer), Modelica.Icons.Example (Icon for runnable examples).

### Parameters

Type | Name | Default | Description
--- | --- | --- | ---
replaceable package MediumA | Air | Medium model
replaceable package MediumW | Water | Medium model
MassFlowRate | mAir_flow_nominal | roo.QRoo_flow/(1005*15) | Nominal mass flow rate at fan [kg/s]
Power | P_nominal | 80E3 | Nominal compressor power (at y=1) [W]
TemperatureDifference | dTEva_nominal | 10 | Temperature difference evaporator inlet-outlet [K]
TemperatureDifference | dTCon_nominal | 10 | Temperature difference condenser outlet-inlet [K]
Real | COPc_nominal | 3 | Chiller COP
MassFlowRate | mCHW_flow_nominal | 2*roo.QRoo_flow/(4200*20) | Nominal mass flow rate at chilled water [kg/s]
MassFlowRate | mCW_flow_nominal | 2*roo.QRoo_flow/(4200*6) | Nominal mass flow rate at condenser water [kg/s]
Pressure | dp_nominal | 500 | Nominal pressure difference [Pa]

### Connectors

Type | Name | Description
--- | --- | ---
Bus | weaBus |

### Modelica definition

model DataCenterDiscreteTimeControl "Model of data center with trim and response control" extends Buildings.Examples.ChillerPlant.BaseClasses.DataCenter; extends Modelica.Icons.Example; BaseClasses.Controls.TrimAndRespond triAndRes( yEqu0=0, samplePeriod=120, uTri=0, yDec=-0.03, yInc=0.03) "Trim and response controller"; equation connect(feedback.y, triAndRes.u); connect(triAndRes.y, linPieTwo.u); end DataCenterDiscreteTimeControl;

## Buildings.Examples.ChillerPlant.DataCenterRenewables

Model of a data center connected to renewable energy generation

### Information

This model illustrates a data center with DC and AC load. The electrical supply is from a grid, from wind turbines and from PV. The battery is charged during the night and discharged during the day in such a way that it is fully charged and discharged. This control logic is implemented using a finite state machine inside the model `con`.

Extends from Modelica.Icons.Example (Icon for runnable examples).

### Connectors

Type | Name | Description
--- | --- | ---
Bus | weaBus | Weather data bus

### Modelica definition

model DataCenterRenewables "Model of a data center connected to renewable energy generation" extends Modelica.Icons.Example; BaseClasses.DataCenterContinuousTimeControl dataCenterContinuousTimeControl; Buildings.Electrical.DC.Sources.WindTurbine winTur(scale=200e3, h=50) "Wind turbines"; Electrical.DC.Sources.PVSimpleOriented pv(A=200e3/800/0.12, til=0.34906585039887, lat=0.65798912800186, azi=-0.78539816339745) "PV array"; Buildings.Electrical.DC.Storage.Battery bat(EMax=500e3*4*3600, V_nominal= 480) "Battery"; Buildings.Electrical.AC.OnePhase.Conversion.ACDCConverter conv( conversionFactor=480/480, eta=0.9) "AC/DC converter"; Buildings.Electrical.AC.OnePhase.Sources.Grid gri( f=60, V=480, phiSou=0); Buildings.BoundaryConditions.WeatherData.Bus weaBus "Weather data bus"; BaseClasses.Controls.BatteryControl con "Battery controller"; Buildings.Electrical.DC.Loads.Conductor dcLoad(mode=Buildings.Electrical.Types.Load.VariableZ_P_input); Buildings.Electrical.AC.OnePhase.Loads.Inductive acLoad( mode=Buildings.Electrical.Types.Load.VariableZ_P_input); equation connect(dataCenterContinuousTimeControl.weaBus, weaBus); connect(weaBus.winSpe, winTur.vWin); connect(bat.SOC, con.SOC); connect(con.y, bat.P); connect(dataCenterContinuousTimeControl.PDC, dcLoad.Pow); connect(pv.terminal, conv.terminal_p); connect(winTur.terminal, conv.terminal_p); connect(bat.terminal, conv.terminal_p); connect(dcLoad.terminal, conv.terminal_p); connect(dataCenterContinuousTimeControl.PAC, acLoad.Pow); connect(acLoad.terminal, gri.terminal); connect(conv.terminal_n, gri.terminal); connect(dataCenterContinuousTimeControl.weaBus, pv.weaBus); end DataCenterRenewables;