Buildings.Experimental.DHC.Plants.Cooling.Controls.Validation

Collection of validation models

Information

This package contains validation models for the classes in Buildings.Experimental.DHC.Plants.Cooling.Controls.

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

Package Content

Name Description
Buildings.Experimental.DHC.Plants.Cooling.Controls.Validation.ChilledWaterBypass ChilledWaterBypass Example to test the chilled water bypass controller
Buildings.Experimental.DHC.Plants.Cooling.Controls.Validation.ChilledWaterPumpSpeed ChilledWaterPumpSpeed Example to test the chilled water pump speed controller
Buildings.Experimental.DHC.Plants.Cooling.Controls.Validation.ChillerStage ChillerStage Example to test the chiller staging controller
Buildings.Experimental.DHC.Plants.Cooling.Controls.Validation.TankStatus TankStatus Validation model for tank status controller

Buildings.Experimental.DHC.Plants.Cooling.Controls.Validation.ChilledWaterBypass Buildings.Experimental.DHC.Plants.Cooling.Controls.Validation.ChilledWaterBypass

Example to test the chilled water bypass controller

Buildings.Experimental.DHC.Plants.Cooling.Controls.Validation.ChilledWaterBypass

Information

This model validates the chilled water bypass valve control logic implemented in Buildings.Experimental.DHC.Plants.Cooling.Controls.ChilledWaterBypass.

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

Modelica definition

model ChilledWaterBypass "Example to test the chilled water bypass controller" extends Modelica.Icons.Example; Buildings.Experimental.DHC.Plants.Cooling.Controls.ChilledWaterBypass chiBypCon(numChi=2, mMin_flow=0.03) "Chilled water bypass loop control"; Modelica.Blocks.Sources.BooleanTable onOne( table( each displayUnit="s")={300,900}) "On signal of the first chiller"; Modelica.Blocks.Sources.BooleanTable onTwo( table( each displayUnit="s")={600,900}) "On signal of the second chiller"; Modelica.Blocks.Sources.Sine mFloChi( amplitude=0.03, f=1/300, offset=0.03, startTime=300) "Mass flow rate through the chillers"; equation connect(mFloChi.y,chiBypCon.mFloChi); connect(onTwo.y,chiBypCon.chiOn[2]); connect(onOne.y,chiBypCon.chiOn[1]); end ChilledWaterBypass;

Buildings.Experimental.DHC.Plants.Cooling.Controls.Validation.ChilledWaterPumpSpeed Buildings.Experimental.DHC.Plants.Cooling.Controls.Validation.ChilledWaterPumpSpeed

Example to test the chilled water pump speed controller

Buildings.Experimental.DHC.Plants.Cooling.Controls.Validation.ChilledWaterPumpSpeed

Information

This model validates the variable speed pump control logic implemented in Buildings.Experimental.DHC.Plants.Cooling.Controls.ChilledWaterPumpSpeed.

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

Modelica definition

model ChilledWaterPumpSpeed "Example to test the chilled water pump speed controller" extends Modelica.Icons.Example; Buildings.Experimental.DHC.Plants.Cooling.Controls.ChilledWaterPumpSpeed chiWatPumSpe( dpSetPoi=68900, tWai=30, m_flow_nominal=0.5, controllerType=Modelica.Blocks.Types.SimpleController.PI, k=1, Ti=60, Td=0.1) "Chilled water pump speed controller"; Modelica.Blocks.Sources.Pulse mFloTot( amplitude=2*chiWatPumSpe.m_flow_nominal, period=300, startTime=150) "Total chilled water mass flow rate"; Modelica.Blocks.Sources.Pulse dpMea( amplitude=0.4*chiWatPumSpe.dpSetPoi, period=150, offset=0.8*chiWatPumSpe.dpSetPoi, startTime=150) "Measured pressure drop"; Modelica.Blocks.Sources.BooleanConstant on "Plant on signal"; equation connect(mFloTot.y,chiWatPumSpe.masFloPum); connect(dpMea.y, chiWatPumSpe.dpMea); connect(on.y, chiWatPumSpe.on); end ChilledWaterPumpSpeed;

Buildings.Experimental.DHC.Plants.Cooling.Controls.Validation.ChillerStage Buildings.Experimental.DHC.Plants.Cooling.Controls.Validation.ChillerStage

Example to test the chiller staging controller

Buildings.Experimental.DHC.Plants.Cooling.Controls.Validation.ChillerStage

Information

This model validates the chiller staging control logic implemented in Buildings.Experimental.DHC.Plants.Cooling.Controls.ChillerStage.

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

Modelica definition

model ChillerStage "Example to test the chiller staging controller" extends Modelica.Icons.Example; Buildings.Experimental.DHC.Plants.Cooling.Controls.ChillerStage chiStaCon( tWai=30, QChi_nominal=-200*3.517*1000) "Chiller staging controller"; Modelica.Blocks.Sources.BooleanTable on( table( each displayUnit="s")={300,900}) "On signal of the cooling plant"; Modelica.Blocks.Sources.Constant TRet(k=18) "Return temperature"; Modelica.Blocks.Sources.Constant TSup(k=8) "Supply temperature"; Modelica.Blocks.Sources.Sine mFlo( amplitude=0.5*chiStaCon.QChi_nominal/(-10)/4200, f=1/300, offset=0.5*chiStaCon.QChi_nominal/(-10)/4200) "Total mass flow rate"; equation connect(on.y,chiStaCon.on); connect(mFlo.y,chiStaCon.mFloChiWat); connect(TRet.y,chiStaCon.TChiWatRet); connect(TSup.y,chiStaCon.TChiWatSup); end ChillerStage;

Buildings.Experimental.DHC.Plants.Cooling.Controls.Validation.TankStatus Buildings.Experimental.DHC.Plants.Cooling.Controls.Validation.TankStatus

Validation model for tank status controller

Buildings.Experimental.DHC.Plants.Cooling.Controls.Validation.TankStatus

Information

This model validates Buildings.Experimental.DHC.Plants.Cooling.Controls.TankStatus. Note that the output signals turn true as soon as their respective temperature input crosses the threshold, but there is a delay for it to turn back to false due to the hysteresis.

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

Modelica definition

model TankStatus "Validation model for tank status controller" extends Modelica.Icons.Example; Buildings.Experimental.DHC.Plants.Cooling.Controls.TankStatus tanSta( TLow=280.15, THig=286.15, dTHys=1) "Tank status"; Buildings.Controls.OBC.CDL.Reals.Sources.TimeTable TTanBot( table=[0,273.15 + 11; 0.25,273.15 + 13.5; 0.5,273.15 + 12.5; 0.75,273.15 + 13.5; 1,273.15 + 11]) "Temperature at tank bottom"; Buildings.Controls.OBC.CDL.Reals.Sources.TimeTable TTanTop( table=[0,273.15 + 9; 0.25,273.15 + 6.5; 0.5,273.15 + 7.5; 0.75,273.15 + 6.5; 1,273.15 + 9]) "Temperature at tank top"; equation connect(TTanTop.y[1], tanSta.TTan[1]); connect(TTanBot.y[1], tanSta.TTan[2]); end TankStatus;