Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adjusted system equipment sizing and Resolved nonlinear system warnings. #7

Open
wants to merge 19 commits into
base: issue3_nonlinearSystem_simulationFailure
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
d4aede1
Re-size AHU fan nominal pressure raise
GuowenLi-PhD Aug 6, 2024
63d58ae
Set min. cooling valve position as 0.01 to avoid simulation failure
GuowenLi-PhD Aug 6, 2024
2a631a9
Set junction pressure drop identical to each floor
GuowenLi-PhD Aug 6, 2024
9de1001
Merge pull request #1 from terrancelu92/issue3_nonlinearSystem_simula…
GuowenLi-PhD Aug 6, 2024
6282732
Resize boiler capacity based on peak heating load from E+
GuowenLi-PhD Aug 6, 2024
3b11d6a
Resize chiller capacity based on peak cooling load from E+
GuowenLi-PhD Aug 7, 2024
8baf67c
Resize cooling tower water flow and power using design conditions
GuowenLi-PhD Aug 7, 2024
e370209
Set initial economizer damper positions as open to avoid initializati…
GuowenLi-PhD Aug 7, 2024
cdc5906
Correct typo for cooling tower size calculation
GuowenLi-PhD Aug 7, 2024
a29ca43
Add icon for secondary pump model
GuowenLi-PhD Aug 7, 2024
c763ddb
Add sizing factor (alpha) for overall system design capacity
GuowenLi-PhD Aug 8, 2024
1008f3b
Top-level sizing factor
GuowenLi-PhD Aug 8, 2024
19d0765
Add missing sizing factor (alpha) to boiler plant
GuowenLi-PhD Aug 8, 2024
cdba01f
Update revision history
GuowenLi-PhD Aug 8, 2024
8a262df
Set min. position of reheat coil valve to avoid nonlinear system simu…
GuowenLi-PhD Aug 8, 2024
737a1ae
Change AHU On signal to be Occupied signal to avoid confusion
GuowenLi-PhD Aug 9, 2024
6e9ac9b
Separate fan On signals by occupied (always on) and unoccupied (condi…
GuowenLi-PhD Aug 9, 2024
c922051
Bound the pump power output to non-negative values
GuowenLi-PhD Aug 9, 2024
7e201dc
Correct the design HW flow rates based on the reheat-valve-side calcu…
GuowenLi-PhD Aug 14, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -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";
Expand Down Expand Up @@ -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,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,:]={{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
Expand Down Expand Up @@ -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";
Expand Down Expand Up @@ -130,7 +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";

//package MediumAir = Buildings.Media.Air "Medium model for air";
package MediumAir = Buildings.Media.Air(extraPropertiesNames={"CO2"}) "Buildings library air media package with CO2";
Expand Down Expand Up @@ -181,12 +181,15 @@ model Airside "Air side system"
MixingBox_Ti=600,
Fan_k=0.001,
Fan_Ti=600,
booleanExpression(y=if floor1.duaFanAirHanUni.TOut < 253.15 then floor1.duaFanAirHanUni.On else true)),
booleanExpression(y=if floor1.duaFanAirHanUni.TOut < 253.15 then floor1.duaFanAirHanUni.onFanOcc
else true)),
fivZonVAV(vol(each V=200000)),
redeclare package MediumAir = MediumAir,
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={1*0.206*1.2, 1*0.137*1.2, 1*0.206*1.2, 1*0.137*1.2},
C_start=fill(400e-6*Modelica.Media.IdealGases.Common.SingleGasesData.CO2.MM
/Modelica.Media.IdealGases.Common.SingleGasesData.Air.MM, MediumAir.nC),

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,
Expand Down Expand Up @@ -254,15 +257,17 @@ model Airside "Air side system"
MixingBox_Ti=600,
Fan_k=0.001,
Fan_Ti=600,
booleanExpression(y=if floor2.duaFanAirHanUni.TOut < 253.15 then floor2.duaFanAirHanUni.On
booleanExpression(y=if floor2.duaFanAirHanUni.TOut < 253.15 then floor2.duaFanAirHanUni.onFanOcc
else true)),
fivZonVAV(vol(each V=200000)),
redeclare package MediumAir = MediumAir,
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,
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,
PreDroMixingBoxAir=PreDroMixingBoxAir,
PreDroCooWat=PreDroCooWat/2,
TemEcoHig=TemEcoHig,
TemEcoLow=TemEcoLow,
Expand All @@ -273,24 +278,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],
Expand All @@ -301,20 +306,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)
Expand All @@ -328,16 +333,18 @@ model Airside "Air side system"
MixingBox_Ti=600,
Fan_k=0.001,
Fan_Ti=600,
booleanExpression(y=if floor3.duaFanAirHanUni.TOut < 253.15 then floor3.duaFanAirHanUni.On
booleanExpression(y=if floor3.duaFanAirHanUni.TOut < 253.15 then floor3.duaFanAirHanUni.onFanOcc
else true)),
fivZonVAV(vol(each V=200000)),
redeclare package MediumAir = MediumAir,
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={1*0.206*1.2, 1*0.137*1.2, 1*0.206*1.2, 1*0.137*1.2},
C_start=fill(400e-6*Modelica.Media.IdealGases.Common.SingleGasesData.CO2.MM
/Modelica.Media.IdealGases.Common.SingleGasesData.Air.MM, MediumAir.nC),

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,
Expand Down Expand Up @@ -391,7 +398,7 @@ model Airside "Air side system"
PreDroWat5=PreDroWat5,
eps5=eps5,
redeclare package MediumCooWat = MediumCHW,
mWatFloRat=mWatFloRatTop) "Top Floor"
mWatFloRat=mWatFloRatTop) "Top Floor"
annotation (Placement(transformation(extent={{114,20},{164,62}})));

MultizoneOfficeComplexAir.BaseClasses.HVACSide.BaseClasses.Component.AirSide.AirHandlingUnit.BaseClasses.ZoneSetpoint
Expand Down Expand Up @@ -432,10 +439,9 @@ equation
color={0,0,127}));
connect(TSupAirSet[1].y, floor1.disTSet) annotation (Line(points={{-39,70},{
108,70},{108,48},{112.438,48}}, color={0,0,127}));
connect(reaToBooOcc.y, floor1.OnFan) annotation (Line(points={{-39,100},{-36,
100},{-36,86},{106,86},{106,27},{112.438,27}},
color={255,0,255}));
connect(floor1.OnZon, onZon[1].y) annotation (Line(points={{112.438,21.75},{
connect(reaToBooOcc.y, floor1.onFanOcc) annotation (Line(points={{-39,100},{
-36,100},{-36,86},{106,86},{106,27},{112.438,27}}, color={255,0,255}));
connect(floor1.onZon, onZon[1].y) annotation (Line(points={{112.438,21.75},{
104,21.75},{104,76},{61,76}}, color={255,0,255}));

for j in 1:5 loop
Expand All @@ -459,8 +465,8 @@ equation
connect(floor2.port_Fre_Air, sou[2].ports[2]);
connect(dpStaSet[2].y, floor2.pSet);
connect(TSupAirSet[2].y, floor2.disTSet);
connect(reaToBooOcc.y, floor2.OnFan);
connect(floor2.OnZon, onZon[2].y);
connect(reaToBooOcc.y, floor2.onFanOcc);
connect(floor2.onZon, onZon[2].y);

for j in 1:5 loop
connect(loaMulMidFlo[j].y, floor2.Q_flow[j]) annotation (Line(points={{-81.4,
Expand All @@ -475,8 +481,8 @@ equation
connect(floor3.port_Fre_Air, sou[3].ports[2]);
connect(dpStaSet[3].y, floor3.pSet);
connect(TSupAirSet[3].y, floor3.disTSet);
connect(reaToBooOcc.y, floor3.OnFan);
connect(floor3.OnZon, onZon[3].y);
connect(reaToBooOcc.y, floor3.onFanOcc);
connect(floor3.onZon, onZon[3].y);

for j in 1:5 loop
connect(loa[(3 - 1)*5 + j], floor3.Q_flow[j]);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -268,39 +268,41 @@ model AirsideFloor "Thermal zones and corresponding air side HVAC systems"
PreDroWat5=PreDroWat5,
eps5=eps5)
annotation (Placement(transformation(extent={{30,-18},{66,-46}})));
Modelica.Fluid.Interfaces.FluidPort_b port_b_CooWat(redeclare package Medium =
MediumCooWat)
Modelica.Fluid.Interfaces.FluidPort_b port_b_CooWat(redeclare package Medium
= MediumCooWat)
"Fluid connector b (positive design flow direction is from port_a to port_b)"
annotation (Placement(transformation(extent={{-70,-110},{-50,-90}}),
iconTransformation(extent={{-70,-110},{-50,-90}})));
Modelica.Fluid.Interfaces.FluidPort_a port_a_CooWat(redeclare package Medium =
MediumCooWat)
Modelica.Fluid.Interfaces.FluidPort_a port_a_CooWat(redeclare package Medium
= MediumCooWat)
"Fluid connector a (positive design flow direction is from port_a to port_b)"
annotation (Placement(transformation(extent={{-40,-110},{-20,-90}}),
iconTransformation(extent={{-40,-110},{-20,-90}})));
Modelica.Fluid.Interfaces.FluidPort_a port_a_HeaWat(redeclare package Medium =
MediumHeaWat)
Modelica.Fluid.Interfaces.FluidPort_a port_a_HeaWat(redeclare package Medium
= MediumHeaWat)
"Second port, typically outlet"
annotation (Placement(transformation(extent={{30,-110},{50,-90}}),
iconTransformation(extent={{30,-110},{50,-90}})));
Modelica.Fluid.Interfaces.FluidPort_b port_b_HeaWat(redeclare package Medium =
MediumHeaWat)
Modelica.Fluid.Interfaces.FluidPort_b port_b_HeaWat(redeclare package Medium
= MediumHeaWat)
"Second port, typically outlet"
annotation (Placement(transformation(extent={{60,-110},{80,-90}}),
iconTransformation(extent={{60,-110},{80,-90}})));
Modelica.Fluid.Interfaces.FluidPort_b port_Exh_Air(redeclare package Medium = MediumAir)
Modelica.Fluid.Interfaces.FluidPort_b port_Exh_Air(redeclare package Medium
= MediumAir)
"Fluid connector b (positive design flow direction is from port_a to port_b)"
annotation (Placement(transformation(extent={{-174,-50},{-154,-30}})));
Modelica.Fluid.Interfaces.FluidPort_a port_Fre_Air(redeclare package Medium = MediumAir)
Modelica.Fluid.Interfaces.FluidPort_a port_Fre_Air(redeclare package Medium
= MediumAir)
"Fluid connector b (positive design flow direction is from port_a to port_b)"
annotation (Placement(transformation(extent={{-170,30},{-150,50}})));
Modelica.Blocks.Routing.BooleanReplicator booleanReplicator(nout=5)
annotation (Placement(transformation(extent={{-140,-96},{-126,-84}})));
Modelica.Blocks.Interfaces.BooleanInput OnFan
"Connector of Boolean input signal"
annotation (Placement(transformation(extent={{-180,-70},{-160,-50}}),
iconTransformation(extent={{-180,-70},{-160,-50}})));
Modelica.Blocks.Interfaces.BooleanInput OnZon
Modelica.Blocks.Interfaces.BooleanInput onFanOcc
"Fan On signal during occupied period" annotation (Placement(transformation(
extent={{-180,-70},{-160,-50}}), iconTransformation(extent={{-180,-70},
{-160,-50}})));
Modelica.Blocks.Interfaces.BooleanInput onZon
"Connector of Boolean input signal"
annotation (Placement(transformation(extent={{-180,-100},{-160,-80}}),
iconTransformation(extent={{-180,-100},{-160,-80}})));
Expand Down Expand Up @@ -359,7 +361,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}})));
Expand Down Expand Up @@ -422,7 +424,7 @@ equation
points={{-78,-7.27273},{-114,-7.27273},{-114,40},{-160,40}},
color={0,140,72},
thickness=0.5));
connect(booleanReplicator.y, fivZonVAV.On) annotation (Line(
connect(booleanReplicator.y,fivZonVAV.on) annotation (Line(
points={{-125.3,-90},{4,-90},{4,-31.7455},{28.8,-31.7455}},
color={255,0,255}));
connect(fivZonVAV.p, duaFanAirHanUni.pMea) annotation (Line(points={{55.2,
Expand All @@ -434,10 +436,9 @@ equation
4.54545}},
color={0,0,127}));

connect(OnFan, duaFanAirHanUni.On) annotation (Line(points={{-170,-60},{-108,
-60},{-108,11.6364},{-79.4,11.6364}},
color={255,0,255}));
connect(booleanReplicator.u, OnZon) annotation (Line(
connect(onFanOcc, duaFanAirHanUni.onFanOcc) annotation (Line(points={{-170,
-60},{-108,-60},{-108,11.6364},{-79.4,11.6364}}, color={255,0,255}));
connect(booleanReplicator.u,onZon) annotation (Line(
points={{-141.4,-90},{-170,-90}},
color={255,0,255}));
connect(fivZonVAV.Q_flow, Q_flow) annotation (Line(
Expand All @@ -450,8 +451,8 @@ equation
connect(port_a_CooWat, port_a_CooWat) annotation (Line(points={{-30,-100},
{-30,-100}}, color={0,127,255}));

connect(OnFan, reaAhu.occ_in) annotation (Line(points={{-170,-60},{-112,-60},
{-112,62},{26,62},{26,62.8}}, color={255,0,255}));
connect(onFanOcc, reaAhu.occ_in) annotation (Line(points={{-170,-60},{-112,-60},
{-112,62},{26,62},{26,62.8}}, color={255,0,255}));
connect(duaFanAirHanUni.TSupAir, reaAhu.TSup_in) annotation (Line(
points={{-48.6,-4.90909},{-34,-4.90909},{-34,56.1538},{26,56.1538}},
color={0,0,127},
Expand Down Expand Up @@ -855,6 +856,8 @@ MultizoneOfficeComplexAir.BaseClasses.HVACSide.BaseClasses.Component.AirSide.Zon
MultizoneOfficeComplexAir.BaseClasses.HVACSide.BaseClasses.Component.AirSide.ZoneTerminal.Controls.ZonCon</a> for a description of the zone terminal VAV controller. </p>
</html>", revisions = "<html>
<ul>
<li> August 8, 2024, by Guowen Li, Xing Lu, Yan Chen: </li>
<p> Added CO2 and air infiltration features; Adjusted system equipment sizing; Reduced nonlinear system warnings.</p>
<li> August 17, 2023, by Xing Lu, Sen Huang, Lingzhe Wang:
<p> First implementation.</p>
</ul>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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[:] = {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*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,
Expand Down Expand Up @@ -205,6 +206,8 @@ MultizoneOfficeComplexAir.BaseClasses.HVACSide.BaseClasses.Component.WaterSide.B
MultizoneOfficeComplexAir.BaseClasses.HVACSide.BaseClasses.Component.WaterSide.Control.PlantStageN</a> for a description of the boiler stage control. </p>
</html>", revisions = "<html>
<ul>
<li>August 8, 2024, by Guowen Li, Xing Lu, Yan Chen: </li>
<p>Adjusted system equipment sizing; Reduced nonlinear system warnings.</p>
<li> August 17, 2023, by Xing Lu, Sen Huang, Lingzhe Wang:
<p> First implementation.</p>
</ul>
Expand Down
Loading