@@ -78,6 +78,9 @@ model WetCoilEffectivenessNTU
7878 "Dry fraction, 0.3 means condensation occurs at 30% heat exchange length from air inlet" ;
7979
8080protected
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}})));
284292initial 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>
653666February 7, 2025, by Jelger Jansen:<br/>
654667Removed <code>import</code> statement.
655668This is for
0 commit comments