Skip to content

Commit 5efa17f

Browse files
Merge branch 'master' of github.com:lbl-srg/modelica-buildings into issue4283_multiPipeHp [ci skip]
2 parents b3334aa + ac70150 commit 5efa17f

155 files changed

Lines changed: 6101 additions & 713 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.travis.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,8 @@ env:
111111

112112
before_install:
113113
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
114+
- nvm install 24.5 # Installs the specific version
115+
- nvm use 24.5
114116
- if [[ "$TEST_ARG" == *test-dymola* || "$TEST_ARG" == *test-templates-dymola* || "$TEST_ARG" == *test-bestest* || "$TEST_ARG" == *spawn-portability* ]]; then
115117
docker pull "$DOCKER_REPONAME"/${DYMOLA_VERSION};
116118
cp Buildings/Resources/Scripts/travis/dymola/dymola $HOME/bin/;

Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/Controller.mo

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -856,7 +856,6 @@ block Controller
856856
final maxHeaSpe=maxHeaSpe,
857857
final maxCooSpe=maxCooSpe,
858858
final minSpe=minSpe,
859-
final looHys=looHys,
860859
final temPoiOne=temPoiOne,
861860
final temPoiTwo=temPoiTwo,
862861
final temPoiThr=temPoiThr,

Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/Supply.mo

Lines changed: 87 additions & 410 deletions
Large diffs are not rendered by default.

Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/SupplyFan.mo

Lines changed: 404 additions & 0 deletions
Large diffs are not rendered by default.

Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/SupplyTemperature.mo

Lines changed: 378 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
within Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints.Validation;
2+
model SupplyFan "Validation model for supply fan speed"
3+
4+
Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints.SupplyFan
5+
setPoiVAV(
6+
final maxHeaSpe=0.7,
7+
final maxCooSpe=1,
8+
final minSpe=0.3,
9+
final TSupDew_max=297.15)
10+
"Block that computes the setpoints for temperature and fan speed"
11+
annotation (Placement(transformation(extent={{60,30},{80,50}})));
12+
13+
Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints.SupplyFan
14+
setPoiVAV1(
15+
final maxHeaSpe=0.7,
16+
final maxCooSpe=1,
17+
final minSpe=0.3,
18+
final TSupDew_max=297.15)
19+
"Block that computes the setpoints for temperature and fan speed"
20+
annotation (Placement(transformation(extent={{60,-10},{80,10}})));
21+
22+
Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints.SupplyFan
23+
setPoiVAV2(
24+
final maxHeaSpe=0.7,
25+
final maxCooSpe=1,
26+
final minSpe=0.3,
27+
final TSupDew_max=297.15)
28+
"Block that computes the setpoints for temperature and fan speed"
29+
annotation (Placement(transformation(extent={{60,-50},{80,-30}})));
30+
31+
Buildings.Controls.OBC.CDL.Reals.Sources.Constant TZon(
32+
final k=273.15 + 28)
33+
"Zone air temperature"
34+
annotation (Placement(transformation(extent={{-80,-10},{-60,10}})));
35+
Buildings.Controls.OBC.CDL.Reals.Sources.Constant TOut(
36+
final k=273.15 + 22)
37+
"Outdoor temperature"
38+
annotation (Placement(transformation(extent={{-80,-60},{-60,-40}})));
39+
Buildings.Controls.OBC.CDL.Reals.Sources.Ramp uHea(
40+
final duration=900,
41+
final height=-1,
42+
final offset=1) "Heating control signal"
43+
annotation (Placement(transformation(extent={{-80,70},{-60,90}})));
44+
Buildings.Controls.OBC.CDL.Reals.Sources.Ramp uCoo(
45+
final duration=900,
46+
final startTime=2700)
47+
"Cooling control signal"
48+
annotation (Placement(transformation(extent={{-80,30},{-60,50}})));
49+
Buildings.Controls.OBC.CDL.Reals.Sources.Constant TZon1(
50+
final k=273.15 + 23)
51+
"Zone air temperature"
52+
annotation (Placement(transformation(extent={{-80,-100},{-60,-80}})));
53+
54+
equation
55+
connect(TZon.y, setPoiVAV.TZon) annotation (Line(points={{-58,0},{-29.5,0},{-29.5,
56+
48},{58,48}}, color={0,0,127}, pattern=LinePattern.Dash));
57+
connect(TOut.y, setPoiVAV.TOut) annotation (Line(points={{-58,-50},{-20,-50},{
58+
-20,43},{58,43}}, color={0,0,127}));
59+
connect(uHea.y, setPoiVAV.uHea) annotation (Line(points={{-58,80},{20,80},{20,
60+
37},{58,37}}, color={0,0,127}));
61+
connect(uCoo.y, setPoiVAV.uCoo) annotation (Line(points={{-58,40},{10,40},{10,
62+
32},{58,32}}, color={0,0,127}));
63+
connect(TOut.y, setPoiVAV1.TOut) annotation (Line(points={{-58,-50},{-20,-50},
64+
{-20,3},{58,3}}, color={0,0,127}));
65+
connect(uHea.y, setPoiVAV1.uHea) annotation (Line(points={{-58,80},{20,80},{20,
66+
-3},{58,-3}}, color={0,0,127}));
67+
connect(uCoo.y, setPoiVAV1.uCoo) annotation (Line(points={{-58,40},{10,40},{10,
68+
-8},{58,-8}}, color={0,0,127}));
69+
connect(TOut.y, setPoiVAV2.TOut)
70+
annotation (Line(points={{-58,-50},{-20,-50},{-20,-37},{58,-37}}, color={0,0,127}));
71+
connect(uHea.y, setPoiVAV2.uHea) annotation (Line(points={{-58,80},{20,80},{20,
72+
-43},{58,-43}}, color={0,0,127}));
73+
connect(uCoo.y, setPoiVAV2.uCoo) annotation (Line(points={{-58,40},{10,40},{10,
74+
-48},{58,-48}}, color={0,0,127}));
75+
connect(TOut.y, setPoiVAV1.TZon) annotation (Line(points={{-58,-50},{-10,-50},
76+
{-10,8},{58,8}}, color={0,0,127}, pattern=LinePattern.Dash));
77+
connect(TZon1.y, setPoiVAV2.TZon)
78+
annotation (Line(points={{-58,-90},{0,-90},{0,-32},{58,-32}}, color={0,0,127},
79+
pattern=LinePattern.Dash));
80+
81+
annotation (
82+
experiment(StopTime=3600.0, Tolerance=1e-6),
83+
__Dymola_Commands(file="modelica://Buildings/Resources/Scripts/Dymola/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/Validation/SupplyFan.mos"
84+
"Simulate and plot"),
85+
Documentation(info="<html>
86+
<p>
87+
This example validates
88+
<a href=\"modelica://Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints.SupplyFan\">
89+
Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints.SupplyFan</a>
90+
for different control signals.
91+
Each controller is configured identical, but the input signal for <code>TZon</code> differs
92+
in order to validate that the fan speed is increased correctly.
93+
</p>
94+
</html>", revisions="<html>
95+
<ul>
96+
<li>
97+
June 30, 2025, by Jianjun Hu:<br/>
98+
First implementation.
99+
</li>
100+
</ul>
101+
</html>"),
102+
Icon(coordinateSystem(extent={{-100,-120},{100,100}}),
103+
graphics={
104+
Ellipse(lineColor = {75,138,73},
105+
fillColor={255,255,255},
106+
fillPattern = FillPattern.Solid,
107+
extent = {{-100,-100},{100,100}}),
108+
Polygon(lineColor = {0,0,255},
109+
fillColor = {75,138,73},
110+
pattern = LinePattern.None,
111+
fillPattern = FillPattern.Solid,
112+
points = {{-36,60},{64,0},{-36,-60},{-36,60}})}),
113+
Diagram(coordinateSystem(extent={{-100,-120},{100,100}})));
114+
end SupplyFan;
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
within Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints.Validation;
2+
model SupplyTemperature "Validation model for supply temperature"
3+
4+
Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints.SupplyTemperature temSet(
5+
final TSup_max=303.15,
6+
final TSup_min=289.15)
7+
"Block that computes the setpoints for temperature"
8+
annotation (Placement(transformation(extent={{40,-20},{60,0}})));
9+
10+
Buildings.Controls.OBC.CDL.Reals.Sources.Constant TZonCooSet(
11+
final k=273.15 + 24)
12+
"Zone cooling set point"
13+
annotation (Placement(transformation(extent={{-60,50},{-40,70}})));
14+
Buildings.Controls.OBC.CDL.Reals.Sources.Constant TZonHeaSet(
15+
final k=273.15 + 20)
16+
"Zone heating set point"
17+
annotation (Placement(transformation(extent={{-80,10},{-60,30}})));
18+
Buildings.Controls.OBC.CDL.Reals.Sources.Ramp uHea(
19+
final duration=900,
20+
final height=-1,
21+
final offset=1) "Heating control signal"
22+
annotation (Placement(transformation(extent={{-60,-40},{-40,-20}})));
23+
Buildings.Controls.OBC.CDL.Reals.Sources.Ramp uCoo(
24+
final duration=900,
25+
final startTime=2700)
26+
"Cooling control signal"
27+
annotation (Placement(transformation(extent={{-80,-90},{-60,-70}})));
28+
29+
equation
30+
connect(TZonCooSet.y, temSet.TCooSet) annotation (Line(points={{-38,60},{20,60},
31+
{20,-2},{38,-2}},color={0,0,127}));
32+
connect(TZonHeaSet.y, temSet.THeaSet) annotation (Line(points={{-58,20},{10,20},
33+
{10,-7},{38,-7}}, color={0,0,127}));
34+
connect(uHea.y, temSet.uHea) annotation (Line(points={{-38,-30},{10,-30},{10,-13},
35+
{38,-13}}, color={0,0,127}));
36+
connect(uCoo.y, temSet.uCoo) annotation (Line(points={{-58,-80},{20,-80},{20,-18},
37+
{38,-18}}, color={0,0,127}));
38+
annotation (
39+
experiment(StopTime=3600.0, Tolerance=1e-6),
40+
__Dymola_Commands(file="modelica://Buildings/Resources/Scripts/Dymola/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/Validation/SupplyTemperature.mos"
41+
"Simulate and plot"),
42+
Documentation(info="<html>
43+
<p>
44+
This example validates
45+
<a href=\"modelica://Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints.SupplyTemperature\">
46+
Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints.SupplyTemperature</a>
47+
for a change in the loop inputs and the effects on the supply temperature setpoints.
48+
</p>
49+
</html>", revisions="<html>
50+
<ul>
51+
<li>
52+
June 30, 2025, by Jianjun Hu:<br/>
53+
First implementation.
54+
</li>
55+
</ul>
56+
</html>"),
57+
Icon(coordinateSystem(extent={{-100,-120},{100,100}}),
58+
graphics={
59+
Ellipse(lineColor = {75,138,73},
60+
fillColor={255,255,255},
61+
fillPattern = FillPattern.Solid,
62+
extent = {{-100,-100},{100,100}}),
63+
Polygon(lineColor = {0,0,255},
64+
fillColor = {75,138,73},
65+
pattern = LinePattern.None,
66+
fillPattern = FillPattern.Solid,
67+
points = {{-36,60},{64,0},{-36,-60},{-36,60}})}),
68+
Diagram(coordinateSystem(extent={{-100,-120},{100,100}})));
69+
end SupplyTemperature;

Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/Validation/Supply_T.mo

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,17 +45,17 @@ model Supply_T
4545

4646
equation
4747
connect(uCoo.y, setPoiVAV.uCoo) annotation (Line(points={{-58,-20},{-12,-20},{
48-
-12,-12},{58,-12}}, color={0,0,127}));
48+
-12,-12},{58,-12}}, color={0,0,127}));
4949
connect(TZon.y, setPoiVAV.TZon) annotation (Line(points={{-18,50},{34,50},{34,
5050
-3.6},{58,-3.6}}, color={0,0,127}));
5151
connect(TOut.y, setPoiVAV.TOut) annotation (Line(points={{-58,30},{28,30},{28,
52-
-6},{58,-6}}, color={0,0,127}));
52+
-6},{58,-6}}, color={0,0,127}));
5353
connect(uHea.y, setPoiVAV.uHea) annotation (Line(points={{-18,10},{22,10},{22,
54-
-9},{58,-9}}, color={0,0,127}));
54+
-9},{58,-9}}, color={0,0,127}));
5555
connect(dT.u1, TZon.y) annotation (Line(points={{58,-44},{34,-44},{34,50},{-18,
56-
50}}, color={0,0,127}));
56+
50}}, color={0,0,127}));
5757
connect(dT.u2, TOut.y) annotation (Line(points={{58,-56},{28,-56},{28,30},{-58,
58-
30}}, color={0,0,127}));
58+
30}}, color={0,0,127}));
5959
connect(opeMod.y, setPoiVAV.uOpeMod) annotation (Line(points={{-58,70},{40,70},
6060
{40,-1},{58,-1}}, color={255,127,0}));
6161
connect(TZonCooSet.y, setPoiVAV.TCooSet) annotation (Line(points={{-18,-40},{16,

Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/Validation/Supply_u.mo

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,9 @@ model Supply_u "Validation model for temperature and fan speed"
4747
final height=-1,
4848
final offset=1) "Heating control signal"
4949
annotation (Placement(transformation(extent={{-80,70},{-60,90}})));
50-
Buildings.Controls.OBC.CDL.Reals.Sources.Ramp uCoo(final duration=900,
51-
final startTime=2700)
50+
Buildings.Controls.OBC.CDL.Reals.Sources.Ramp uCoo(
51+
final duration=900,
52+
final startTime=2700)
5253
"Cooling control signal"
5354
annotation (Placement(transformation(extent={{-80,40},{-60,60}})));
5455
Buildings.Controls.OBC.CDL.Reals.Sources.Constant TZon1(
@@ -59,8 +60,8 @@ model Supply_u "Validation model for temperature and fan speed"
5960
final k=Buildings.Controls.OBC.ASHRAE.G36.Types.OperationModes.occupied)
6061
"AHU operation mode is occupied"
6162
annotation (Placement(transformation(extent={{0,70},{20,90}})));
62-
Buildings.Controls.OBC.CDL.Reals.Sources.Constant TZonHeaSet(final k=273.15
63-
+ 22)
63+
Buildings.Controls.OBC.CDL.Reals.Sources.Constant TZonHeaSet(
64+
final k=273.15 + 22)
6465
"Zone heating set point"
6566
annotation (Placement(transformation(extent={{-80,-110},{-60,-90}})));
6667
Buildings.Controls.OBC.CDL.Reals.Sources.Constant TZonCooSet(
@@ -70,8 +71,7 @@ model Supply_u "Validation model for temperature and fan speed"
7071

7172
equation
7273
connect(TZon.y, setPoiVAV.TZon) annotation (Line(points={{-58,20},{-39.5,20},{
73-
-39.5,56.4},{58,56.4}},
74-
color={0,0,127}, pattern=LinePattern.Dash));
74+
-39.5,56.4},{58,56.4}}, color={0,0,127}, pattern=LinePattern.Dash));
7575
connect(TOut.y, setPoiVAV.TOut) annotation (Line(points={{-58,-10},{-34,-10},{
7676
-34,54},{58,54}}, color={0,0,127}));
7777
connect(uHea.y, setPoiVAV.uHea) annotation (Line(points={{-58,80},{-12,80},{-12,
@@ -91,8 +91,7 @@ equation
9191
connect(uCoo.y, setPoiVAV2.uCoo) annotation (Line(points={{-58,50},{-16,50},{-16,
9292
-32},{58,-32}}, color={0,0,127}));
9393
connect(TOut.y, setPoiVAV1.TZon) annotation (Line(points={{-58,-10},{-30,-10},
94-
{-30,16.4},{58,16.4}},
95-
color={0,0,127}, pattern=LinePattern.Dash));
94+
{-30,16.4},{58,16.4}}, color={0,0,127}, pattern=LinePattern.Dash));
9695
connect(TZon1.y, setPoiVAV2.TZon)
9796
annotation (Line(points={{-58,-40},{-20,-40},{-20,-23.6},{58,-23.6}}, color={0,0,127},
9897
pattern=LinePattern.Dash));

Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/Validation/package.order

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,7 @@ ReliefDamper
77
ReliefFan
88
ReliefFanGroup
99
ReturnFan
10+
SupplyFan
11+
SupplyTemperature
1012
Supply_T
1113
Supply_u

0 commit comments

Comments
 (0)