From d4aede1390fba1148351732dbfba25e8535e911c Mon Sep 17 00:00:00 2001
From: Guowen Li
Date: Mon, 5 Aug 2024 23:48:06 -0700
Subject: [PATCH 01/18] Re-size AHU fan nominal pressure raise
Double the pressure rise to cover the maximum air system pressure drop (1.734 kPa)
---
.../HVACSide/BaseClasses/AirSide.mo | 67 ++++++++++---------
1 file changed, 34 insertions(+), 33 deletions(-)
diff --git a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/AirSide.mo b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/AirSide.mo
index 6a451c0d1..1561e3066 100644
--- a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/AirSide.mo
+++ b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/AirSide.mo
@@ -31,8 +31,8 @@ model Airside "Air side system"
mAirFloRat5[3])/1.2*2}} "Volume flow rate curve";
parameter Real HydEff[n,:] = {{0.93*0.65,0.93*0.7,0.93,0.93*0.6} for i in linspace(1,n,n)} "Hydraulic efficiency";
parameter Real MotEff[n,:] = {{0.6045*0.65,0.6045*0.7,0.6045,0.6045*0.6} for i in linspace(1,n,n)} "Motor efficiency";
- parameter Modelica.Units.SI.Pressure SupPreCur[n,:]={{1400,1000,700,700*0.5} for i in linspace(1,n,n)} "Pressure curve";
- parameter Modelica.Units.SI.Pressure RetPreCur[n,:]={{600,400,200,100} for i in linspace(1,n,n)} "Pressure curve";
+ parameter Modelica.Units.SI.Pressure SupPreCur[n,:]={{1400*beta,1000*beta,700*beta,700*0.5*beta} for i in linspace(1,n,n)} "Pressure curve";
+ parameter Modelica.Units.SI.Pressure RetPreCur[n,:]={{600*beta,400*beta,200*beta,100*beta} for i in linspace(1,n,n)} "Pressure curve";
parameter Modelica.Units.SI.Pressure PreAirDroMai1=140
"Pressure drop 1 across the duct";
parameter Modelica.Units.SI.Pressure PreAirDroMai2=140
@@ -131,6 +131,7 @@ model Airside "Air side system"
parameter Modelica.Units.SI.Efficiency eps5(max=1) = 0.8
"Heat exchanger effectiveness of vav 1";
final parameter Real alpha = 0.8 "Sizing factor";
+ final parameter Real beta = 2 "Sizing factor for AHU fan pressure";
//package MediumAir = Buildings.Media.Air "Medium model for air";
package MediumAir = Buildings.Media.Air(extraPropertiesNames={"CO2"}) "Buildings library air media package with CO2";
@@ -261,8 +262,8 @@ model Airside "Air side system"
redeclare package MediumHeaWat = MediumHeaWat,
C_start=fill(400e-6*Modelica.Media.IdealGases.Common.SingleGasesData.CO2.MM/Modelica.Media.IdealGases.Common.SingleGasesData.Air.MM, MediumAir.nC),
m_flow_lea={10*0.206*1.2, 10*0.137*1.2, 10*0.206*1.2, 10*0.137*1.2},
- PreDroCoiAir=PreDroCoiAir*10,
- PreDroMixingBoxAir=PreDroMixingBoxAir*10,
+ PreDroCoiAir=PreDroCoiAir,
+ PreDroMixingBoxAir=PreDroMixingBoxAir,
PreDroCooWat=PreDroCooWat/2,
TemEcoHig=TemEcoHig,
TemEcoLow=TemEcoLow,
@@ -273,24 +274,24 @@ model Airside "Air side system"
VolFloCur=VolFloCur[2, :],
SupPreCur=SupPreCur[2, :],
RetPreCur=RetPreCur[2, :],
- PreAirDroMai1=PreAirDroMai1*10,
- PreAirDroMai2=PreAirDroMai2*10,
- PreAirDroMai3=PreAirDroMai3*10,
- PreAirDroMai4=PreAirDroMai4*10,
- PreAirDroBra1=PreAirDroBra1*10,
- PreAirDroBra2=PreAirDroBra2*10,
- PreAirDroBra3=PreAirDroBra3*10,
- PreAirDroBra4=PreAirDroBra4*10,
- PreAirDroBra5=PreAirDroBra5*10,
- PreWatDroMai1=PreWatDroMai1*10,
- PreWatDroMai2=PreWatDroMai2*10,
- PreWatDroMai3=PreWatDroMai3*10,
- PreWatDroMai4=PreWatDroMai4*10,
- PreWatDroBra1=PreWatDroBra1*10,
- PreWatDroBra2=PreWatDroBra2*10,
- PreWatDroBra3=PreWatDroBra3*10,
- PreWatDroBra4=PreWatDroBra4*10,
- PreWatDroBra5=PreWatDroBra5*10,
+ PreAirDroMai1=PreAirDroMai1,
+ PreAirDroMai2=PreAirDroMai2,
+ PreAirDroMai3=PreAirDroMai3,
+ PreAirDroMai4=PreAirDroMai4,
+ PreAirDroBra1=PreAirDroBra1,
+ PreAirDroBra2=PreAirDroBra2,
+ PreAirDroBra3=PreAirDroBra3,
+ PreAirDroBra4=PreAirDroBra4,
+ PreAirDroBra5=PreAirDroBra5,
+ PreWatDroMai1=PreWatDroMai1,
+ PreWatDroMai2=PreWatDroMai2,
+ PreWatDroMai3=PreWatDroMai3,
+ PreWatDroMai4=PreWatDroMai4,
+ PreWatDroBra1=PreWatDroBra1,
+ PreWatDroBra2=PreWatDroBra2,
+ PreWatDroBra3=PreWatDroBra3,
+ PreWatDroBra4=PreWatDroBra4,
+ PreWatDroBra5=PreWatDroBra5,
mAirFloRat1=mAirFloRat1[2],
mAirFloRat2=mAirFloRat2[2],
mAirFloRat3=mAirFloRat3[2],
@@ -301,20 +302,20 @@ model Airside "Air side system"
mWatFloRat3=mWatFloRat3[2],
mWatFloRat4=mWatFloRat4[2],
mWatFloRat5=mWatFloRat5[2],
- PreDroAir1=PreDroAir1*10,
- PreDroWat1=PreDroWat1*10,
+ PreDroAir1=PreDroAir1,
+ PreDroWat1=PreDroWat1,
eps1=eps1,
- PreDroAir2=PreDroAir2*10,
- PreDroWat2=PreDroWat2*10,
+ PreDroAir2=PreDroAir2,
+ PreDroWat2=PreDroWat2,
eps2=eps2,
- PreDroAir3=PreDroAir3*10,
- PreDroWat3=PreDroWat3*10,
+ PreDroAir3=PreDroAir3,
+ PreDroWat3=PreDroWat3,
eps3=eps3,
- PreDroAir4=PreDroAir4*10,
- PreDroWat4=PreDroWat4*10,
+ PreDroAir4=PreDroAir4,
+ PreDroWat4=PreDroWat4,
eps4=eps4,
- PreDroAir5=PreDroAir5*10,
- PreDroWat5=PreDroWat5*10,
+ PreDroAir5=PreDroAir5,
+ PreDroWat5=PreDroWat5,
eps5=eps5,
redeclare package MediumCooWat = MediumCHW,
mWatFloRat=mWatFloRatMid)
@@ -337,7 +338,7 @@ model Airside "Air side system"
m_flow_lea={1*0.206*1.2, 1*0.137*1.2, 1*0.206*1.2, 1*0.137*1.2},
PreDroCoiAir=PreDroCoiAir,
PreDroMixingBoxAir=PreDroMixingBoxAir,
- PreDroCooWat=PreDroCooWat/2,
+ PreDroCooWat=PreDroCooWat,
TemEcoHig=TemEcoHig,
TemEcoLow=TemEcoLow,
MixingBoxDamMin=MixingBoxDamMin,
From 63d58aee3711dd2de905e38ef1e88593597bb11d Mon Sep 17 00:00:00 2001
From: Guowen Li
Date: Mon, 5 Aug 2024 23:59:05 -0700
Subject: [PATCH 02/18] Set min. cooling valve position as 0.01 to avoid
simulation failure
---
.../HVACSide/BaseClasses/Component/AirSide/Coil/CoolingCoil.mo | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/Component/AirSide/Coil/CoolingCoil.mo b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/Component/AirSide/Coil/CoolingCoil.mo
index 6c28cc4f7..773367c2d 100644
--- a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/Component/AirSide/Coil/CoolingCoil.mo
+++ b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/Component/AirSide/Coil/CoolingCoil.mo
@@ -3,7 +3,8 @@ model CoolingCoil "The model of the cooling coil"
extends
MultizoneOfficeComplexAir.BaseClasses.HVACSide.BaseClasses.Component.AirSide.Coil.BaseClasses.WatCoil( val(
dpValve_nominal=PreDroWat, y_start=0.1),
- pI(reverseActing=false, conPID(y_reset=1)));
+ pI(
+ yMin=0.01, reverseActing=false, conPID(y_reset=1)));
parameter Real UA "Rated heat exchange coefficients";
MultizoneOfficeComplexAir.BaseClasses.HVACSide.BaseClasses.Component.AirSide.Coil.BaseClasses.WetCoil coi(
From 2a631a9229ca30fcd818ccae6ba5c9e0fbf24c3a Mon Sep 17 00:00:00 2001
From: Guowen Li
Date: Tue, 6 Aug 2024 00:00:12 -0700
Subject: [PATCH 03/18] Set junction pressure drop identical to each floor
---
.../BaseClasses/HVACSide/HVAC.mo | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/HVAC.mo b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/HVAC.mo
index 2cf68fdc1..525ada62f 100644
--- a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/HVAC.mo
+++ b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/HVAC.mo
@@ -76,7 +76,7 @@ model HVAC "Full HVAC system that contains the air side and water side systems"
PreDroBra2(displayUnit="Pa") = 0,
PreDroBra3(displayUnit="Pa") = 0,
PreDroMai1(displayUnit="Pa") = (79712/4),
- PreDroMai2(displayUnit="Pa") = (79712/4),
+ PreDroMai2(displayUnit="Pa") = (79712/4/2),
mFloRat1=boiWatPla.Cap[1]/4190/boiWatPla.dTHW_nominal*boiWatPla.n/12,
mFloRat2=boiWatPla.Cap[1]/4190/boiWatPla.dTHW_nominal*boiWatPla.n/12*10,
mFloRat3=boiWatPla.Cap[1]/4190/boiWatPla.dTHW_nominal*boiWatPla.n/12,
@@ -101,11 +101,11 @@ model HVAC "Full HVAC system that contains the air side and water side systems"
mFloRat1=mFloRat1,
mFloRat2=mFloRat2,
mFloRat3=mFloRat3,
- PreDroBra1(displayUnit="Pa") = 0,
+ PreDroBra1(displayUnit="Pa") = PreDroCooWat,
PreDroBra2(displayUnit="Pa") = 0,
PreDroBra3(displayUnit="Pa") = 0,
- PreDroMai1=PreDroCooWat*2,
- PreDroMai2(displayUnit="Pa") = 0)
+ PreDroMai1=PreDroCooWat,
+ PreDroMai2(displayUnit="Pa") = PreDroCooWat/2)
"Chilled water plant distribution network"
annotation (Placement(transformation(extent={{20,-88},{40,-108}})));
Buildings.Fluid.Chillers.Data.ElectricEIR.ElectricEIRChiller_Trane_CVHE_1442kW_6_61COP_VSD
From 6282732f13fce4787fdd0db6e3de9466b39bdad3 Mon Sep 17 00:00:00 2001
From: Guowen Li
Date: Tue, 6 Aug 2024 11:56:20 -0700
Subject: [PATCH 04/18] Resize boiler capacity based on peak heating load from
E+
---
.../BaseClasses/HVACSide/BaseClasses/BoilerPlant.mo | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/BoilerPlant.mo b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/BoilerPlant.mo
index 1597902a3..79248b95d 100644
--- a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/BoilerPlant.mo
+++ b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/BoilerPlant.mo
@@ -9,8 +9,8 @@ model BoilerPlant "Boiler hot water plant"
"Number of pumps";
parameter Real thrhol[:]= {0.95}
"Threshold for boiler staging";
- parameter Real Cap[:] = {2762738.20/n for i in linspace(1, n, n)} "Rated Plant Capacity";
- parameter Modelica.Units.SI.MassFlowRate mHW_flow_nominal[:]={2762738.20/n/20
+ parameter Real Cap[:] = {4191000/n for i in linspace(1, n, n)} "Rated Plant Capacity";
+ parameter Modelica.Units.SI.MassFlowRate mHW_flow_nominal[:]={4191000/n/20
/4200 for i in linspace(
1,
n,
From 3b11d6a4616013de8920363c44e260c0f509a6ed Mon Sep 17 00:00:00 2001
From: Guowen Li
Date: Wed, 7 Aug 2024 11:02:05 -0700
Subject: [PATCH 05/18] Resize chiller capacity based on peak cooling load from
E+
Chiller capacity = Peak cooling load (5500kW) / Number of chiller (3)
---
.../BaseClasses/HVACSide/HVAC.mo | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/HVAC.mo b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/HVAC.mo
index 525ada62f..1e1554715 100644
--- a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/HVAC.mo
+++ b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/HVAC.mo
@@ -41,16 +41,16 @@ model HVAC "Full HVAC system that contains the air side and water side systems"
parameter Modelica.Units.SI.MassFlowRate mFloRat1=-datChi[1].QEva_flow_nominal
/4200/chiWatPla.dTCHW_nominal*chiWatPla.n/12
- "mass flow rate for floor 1 (bottom floor)";
+ "CHW mass flow rate for floor 1 (bottom floor)";
parameter Modelica.Units.SI.MassFlowRate mFloRat2=-datChi[1].QEva_flow_nominal
/4200/chiWatPla.dTCHW_nominal*chiWatPla.n/12*10
- "mass flow rate for floor 2 (middle floor)";
+ "CHW mass flow rate for floor 2 (middle floor)";
parameter Modelica.Units.SI.MassFlowRate mFloRat3=-datChi[1].QEva_flow_nominal
/4200/chiWatPla.dTCHW_nominal*chiWatPla.n/12
- "mass flow rate for floor 3 (top floor)";
+ "CHW mass flow rate for floor 3 (top floor)";
parameter Modelica.Units.SI.MassFlowRate mCHW_flow_nominal[:]={-datChi[1].QEva_flow_nominal
- /4200/5.56 for i in linspace(
+ /4200/chiWatPla.dTCHW_nominal for i in linspace(
1,
3,
3)} "Nominal mass flow rate at chilled water side";
@@ -109,7 +109,8 @@ model HVAC "Full HVAC system that contains the air side and water side systems"
"Chilled water plant distribution network"
annotation (Placement(transformation(extent={{20,-88},{40,-108}})));
Buildings.Fluid.Chillers.Data.ElectricEIR.ElectricEIRChiller_Trane_CVHE_1442kW_6_61COP_VSD
- datChi[3](each QEva_flow_nominal=-2500000) "Chiller data record"
+ datChi[3](each QEva_flow_nominal=-5500000/3)
+ "Chiller data record"
annotation (Placement(transformation(extent={{-52,
-106},{-32,-86}})));
From 8baf67c651be02a197301e898f7743d47e90db16 Mon Sep 17 00:00:00 2001
From: Guowen Li
Date: Wed, 7 Aug 2024 11:05:42 -0700
Subject: [PATCH 06/18] Resize cooling tower water flow and power using design
conditions
1. Q_evap = Q_cond*(COP_nominal+1)/COP_nominal where Q_cond is chiller capacity and Q_evap is cooling tower capacity
2. m_CW = Q_evap/cp/dTCW_nominal
3. P_CT_fan = 0.015*Q_evap which assumes the specific fan power (SFP) is 0.015kW per 1kW of CT heat rejected
---
.../BaseClasses/HVACSide/BaseClasses/ChillerPlant.mo | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/ChillerPlant.mo b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/ChillerPlant.mo
index 850fa7b50..607f1d418 100644
--- a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/ChillerPlant.mo
+++ b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/ChillerPlant.mo
@@ -16,10 +16,10 @@ model ChillerPlant
parameter Real tWai = 900 "Waiting time";
parameter Modelica.Units.SI.TemperatureDifference dT=0.5
"Temperature difference for stage control";
- parameter Modelica.Units.SI.Power PTow_nominal[:]={10E3 for i in linspace(
+ parameter Modelica.Units.SI.Power PTow_nominal[:]={-datChi[1].QEva_flow_nominal*(COP_nominal + 1)/COP_nominal*0.015 for i in linspace(
1,
n,
- n)} "Nominal cooling tower power (at y=1)";
+ n)} "Nominal cooling tower power (assume specific fan power is 0.015kW per 1kW of CT heat rejected)";
parameter Modelica.Units.SI.TemperatureDifference dTCHW_nominal=5.56
"Temperature difference at chilled water side";
parameter Modelica.Units.SI.TemperatureDifference dTCW_nominal=5.18
@@ -40,12 +40,12 @@ model ChillerPlant
"Approach temperature for controlling cooling towers";
parameter Real COP_nominal = datChi[1].COP_nominal "Chiller COP";
parameter Modelica.Units.SI.MassFlowRate mCHW_flow_nominal[:]={-datChi[1].QEva_flow_nominal
- /4200/5.56 for i in linspace(
+ /4200/dTCHW_nominal for i in linspace(
1,
n,
n)} "Nominal mass flow rate at chilled water side";
parameter Modelica.Units.SI.MassFlowRate mCW_flow_nominal[:]={
- mCHW_flow_nominal[1]*(datChi[1].COP_nominal + 1)/datChi[1].COP_nominal
+ -datChi[1].QEva_flow_nominal*(COP_nominal + 1)/COP_nominal/4200/dTCW_nominal
for i in linspace(
1,
n,
@@ -164,7 +164,7 @@ model ChillerPlant
1,
n,
n)},
- dp_nominal=dPCW_nominal*10)
+ dp_nominal=dPCW_nominal + dP_nominal + dPByp_nominal)
annotation (Placement(transformation(extent={{-144,-102},{-116,-76}})));
Buildings.Fluid.Storage.ExpansionVessel expVesCW(
redeclare package Medium = MediumCW, V_start=1)
From e370209b8882aa3e31a4ff0b6c043df4724332d0 Mon Sep 17 00:00:00 2001
From: Guowen Li
Date: Wed, 7 Aug 2024 15:10:22 -0700
Subject: [PATCH 07/18] Set initial economizer damper positions as open to
avoid initialization failure
---
.../TestCases/TestCase.mo | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/TestCases/TestCase.mo b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/TestCases/TestCase.mo
index d8920519f..b35bc7715 100644
--- a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/TestCases/TestCase.mo
+++ b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/TestCases/TestCase.mo
@@ -6,8 +6,8 @@ model TestCase "Complex office building model that includes air side systems, wa
floor1(duaFanAirHanUni(
mixBox(mixBox(
valRet(riseTime=15, y_start=1),
- valExh(riseTime=15, y_start=0),
- valFre(riseTime=15, y_start=0))),
+ valExh(riseTime=15, y_start=1),
+ valFre(riseTime=15, y_start=1))),
retFan(varSpeFloMov(use_inputFilter=true, y_start=0)),
supFan(varSpe(variableSpeed(zerSpe(k=0))), withoutMotor(varSpeFloMov(
use_inputFilter=true, y_start=0))),
@@ -15,8 +15,8 @@ model TestCase "Complex office building model that includes air side systems, wa
floor2(duaFanAirHanUni(
mixBox(mixBox(
valRet(riseTime=15, y_start=1),
- valExh(riseTime=15, y_start=0),
- valFre(riseTime=15, y_start=0))),
+ valExh(riseTime=15, y_start=1),
+ valFre(riseTime=15, y_start=1))),
retFan(varSpeFloMov(use_inputFilter=true, y_start=0)),
supFan(varSpe(variableSpeed(zerSpe(k=0))), withoutMotor(varSpeFloMov(
use_inputFilter=true, y_start=0))),
@@ -24,8 +24,8 @@ model TestCase "Complex office building model that includes air side systems, wa
floor3(duaFanAirHanUni(
mixBox(mixBox(
valRet(riseTime=15, y_start=1),
- valExh(riseTime=15, y_start=0),
- valFre(riseTime=15, y_start=0))),
+ valExh(riseTime=15, y_start=1),
+ valFre(riseTime=15, y_start=1))),
retFan(varSpeFloMov(use_inputFilter=true, y_start=0)),
supFan(varSpe(variableSpeed(zerSpe(k=0))), withoutMotor(varSpeFloMov(
use_inputFilter=true, y_start=0))),
@@ -58,7 +58,7 @@ equation
coordinateSystem(preserveAspectRatio=false)),
experiment(
StopTime=31536000,
- Interval=3600,
+ Interval=60,
Tolerance=1e-06,
__Dymola_Algorithm="Cvode"),
Documentation(info="
From cdc59061545c3918cf7a9c8a49bf703bf8c2d98d Mon Sep 17 00:00:00 2001
From: Guowen Li
Date: Wed, 7 Aug 2024 16:40:55 -0700
Subject: [PATCH 08/18] Correct typo for cooling tower size calculation
1. Q_cond = Q_eva*(COP_nominal+1)/COP_nominal where Q_cond is chiller capacity and Q_cond is cooling tower capacity
2. m_CW = Q_cond/cp/dTCW_nominal
3. P_CT_fan = 0.015*Q_cond which assumes the specific fan power (SFP) is 0.015kW per 1kW of CT heat rejected
---
.../BaseClasses/HVACSide/BaseClasses/ChillerPlant.mo | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/ChillerPlant.mo b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/ChillerPlant.mo
index 607f1d418..11a4c8f88 100644
--- a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/ChillerPlant.mo
+++ b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/ChillerPlant.mo
@@ -19,7 +19,7 @@ model ChillerPlant
parameter Modelica.Units.SI.Power PTow_nominal[:]={-datChi[1].QEva_flow_nominal*(COP_nominal + 1)/COP_nominal*0.015 for i in linspace(
1,
n,
- n)} "Nominal cooling tower power (assume specific fan power is 0.015kW per 1kW of CT heat rejected)";
+ n)} "Nominal cooling tower power based on CT capacity Q_cond (assume specific fan power is 0.015kW per 1kW of CT heat rejected)";
parameter Modelica.Units.SI.TemperatureDifference dTCHW_nominal=5.56
"Temperature difference at chilled water side";
parameter Modelica.Units.SI.TemperatureDifference dTCW_nominal=5.18
From a29ca4305ff669da9902e9389b7a6a2e0e52727f Mon Sep 17 00:00:00 2001
From: Guowen Li
Date: Wed, 7 Aug 2024 16:45:42 -0700
Subject: [PATCH 09/18] Add icon for secondary pump model
---
.../Component/FlowMover/Pump/PumpSystem.mo | 25 ++++++++++++++++++-
1 file changed, 24 insertions(+), 1 deletion(-)
diff --git a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/Component/FlowMover/Pump/PumpSystem.mo b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/Component/FlowMover/Pump/PumpSystem.mo
index f924ca5bd..e7f193b09 100644
--- a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/Component/FlowMover/Pump/PumpSystem.mo
+++ b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/Component/FlowMover/Pump/PumpSystem.mo
@@ -72,5 +72,28 @@ equation
extent={{-100,100},{100,-100}},
lineColor={0,0,127},
fillColor={255,255,255},
- fillPattern=FillPattern.Solid)}));
+ fillPattern=FillPattern.Solid),
+ Line(
+ points={{-94,0},{-16,0}},
+ color={0,0,255},
+ smooth=Smooth.None),
+ Line(
+ points={{90,0},{14,0}},
+ color={0,0,255},
+ smooth=Smooth.None),
+ Ellipse(
+ extent={{-28,28},{32,-30}},
+ lineColor={0,0,255},
+ fillColor={255,255,255},
+ fillPattern=FillPattern.Solid),
+ Polygon(
+ points={{32,0},{-16,-24},{-16,22},{32,0}},
+ lineColor={0,0,255},
+ smooth=Smooth.None,
+ fillColor={0,0,255},
+ fillPattern=FillPattern.Solid),
+ Text(
+ extent={{40,86},{-36,46}},
+ textColor={28,108,200},
+ textString="[n]")}));
end PumpSystem;
From c763ddb3fcf72b5c21747e0b138d92b966d59cd8 Mon Sep 17 00:00:00 2001
From: Guowen Li
Date: Wed, 7 Aug 2024 17:19:45 -0700
Subject: [PATCH 10/18] Add sizing factor (alpha) for overall system design
capacity
---
.../BaseClasses/HVACSide/BaseClasses/AirSide.mo | 13 ++++++-------
.../BaseClasses/HVACSide/HVAC.mo | 5 ++++-
2 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/AirSide.mo b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/AirSide.mo
index 1561e3066..278b52bb1 100644
--- a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/AirSide.mo
+++ b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/AirSide.mo
@@ -1,5 +1,6 @@
within MultizoneOfficeComplexAir.BaseClasses.HVACSide.BaseClasses;
model Airside "Air side system"
+ parameter Real alpha = 1 "Sizing factor for overall system design capacity and mass flow rate";
parameter Integer n = 3 "Number of floors";
parameter Modelica.Units.SI.Pressure PreDroCoiAir=50
"Pressure drop in the air side";
@@ -31,8 +32,8 @@ model Airside "Air side system"
mAirFloRat5[3])/1.2*2}} "Volume flow rate curve";
parameter Real HydEff[n,:] = {{0.93*0.65,0.93*0.7,0.93,0.93*0.6} for i in linspace(1,n,n)} "Hydraulic efficiency";
parameter Real MotEff[n,:] = {{0.6045*0.65,0.6045*0.7,0.6045,0.6045*0.6} for i in linspace(1,n,n)} "Motor efficiency";
- parameter Modelica.Units.SI.Pressure SupPreCur[n,:]={{1400*beta,1000*beta,700*beta,700*0.5*beta} for i in linspace(1,n,n)} "Pressure curve";
- parameter Modelica.Units.SI.Pressure RetPreCur[n,:]={{600*beta,400*beta,200*beta,100*beta} for i in linspace(1,n,n)} "Pressure curve";
+ parameter Modelica.Units.SI.Pressure SupPreCur[n,:]={{2800,2000,1400,700} for i in linspace(1,n,n)} "Pressure curve";
+ parameter Modelica.Units.SI.Pressure RetPreCur[n,:]={{1200,800,400,200} for i in linspace(1,n,n)} "Pressure curve";
parameter Modelica.Units.SI.Pressure PreAirDroMai1=140
"Pressure drop 1 across the duct";
parameter Modelica.Units.SI.Pressure PreAirDroMai2=140
@@ -94,11 +95,11 @@ model Airside "Air side system"
parameter Modelica.Units.SI.MassFlowRate mWatFloRat5[n]={mAirFloRat5[1]*0.3*(
35 - 12.88)/4.2/20,mAirFloRat5[2]*0.3*(35 - 12.88)/4.2/20,mAirFloRat5[3]*
0.3*(35 - 12.88)/4.2/20} "mass flow rate for vav 5";
- parameter Modelica.Units.SI.MassFlowRate mWatFloRatBot=26.7
+ parameter Modelica.Units.SI.MassFlowRate mWatFloRatBot=26.7*alpha
"mass flow rate for cooling coil chilled water in floor 1";
- parameter Modelica.Units.SI.MassFlowRate mWatFloRatMid=267
+ parameter Modelica.Units.SI.MassFlowRate mWatFloRatMid=267*alpha
"mass flow rate for cooling coil chilled water in floor 2";
- parameter Modelica.Units.SI.MassFlowRate mWatFloRatTop=26.7
+ parameter Modelica.Units.SI.MassFlowRate mWatFloRatTop=26.7*alpha
"mass flow rate for cooling coil chilled water in floor 3";
parameter Modelica.Units.SI.Pressure PreDroAir1=200
"Pressure drop in the air side of vav 1";
@@ -130,8 +131,6 @@ model Airside "Air side system"
"Pressure drop in the water side of vav 1";
parameter Modelica.Units.SI.Efficiency eps5(max=1) = 0.8
"Heat exchanger effectiveness of vav 1";
- final parameter Real alpha = 0.8 "Sizing factor";
- final parameter Real beta = 2 "Sizing factor for AHU fan pressure";
//package MediumAir = Buildings.Media.Air "Medium model for air";
package MediumAir = Buildings.Media.Air(extraPropertiesNames={"CO2"}) "Buildings library air media package with CO2";
diff --git a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/HVAC.mo b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/HVAC.mo
index 1e1554715..2e7853a1b 100644
--- a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/HVAC.mo
+++ b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/HVAC.mo
@@ -1,6 +1,7 @@
within MultizoneOfficeComplexAir.BaseClasses.HVACSide;
model HVAC "Full HVAC system that contains the air side and water side systems"
extends MultizoneOfficeComplexAir.BaseClasses.HVACSide.BaseClasses.Airside(
+ alpha=alpha,
sou(nPorts=3),
floor1(
reaZonCor(zone="bot_floor_cor"),
@@ -39,6 +40,8 @@ model HVAC "Full HVAC system that contains the air side and water side systems"
oveZonWes(zone="top_floor_wes"),
final mWatFloRat=mFloRat3));
+ parameter Real alpha = 1 "Sizing factor for overall system design capacity and mass flow rate";
+
parameter Modelica.Units.SI.MassFlowRate mFloRat1=-datChi[1].QEva_flow_nominal
/4200/chiWatPla.dTCHW_nominal*chiWatPla.n/12
"CHW mass flow rate for floor 1 (bottom floor)";
@@ -109,7 +112,7 @@ model HVAC "Full HVAC system that contains the air side and water side systems"
"Chilled water plant distribution network"
annotation (Placement(transformation(extent={{20,-88},{40,-108}})));
Buildings.Fluid.Chillers.Data.ElectricEIR.ElectricEIRChiller_Trane_CVHE_1442kW_6_61COP_VSD
- datChi[3](each QEva_flow_nominal=-5500000/3)
+ datChi[3](each QEva_flow_nominal=-5500000/3*alpha)
"Chiller data record"
annotation (Placement(transformation(extent={{-52,
-106},{-32,-86}})));
From 1008f3bd1d2b1707dbfcbf545227bbe5e873ddf0 Mon Sep 17 00:00:00 2001
From: Guowen Li
Date: Wed, 7 Aug 2024 17:43:51 -0700
Subject: [PATCH 11/18] Top-level sizing factor
---
.../MultizoneOfficeComplexAir/BaseClasses/HVACSide/HVAC.mo | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/HVAC.mo b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/HVAC.mo
index 2e7853a1b..bc51231e0 100644
--- a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/HVAC.mo
+++ b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/HVAC.mo
@@ -1,7 +1,7 @@
within MultizoneOfficeComplexAir.BaseClasses.HVACSide;
model HVAC "Full HVAC system that contains the air side and water side systems"
extends MultizoneOfficeComplexAir.BaseClasses.HVACSide.BaseClasses.Airside(
- alpha=alpha,
+ alpha=1,
sou(nPorts=3),
floor1(
reaZonCor(zone="bot_floor_cor"),
@@ -40,8 +40,6 @@ model HVAC "Full HVAC system that contains the air side and water side systems"
oveZonWes(zone="top_floor_wes"),
final mWatFloRat=mFloRat3));
- parameter Real alpha = 1 "Sizing factor for overall system design capacity and mass flow rate";
-
parameter Modelica.Units.SI.MassFlowRate mFloRat1=-datChi[1].QEva_flow_nominal
/4200/chiWatPla.dTCHW_nominal*chiWatPla.n/12
"CHW mass flow rate for floor 1 (bottom floor)";
From 19d0765c3cae4224d845a0f9c26954c53f774726 Mon Sep 17 00:00:00 2001
From: Guowen Li
Date: Thu, 8 Aug 2024 10:18:07 -0700
Subject: [PATCH 12/18] Add missing sizing factor (alpha) to boiler plant
---
.../BaseClasses/HVACSide/BaseClasses/BoilerPlant.mo | 5 +++--
.../MultizoneOfficeComplexAir/BaseClasses/HVACSide/HVAC.mo | 3 ++-
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/BoilerPlant.mo b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/BoilerPlant.mo
index 79248b95d..8abd28a18 100644
--- a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/BoilerPlant.mo
+++ b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/BoilerPlant.mo
@@ -3,14 +3,15 @@ model BoilerPlant "Boiler hot water plant"
replaceable package MediumHW =
Modelica.Media.Interfaces.PartialMedium
"Medium in the hot water side";
+ parameter Real alpha = 1 "Sizing factor for overall system design capacity and mass flow rate";
parameter Integer n=2
"Number of boilers";
parameter Integer m=2
"Number of pumps";
parameter Real thrhol[:]= {0.95}
"Threshold for boiler staging";
- parameter Real Cap[:] = {4191000/n for i in linspace(1, n, n)} "Rated Plant Capacity";
- parameter Modelica.Units.SI.MassFlowRate mHW_flow_nominal[:]={4191000/n/20
+ parameter Real Cap[:] = {4191000*alpha/n for i in linspace(1, n, n)} "Rated Plant Capacity";
+ parameter Modelica.Units.SI.MassFlowRate mHW_flow_nominal[:]={4191000*alpha/n/20
/4200 for i in linspace(
1,
n,
diff --git a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/HVAC.mo b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/HVAC.mo
index bc51231e0..e13bcdd86 100644
--- a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/HVAC.mo
+++ b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/HVAC.mo
@@ -69,7 +69,8 @@ model HVAC "Full HVAC system that contains the air side and water side systems"
MultizoneOfficeComplexAir.BaseClasses.HVACSide.BaseClasses.BoilerPlant
boiWatPla(secPumCon(conPI(k=0.001)), redeclare package MediumHW =
- MediumHeaWat) "Boiler hot water plant"
+ MediumHeaWat,
+ alpha=alpha) "Boiler hot water plant"
annotation (Placement(transformation(extent={{116,-110},{136,-90}})));
MultizoneOfficeComplexAir.BaseClasses.HVACSide.BaseClasses.Component.WaterSide.Network.PipeNetwork
From cdba01ff38baa7fba50e68dcff3f2c120587e4ff Mon Sep 17 00:00:00 2001
From: Guowen Li
Date: Thu, 8 Aug 2024 15:24:45 -0700
Subject: [PATCH 13/18] Update revision history
---
.../BaseClasses/HVACSide/BaseClasses/BoilerPlant.mo | 2 ++
.../BaseClasses/HVACSide/BaseClasses/ChillerPlant.mo | 2 ++
.../BaseClasses/HVACSide/HVAC.mo | 2 ++
.../BaseClasses/LoadSide/LoadWrapper.mo | 11 +++++++----
.../MultizoneOfficeComplexAir/TestCases/TestCase.mo | 8 +++++---
5 files changed, 18 insertions(+), 7 deletions(-)
diff --git a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/BoilerPlant.mo b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/BoilerPlant.mo
index 8abd28a18..026b5b3bf 100644
--- a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/BoilerPlant.mo
+++ b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/BoilerPlant.mo
@@ -206,6 +206,8 @@ MultizoneOfficeComplexAir.BaseClasses.HVACSide.BaseClasses.Component.WaterSide.B
MultizoneOfficeComplexAir.BaseClasses.HVACSide.BaseClasses.Component.WaterSide.Control.PlantStageN for a description of the boiler stage control.
", revisions = "
diff --git a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/ChillerPlant.mo b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/ChillerPlant.mo
index 11a4c8f88..242afff00 100644
--- a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/ChillerPlant.mo
+++ b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/ChillerPlant.mo
@@ -428,6 +428,8 @@ MultizoneOfficeComplexAir.BaseClasses.HVACSide.BaseClasses.Component.WaterSide.C
MultizoneOfficeComplexAir.BaseClasses.HVACSide.BaseClasses.Component.FlowMover.Pump.Control.SecPumCon for a description of the chilled water secondary pump control.
", revisions = "
diff --git a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/HVAC.mo b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/HVAC.mo
index e13bcdd86..cddbf5dc0 100644
--- a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/HVAC.mo
+++ b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/HVAC.mo
@@ -350,6 +350,8 @@ See the model The water side system controls include the chiller plant staging control, chilled water supply temperature control, secondary chilled water pump staging control, secondary chilled water loop static pressure control, cooling tower supply water temperature control, minimum condenser supply water temperature control, boiler staging control, boiler water temperature control, and boiler hot water loop static pressure control.
", revisions = "
+- August 8, 2024, by Guowen Li, Xing Lu, Yan Chen:
+Added CO2 and air infiltration features; Adjusted system equipment sizing; Reduced nonlinear system warnings.
- August 17, 2023, by Xing Lu, Sen Huang, Lingzhe Wang, Yan Chen:
First implementation.
diff --git a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/LoadSide/LoadWrapper.mo b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/LoadSide/LoadWrapper.mo
index 6250c02b3..81088f2d7 100644
--- a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/LoadSide/LoadWrapper.mo
+++ b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/LoadSide/LoadWrapper.mo
@@ -170,9 +170,12 @@ equation
Documentation(info="
This is an EnergyPlus (V9.6) wrapper model that calculates the building’s thermal loads with the boundary conditions. The inputs are the zone air temperatures from Modelica that is responsible for the airflow calculation (e.g., building infiltration) and HVAC system and controls.
See the model MultizoneOfficeComplexAir.BaseClasses.LoadSide.BaseClasses.WholeBuildingEnergyPlus for the EnergyPlus model.
-", revisions = "
+", revisions="
-- August 17, 2023, by Xing Lu, Sen Huang, Lingzhe Wang, Yan Chen:
-
First implementation.
-
"));
+August 8, 2024, by Guowen Li, Xing Lu, Yan Chen:
+Added weather bus.
+August 17, 2023, by Xing Lu, Sen Huang, Lingzhe Wang, Yan Chen:
+First implementation.
+
+"));
end LoadWrapper;
diff --git a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/TestCases/TestCase.mo b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/TestCases/TestCase.mo
index b35bc7715..c9f7f7ea9 100644
--- a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/TestCases/TestCase.mo
+++ b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/TestCases/TestCase.mo
@@ -66,10 +66,12 @@ equation
See the model MultizoneOfficeComplexAir.BaseClasses.HVACSide.HVAC for a description of the HVAC system, and see the model MultizoneOfficeComplexAir.BaseClasses.LoadSide.LoadWrapper for a description of the building thermal load calculated by EnergyPlus.
Spawn Version
Please use version spawn-0.3.0-8d93151657 for BOPTEST environment; and use version spawn-0.3.0-0fa49be497 for running testcases with Modlelica Buildings library.
-", revisions = "
+", revisions="
-- August 17, 2023, by Xing Lu, Sen Huang, Lingzhe Wang, Yan Chen:
-
First implementation.
+ - August 8, 2024, by Guowen Li, Xing Lu, Yan Chen:
+Added CO2 and air infiltration features; Adjusted system equipment sizing; Reduced nonlinear system warnings.
+- August 17, 2023, by Xing Lu, Sen Huang, Lingzhe Wang, Yan Chen:
+First implementation.
"),
__Dymola_Commands(file="Resources/script/Testcase.mos"
From 8a262df50316625d9101876b94b11f477d47c26c Mon Sep 17 00:00:00 2001
From: Guowen Li
Date: Thu, 8 Aug 2024 15:27:26 -0700
Subject: [PATCH 14/18] Set min. position of reheat coil valve to avoid
nonlinear system simulation failure
---
.../BaseClasses/HVACSide/BaseClasses/AirsideFloor.mo | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/AirsideFloor.mo b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/AirsideFloor.mo
index 8e484c211..a87aae6a3 100644
--- a/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/AirsideFloor.mo
+++ b/testcases/multizone_office_complex_air/models/MultizoneOfficeComplexAir/BaseClasses/HVACSide/BaseClasses/AirsideFloor.mo
@@ -359,7 +359,7 @@ model AirsideFloor "Thermal zones and corresponding air side HVAC systems"
zonVAVCon[5](
each MinFlowRateSetPoi=0.3,
each HeatingFlowRateSetPoi=0.5,
- heaCon(Ti=60, yMin=0.),
+ heaCon(Ti=60, yMin=0.005),
cooCon(k=11, Ti=60))
"Zone terminal VAV controller (airflow rate, reheat valve)l "
annotation (Placement(transformation(extent={{-14,118},{6,138}})));
@@ -855,6 +855,8 @@ MultizoneOfficeComplexAir.BaseClasses.HVACSide.BaseClasses.Component.AirSide.Zon
MultizoneOfficeComplexAir.BaseClasses.HVACSide.BaseClasses.Component.AirSide.ZoneTerminal.Controls.ZonCon for a description of the zone terminal VAV controller.