Skip to content

Commit 3b6eb5c

Browse files
authored
Merged IBPSA, issue 1981 (#4139)
This corrects replacing non-replaceable medium bindings, and removes import statements
1 parent 1c9424d commit 3b6eb5c

21 files changed

Lines changed: 272 additions & 187 deletions

File tree

Buildings/BoundaryConditions/SolarIrradiation/BaseClasses/BrighteningCoefficient.mo

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
within Buildings.BoundaryConditions.SolarIrradiation.BaseClasses;
22
block BrighteningCoefficient "Circumsolar and horizon brightening coefficients"
33
extends Modelica.Blocks.Icons.Block;
4-
import H = Buildings.Utilities.Math.Functions.regStep;
54
Modelica.Blocks.Interfaces.RealInput zen(
65
quantity="Angle",
76
unit="rad",
@@ -42,43 +41,42 @@ protected
4241
Real b7;
4342
Real b8;
4443
equation
45-
b1 = H(
44+
b1 = Buildings.Utilities.Math.Functions.regStep(
4645
y1=1,
4746
y2=0,
4847
x=1.065 - skyCle,
4948
x_small=d);
50-
b2 = H(
49+
b2 = Buildings.Utilities.Math.Functions.regStep(
5150
y1=1,
5251
y2=0,
5352
x=1.23 - skyCle,
5453
x_small=d);
55-
b3 = H(
54+
b3 = Buildings.Utilities.Math.Functions.regStep(
5655
y1=1,
5756
y2=0,
5857
x=1.50 - skyCle,
5958
x_small=d);
60-
b4 = H(
59+
b4 = Buildings.Utilities.Math.Functions.regStep(
6160
y1=1,
6261
y2=0,
6362
x=1.95 - skyCle,
6463
x_small=d);
65-
b5 = H(
64+
b5 = Buildings.Utilities.Math.Functions.regStep(
6665
y1=1,
6766
y2=0,
6867
x=2.80 - skyCle,
6968
x_small=d);
70-
71-
b6 = H(
69+
b6 = Buildings.Utilities.Math.Functions.regStep(
7270
y1=1,
7371
y2=0,
7472
x=4.50 - skyCle,
7573
x_small=d);
76-
b7 = H(
74+
b7 = Buildings.Utilities.Math.Functions.regStep(
7775
y1=1,
7876
y2=0,
7977
x=6.20 - skyCle,
8078
x_small=d);
81-
b8 = H(
79+
b8 = Buildings.Utilities.Math.Functions.regStep(
8280
y1=1,
8381
y2=0,
8482
x=skyCle - 6.20,
@@ -119,6 +117,12 @@ This component computes the circumsolar and horizon brightening coefficients.
119117
</html>", revisions="<html>
120118
<ul>
121119
<li>
120+
February 7, 2025, by Jelger Jansen:<br/>
121+
Removed <code>import</code> statement.
122+
This is for
123+
<a href=\"https://github.com/ibpsa/modelica-ibpsa/issues/1961\">IBPSA, #1961</a>.
124+
</li>
125+
<li>
122126
April 27, 2018, by Michael Wetter:<br/>
123127
Corrected <code>displayUnit</code>.<br/>
124128
This is for

Buildings/Controls/SetPoints/OccupancySchedule.mo

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,6 @@ protected
9595
end getOutput;
9696

9797
encapsulated function switchInteger "Switch two Integer arguments"
98-
import Modelica;
99-
extends Modelica.Icons.Function;
10098
input Integer x1 "First argument";
10199
input Integer x2 "Second argument";
102100
output Integer y1 "Output = x2";
@@ -107,8 +105,6 @@ algorithm
107105
end switchInteger;
108106

109107
encapsulated function switchReal "Switch two Real arguments"
110-
import Modelica;
111-
extends Modelica.Icons.Function;
112108
input Real x1 "First argument";
113109
input Real x2 "Second argument";
114110
output Real y1 "Output = x2";
@@ -197,6 +193,12 @@ The period always starts at <i>t=0</i> seconds.
197193
</html>", revisions="<html>
198194
<ul>
199195
<li>
196+
February 7, 2025, by Jelger Jansen:<br/>
197+
Removed <code>import</code> statement.
198+
This is for
199+
<a href=\"https://github.com/ibpsa/modelica-ibpsa/issues/1961\">IBPSA, #1961</a>.
200+
</li>
201+
<li>
200202
March 25, 2021, by Michael Wetter:<br/>
201203
Integrated changes from Buildings for
202204
<a href=\"https://github.com/ibpsa/modelica-ibpsa/issues/1454\">IBPSA, #1454</a>.

Buildings/Electrical/PhaseSystems/ThreePhase_d.mo

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ package ThreePhase_d "AC system covering only resistive loads with three symmetr
55

66
redeclare function phaseVoltages "Return phase to neutral voltages"
77
extends Modelica.Icons.Function;
8-
input SI.Voltage V "system voltage";
9-
input SI.Angle phi = 0 "phase angle";
10-
output SI.Voltage v[n] "phase to neutral voltages";
8+
input Modelica.Units.SI.Voltage V "system voltage";
9+
input Modelica.Units.SI.Angle phi = 0 "phase angle";
10+
output Modelica.Units.SI.Voltage v[n] "phase to neutral voltages";
1111
algorithm
1212
v := {V}/sqrt(3);
1313
end phaseVoltages;
@@ -16,8 +16,8 @@ package ThreePhase_d "AC system covering only resistive loads with three symmetr
1616
redeclare function systemVoltage
1717
"Return system voltage as function of phase voltages"
1818
extends Modelica.Icons.Function;
19-
input SI.Voltage v[n];
20-
output SI.Voltage V;
19+
input Modelica.Units.SI.Voltage v[n];
20+
output Modelica.Units.SI.Voltage V;
2121
algorithm
2222
V := sqrt(3)*v[1];
2323
end systemVoltage;
@@ -33,5 +33,14 @@ package ThreePhase_d "AC system covering only resistive loads with three symmetr
3333
This package declares the functions that are used to implement
3434
the AC three-phase balanced and purely resistive models.
3535
</p>
36+
</html>", revisions="<html>
37+
<ul>
38+
<li>
39+
February 7, 2025, by Jelger Jansen:<br/>
40+
Added <code>Modelica.Units.</code> to relevant types.
41+
This is for
42+
<a href=\"https://github.com/ibpsa/modelica-ibpsa/issues/1961\">IBPSA, #1961</a>.
43+
</li>
44+
</ul>
3645
</html>"));
3746
end ThreePhase_d;

Buildings/Electrical/PhaseSystems/package.mo

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
within Buildings.Electrical;
22
package PhaseSystems "Phase systems used in power connectors"
33
extends Modelica.Icons.Package;
4-
import Modelica.Units.SI;
5-
import Modelica.Constants.pi;
6-
74

85
annotation (Icon(graphics={Line(
96
points={{-70,-52},{50,-52}},
@@ -64,6 +61,12 @@ Proc. of the 10th Modelica Conference, Lund, Sweden, March 2014.
6461
</html>", revisions="<html>
6562
<ul>
6663
<li>
64+
February 7, 2025, by Jelger Jansen:<br/>
65+
Removed <code>import</code> statements.
66+
This is for
67+
<a href=\"https://github.com/ibpsa/modelica-ibpsa/issues/1961\">IBPSA, #1961</a>.
68+
</li>
69+
<li>
6770
May 27, 2014, by Marco Bonvini:<br/>
6871
Created documentation.
6972
</li>

Buildings/Fluid/Actuators/Dampers/MixingBox.mo

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ model MixingBox "Outside air mixing box with interlocked air dampers"
66
Modelica.Media.Interfaces.PartialMedium "Medium in the component"
77
annotation (choices(
88
choice(redeclare package Medium = Buildings.Media.Air "Moist air")));
9-
import Modelica.Constants;
109

1110
parameter Boolean allowFlowReversal = true
1211
"= false to simplify equations, assuming, but not enforcing, no flow reversal"
@@ -83,22 +82,22 @@ model MixingBox "Outside air mixing box with interlocked air dampers"
8382
annotation(Dialog(tab="Damper coefficients"));
8483

8584
Modelica.Fluid.Interfaces.FluidPort_a port_Out(redeclare package Medium =
86-
Medium, m_flow(start=0, min=if allowFlowReversal then -Constants.inf else
85+
Medium, m_flow(start=0, min=if allowFlowReversal then -Modelica.Constants.inf else
8786
0))
8887
"Fluid connector a (positive design flow direction is from port_a to port_b)"
8988
annotation (Placement(transformation(extent={{-110,50},{-90,70}})));
9089
Modelica.Fluid.Interfaces.FluidPort_b port_Exh(redeclare package Medium =
91-
Medium, m_flow(start=0, max=if allowFlowReversal then +Constants.inf else
90+
Medium, m_flow(start=0, max=if allowFlowReversal then +Modelica.Constants.inf else
9291
0))
9392
"Fluid connector b (positive design flow direction is from port_a to port_b)"
9493
annotation (Placement(transformation(extent={{-90,-70},{-110,-50}})));
9594
Modelica.Fluid.Interfaces.FluidPort_a port_Ret(redeclare package Medium =
96-
Medium, m_flow(start=0, min=if allowFlowReversal then -Constants.inf else
95+
Medium, m_flow(start=0, min=if allowFlowReversal then -Modelica.Constants.inf else
9796
0))
9897
"Fluid connector a (positive design flow direction is from port_a to port_b)"
9998
annotation (Placement(transformation(extent={{110,-70},{90,-50}})));
10099
Modelica.Fluid.Interfaces.FluidPort_b port_Sup(redeclare package Medium =
101-
Medium, m_flow(start=0, max=if allowFlowReversal then +Constants.inf else
100+
Medium, m_flow(start=0, max=if allowFlowReversal then +Modelica.Constants.inf else
102101
0))
103102
"Fluid connector b (positive design flow direction is from port_a to port_b)"
104103
annotation (Placement(transformation(extent={{110,50},{90,70}})));
@@ -298,6 +297,12 @@ defaultComponentName="eco",
298297
Documentation(revisions="<html>
299298
<ul>
300299
<li>
300+
February 7, 2025, by Jelger Jansen:<br/>
301+
Removed <code>import</code> statement.
302+
This is for
303+
<a href=\"https://github.com/ibpsa/modelica-ibpsa/issues/1961\">IBPSA, #1961</a>.
304+
</li>
305+
<li>
301306
September 21, 2021, by Michael Wetter:<br/>
302307
Corrected typo in comments.<br/>
303308
This is for

Buildings/Fluid/BaseClasses/ActuatorFilter.mo

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
within Buildings.Fluid.BaseClasses;
22
block ActuatorFilter
33
"Filter used for actuators of valves, dampers and movers"
4-
import Modelica.Blocks.Types.Init;
54
extends Modelica.Blocks.Interfaces.SISO;
65

76
constant Integer n=2 "Order of filter";
@@ -17,7 +16,7 @@ block ActuatorFilter
1716
annotation (Dialog(group="Initialization"));
1817
parameter Real y_start=0.0
1918
"Initial value of output (remaining states are in steady state)"
20-
annotation(Dialog(enable=initType == Init.InitialOutput, group=
19+
annotation(Dialog(enable=initType == Modelica.Blocks.Types.Init.InitialOutput, group=
2120
"Initialization"));
2221

2322
parameter Real u_nominal = 1 "Magnitude of input";
@@ -37,11 +36,11 @@ protected
3736
Real s[n](start=x_start/u_nom) "Filter states";
3837

3938
initial equation
40-
if initType == Init.SteadyState then
39+
if initType == Modelica.Blocks.Types.Init.SteadyState then
4140
der(s) = zeros(n);
42-
elseif initType == Init.InitialState then
41+
elseif initType == Modelica.Blocks.Types.Init.InitialState then
4342
s = x_start/u_nom;
44-
elseif initType == Init.InitialOutput then
43+
elseif initType == Modelica.Blocks.Types.Init.InitialOutput then
4544
y = y_start;
4645
der(s[1:n - 1]) = zeros(n - 1);
4746
end if;
@@ -100,6 +99,12 @@ for a discussion.
10099
</html>", revisions="<html>
101100
<ul>
102101
<li>
102+
February 7, 2025, by Jelger Jansen:<br/>
103+
Removed <code>import</code> statement.
104+
This is for
105+
<a href=\"https://github.com/ibpsa/modelica-ibpsa/issues/1961\">IBPSA, #1961</a>.
106+
</li>
107+
<li>
103108
July 22, 2021, by Michael Wetter:<br/>
104109
First implementation for
105110
<a href=\"https://https://github.com/ibpsa/modelica-ibpsa/issues/1498\">IBPSA, #1498</a>

Buildings/Fluid/HeatExchangers/BaseClasses/PartialEffectivenessNTU.mo

Lines changed: 35 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,8 @@ model PartialEffectivenessNTU
88
Q2_flow = -Q1_flow,
99
mWat1_flow = 0,
1010
mWat2_flow = 0);
11-
import con = Buildings.Fluid.Types.HeatExchangerConfiguration;
12-
import flo = Buildings.Fluid.Types.HeatExchangerFlowRegime;
1311

14-
parameter con configuration "Heat exchanger configuration"
12+
parameter Buildings.Fluid.Types.HeatExchangerConfiguration configuration "Heat exchanger configuration"
1513
annotation (Evaluate=true);
1614

1715
constant Boolean use_dynamicFlowRegime = false
@@ -85,9 +83,9 @@ protected
8583
"Nominal temperature at port b1";
8684
parameter Modelica.Units.SI.Temperature T_b2_nominal(fixed=false)
8785
"Nominal temperature at port b2";
88-
parameter flo flowRegime_nominal(fixed=false)
86+
parameter Buildings.Fluid.Types.HeatExchangerFlowRegime flowRegime_nominal(fixed=false)
8987
"Heat exchanger flow regime at nominal flow rates";
90-
flo flowRegime(fixed=false, start=flowRegime_nominal)
88+
Buildings.Fluid.Types.HeatExchangerFlowRegime flowRegime(fixed=false, start=flowRegime_nominal)
9189
"Heat exchanger flow regime";
9290
initial equation
9391
assert(m1_flow_nominal > Modelica.Constants.eps,
@@ -131,22 +129,22 @@ initial equation
131129
"\n CMin_flow_nominal = " + String(CMin_flow_nominal) +
132130
"\n CMax_flow_nominal = " + String(CMax_flow_nominal));
133131
// Assign the flow regime for the given heat exchanger configuration and capacity flow rates
134-
if (configuration == con.CrossFlowStream1MixedStream2Unmixed) then
135-
flowRegime_nominal = if (C1_flow_nominal < C2_flow_nominal) then flo.CrossFlowCMinMixedCMaxUnmixed
136-
else flo.CrossFlowCMinUnmixedCMaxMixed;
137-
elseif (configuration == con.CrossFlowStream1UnmixedStream2Mixed) then
138-
flowRegime_nominal = if (C1_flow_nominal < C2_flow_nominal) then flo.CrossFlowCMinUnmixedCMaxMixed
139-
else flo.CrossFlowCMinMixedCMaxUnmixed;
140-
elseif (configuration == con.ParallelFlow) then
141-
flowRegime_nominal = flo.ParallelFlow;
142-
elseif (configuration == con.CounterFlow) then
143-
flowRegime_nominal = flo.CounterFlow;
144-
elseif (configuration == con.CrossFlowUnmixed) then
145-
flowRegime_nominal = flo.CrossFlowUnmixed;
132+
if (configuration == Buildings.Fluid.Types.HeatExchangerConfiguration.CrossFlowStream1MixedStream2Unmixed) then
133+
flowRegime_nominal = if (C1_flow_nominal < C2_flow_nominal) then Buildings.Fluid.Types.HeatExchangerFlowRegime.CrossFlowCMinMixedCMaxUnmixed
134+
else Buildings.Fluid.Types.HeatExchangerFlowRegime.CrossFlowCMinUnmixedCMaxMixed;
135+
elseif (configuration == Buildings.Fluid.Types.HeatExchangerConfiguration.CrossFlowStream1UnmixedStream2Mixed) then
136+
flowRegime_nominal = if (C1_flow_nominal < C2_flow_nominal) then Buildings.Fluid.Types.HeatExchangerFlowRegime.CrossFlowCMinUnmixedCMaxMixed
137+
else Buildings.Fluid.Types.HeatExchangerFlowRegime.CrossFlowCMinMixedCMaxUnmixed;
138+
elseif (configuration == Buildings.Fluid.Types.HeatExchangerConfiguration.ParallelFlow) then
139+
flowRegime_nominal = Buildings.Fluid.Types.HeatExchangerFlowRegime.ParallelFlow;
140+
elseif (configuration == Buildings.Fluid.Types.HeatExchangerConfiguration.CounterFlow) then
141+
flowRegime_nominal = Buildings.Fluid.Types.HeatExchangerFlowRegime.CounterFlow;
142+
elseif (configuration == Buildings.Fluid.Types.HeatExchangerConfiguration.CrossFlowUnmixed) then
143+
flowRegime_nominal = Buildings.Fluid.Types.HeatExchangerFlowRegime.CrossFlowUnmixed;
146144
else
147145
// Invalid flow regime. Assign a value to flowRegime_nominal, and stop with an assert
148-
flowRegime_nominal = flo.CrossFlowUnmixed;
149-
assert(configuration >= con.ParallelFlow and configuration <= con.CrossFlowStream1UnmixedStream2Mixed,
146+
flowRegime_nominal = Buildings.Fluid.Types.HeatExchangerFlowRegime.CrossFlowUnmixed;
147+
assert(configuration >= Buildings.Fluid.Types.HeatExchangerConfiguration.ParallelFlow and configuration <= Buildings.Fluid.Types.HeatExchangerConfiguration.CrossFlowStream1UnmixedStream2Mixed,
150148
"Invalid heat exchanger configuration.");
151149
end if;
152150
// The equation sorter of Dymola 7.3 does not guarantee that the above assert is tested prior to the
@@ -161,19 +159,19 @@ initial equation
161159
equation
162160
// Assign the flow regime for the given heat exchanger configuration and capacity flow rates
163161
if use_dynamicFlowRegime then
164-
if (configuration == con.ParallelFlow) then
165-
flowRegime = if (C1_flow*C2_flow >= 0) then flo.ParallelFlow else flo.CounterFlow;
166-
elseif (configuration == con.CounterFlow) then
167-
flowRegime = if (C1_flow*C2_flow >= 0) then flo.CounterFlow else flo.ParallelFlow;
168-
elseif (configuration == con.CrossFlowUnmixed) then
169-
flowRegime = flo.CrossFlowUnmixed;
170-
elseif (configuration == con.CrossFlowStream1MixedStream2Unmixed) then
171-
flowRegime = if (C1_flow < C2_flow) then flo.CrossFlowCMinMixedCMaxUnmixed
172-
else flo.CrossFlowCMinUnmixedCMaxMixed;
162+
if (configuration == Buildings.Fluid.Types.HeatExchangerConfiguration.ParallelFlow) then
163+
flowRegime = if (C1_flow*C2_flow >= 0) then Buildings.Fluid.Types.HeatExchangerFlowRegime.ParallelFlow else Buildings.Fluid.Types.HeatExchangerFlowRegime.CounterFlow;
164+
elseif (configuration == Buildings.Fluid.Types.HeatExchangerConfiguration.CounterFlow) then
165+
flowRegime = if (C1_flow*C2_flow >= 0) then Buildings.Fluid.Types.HeatExchangerFlowRegime.CounterFlow else Buildings.Fluid.Types.HeatExchangerFlowRegime.ParallelFlow;
166+
elseif (configuration == Buildings.Fluid.Types.HeatExchangerConfiguration.CrossFlowUnmixed) then
167+
flowRegime = Buildings.Fluid.Types.HeatExchangerFlowRegime.CrossFlowUnmixed;
168+
elseif (configuration == Buildings.Fluid.Types.HeatExchangerConfiguration.CrossFlowStream1MixedStream2Unmixed) then
169+
flowRegime = if (C1_flow < C2_flow) then Buildings.Fluid.Types.HeatExchangerFlowRegime.CrossFlowCMinMixedCMaxUnmixed
170+
else Buildings.Fluid.Types.HeatExchangerFlowRegime.CrossFlowCMinUnmixedCMaxMixed;
173171
else
174-
// have ( configuration == con.CrossFlowStream1UnmixedStream2Mixed)
175-
flowRegime = if (C1_flow < C2_flow) then flo.CrossFlowCMinUnmixedCMaxMixed
176-
else flo.CrossFlowCMinMixedCMaxUnmixed;
172+
// have ( configuration == Buildings.Fluid.Types.HeatExchangerConfiguration.CrossFlowStream1UnmixedStream2Mixed)
173+
flowRegime = if (C1_flow < C2_flow) then Buildings.Fluid.Types.HeatExchangerFlowRegime.CrossFlowCMinUnmixedCMaxMixed
174+
else Buildings.Fluid.Types.HeatExchangerFlowRegime.CrossFlowCMinMixedCMaxUnmixed;
177175
end if;
178176
else
179177
flowRegime = flowRegime_nominal;
@@ -253,6 +251,12 @@ for <code>UA</code>.
253251
</html>", revisions="<html>
254252
<ul>
255253
<li>
254+
February 7, 2025, by Jelger Jansen:<br/>
255+
Removed <code>import</code> statement.
256+
This is for
257+
<a href=\"https://github.com/ibpsa/modelica-ibpsa/issues/1961\">IBPSA, #1961</a>.
258+
</li>
259+
<li>
256260
February 3, 2023, by Jianjun Hu:<br/>
257261
Added <code>noEvent()</code> in the assertion function to avoid Optimica to not converge.<br/>
258262
This is for

0 commit comments

Comments
 (0)