Skip to content

Commit 60d9789

Browse files
committed
Corrected unit propagation error
For #2100
1 parent 146e172 commit 60d9789

File tree

1 file changed

+48
-35
lines changed

1 file changed

+48
-35
lines changed

IBPSA/Fluid/HeatExchangers/WetCoilEffectivenessNTU.mo

Lines changed: 48 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,9 @@ model WetCoilEffectivenessNTU
7878
"Dry fraction, 0.3 means condensation occurs at 30% heat exchange length from air inlet";
7979

8080
protected
81+
constant Real kUniConHeaCoo(final unit="1/W") = 1 "Constant for unit conversion";
82+
constant Real kUniConHum(final unit="s/kg") = 1 "Constant for unit conversion";
83+
8184
final parameter Modelica.Units.SI.MassFraction X_w_a2_nominal=w_a2_nominal/(1
8285
+ w_a2_nominal)
8386
"Water mass fraction of inlet air at a rated condition (in kg/kg total air)";
@@ -122,8 +125,7 @@ protected
122125
final dp_nominal = dp1_nominal,
123126
final m_flow_nominal = m1_flow_nominal,
124127
final energyDynamics = energyDynamics,
125-
final Q_flow_nominal=-1,
126-
u(final unit="W"))
128+
final Q_flow_nominal=-1)
127129
"Heat exchange with water stream"
128130
annotation (Placement(transformation(extent={{60,50},{80,70}})));
129131

@@ -132,10 +134,9 @@ protected
132134
final mWat_flow_nominal = 1,
133135
final dp_nominal = dp2_nominal,
134136
final m_flow_nominal = m2_flow_nominal,
135-
final energyDynamics = energyDynamics,
136-
u(final unit="kg/s"))
137+
final energyDynamics = energyDynamics)
137138
"Heat and moisture exchange with air stream"
138-
annotation (Placement(transformation(extent={{-60,-70},{-80,-50}})));
139+
annotation (Placement(transformation(extent={{-62,-94},{-82,-74}})));
139140
IBPSA.Fluid.HeatExchangers.BaseClasses.HADryCoil hA(
140141
final UA_nominal = UA_nominal,
141142
final m_flow_nominal_a = m2_flow_nominal,
@@ -224,7 +225,7 @@ protected
224225

225226
Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow preHea
226227
"Prescribed heat flow"
227-
annotation (Placement(transformation(extent={{20,-90},{0,-70}})));
228+
annotation (Placement(transformation(extent={{18,-100},{-2,-80}})));
228229
Real fra_a1(min=0, max=1) = if allowFlowReversal1
229230
then Modelica.Fluid.Utilities.regStep(
230231
m1_flow,
@@ -281,6 +282,13 @@ protected
281282
p=Medium2.p_default,
282283
X=Medium2.X_default[1:Medium2.nXi]) "Default state for medium 2";
283284

285+
Modelica.Blocks.Math.Gain uniConHum(
286+
final k=kUniConHum) "Unit conversion for input to humidifier"
287+
annotation (Placement(transformation(extent={{-20,-70},{-40,-50}})));
288+
Modelica.Blocks.Math.Gain uniConHeaCoo(
289+
final k=kUniConHeaCoo)
290+
"Unit conversion for input to heater and cooler model"
291+
annotation (Placement(transformation(extent={{12,70},{32,90}})));
284292
initial equation
285293
assert(m1_flow_nominal > Modelica.Constants.eps,
286294
"m1_flow_nominal must be positive, m1_flow_nominal = " + String(
@@ -368,36 +376,34 @@ equation
368376
connect(heaCoo.port_b, port_b1) annotation (Line(points={{80,60},{80,60},{100,60}},color={0,127,255},
369377
thickness=1));
370378
connect(heaCooHum_u.port_b, port_b2) annotation (Line(
371-
points={{-80,-60},{-90,-60},{-100,-60}},
379+
points={{-82,-84},{-90,-84},{-90,-60},{-100,-60}},
372380
color={0,127,255},
373381
thickness=1));
374382
connect(hA.hA_1, dryWetCalcs.UAWat) annotation (Line(points={{-49.1,5.7},{-46,
375383
5.7},{-46,36.6667},{-22.8571,36.6667}}, color={0,0,127}));
376-
connect(hA.hA_2, dryWetCalcs.UAAir) annotation (Line(points={{-49.1,-9.7},{
377-
-46,-9.7},{-46,-36},{-46,-36.6667},{-22.8571,-36.6667}},
384+
connect(hA.hA_2, dryWetCalcs.UAAir) annotation (Line(points={{-49.1,-9.7},{-46,
385+
-9.7},{-46,-36},{-46,-36.6667},{-22.8571,-36.6667}},
378386
color={0,0,127}));
379-
connect(cp_a1Exp.y, dryWetCalcs.cpWat) annotation (Line(points={{-29.3,24},{
380-
-22.8571,24},{-22.8571,23.3333}},
381-
color={0,0,127}));
387+
connect(cp_a1Exp.y, dryWetCalcs.cpWat) annotation (Line(points={{-29.3,24},{-22.8571,
388+
24},{-22.8571,23.3333}}, color={0,0,127}));
382389
connect(XWat_a2Exp.y, dryWetCalcs.X_wAirIn) annotation (Line(points={{-29.3,4},
383390
{-22.8571,4},{-22.8571,3.33333}}, color={0,0,127}));
384-
connect(p_a2Exp.y, dryWetCalcs.pAir) annotation (Line(points={{-29.3,-4},{
385-
-22.8571,-4},{-22.8571,-3.33333}},
391+
connect(p_a2Exp.y, dryWetCalcs.pAir) annotation (Line(points={{-29.3,-4},{-22.8571,
392+
-4},{-22.8571,-3.33333}},
386393
color={0,0,127}));
387-
connect(h_a2Exp.y, dryWetCalcs.hAirIn) annotation (Line(points={{-29.3,-12},{
388-
-22,-12},{-22,-10},{-22.8571,-10}},
394+
connect(h_a2Exp.y, dryWetCalcs.hAirIn) annotation (Line(points={{-29.3,-12},{-22,
395+
-12},{-22,-10},{-22.8571,-10}},
389396
color={0,0,127}));
390-
connect(cp_a2Exp.y, dryWetCalcs.cpAir) annotation (Line(points={{-29.3,-24},{
391-
-22.8571,-24},{-22.8571,-23.3333}},
392-
color={0,0,127}));
397+
connect(cp_a2Exp.y, dryWetCalcs.cpAir) annotation (Line(points={{-29.3,-24},{-22.8571,
398+
-24},{-22.8571,-23.3333}}, color={0,0,127}));
393399
connect(TIn_a1Exp.y, hA.T_1) annotation (Line(points={{-83.3,22},{-80,22},{-80,
394400
1.3},{-68.9,1.3}}, color={0,0,127}));
395-
connect(TIn_a1Exp.y, dryWetCalcs.TWatIn) annotation (Line(points={{-83.3,22},
396-
{-50,22},{-50,16.6667},{-22.8571,16.6667}}, color={0,0,127}));
401+
connect(TIn_a1Exp.y, dryWetCalcs.TWatIn) annotation (Line(points={{-83.3,22},{
402+
-50,22},{-50,16.6667},{-22.8571,16.6667}}, color={0,0,127}));
397403
connect(TIn_a2Exp.y, hA.T_2) annotation (Line(points={{-83.3,-2},{-76,-2},{-76,
398404
-5.3},{-68.9,-5.3}}, color={0,0,127}));
399-
connect(TIn_a2Exp.y, dryWetCalcs.TAirIn) annotation (Line(points={{-83.3,-2},
400-
{-76,-2},{-76,-16.6667},{-22.8571,-16.6667}}, color={0,0,127}));
405+
connect(TIn_a2Exp.y, dryWetCalcs.TAirIn) annotation (Line(points={{-83.3,-2},{
406+
-76,-2},{-76,-16.6667},{-22.8571,-16.6667}}, color={0,0,127}));
401407
connect(m_flow_a1Exp.y, hA.m1_flow) annotation (Line(points={{-83.3,36},{-76,36},
402408
{-76,5.7},{-68.9,5.7}}, color={0,0,127}));
403409
connect(m_flow_a1Exp.y, dryWetCalcs.mWat_flow) annotation (Line(points={{-83.3,
@@ -412,19 +418,21 @@ equation
412418
connect(m_flow_a2Exp.y, dryWetCalcs.mAir_flow) annotation (Line(points={{-83.3,
413419
-30},{-22.8571,-30}}, color={0,0,127}));
414420
connect(port_a2, heaCooHum_u.port_a) annotation (Line(
415-
points={{100,-60},{20,-60},{-60,-60}},
421+
points={{100,-60},{72,-60},{72,-76},{-52,-76},{-52,-84},{-62,-84}},
416422
color={0,127,255},
417423
thickness=1));
418-
connect(preHea.port, heaCooHum_u.heatPort) annotation (Line(points={{0,-80},{-40,
419-
-80},{-40,-66},{-60,-66}}, color={191,0,0}));
420-
connect(dryWetCalcs.QTot_flow, heaCoo.u) annotation (Line(points={{62.8571,
421-
-6.66667},{80,-6.66667},{80,44},{40,44},{40,66},{58,66}},
422-
color={0,0,127}));
423-
connect(dryWetCalcs.mCon_flow, heaCooHum_u.u) annotation (Line(points={{62.8571,
424-
-33.3333},{70,-33.3333},{70,-54},{-59,-54}}, color={0,0,127}));
425-
connect(preHea.Q_flow, dryWetCalcs.QTot_flow) annotation (Line(points={{20,-80},
426-
{44,-80},{80,-80},{80,-6.66667},{62.8571,-6.66667}},
427-
color={0,0,127}));
424+
connect(preHea.port, heaCooHum_u.heatPort) annotation (Line(points={{-2,-90},{
425+
-62,-90}}, color={191,0,0}));
426+
connect(preHea.Q_flow, dryWetCalcs.QTot_flow) annotation (Line(points={{18,-90},
427+
{80,-90},{80,-6.66667},{62.8571,-6.66667}}, color={0,0,127}));
428+
connect(dryWetCalcs.mCon_flow, uniConHum.u) annotation (Line(points={{62.8571,
429+
-33.3333},{70,-33.3333},{70,-60},{-18,-60}}, color={0,0,127}));
430+
connect(uniConHum.y, heaCooHum_u.u) annotation (Line(points={{-41,-60},{-56,-60},
431+
{-56,-78},{-61,-78}}, color={0,0,127}));
432+
connect(dryWetCalcs.QTot_flow, uniConHeaCoo.u) annotation (Line(points={{62.8571,
433+
-6.66667},{80,-6.66667},{80,44},{4,44},{4,80},{10,80}}, color={0,0,127}));
434+
connect(uniConHeaCoo.y, heaCoo.u) annotation (Line(points={{33,80},{48,80},{48,
435+
66},{58,66}}, color={0,0,127}));
428436
annotation (
429437
defaultComponentName="hexWetNtu",
430438
Icon(graphics={
@@ -522,7 +530,7 @@ equation
522530
fillPattern=FillPattern.Solid,
523531
smooth=Smooth.Bezier)}),
524532
Diagram(graphics={Text(
525-
extent={{44,84},{86,76}},
533+
extent={{-80,70},{-38,62}},
526534
textColor={28,108,200},
527535
textString="Water Side",
528536
textStyle={TextStyle.Italic},
@@ -650,6 +658,11 @@ Fuzzy identification of systems and its applications to modeling and control.
650658
</html>", revisions="<html>
651659
<ul>
652660
<li>
661+
March 31, 2026, by Michael Wetter:<br/>
662+
Corrected unit propagation error that causes Dymola 2026x to not show certain units.<br/>
663+
See <a href=\"https://github.com/ibpsa/modelica-ibpsa/issues/2100\">#2100</a>.
664+
</li>
665+
<li>
653666
February 7, 2025, by Jelger Jansen:<br/>
654667
Removed <code>import</code> statement.
655668
This is for

0 commit comments

Comments
 (0)