Buildings.Experimental.DHC.Plants.Combined.Controls.BaseClasses.Validation

Package with validation models

Information

This package contains validation models.

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

Package Content

Name Description
Buildings.Experimental.DHC.Plants.Combined.Controls.BaseClasses.Validation.StageIndex StageIndex  
Buildings.Experimental.DHC.Plants.Combined.Controls.BaseClasses.Validation.StagingPlant StagingPlant Validation of plant staging block
Buildings.Experimental.DHC.Plants.Combined.Controls.BaseClasses.Validation.StagingPump StagingPump Validation of pump staging block

Buildings.Experimental.DHC.Plants.Combined.Controls.BaseClasses.Validation.StageIndex Buildings.Experimental.DHC.Plants.Combined.Controls.BaseClasses.Validation.StageIndex


Buildings.Experimental.DHC.Plants.Combined.Controls.BaseClasses.Validation.StageIndex

Information

This is a validation model for the block Buildings.Experimental.DHC.Plants.Combined.Controls.BaseClasses.StageIndex.

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

Modelica definition

model StageIndex extends Modelica.Icons.Example; Buildings.Experimental.DHC.Plants.Combined.Controls.BaseClasses.StageIndex sta(nSta=3, tSta=60) "Staging"; Buildings.Controls.OBC.CDL.Logical.Sources.TimeTable booTimTab( table=[0,0,0,0; 1,1,0,0; 2,1,1,1; 3,0,1,1; 4,1,0,0; 5,1,0,1; 6,1,1,0; 7,1,0, 1], timeScale=100, period=1000) "Source signal"; equation connect(booTimTab.y[1], sta.u1); connect(booTimTab.y[2], sta.u1Up); connect(booTimTab.y[3], sta.u1Dow); end StageIndex;

Buildings.Experimental.DHC.Plants.Combined.Controls.BaseClasses.Validation.StagingPlant Buildings.Experimental.DHC.Plants.Combined.Controls.BaseClasses.Validation.StagingPlant

Validation of plant staging block

Buildings.Experimental.DHC.Plants.Combined.Controls.BaseClasses.Validation.StagingPlant

Information

This is a validation model for the plant staging logic implemented in Buildings.Experimental.DHC.Plants.Combined.Controls.BaseClasses.StagingPlant.

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

Parameters

TypeNameDefaultDescription
RealPLRStaTra0.85Part load ratio triggering stage transition [1]
CHW loop and cooling-only chillers
IntegernChi2Number of units operating at design conditions
HeatFlowRateQChiWatChi_flow_nominal-4.4E6Cooling design heat flow rate of cooling-only chillers (all units) [W]
HW loop and heat recovery chillers
IntegernChiHea3Number of units operating at design conditions
HeatFlowRateQChiWatCasCoo_flow_nominal-6E6Cooling design heat flow rate of HRC in cascading cooling mode (all units) [W]
HeatFlowRateQHeaWat_flow_nominal6.4E6Heating design heat flow rate (all units) [W]

Modelica definition

model StagingPlant "Validation of plant staging block" extends Modelica.Icons.Example; parameter Integer nChi(final min=1, start=1)=2 "Number of units operating at design conditions"; parameter Modelica.Units.SI.HeatFlowRate QChiWatChi_flow_nominal=-4.4E6 "Cooling design heat flow rate of cooling-only chillers (all units)"; parameter Integer nChiHea(final min=1, start=1)=3 "Number of units operating at design conditions"; parameter Real PLRStaTra(final unit="1", final min=0, final max=1) = 0.85 "Part load ratio triggering stage transition"; parameter Modelica.Units.SI.HeatFlowRate QChiWatCasCoo_flow_nominal=-6E6 "Cooling design heat flow rate of HRC in cascading cooling mode (all units)"; parameter Modelica.Units.SI.HeatFlowRate QHeaWat_flow_nominal=6.4E6 "Heating design heat flow rate (all units)"; final parameter Modelica.Units.SI.HeatFlowRate mChiWat_flow_nominal= abs(QChiWatChi_flow_nominal+QChiWatCasCoo_flow_nominal) / Buildings.Utilities.Psychrometrics.Constants.cpWatLiq / 5 "CHW design mass flow rate"; final parameter Modelica.Units.SI.HeatFlowRate mHeaWat_flow_nominal= QHeaWat_flow_nominal / Buildings.Utilities.Psychrometrics.Constants.cpWatLiq / 10 "HW design mass flow rate"; BaseClasses.StagingPlant staChi( final nChi=nChi, final nChiHea=nChiHea, final QChiWatChi_flow_nominal=QChiWatChi_flow_nominal, final QChiWatCasCoo_flow_nominal=QChiWatCasCoo_flow_nominal, QChiWatCasCoo_flow_nominal_approx=QChiWatCasCoo_flow_nominal, final QHeaWat_flow_nominal=QHeaWat_flow_nominal) "Chiller staging block"; Buildings.Controls.OBC.CDL.Reals.Sources.TimeTable ratFlo(table=[0,0,0; 1, 0,0; 4,0.3,0.1; 5,1,0.1; 10,0.1,0.1; 13,1,0.3; 16,0.3,1;20,0.1,0.1; 24,0.1,0.3; 25, 0.1,1; 30,0,0], timeScale=1000) "Source signal"; Modelica.Blocks.Sources.BooleanExpression u1(y=time > 0) "Enable signal"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant TChiWatSupSet(k=7 + 273.15) "Source signal"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant TChiWatPriRet(k=12 + 273.15) "Source signal"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant THeaWatSupSet(k=60 + 273.15) "Source signal"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant THeaWatPriRet(k=50 + 273.15) "Source signal"; Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter sca(final k= mChiWat_flow_nominal) "Scale signal"; Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter sca1(final k= mHeaWat_flow_nominal) "Scale signal"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant dpSet(k=20E4) "Source signal"; equation connect(u1.y, staChi.u1Coo); connect(u1.y, staChi.u1Hea); connect(TChiWatSupSet.y, staChi.TChiWatSupSet); connect(THeaWatPriRet.y, staChi.THeaWatPriRet); connect(THeaWatSupSet.y, staChi.THeaWatSupSet); connect(TChiWatPriRet.y, staChi.TChiWatPriRet); connect(sca.y, staChi.mChiWatPri_flow); connect(sca1.y, staChi.mHeaWatPri_flow); connect(TChiWatSupSet.y, staChi.TChiWatSup); connect(dpSet.y, staChi.dpChiWat); connect(dpSet.y, staChi.dpChiWatSet); connect(dpSet.y, staChi.dpHeaWatSet); connect(dpSet.y, staChi.dpHeaWat); connect(THeaWatSupSet.y, staChi.THeaWatSup); connect(ratFlo.y[1], sca.u); connect(ratFlo.y[2], sca1.u); end StagingPlant;

Buildings.Experimental.DHC.Plants.Combined.Controls.BaseClasses.Validation.StagingPump Buildings.Experimental.DHC.Plants.Combined.Controls.BaseClasses.Validation.StagingPump

Validation of pump staging block

Buildings.Experimental.DHC.Plants.Combined.Controls.BaseClasses.Validation.StagingPump

Information

This is a validation model for the pump staging logic implemented in Buildings.Experimental.DHC.Plants.Combined.Controls.BaseClasses.StagingPump.

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

Parameters

TypeNameDefaultDescription
IntegernPum3Number of pumps
IntegernChi1Number of chillers served by the pumps
Nominal condition
MassFlowRatem_flow_nominal1[kg/s]

Modelica definition

model StagingPump "Validation of pump staging block" extends Modelica.Icons.Example; parameter Integer nPum( final min=1, start=1)=3 "Number of pumps"; parameter Integer nChi( final min=1, start=1)=1 "Number of chillers served by the pumps"; parameter Modelica.Units.SI.MassFlowRate m_flow_nominal=1; Buildings.Controls.OBC.CDL.Reals.Sources.TimeTable floSpe( table=[ 0,0,0; 1,0,0; 4,(nPum - 1)/nPum*m_flow_nominal,1; 5,m_flow_nominal,0.9; 10,0,0.1], timeScale=500) "Source signal"; Buildings.Experimental.DHC.Plants.Combined.Controls.BaseClasses.StagingPump staDet( final nPum=nPum, final m_flow_nominal=m_flow_nominal) "Pump staging block - Detailed version"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant yVal(k=1) "Source signal"; Buildings.Controls.OBC.CDL.Reals.GreaterThreshold isOpe(t=0.1, h=5E-2) "Check if valve open"; equation connect(floSpe.y[1],staDet. m_flow); connect(floSpe.y[2],staDet. y); connect(yVal.y, isOpe.u); connect(isOpe.y,staDet.y1Ena); end StagingPump;