diff --git a/Buildings/Examples/Tutorial/SpaceCooling/System2.mo b/Buildings/Examples/Tutorial/SpaceCooling/System2.mo index 918b4c9f7d8..391c7315a7b 100644 --- a/Buildings/Examples/Tutorial/SpaceCooling/System2.mo +++ b/Buildings/Examples/Tutorial/SpaceCooling/System2.mo @@ -79,8 +79,9 @@ model System2 dp2_nominal=200, eps=eps) "Heat recovery" annotation (Placement(transformation(extent={{-110,-36},{-90,-16}}))); - Buildings.Fluid.HeatExchangers.WetCoilCounterFlow cooCoi(redeclare package Medium1 = - MediumW, redeclare package Medium2 = MediumA, + Buildings.Fluid.HeatExchangers.WetCoilEffectivenessNTU cooCoi( + redeclare package Medium1 = MediumW, + redeclare package Medium2 = MediumA, m1_flow_nominal=mW_flow_nominal, m2_flow_nominal=mA_flow_nominal, dp1_nominal=6000, @@ -118,8 +119,8 @@ model System2 annotation (Placement(transformation(extent={{-160,40},{-140,60}}))); BoundaryConditions.WeatherData.Bus weaBus annotation (Placement(transformation(extent={{-120,40},{-100,60}}))); - Buildings.Controls.OBC.CDL.Continuous.Sources.Constant mAir_flow(k=mA_flow_nominal) - "Fan air flow rate" + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant mAir_flow(k= + mA_flow_nominal) "Fan air flow rate" annotation (Placement(transformation(extent={{0,0},{20,20}}))); Buildings.Controls.OBC.CDL.Continuous.Sources.Constant mWat_flow(k=mW_flow_nominal) "Water flow rate" @@ -188,11 +189,11 @@ equation index=-1, extent={{-6,3},{-6,3}})); connect(fan.m_flow_in, mAir_flow.y) annotation (Line( - points={{49.8,-8},{49.8,10},{21,10}}, + points={{50,-8},{50,10},{22,10}}, color={0,0,127}, smooth=Smooth.None)); connect(mWat_flow.y, souWat.m_flow_in) annotation (Line( - points={{-59,-104},{-52,-104},{-52,-92},{-40,-92}}, + points={{-58,-104},{-52,-104},{-52,-92},{-42,-92}}, color={0,0,127}, smooth=Smooth.None)); connect(hex.port_b1, senTemHXOut.port_a) annotation (Line( @@ -419,8 +420,14 @@ We assign this value using the equation

where is the exchanged heat and lmtd is the logarithmic mean temperature difference. -The computation of the UA is done using the -parameter assignment +The computation of the UA is done +by setting +

+
+use_UA_nominal=true
+
+

+and then using the parameter assignment

   UA_nominal=-QCoiC_flow_nominal/
@@ -440,9 +447,7 @@ In order to see the coil inlet and outlet temperatures, we set the parameter
   show_T = true
 

-Its default value is false, as this setting can lead to faster computation -in large system models in which the flow rate crosses zero, because crossing zero -triggers the numerical solution for a state-event which can be computationally expensive. +Its default value is false.

To use prescribed initial values for the state variables of the cooling coil, we set diff --git a/Buildings/Examples/Tutorial/SpaceCooling/System3.mo b/Buildings/Examples/Tutorial/SpaceCooling/System3.mo index 00656c4d8aa..11e7c64a0fd 100644 --- a/Buildings/Examples/Tutorial/SpaceCooling/System3.mo +++ b/Buildings/Examples/Tutorial/SpaceCooling/System3.mo @@ -60,8 +60,7 @@ model System3 QCoiC_flow_nominal/(TWRet_nominal-TWSup_nominal)/4200 "Nominal water mass flow rate"; - Modelica.Thermal.HeatTransfer.Sources.PrescribedTemperature - TOut + Modelica.Thermal.HeatTransfer.Sources.PrescribedTemperature TOut "Outside temperature" annotation (Placement(transformation(extent={{-20,40},{0,60}}))); Modelica.Thermal.HeatTransfer.Sources.FixedHeatFlow preHea(Q_flow= @@ -80,21 +79,22 @@ model System3 dp2_nominal=200, eps=eps) "Heat recovery" annotation (Placement(transformation(extent={{-110,-36},{-90,-16}}))); - Buildings.Fluid.HeatExchangers.WetCoilCounterFlow cooCoi(redeclare package Medium1 = - MediumW, redeclare package Medium2 = MediumA, + Buildings.Fluid.HeatExchangers.WetCoilEffectivenessNTU cooCoi( + redeclare package Medium1 = MediumW, + redeclare package Medium2 = MediumA, m1_flow_nominal=mW_flow_nominal, m2_flow_nominal=mA_flow_nominal, dp1_nominal=6000, + dp2_nominal=200, UA_nominal=-QCoiC_flow_nominal/ Buildings.Fluid.HeatExchangers.BaseClasses.lmtd( T_a1=THeaRecLvg, T_b1=TASup_nominal, T_a2=TWSup_nominal, T_b2=TWRet_nominal), - dp2_nominal=200, show_T=true, energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial) "Cooling coil" - annotation (Placement( + annotation (Placement( transformation( extent={{-10,-10},{10,10}}, rotation=180, @@ -198,7 +198,7 @@ equation index=-1, extent={{-6,3},{-6,3}})); connect(fan.m_flow_in, mAir_flow.y) annotation (Line( - points={{49.8,-8},{49.8,10},{21,10}}, + points={{50,-8},{50,10},{22,10}}, color={0,0,127}, smooth=Smooth.None)); connect(hex.port_b1, senTemHXOut.port_a) annotation (Line( @@ -222,7 +222,7 @@ equation color={191,0,0}, smooth=Smooth.None)); connect(TRooSetPoi.y, con.reference) annotation (Line( - points={{-149,-80},{-136,-80},{-136,-94},{-122,-94}}, + points={{-148,-80},{-136,-80},{-136,-94},{-122,-94}}, color={0,0,127}, smooth=Smooth.None)); connect(vol.heatPort, senTemRoo.port) annotation (Line( @@ -234,11 +234,11 @@ equation color={0,0,127}, smooth=Smooth.None)); connect(con.y, mWat_flow.u) annotation (Line( - points={{-99,-100},{-82,-100}}, + points={{-98,-100},{-82,-100}}, color={255,0,255}, smooth=Smooth.None)); connect(mWat_flow.y, souWat.m_flow_in) annotation (Line( - points={{-59,-100},{-50,-100},{-50,-92},{-40,-92}}, + points={{-58,-100},{-50,-100},{-50,-92},{-42,-92}}, color={0,0,127}, smooth=Smooth.None)); annotation (Documentation(info=" diff --git a/Buildings/Fluid/HeatExchangers/BaseClasses/WetCoilDryRegime.mo b/Buildings/Fluid/HeatExchangers/BaseClasses/WetCoilDryRegime.mo new file mode 100644 index 00000000000..bedffb2e009 --- /dev/null +++ b/Buildings/Fluid/HeatExchangers/BaseClasses/WetCoilDryRegime.mo @@ -0,0 +1,104 @@ +within Buildings.Fluid.HeatExchangers.BaseClasses; +model WetCoilDryRegime + "Fully dry coil model" + + // - water + input Modelica.SIunits.ThermalConductance UAWat + "UA for water side"; + input Modelica.SIunits.MassFlowRate mWat_flow + "Mass flow rate for water"; + input Modelica.SIunits.MassFlowRate mWatNonZer_flow(min=Modelica.Constants.eps) + "Mass flow rate for water, bounded away from zero"; + + input Modelica.SIunits.SpecificHeatCapacity cpWat + "Specific heat capacity of water"; + input Modelica.SIunits.Temperature TWatIn + "Water temperature at inlet"; + // -- air + input Modelica.SIunits.ThermalConductance UAAir + "UA for air side"; + input Modelica.SIunits.MassFlowRate mAir_flow(min=Modelica.Constants.eps) + "Mass flow rate of air"; + input Modelica.SIunits.MassFlowRate mAirNonZer_flow(min=Modelica.Constants.eps) + "Mass flow rate for air, bounded away from zero"; + input Modelica.SIunits.SpecificHeatCapacity cpAir + "Specific heat capacity of moist air at constant pressure"; + input Modelica.SIunits.Temperature TAirIn + "Temperature of air at inlet"; + // -- misc. + input Buildings.Fluid.Types.HeatExchangerFlowRegime cfg + "The flow regime of the heat exchanger"; + input Modelica.SIunits.MassFlowRate mAir_flow_nominal + "Nominal mass flow rate for air"; + input Modelica.SIunits.MassFlowRate mWat_flow_nominal + "Nominal mass flow rate for water"; + + parameter Real delta = 1E-3 "Small value used for smoothing"; + + output Modelica.SIunits.HeatFlowRate QTot_flow + "Heat transferred from water to air"; + output Modelica.SIunits.Temperature TWatOut + "Temperature of water at outlet"; + output Modelica.SIunits.Temperature TAirOut + "Temperature of air at the outlet"; + output Real eps(min=0, max=1, unit="1") + "Effectiveness for heat exchanger"; + Modelica.SIunits.ThermalConductance CWat_flow=mWat_flow*cpWat + "Capacitance rate of water"; + Modelica.SIunits.ThermalConductance CAir_flow=mAir_flow*cpAir + "Capacitance rate of air"; + Modelica.SIunits.ThermalConductance CMin_flow_nominal= + min(mAir_flow_nominal*cpAir,mWat_flow_nominal*cpWat) + "Minimum capacity rate"; + Modelica.SIunits.ThermalConductance CMax_flow_nominal= + max(mAir_flow_nominal*cpAir,mWat_flow_nominal*cpWat) + "Maximum capacity rate"; + Modelica.SIunits.ThermalConductance CMin_flow= + Buildings.Utilities.Math.Functions.smoothMin( + x1=CAir_flow,x2=CWat_flow,deltaX=1E-3*(CMax_flow_nominal-CMin_flow_nominal)) + "Minimum capacity rate"; + Modelica.SIunits.ThermalConductance UA + "Overall heat transfer coefficient"; + output Modelica.SIunits.Temperature TSurAirOut + "Surface Temperature at air outlet"; +equation + UA = 1/ (1 / UAAir + 1 / UAWat); + + eps=epsilon_C( + UA=UA, + C1_flow=CWat_flow, + C2_flow=CAir_flow, + flowRegime=Integer(cfg), + CMin_flow_nominal= CMin_flow_nominal, + CMax_flow_nominal=CMax_flow_nominal, + delta= delta); + + QTot_flow = eps*CMin_flow*(TAirIn-TWatIn); + TAirOut=TAirIn-QTot_flow/(mAirNonZer_flow*cpAir); + TWatOut=TWatIn+QTot_flow/(mWatNonZer_flow*cpWat); + + (TAirOut-TSurAirOut)*UAAir=(TSurAirOut-TWatIn)*UAWat; + + annotation (Icon(coordinateSystem(preserveAspectRatio=false), graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={28,108,200}, + fillColor={255,213,170}, + fillPattern=FillPattern.Solid)}), Diagram( + coordinateSystem(preserveAspectRatio=false)), + Documentation(revisions=" +

+", info=" +

This model implements the calculation for a 100% dry coil.

+

+See + +Buildings.Fluid.HeatExchangers.DryCoilEffectivenessNTU +for documentation. +

+")); +end WetCoilDryRegime; diff --git a/Buildings/Fluid/HeatExchangers/BaseClasses/WetCoilDryWetRegime.mo b/Buildings/Fluid/HeatExchangers/BaseClasses/WetCoilDryWetRegime.mo new file mode 100644 index 00000000000..b47dc6444d9 --- /dev/null +++ b/Buildings/Fluid/HeatExchangers/BaseClasses/WetCoilDryWetRegime.mo @@ -0,0 +1,422 @@ +within Buildings.Fluid.HeatExchangers.BaseClasses; +model WetCoilDryWetRegime + "Model implementing the switching algorithm of the TK-fuzzy model for cooling coil application" + + parameter Modelica.SIunits.MassFlowRate mWat_flow_nominal(min=0) + "Nominal mass flow rate for water" + annotation(Dialog(group = "Nominal condition")); + parameter Modelica.SIunits.MassFlowRate mAir_flow_nominal(min=0) + "Nominal mass flow rate for air" + annotation(Dialog(group = "Nominal condition")); + + input Real Qfac(final unit="1") + "a smoothing factor to prevent division-by-zero"; + + input Buildings.Fluid.Types.HeatExchangerFlowRegime cfg= + Buildings.Fluid.Types.HeatExchangerFlowRegime.CounterFlow + "heat exchanger configuration"; + + // -- Water + Modelica.Blocks.Interfaces.RealInput UAWat( + final quantity="ThermalConductance", + final unit="W/K") + "Product of heat transfer coefficient times area for water side" + annotation (Placement(transformation(extent={{-160,100},{-140,120}}), + iconTransformation(extent={{-160,100},{-140,120}}))); + Modelica.Blocks.Interfaces.RealInput mWat_flow( + quantity="MassFlowRate", + min = 0, + final unit="kg/s") + "Mass flow rate for water" + annotation (Placement(transformation(extent={{-160,80},{-140,100}}), + iconTransformation(extent={{-160,80},{-140,100}}))); + Modelica.Blocks.Interfaces.RealInput cpWat( + final quantity="SpecificHeatCapacity", + final unit="J/(kg.K)") + "Inlet water temperature" + annotation (Placement(transformation(extent={{-160,60},{-140,80}}), + iconTransformation(extent={{-160,60},{-140,80}}))); + Modelica.Blocks.Interfaces.RealInput TWatIn( + final quantity="ThermodynamicTemperature", + final unit="K", + min = 200, + start = 288.15, + nominal = 300, + displayUnit="degC") + "Inlet water temperature" + annotation (Placement(transformation(extent={{-160,40},{-140,60}}), + iconTransformation(extent={{-160,40},{-140,60}}))); + // -- Air + Modelica.Blocks.Interfaces.RealInput UAAir( + final quantity="ThermalConductance", + final unit="W/K") + "Product of heat transfer coefficient times area for air side" + annotation (Placement(transformation(extent={{-160,-120},{-140,-100}}), + iconTransformation(extent={{-160,-120},{-140,-100}}))); + Modelica.Blocks.Interfaces.RealInput mAir_flow( + quantity="MassFlowRate", + min = 0, + final unit="kg/s") + "Mass flow rate for air" + annotation (Placement(transformation(extent={{-160,-100},{-140,-80}}), + iconTransformation(extent={{-160,-100},{-140,-80}}))); + Modelica.Blocks.Interfaces.RealInput cpAir( + final quantity="SpecificHeatCapacity", + final unit="J/(kg.K)") + "Inlet specific heat capacity (at constant pressure)" + annotation (Placement( + transformation(extent={{-160,-80},{-140,-60}}), iconTransformation( + extent={{-160,-80},{-140,-60}}))); + Modelica.Blocks.Interfaces.RealInput TAirIn( + final quantity="ThermodynamicTemperature", + final unit="K", + min = 200, + start = 288.15, + nominal = 300, + displayUnit="degC") + "Inlet air temperature" + annotation (Placement(transformation(extent={{-160,-60},{-140,-40}}), + iconTransformation(extent={{-160,-60},{-140,-40}}))); + Modelica.Blocks.Interfaces.RealInput hAirIn( + final quantity="SpecificEnergy", + final unit="J/kg") + "Inlet air enthalpy" + annotation ( + Placement(transformation(extent={{-160,-40},{-140,-20}}), + iconTransformation(extent={{-160,-40},{-140,-20}}))); + Modelica.Blocks.Interfaces.RealInput pAir( + final quantity="Pressure", + final unit="Pa", + displayUnit="bar", + min=70000, + nominal = 1e5) + "Inlet air absolute pressure" + annotation (Placement(transformation(extent={{-160,-20},{-140,0}}), + iconTransformation(extent={{-160,-20},{-140,0}}))); + Modelica.Blocks.Interfaces.RealInput X_wAirIn( + min=0, + max=1, + unit="1") + "Mass fraction of water in inlet air (kg water/kg total air)" + annotation ( + Placement(transformation(extent={{-160,0},{-140,20}}), iconTransformation( + extent={{-160,0},{-140,20}}))); + + Modelica.Blocks.Interfaces.RealOutput QTot_flow( + final quantity="Power", + final unit="W") + "Total heat transfer from water into air, negative for cooling" + annotation ( + Placement(transformation(extent={{-10,-10},{10,10}}, + rotation=0, + origin={150,-20}))); + Modelica.Blocks.Interfaces.RealOutput QSen_flow( + final quantity="Power", + final unit="W") + "Sensible heat transfer from water into air, negative for cooling" + annotation ( + Placement(transformation(extent={{-10,-10},{10,10}}, + rotation=0, + origin={150,-60}))); + Modelica.SIunits.HeatFlowRate QLat_flow "Latent heat transfer rate"; + + Modelica.Blocks.Interfaces.RealOutput mCon_flow( + quantity="MassFlowRate", + final unit="kg/s") + "Mass flow of the condensate, negative for dehumidification" + annotation ( + Placement(transformation(extent={{-10,-10},{10,10}}, + rotation=0, + origin={150,-100}))); + Buildings.Fluid.HeatExchangers.BaseClasses.WetCoilDryRegime fullyDry( + final UAWat=UAWat, + final mWat_flow=mWat_flow, + final cpWat=cpWat, + final TWatIn=TWatIn, + final UAAir=UAAir, + final mAir_flow=mAir_flow, + final mWatNonZer_flow=mWatNonZer_flow, + final mAirNonZer_flow=mAirNonZer_flow, + final cpAir=cpAir, + final TAirIn=TAirIn, + final cfg=cfg, + final mAir_flow_nominal=mAir_flow_nominal, + final mWat_flow_nominal=mWat_flow_nominal) "Fully-dry coil model"; + + Buildings.Fluid.HeatExchangers.BaseClasses.WetCoilWetRegime fullyWet( + final UAWat=UAWat, + final mWat_flow=mWat_flow, + final cpWat=cpWat, + final TWatIn=TWatIn, + final UAAir=UAAir, + final mAir_flow=mAir_flow, + final mWatNonZer_flow=mWatNonZer_flow, + final mAirNonZer_flow=mAirNonZer_flow, + final cpAir=cpAir, + final TAirIn=TAirIn, + final cfg=cfg, + final mAir_flow_nominal=mAir_flow_nominal, + final mWat_flow_nominal=mWat_flow_nominal, + final pAir=pAir, + final X_wAirIn=X_wAirIn) "Fully-wet coil model"; + + Real dryFra(final unit="1", min=0, max=1) + "Dry fraction, 0.3 means condensation occurs at 30% heat exchange length from air inlet"; +protected + Modelica.SIunits.MassFlowRate mAirNonZer_flow(min=Modelica.Constants.eps)= + Buildings.Utilities.Math.Functions.smoothMax( + x1=mAir_flow, + x2=1E-3 *mAir_flow_nominal, + deltaX=0.25E-3*mAir_flow_nominal) + "Mass flow rate of air"; + Modelica.SIunits.MassFlowRate mWatNonZer_flow(min=Modelica.Constants.eps)= + Buildings.Utilities.Math.Functions.smoothMax( + x1=mWat_flow, + x2=1E-3 *mWat_flow_nominal, + deltaX=0.25E-3*mWat_flow_nominal) + "Mass flow rate of water"; + + Modelica.SIunits.Temperature TAirInDewPoi + "Dew point temperature of incoming air"; + + Buildings.Utilities.Psychrometrics.pW_X pWIn( + final X_w=X_wAirIn, + final p_in=pAir); + Buildings.Utilities.Psychrometrics.TDewPoi_pW TDewIn( + final p_w=pWIn.p_w); + + //-- Values for fuzzy logics + Real mu_FW(final unit="1", min=0, max=1), mu_FD(unit="1",min=0, max=1) + "Membership functions for Fully-Wet and Fully-Dry conditions"; + Real w_FW(final unit="1", min=0, max=1), w_FD(unit="1",min=0, max=1) + "Normalized weight functions for Fully-Wet and Fully-Dry conditions"; + +equation + + TAirInDewPoi=TDewIn.T; + + mu_FW= Buildings.Utilities.Math.Functions.spliceFunction( + pos=0,neg=1,x=fullyWet.TSurAirIn-TAirInDewPoi, + deltax=Buildings.Utilities.Math.Functions.smoothMax(abs(fullyDry.TSurAirOut-fullyWet.TSurAirIn), 1e-2,1e-3)); + //max(abs(fullyDry.TSurAirOut- fullyWet.TSurAirIn),1e-3)); + + mu_FD= Buildings.Utilities.Math.Functions.spliceFunction( + pos=1,neg=0,x=fullyDry.TSurAirOut-TAirInDewPoi, + deltax=Buildings.Utilities.Math.Functions.smoothMax(abs(fullyDry.TSurAirOut-fullyWet.TSurAirIn), 1e-2,1e-3)); + //max(abs(fullyDry.TSurAirOut- fullyWet.TSurAirIn),1e-3)); + + w_FW=mu_FW/(mu_FW+mu_FD); + w_FD=mu_FD/(mu_FW+mu_FD); + + QTot_flow= -(w_FW*fullyWet.QTot_flow+w_FD*fullyDry.QTot_flow)*Qfac; + QSen_flow= -(w_FW*fullyWet.QSen_flow+w_FD*fullyDry.QTot_flow)*Qfac; + dryFra= w_FD; + + QLat_flow=QTot_flow-QSen_flow; + mCon_flow=QLat_flow/Buildings.Utilities.Psychrometrics.Constants.h_fg*Qfac; + annotation (Icon(coordinateSystem(preserveAspectRatio=false, extent={{-140,-120}, + {140,120}}), graphics={ + Rectangle( + extent={{-140,120},{140,-120}}, + lineColor={0,0,0}, + lineThickness=0.5, + pattern=LinePattern.Dot, + fillColor={236,236,236}, + fillPattern=FillPattern.Solid), + Rectangle( + extent={{20,40},{100,-40}}, + lineColor={28,108,200}, + fillColor={170,227,255}, + fillPattern=FillPattern.Forward), + Text( + extent={{24,36},{96,2}}, + textStyle={TextStyle.Bold}, + pattern=LinePattern.None, + textString="WET", + lineColor={0,0,0}), + Line( + points={{20,0},{120,0}}, + color={28,108,200}, + thickness=1, + pattern=LinePattern.Dash), + Ellipse( + extent={{72,0},{66,-6}}, + lineColor={28,108,200}, + fillColor={170,255,255}, + fillPattern=FillPattern.Solid), + Ellipse( + extent={{82,-4},{76,-10}}, + lineColor={28,108,200}, + fillColor={170,255,255}, + fillPattern=FillPattern.Solid), + Ellipse( + extent={{96,0},{88,-8}}, + lineColor={28,108,200}, + fillColor={170,255,255}, + fillPattern=FillPattern.Solid), + Ellipse( + extent={{64,-4},{58,-10}}, + lineColor={28,108,200}, + fillColor={170,255,255}, + fillPattern=FillPattern.Solid), + Ellipse( + extent={{54,0},{48,-6}}, + lineColor={28,108,200}, + fillColor={170,255,255}, + fillPattern=FillPattern.Solid), + Ellipse( + extent={{42,-4},{36,-10}}, + lineColor={28,108,200}, + fillColor={170,255,255}, + fillPattern=FillPattern.Solid), + Ellipse( + extent={{32,0},{24,-8}}, + lineColor={28,108,200}, + fillColor={170,255,255}, + fillPattern=FillPattern.Solid), + Rectangle( + extent={{-60,40},{20,-40}}, + lineColor={28,108,200}, + fillColor={255,213,170}, + fillPattern=FillPattern.Forward), + Text( + extent={{-16,-4},{56,-38}}, + textStyle={TextStyle.Bold}, + textString="CALCS", + pattern=LinePattern.None), + Line( + points={{-80,0},{20,0}}, + color={28,108,200}, + thickness=1, + pattern=LinePattern.Dash), + Text( + extent={{-56,36},{16,2}}, + textStyle={TextStyle.Bold}, + textString="DRY", + pattern=LinePattern.None), + Text( + extent={{-22,60},{58,40}}, + lineColor={28,108,200}, + fillColor={170,170,255}, + fillPattern=FillPattern.Forward, + textString="Water", + textStyle={TextStyle.Italic}), + Text( + extent={{-20,-40},{60,-60}}, + lineColor={28,108,200}, + fillColor={170,170,255}, + fillPattern=FillPattern.Forward, + textString="Air", + textStyle={TextStyle.Italic}), + Text( + extent={{-116,-104},{-116,-116}}, + lineColor={28,108,200}, + horizontalAlignment=TextAlignment.Left, + textString="hA"), + Text( + extent={{-116,116},{-116,104}}, + lineColor={28,108,200}, + horizontalAlignment=TextAlignment.Left, + textString="hA"), + Text( + extent={{-116,96},{-116,84}}, + lineColor={28,108,200}, + horizontalAlignment=TextAlignment.Left, + textString="masFlo"), + Text( + extent={{-116,76},{-116,64}}, + lineColor={28,108,200}, + horizontalAlignment=TextAlignment.Left, + textString="cp"), + Text( + extent={{-116,56},{-116,44}}, + lineColor={28,108,200}, + horizontalAlignment=TextAlignment.Left, + textString="T_in"), + Text( + extent={{-116,-84},{-116,-96}}, + lineColor={28,108,200}, + horizontalAlignment=TextAlignment.Left, + textString="masFlo"), + Text( + extent={{-116,-64},{-116,-76}}, + lineColor={28,108,200}, + horizontalAlignment=TextAlignment.Left, + textString="cp"), + Text( + extent={{-116,-44},{-116,-56}}, + lineColor={28,108,200}, + horizontalAlignment=TextAlignment.Left, + textString="T_in"), + Text( + extent={{-116,-24},{-116,-36}}, + lineColor={28,108,200}, + horizontalAlignment=TextAlignment.Left, + textString="h_in"), + Text( + extent={{-116,-4},{-116,-16}}, + lineColor={28,108,200}, + horizontalAlignment=TextAlignment.Left, + textString="p_in"), + Text( + extent={{-116,16},{-116,4}}, + lineColor={28,108,200}, + horizontalAlignment=TextAlignment.Left, + textString="w_in"), + Text( + extent={{120,-12},{120,-24}}, + lineColor={28,108,200}, + textString="QTot_flow"), + Text( + extent={{104,-94},{104,-106}}, + lineColor={28,108,200}, + textString="mCon_flow"), + Text( + extent={{118,-52},{118,-64}}, + lineColor={28,108,200}, + textString="QSen")}), Diagram( + coordinateSystem(preserveAspectRatio=false, extent={{-140,-120},{140,120}})), + Documentation(revisions=" + +", info=" +

+This model implements the switching algorithm for the dry and wet regime. +

+

+The switching criteria for (counter-flow) cooling coil modes are as follows.

+

+R1: If the coil surface temperature at the air inlet is lower than the dew-point +temperature at the inlet to the coil, then the cooling coil surface is fully-wet.

+

+R2: If the surface temperature at the air outlet section is higher than +the dew-point temperature of the air at the inlet, then the cooling coil surface is fully-dry.

+

+At each point of a simulation time step, the fuzzy-modeling approach determines +the weights for R1 and R2 respectively (namely μFW and μFD) +from the dew-point and coil surface temperatures.

+

+It calculates total and sensible heat transfer rates according to the weights as follows. +

+

+Q̇totFDtot,FDFW Qtot,FW +

+

+Q̇senFDsen,FDFW Qsen,FW +

+

+The fuzzy-modeling ensures μFW + μFD = 1, +μFW >=0 and μFD >=0, which means the fuzzy +model outcomes of sen and tot are always convex combinations of heat transfer +rates for fully-dry and fully-wet modes and therefore are always bounded by them. +

+

+The modeling approach also results in n-th order differentiable model +depending on the selection of the underlying membership functions. This cooling +coil model is once continuously differentiable at the mode switches. +

+")); +end WetCoilDryWetRegime; diff --git a/Buildings/Fluid/HeatExchangers/BaseClasses/WetCoilUARated.mo b/Buildings/Fluid/HeatExchangers/BaseClasses/WetCoilUARated.mo new file mode 100644 index 00000000000..39b9b57ace2 --- /dev/null +++ b/Buildings/Fluid/HeatExchangers/BaseClasses/WetCoilUARated.mo @@ -0,0 +1,194 @@ +within Buildings.Fluid.HeatExchangers.BaseClasses; +model WetCoilUARated + "Model that calculates the UA-value from cooling coil data at rated conditions." + + replaceable package MediumA=Buildings.Media.Air + constrainedby Modelica.Media.Interfaces.PartialMedium + "Air-side medium"; + replaceable package MediumW=Buildings.Media.Water + constrainedby Modelica.Media.Interfaces.PartialMedium + "Water-side medium"; + + parameter Boolean use_Q_flow_nominal = false + "Set to true to specify Q_flow_nominal and inlet conditions, or to false to specify UA_nominal" + annotation ( + Evaluate=true, + Dialog(group="Nominal thermal performance")); + parameter Modelica.SIunits.HeatFlowRate QTot_flow + "Nominal heat flow rate (positive for heat transfer from 1 to 2)"; + parameter Modelica.SIunits.Temperature TAirIn + "Air inlet temperature at a rated condition"; + + parameter Modelica.SIunits.MassFraction X_wAirIn + "Mass fraction of water in inlet air at a rated condition"; + parameter Modelica.SIunits.Temperature TWatIn + "Water inlet temperature at a rated condition"; + + parameter Modelica.SIunits.MassFlowRate mAir_flow + "Air mass flow rate at a rated condition"; + parameter Modelica.SIunits.MassFlowRate mWat_flow + "Water mass flow rate at a rated condition"; + parameter Modelica.SIunits.ThermalConductance UA + "the overall heat transfer coefficient for a fully dry condition"; + parameter Real r_nominal(min=0, max=1) + "Ratio between air-side and water-side convective heat transfer at nominal condition"; + +protected + constant Modelica.SIunits.SpecificEnthalpy hfg= + Buildings.Utilities.Psychrometrics.Constants.h_fg + "Enthapy of vaporization of water"; + constant Modelica.SIunits.SpecificEnthalpy hUnit=1 + "Physical dimension of specific enthalpy used for a unit conversion"; + constant Modelica.SIunits.Temperature TUnit=1 + "Physical dimension of temperature used for a unit conversion"; + constant Modelica.SIunits.SpecificHeatCapacity cpUnit=1 + "Physical dimension of specific heat capacity used for a unit conversion"; + parameter Modelica.SIunits.Temperature TAirOut(fixed=false) + "Air outlet temperature at a rated condition"; + parameter Modelica.SIunits.Temperature TWatOut= + TWatIn - QTot_flow / cpWat / mWat_flow + "Water outlet temperature at a rated condition"; + parameter Modelica.SIunits.SpecificEnthalpy hAirIn = MediumA.specificEnthalpy_pTX( + p=MediumA.p_default, T=TAirIn, X={X_wAirIn, 1-X_wAirIn}) + "Enthalpy of incoming moist air at a rated condition"; + parameter MediumA.ThermodynamicState staAir=MediumA.setState_phX( + p=MediumA.p_default, h=hAirIn, X={X_wAirIn, 1-X_wAirIn}) + "Inlet air thermodynamic state"; + parameter Modelica.SIunits.SpecificHeatCapacity cpAir= + MediumA.specificHeatCapacityCp(staAir) + "Isobaric specific heat capacity of air"; + parameter Modelica.SIunits.SpecificEnthalpy hAirOut= + hAirIn + QTot_flow / mAir_flow + "Enthalpy of outgoing moist air at a rated condition"; + parameter Modelica.SIunits.SpecificEnthalpy hWatIn = MediumW.specificEnthalpy_pTX( + p=MediumW.p_default, T=TWatIn, X=MediumW.X_default) + "Enthalpy of incoming moist air at a rated condition"; + parameter MediumW.ThermodynamicState staWat=MediumW.setState_phX( + p=MediumW.p_default, h=hWatIn, X=MediumW.X_default) + "Inlet water thermodynamic state"; + parameter Modelica.SIunits.SpecificHeatCapacity cpWat= + MediumW.specificHeatCapacityCp(staWat) + "Isobaric specific heat capacity of water"; + parameter Modelica.SIunits.SpecificHeatCapacity cpEff(fixed=false, min= 0) + "Effective specific heat: change in saturated moist air enthalpy with respect to + temperature along the saturation line between inlet and outlet water temperatures"; + parameter Modelica.SIunits.SpecificEnthalpy LMED(fixed=false) + "Log mean enthalpy difference"; + parameter Modelica.SIunits.MassFlowRate UASta(fixed=false, min=0, start=1/(1/10+1/20)) + "Overall heat transfer coefficient for enthalpy difference"; + parameter Modelica.SIunits.ThermalConductance UAAir(min=0,start=10,fixed=false) + "Air side convective heat transfer coefficient, including fin resistance"; + parameter Modelica.SIunits.ThermalConductance UAWat(min=0,start=20,fixed=false) + "Water side convective heat transfer coefficient"; + parameter Boolean isFulDry(fixed=false) + "Indicator of the fully-dry coil regime"; + parameter Boolean isFulWet(fixed=false) + "Indicator of the fully-wet coil regime"; + parameter Modelica.SIunits.AbsolutePressure pSatTWatIn= + Buildings.Utilities.Psychrometrics.Functions.saturationPressure(TWatIn) + "Saturation pressure of water at the water inlet temperature"; + parameter Modelica.SIunits.MassFraction X_wSatTWatIn= + Buildings.Utilities.Psychrometrics.Functions.X_pSatpphi( + pSat=pSatTWatIn, p=MediumA.p_default, phi=1) + "Mass fraction of water in saturated moist air at the water inlet temperature"; + parameter Modelica.SIunits.SpecificEnthalpy hSatTWatIn= + Buildings.Media.Air.specificEnthalpy_pTX( + p=MediumA.p_default, T=TWatIn, X={X_wSatTWatIn,1-X_wSatTWatIn}) + "Enthalpy of saturated moist air at the water inlet temperature"; + parameter Modelica.SIunits.AbsolutePressure pSatTWatOut= + Buildings.Utilities.Psychrometrics.Functions.saturationPressure(TWatOut) + "Saturation pressure of water at the water oulet temperature"; + parameter Modelica.SIunits.MassFraction X_wSatTWatOut= + Buildings.Utilities.Psychrometrics.Functions.X_pSatpphi( + pSat=pSatTWatOut, p=MediumA.p_default, phi=1) + "Mass fraction of water in saturated moist air at the water outlet temperature"; + parameter Modelica.SIunits.SpecificEnthalpy hSatTWatOut= + Buildings.Media.Air.specificEnthalpy_pTX( + p=MediumA.p_default, T=TWatOut, X={X_wSatTWatOut,1-X_wSatTWatOut}) + "Enthalpy of saturated moist air at the water oulet temperature"; +initial equation + isFulDry = if use_Q_flow_nominal then (X_wSatTWatIn >= X_wAirIn) else true; + isFulWet = if use_Q_flow_nominal then (X_wSatTWatOut <= X_wAirIn) else true; + assert( + not use_Q_flow_nominal or + hAirOut >= hSatTWatIn and hAirIn >= hSatTWatOut or + hAirOut <= hSatTWatIn and hAirIn <= hSatTWatOut, + "In " + getInstanceName() + + ": The moist air enthalpy at the coil inlet or outlet is unrealistically low. " + + "Check the rated conditions."); + assert( + isFulDry or isFulWet, + "In " + getInstanceName() + + ": The nominal conditions correspond to a partially-wet coil regime. " + + "The modeling uncertainty under such conditions has not been assessed. " + + "Rather specify nominal conditions in fully-dry or fully-wet regime.", + level=AssertionLevel.warning); + if use_Q_flow_nominal then + if isFulDry then + TAirOut = TAirIn + QTot_flow / mAir_flow / cpAir; + LMED=Buildings.Fluid.HeatExchangers.BaseClasses.lmtd( + TWatIn, + TWatOut, + TAirIn, + TAirOut) / TUnit * hUnit; + QTot_flow=LMED*UASta; + cpEff = 0; + UA = UASta*cpUnit; + else //fully wet + // calculation of overall UAsta based on log mean enthalpy difference + LMED=Buildings.Fluid.HeatExchangers.BaseClasses.lmtd( + hSatTWatIn/hUnit*TUnit, + hSatTWatOut/hUnit*TUnit, + hAirIn/hUnit*TUnit, + hAirOut/hUnit*TUnit) / TUnit * hUnit; + QTot_flow=LMED*UASta; + cpEff= (hSatTWatOut-hSatTWatIn)/(TWatOut-TWatIn); + UASta = (UAAir/cpAir)/(1 + (cpEff*UAAir)/(cpAir*UAWat)); + // Dummy value. + TAirOut=MediumA.T_default; + end if; + else + // Dummy values. + TAirIn=MediumA.T_default; + TAirOut=MediumA.T_default; + X_wAirIn=MediumA.X_default[1]; + TWatIn=MediumA.T_default; + TWatOut=MediumA.T_default; + hAirIn=MediumA.h_default; + hAirOut=MediumA.h_default; + LMED=hUnit; + -QTot_flow=LMED*UASta; + cpEff= 0; + end if; + + UAWat = UAAir / r_nominal; + UA = 1/ (1/UAAir + 1/UAWat); + + annotation (Icon(coordinateSystem(preserveAspectRatio=false), + graphics={ + Rectangle( + extent={{100,-98},{-100,100}}, + lineColor={0,0,0}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid)}), Diagram( + coordinateSystem(preserveAspectRatio=false)), + Documentation(revisions=" + +", info=" +

+This model calculates the overall heat transfer coefficient, i.e., +UA-value, from cooling coil data at rated conditions. +

+

+The main limitation of the current implementation is that the rated +conditions should correspond to a fully-dry or a fully-wet coil regime. +The modeling uncertainty yielded by partially-wet rated conditions +has not been assessed yet. +

+")); +end WetCoilUARated; diff --git a/Buildings/Fluid/HeatExchangers/BaseClasses/WetCoilWetRegime.mo b/Buildings/Fluid/HeatExchangers/BaseClasses/WetCoilWetRegime.mo new file mode 100644 index 00000000000..f8044abf926 --- /dev/null +++ b/Buildings/Fluid/HeatExchangers/BaseClasses/WetCoilWetRegime.mo @@ -0,0 +1,265 @@ +within Buildings.Fluid.HeatExchangers.BaseClasses; +model WetCoilWetRegime + "Fully wet coil model using esilon_C.mo function" + constant Real cpEff0=2050 "Used for scaling"; + constant Real cpWat0=4200 "Used for scaling"; + parameter Real delta = 1E-3 "Small value used for smoothing"; + constant Modelica.SIunits.SpecificHeatCapacity cpDum=1 + "Dummy cp to eliminate the warning message of the unit mismatch when using the eps-NTU model for the wet coil"; + constant Modelica.SIunits.TemperatureDifference dTWat=0.1; + parameter Real tau=6*60 + "Time constant for the state estimation: introduced to avoid the algebraic loop of the wet coil equations"; + + // - water + input Modelica.SIunits.ThermalConductance UAWat + "UA for water side"; + input Modelica.SIunits.MassFlowRate mWat_flow + "Mass flow rate for water"; + input Modelica.SIunits.MassFlowRate mWatNonZer_flow + "None-zero Mass flow rate for water"; + input Modelica.SIunits.SpecificHeatCapacity cpWat + "Specific heat capacity of water"; + input Modelica.SIunits.Temperature TWatIn + "Water temperature at inlet"; + input Modelica.SIunits.MassFlowRate mWat_flow_nominal; + // -- air + input Modelica.SIunits.Pressure pAir + "Pressure on air-side of coil"; + input Modelica.SIunits.ThermalConductance UAAir + "UA for air side"; + input Modelica.SIunits.MassFlowRate mAir_flow + "Mass flow rate of air"; + input Modelica.SIunits.MassFlowRate mAirNonZer_flow + "None-zero Mass flow rate for water"; + input Modelica.SIunits.SpecificHeatCapacity cpAir + "Specific heat capacity of moist air at constant pressure"; + input Modelica.SIunits.Temperature TAirIn + "Temperature of air at inlet"; + input Modelica.SIunits.MassFraction X_wAirIn + "Mass fraction of water in moist air at inlet"; + input Buildings.Fluid.Types.HeatExchangerFlowRegime cfg + "The configuration of the heat exchanger"; + input Modelica.SIunits.MassFlowRate mAir_flow_nominal; + + Modelica.SIunits.SpecificEnthalpy hAirIn + "Specific enthalpy of air at inlet conditions"; + Buildings.Utilities.Psychrometrics.hSat_pTSat hSatWatInM(p=pAir,TSat=TWatIn) + "Model to calculate saturated specific enthalpy of air at water inlet temperature"; + Modelica.SIunits.SpecificEnthalpy hSatWatIn + "Saturated specific enthalpy of air at water inlet temperature"; + + Buildings.Utilities.Psychrometrics.hSat_pTSat hSatWatIn_dT_M(p=pAir,TSat=TWatIn+dTWat) + "Model to calculate derivative of saturated specific enthalpy of air at water inlet temperature"; + Modelica.SIunits.SpecificHeatCapacity dhSatdTWatIn + "Deriviative of saturated moist air enthalpy at water inlet temperature"; + Real NonZerDelWatTem + "Regularization water temperature difference betwee inlet and outlet"; + + + Modelica.SIunits.SpecificEnthalpy hAirOut + "Specific enthalpy of moist air at the air outlet"; + Buildings.Utilities.Psychrometrics.hSat_pTSat hSatWatOutM(p=pAir,TSat=TWatOutEst) + "Model to calculate saturated specific enthalpy of air at water outlet temperature"; + Modelica.SIunits.SpecificEnthalpy hSatWatOut + "Saturated specific enthalpy of air at water outlet temperature"; + + Modelica.SIunits.Temperature TSurEff + "Effective surface temperature of the coil to split sensible and latent heat from total heat transfer rate"; + + Modelica.SIunits.SpecificEnthalpy hSatSurEff + "Enthalpy of saturated moist air at the effective surface temperature"; + + Buildings.Utilities.Psychrometrics.hSat_pTSat hSatSurEffM(p=pAir,TSat=TSurEff) + "An object to calculate the saturated enthalpy of moist air at the coil surface temperature"; + Buildings.Utilities.Psychrometrics.hSat_pTSat hSatSurEffMinM(p=pAir,TSat=273.15+1) + "An object to calculate a lower bound of the saturated enthalpy of moist + air at the coil surface temperature"; + + Modelica.SIunits.SpecificHeatCapacity cpEff + "Effective specific heat: change in enthalpy with respect to temperature + along the saturation line at the local water temperature"; + + + Modelica.SIunits.MassFlowRate UASta + "Overall mass transfer coefficient for dry coil"; + + Real NTUAirSta(unit="1") + "Number of transfer units for air-side only (NTU_a*)"; + + Real epsSta(start=0.66, unit="1") + "Effectiveness for heat exchanger (e*)"; + + Modelica.SIunits.MassFlowRate CStaMin + "Min of product of mass flow rates and specific heats; analogous to Cmin"; + + Modelica.SIunits.MassFlowRate CStaMin_flow_nominal= min( + mAir_flow_nominal,mWat_flow_nominal*cpEff0/cpWat0) + "Analogus to CMin_flow_nominal, only for a regularization"; + Modelica.SIunits.MassFlowRate CStaMax_flow_nominal= max( + mAir_flow_nominal,mWat_flow_nominal*cpEff0/cpWat0) + "Analogus to CMax_flow_nominal, only for a regularization"; + Modelica.SIunits.MassFlowRate deltaCStaMin=delta*min( + mAir_flow_nominal,mWat_flow_nominal*cpEff0/cpWat0) + "Min of product of mass flow rates and specific heats, analogous to Cmin"; + Modelica.SIunits.Temperature TWatOutEst + "State_estimation of Temperature of water at outlet"; + + output Modelica.SIunits.HeatFlowRate QTot_flow + "Total heat flow from water to air stream"; + output Modelica.SIunits.HeatFlowRate QSen_flow + "Sensible heat flow from water to air stream"; + output Modelica.SIunits.Temperature TWatOut + "Temperature at the water outlet"; + output Modelica.SIunits.Temperature TSurAirIn + "Coil surface temperature at the air inlet"; + output Modelica.SIunits.Temperature TAirOut + "Temperature at the air outlet"; +initial equation + TWatOutEst=0.5*(TWatIn+ TAirIn); + +equation + + hAirIn=Buildings.Media.Air.specificEnthalpy_pTX(p=pAir,T=TAirIn,X={X_wAirIn,1-X_wAirIn}); + hSatWatIn=hSatWatInM.hSat; + dhSatdTWatIn=(hSatWatIn_dT_M.hSat-hSatWatInM.hSat)/dTWat; // dTWat is a parameter + hSatWatOut= hSatWatOutM.hSat; + NonZerDelWatTem=Buildings.Utilities.Math.Functions.regNonZeroPower(x=TWatOutEst-TWatIn,n=1,delta=0.1); + cpEff = Buildings.Utilities.Math.Functions.smoothMax( + (hSatWatOut - hSatWatIn)/NonZerDelWatTem, + dhSatdTWatIn, + cpEff0*delta); + + CStaMin=Buildings.Utilities.Math.Functions.smoothMin( + mAir_flow, + mWat_flow*cpWat/cpEff, + deltaCStaMin/4); + + UASta = (UAAir/cpAir)/(1 + (cpEff*UAAir)/(cpAir*UAWat)); + + epsSta=epsilon_C( + UA=UASta*cpDum, + C1_flow=mWat_flow*cpWat/cpEff*cpDum, + C2_flow=mAir_flow*cpDum, + flowRegime=Integer(cfg), + CMin_flow_nominal=CStaMin_flow_nominal*cpDum, + CMax_flow_nominal=CStaMax_flow_nominal*cpDum, + delta=delta); + + QTot_flow = epsSta*CStaMin*(hAirIn - hSatWatIn); + + QTot_flow = mAir_flow*(hAirIn- hAirOut); + QTot_flow = mWat_flow*cpWat*(TWatOut-TWatIn); + + NTUAirSta = UAAir/(mAir_flow*cpAir); + + hSatSurEff = Buildings.Utilities.Math.Functions.smoothMax( + x1 = hSatSurEffMinM.hSat, + x2 = hAirIn +(hAirOut - hAirIn) / (1 - exp(-NTUAirSta)), + deltaX = delta*1E4); // NTUAirSta is bounded as long as UAAir>0 due to the regularization of mAir_flow + + hSatSurEffM.hSat=hSatSurEff; + TAirOut = TSurEff +(TAirIn - TSurEff)*exp(-NTUAirSta); + QSen_flow= Buildings.Utilities.Math.Functions.smoothMin( + x1 = mAir_flow*cpAir*(TAirIn-TAirOut), + x2 = QTot_flow, + deltaX = delta*mWatNonZer_flow*cpWat0*5); // the last term is only for regularization with DTWater=5oC + + (TAirIn-TSurAirIn)*UAAir=(TSurAirIn-TWatOut)*UAWat; + der(TWatOutEst)=-1/tau*TWatOutEst+1/tau*TWatOut; + +annotation (Icon(graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={28,108,200}, + fillColor={170,213,255}, + fillPattern=FillPattern.Solid)}), Documentation(revisions=" + +", info=" +

+This model implements the calculation for a 100% wet coil. +

+

+The equations from Braun (1988) and Mitchell and Braun (2012a and b), +which are essentially the extension of the ε-NTU approach to +simultaneous sensible and latent heat transfer, are utilized. +

+

+The mathematical equations are analogous to that of the sensible heat exchanger. +However, the key distinction is from that the heat transfer is driven by an enthalpy difference +not by an temperature difference. This change in the driving potential results in re-defining +capacitances and heat transfer coefficients accordinlgy. +

+ +

+The total heat transfer rate is expressed as +

+

+ Qtot=ε* C*min +(hair,in-hsat(Twat,in)), +

+

+where ε*=f(Cr*,NTU*) and f is the same ε-NTU relationships +(depending on the heat exchanger configuration) for the sensible heat exchanger. +

+

+hair,in and hsat(Twat,in) are +the specific enthalpies of the incoming moist air and saturated moist air +at the water inlet temperature. +

+

+The capacitances of water and air streams are defined as +

+

C*air=mair and +C*wat=mwatcp,wat/csat, +

+

+where csat is an specific heat capacity, which indicates the sensitivity +of the enthalpy of the staturated moist air w.r.t. the temperature, and is defined +here as csat=(hsat(Twat,out)-hsat(Twat,in)) +/(Twat,out-Twat,in). +

+

+The capacitance ratio and minimum capacitance are naturally defined as +

+

Cr*=min(C*air,C*wat)/max(C*air,C*wat) +and C*min=min(C*air,C*wat). +

+


+The number of transfer unit for the wet-coil is defined as NTU*=UA*/C*min, where +

+

+UA*=1/(1/(UAair/cp,air)+1/(UAwat/csat). +

+ +

References

+

+Braun, James E. 1988. +"Methodologies for the Design and Control of Central Cooling Plants". +PhD Thesis. University of Wisconsin - Madison. +Available + +online. +

+

+Mitchell, John W., and James E. Braun. 2012a. +Principles of heating, ventilation, and air conditioning in buildings. +Hoboken, N.J.: Wiley. +

+

+Mitchell, John W., and James E. Braun. 2012b. +"Supplementary Material Chapter 2: Heat Exchangers for Cooling Applications". +Excerpt from Principles of heating, ventilation, and air conditioning in buildings. +Hoboken, N.J.: Wiley. +Available + +online. +

+")); +end WetCoilWetRegime; diff --git a/Buildings/Fluid/HeatExchangers/BaseClasses/determineWaterIndex.mo b/Buildings/Fluid/HeatExchangers/BaseClasses/determineWaterIndex.mo new file mode 100644 index 00000000000..d5c7afacc98 --- /dev/null +++ b/Buildings/Fluid/HeatExchangers/BaseClasses/determineWaterIndex.mo @@ -0,0 +1,49 @@ +within Buildings.Fluid.HeatExchangers.BaseClasses; +function determineWaterIndex + "Determine the index of water in a 2-component medium model" + input String[:] substanceNames "Names of substances of media"; + output Integer idxWat "Index of water"; +protected + Boolean found(fixed=false) "Flag, used for error checking"; + Integer N = size(substanceNames, 1) "Number of substances"; +algorithm + found:=false; + idxWat := 1; + for i in 1:N loop + if Modelica.Utilities.Strings.isEqual( + string1=substanceNames[i], + string2="water", + caseSensitive=false) then + idxWat := i; + found := true; + end if; + end for; + assert(found, + "Did not find medium species 'water' in the medium model. " + + "Change medium model."); + annotation (Documentation(revisions=" + +", info=" +

+Given an array of strings representing substance names, this function returns +the integer index of the substance named \"water\" (case-insensitive). +

+ +

+This function is useful to automate lookup up the index of water within a media +so as to avoid hard-coding or guessing what the index will be. Typically, this +function would be run once at initialization time. +

+")); +end determineWaterIndex; diff --git a/Buildings/Fluid/HeatExchangers/BaseClasses/package.order b/Buildings/Fluid/HeatExchangers/BaseClasses/package.order index 3dfbd5d39be..aced07a5558 100644 --- a/Buildings/Fluid/HeatExchangers/BaseClasses/package.order +++ b/Buildings/Fluid/HeatExchangers/BaseClasses/package.order @@ -20,6 +20,11 @@ PipeManifoldFixedResistance PipeManifoldFlowDistributor PipeManifoldNoResistance RayleighNumber +WetCoilDryRegime +WetCoilDryWetRegime +WetCoilUARated +WetCoilWetRegime +determineWaterIndex dynamicViscosityWater epsilon_C epsilon_ntuZ diff --git a/Buildings/Fluid/HeatExchangers/Examples/WetCoilEffectivenessNTUMassFlow.mo b/Buildings/Fluid/HeatExchangers/Examples/WetCoilEffectivenessNTUMassFlow.mo new file mode 100644 index 00000000000..4f03b14ab56 --- /dev/null +++ b/Buildings/Fluid/HeatExchangers/Examples/WetCoilEffectivenessNTUMassFlow.mo @@ -0,0 +1,85 @@ +within Buildings.Fluid.HeatExchangers.Examples; +model WetCoilEffectivenessNTUMassFlow + "Model that tests the wet coil effectiveness-NTU model with variable mass flow rates" + extends Modelica.Icons.Example; + extends + Buildings.Fluid.HeatExchangers.Examples.BaseClasses.EffectivenessNTUMassFlow( + sou_1(nPorts=1), + sin_1(nPorts=1), + sou_2(nPorts=1), + sin_2(nPorts=1)); + + Buildings.Fluid.HeatExchangers.WetCoilEffectivenessNTU hex( + redeclare package Medium1 = Medium1, + redeclare package Medium2 = Medium2, + m1_flow_nominal=m1_flow_nominal, + m2_flow_nominal=m2_flow_nominal, + dp2_nominal(displayUnit="Pa") = 200, + dp1_nominal(displayUnit="Pa") = 3000, + UA_nominal=Q_flow_nominal/Buildings.Fluid.HeatExchangers.BaseClasses.lmtd( + T_a1_nominal, + T_b1_nominal, + T_a2_nominal, + T_b2_nominal), + show_T=true, + energyDynamics=Modelica.Fluid.Types.Dynamics.SteadyState) + "Heat exchanger" + annotation (Placement(transformation(extent={{80,20},{100,40}}))); + + Sensors.RelativeHumidityTwoPort senRelHum( + redeclare package Medium = Medium2, + m_flow_nominal=m2_flow_nominal) + "Relative humidity sensor" + annotation (Placement(transformation(extent={{60,14},{40,34}}))); + +equation + connect(sou_1.ports[1], hex.port_a1) annotation (Line( + points={{18,62},{60,62},{60,36},{80,36}}, + color={0,127,255}, + smooth=Smooth.None)); + connect(hex.port_b1, sin_1.ports[1]) annotation (Line( + points={{100,36},{108,36},{108,60},{120,60}}, + color={0,127,255}, + smooth=Smooth.None)); + connect(hex.port_a2, sou_2.ports[1]) annotation (Line( + points={{100,24},{118,24}}, + color={0,127,255}, + smooth=Smooth.None)); + connect(hex.port_b2, senRelHum.port_a) annotation (Line( + points={{80,24},{60,24}}, + color={0,127,255}, + smooth=Smooth.None)); + connect(senRelHum.port_b, sin_2.ports[1]) annotation (Line( + points={{40,24},{20,24}}, + color={0,127,255}, + smooth=Smooth.None)); + annotation ( + experiment(Tolerance=1E-6, StopTime=3600), + __Dymola_Commands( + file="modelica://Buildings/Resources/Scripts/Dymola/Fluid/HeatExchangers/Examples/WetCoilEffectivenessNTUMassFlow.mos" + "Simulate and plot"), + Diagram(coordinateSystem(preserveAspectRatio=true, + extent={{-100, -100},{200,200}})), + Documentation(revisions=" + +", info=" +

+This example is similar to + +Buildings.Fluid.HeatExchangers.Examples.WetCoilCounterFlowMassFlow +except that the coil model + +Buildings.Fluid.HeatExchangers.WetCoilCounterFlow +is replaced here by + +Buildings.Fluid.HeatExchangers.WetCoilEffectivenessNTU. +

+")); +end WetCoilEffectivenessNTUMassFlow; diff --git a/Buildings/Fluid/HeatExchangers/Examples/package.order b/Buildings/Fluid/HeatExchangers/Examples/package.order index ea588a6a00b..2ad9a3f6d95 100644 --- a/Buildings/Fluid/HeatExchangers/Examples/package.order +++ b/Buildings/Fluid/HeatExchangers/Examples/package.order @@ -14,4 +14,5 @@ WetCoilCounterFlowMassFlow WetCoilCounterFlowPControl WetCoilDiscretizedMassFlow WetCoilDiscretizedPControl +WetCoilEffectivenessNTUMassFlow BaseClasses diff --git a/Buildings/Fluid/HeatExchangers/Validation/WetCoilEffectivenessNTU.mo b/Buildings/Fluid/HeatExchangers/Validation/WetCoilEffectivenessNTU.mo new file mode 100644 index 00000000000..641a63f48be --- /dev/null +++ b/Buildings/Fluid/HeatExchangers/Validation/WetCoilEffectivenessNTU.mo @@ -0,0 +1,305 @@ +within Buildings.Fluid.HeatExchangers.Validation; +model WetCoilEffectivenessNTU + "Model that validates the wet coil effectiveness-NTU model" + extends Modelica.Icons.Example; + + package Medium_W = Buildings.Media.Water; + package Medium_A = Buildings.Media.Air; + + constant Modelica.SIunits.AbsolutePressure pAtm = 101325 + "Atmospheric pressure"; + + parameter Modelica.SIunits.Temperature T_a1_nominal= + Modelica.SIunits.Conversions.from_degF(42) + "Inlet water temperature"; + parameter Modelica.SIunits.Temperature T_a2_nominal= + Modelica.SIunits.Conversions.from_degF(80) + "Inlet air temperature"; + parameter Modelica.SIunits.Temperature T_b1_nominal= + 273.15+11.0678 + "Outlet water temperature in fully wet conditions"; + parameter Modelica.SIunits.Temperature T_b2_nominal= + 273.15+13.5805 + "Outlet air temperature in fully wet conditions"; + final parameter Modelica.SIunits.HeatFlowRate Q_flow_nominal= + m1_flow_nominal * 4186 * (T_a1_nominal - T_b1_nominal); + parameter Real X_w_a2_nominal = 0.0173 + "Inlet water mass fraction in fully wet conditions"; + parameter Modelica.SIunits.ThermalConductance UA_nominal = 4748 + "Total thermal conductance at nominal flow, from textbook"; + parameter Modelica.SIunits.MassFlowRate m1_flow_nominal = 3.78 + "Nominal mass flow rate of water"; + parameter Modelica.SIunits.MassFlowRate m2_flow_nominal = 2.646 + "Nominal mass flow rate of air"; + parameter Types.HeatExchangerConfiguration hexCon= + Types.HeatExchangerConfiguration.CounterFlow + "Heat exchanger configuration"; + Buildings.Fluid.Sources.Boundary_pT sinAir( + redeclare package Medium = Medium_A, + use_p_in=false, + nPorts=3) + "Air sink" + annotation (Placement(transformation(extent={{-180,-72},{-160,-52}}))); + Sources.MassFlowSource_T souAir( + redeclare package Medium = Medium_A, + m_flow=m2_flow_nominal, + T=T_a2_nominal, + use_Xi_in=true, + nPorts=1) + "Air source" + annotation (Placement(transformation(extent={{140,-70},{120,-50}}))); + Buildings.Fluid.Sources.Boundary_pT sinWat( + redeclare package Medium = Medium_W, + nPorts=3) + "Sink for water" + annotation (Placement(transformation(extent={{50,10},{30,30}}))); + Buildings.Utilities.Psychrometrics.ToTotalAir conversion + annotation (Placement(transformation(extent={{190,-90},{170,-70}}))); + Sensors.RelativeHumidityTwoPort relHumIn(redeclare package Medium = Medium_A, + m_flow_nominal=m2_flow_nominal) "Inlet relative humidity" + annotation (Placement(transformation(extent={{40,-70},{20,-50}}))); + Sensors.TemperatureTwoPort TDryBulIn(redeclare package Medium = Medium_A, + m_flow_nominal=m2_flow_nominal) "Inlet dry bulb temperature" + annotation (Placement(transformation(extent={{70,-70},{50,-50}}))); + Modelica.Blocks.Sources.RealExpression pAir(y=pAtm) "Air pressure" + annotation (Placement(transformation(extent={{140,-42},{120,-18}}))); + Buildings.Utilities.Psychrometrics.TWetBul_TDryBulXi wetBulIn(redeclare + package Medium = Medium_A) "Computation of wet bulb temperature" + annotation (Placement(transformation(extent={{120,-10},{140,10}}))); + Sensors.MassFractionTwoPort senMasFraIn(redeclare package Medium = Medium_A, + m_flow_nominal=m2_flow_nominal) "Water mass fraction of entering air" + annotation (Placement(transformation(extent={{110,-70},{90,-50}}))); + Sensors.MassFractionTwoPort senMasFraOut(redeclare package Medium = Medium_A, + m_flow_nominal=m2_flow_nominal) "Water mass fraction of leaving air" + annotation (Placement(transformation(extent={{-110,-10},{-130,10}}))); + Sensors.TemperatureTwoPort TDryBulOut(redeclare package Medium = Medium_A, + m_flow_nominal=m2_flow_nominal) "Dry bulb temperature of leaving air" + annotation (Placement(transformation(extent={{-50,-10},{-70,10}}))); + Buildings.Utilities.Psychrometrics.TWetBul_TDryBulXi wetBulOut(redeclare + package Medium = Medium_A) "Computation of wet bulb temperature" + annotation (Placement(transformation(extent={{-40,-90},{-20,-70}}))); + Modelica.Blocks.Sources.RealExpression pAir1(y=pAtm) "Air pressure" + annotation (Placement(transformation(extent={{-100,-112},{-80,-88}}))); + Buildings.Fluid.HeatExchangers.WetCoilEffectivenessNTU hexWetNTU( + redeclare package Medium1 = Medium_W, + redeclare package Medium2 = Medium_A, + UA_nominal=UA_nominal, + m1_flow_nominal=m1_flow_nominal, + m2_flow_nominal=m2_flow_nominal, + dp2_nominal=0, + dp1_nominal=0, + configuration=hexCon, + show_T=true) "Effectiveness-NTU coil model (parameterized with nominal UA)" + annotation (Placement(transformation(extent={{-30,4},{-10,24}}))); + Sources.MassFlowSource_T souWat1( + redeclare package Medium = Medium_W, + m_flow=m1_flow_nominal, + T=T_a1_nominal, + nPorts=1) + "Source for water" + annotation (Placement(transformation(extent={{-180,10},{-160,30}}))); + WetCoilCounterFlow hexDis( + redeclare package Medium1 = Medium_W, + redeclare package Medium2 = Medium_A, + m1_flow_nominal=m1_flow_nominal, + m2_flow_nominal=m2_flow_nominal, + dp2_nominal=0, + allowFlowReversal1=false, + allowFlowReversal2=false, + dp1_nominal=0, + UA_nominal=UA_nominal, + show_T=true, + nEle=30, + energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial, + tau1=0.1, + tau2=0.1, + tau_m=0.1) + "Discretized coil model" + annotation (Placement(transformation(extent={{-30,56},{-10,76}}))); + Sources.MassFlowSource_T souWat( + redeclare package Medium = Medium_W, + m_flow=m1_flow_nominal, + T=T_a1_nominal, + nPorts=1) "Source for water" + annotation (Placement(transformation(extent={{-180,70},{-160,90}}))); + Sources.MassFlowSource_T souAir2( + redeclare package Medium = Medium_A, + m_flow=m2_flow_nominal, + T=T_a2_nominal, + use_Xi_in=true, + nPorts=1) + "Air source" + annotation (Placement(transformation(extent={{140,30},{120,50}}))); + Sensors.MassFractionTwoPort senMasFraOut1(redeclare package Medium = Medium_A, + m_flow_nominal=m2_flow_nominal) "Water mass fraction of leaving air" + annotation (Placement(transformation(extent={{-110,50},{-130,70}}))); + Sensors.TemperatureTwoPort TDryBulOut1(redeclare package Medium = Medium_A, + m_flow_nominal=m2_flow_nominal) "Dry bulb temperature of leaving air" + annotation (Placement(transformation(extent={{-50,50},{-70,70}}))); + Sensors.RelativeHumidityTwoPort relHumOut_eps(redeclare package Medium = + Medium_A, m_flow_nominal=m2_flow_nominal) "Outlet relative humidity" + annotation (Placement(transformation(extent={{-80,-10},{-100,10}}))); + Sensors.RelativeHumidityTwoPort relHumOut_dis(redeclare package Medium = + Medium_A, m_flow_nominal=m2_flow_nominal) "Outlet relative humidity" + annotation (Placement(transformation(extent={{-80,50},{-100,70}}))); + Buildings.Fluid.HeatExchangers.WetCoilEffectivenessNTU hexWetNTU_TX( + redeclare package Medium1 = Medium_W, + redeclare package Medium2 = Medium_A, + use_Q_flow_nominal=true, + Q_flow_nominal=Q_flow_nominal, + T_a2_nominal=T_a2_nominal, + w_a2_nominal=X_w_a2_nominal/(1 - X_w_a2_nominal), + T_a1_nominal=T_a1_nominal, + m1_flow_nominal=m1_flow_nominal, + m2_flow_nominal=m2_flow_nominal, + dp2_nominal=0, + dp1_nominal=0, + configuration=hexCon, + show_T=true) + "Effectiveness-NTU coil model (parameterized with nominal T and X)" + annotation (Placement(transformation(extent={{-30,-44},{-10,-24}}))); + Sources.MassFlowSource_T souAir1( + redeclare package Medium = Medium_A, + m_flow=m2_flow_nominal, + T=T_a2_nominal, + use_Xi_in=true, + nPorts=1) + "Air source" + annotation (Placement(transformation(extent={{140,-110},{120,-90}}))); + Sources.MassFlowSource_T souWat2( + redeclare package Medium = Medium_W, + m_flow=m1_flow_nominal, + T=T_a1_nominal, + nPorts=1) + "Source for water" + annotation (Placement(transformation(extent={{-180,-30},{-160,-10}}))); + Modelica.Blocks.Sources.CombiTimeTable w_a2(table=[0,0.0035383; 1,0.01765], + timeScale=1000) + "Absolute humidity of entering air" + annotation (Placement(transformation(extent={{196,-34},{176,-14}}))); +equation + connect(pAir.y, wetBulIn.p) annotation (Line(points={{119,-30},{112,-30},{112, + -8},{119,-8}}, color={0,0,127})); + connect(pAir1.y, wetBulOut.p) annotation (Line(points={{-79,-100},{-50,-100}, + {-50,-88},{-41,-88}}, + color={0,0,127})); + connect(senMasFraOut.port_b, sinAir.ports[1]) + annotation (Line(points={{-130,0},{-140,0},{-140,-59.3333},{-160,-59.3333}}, + color={0,127,255})); + connect(TDryBulOut.T, wetBulOut.TDryBul) + annotation (Line(points={{-60,11},{-60,14},{-44,14},{-44,-72},{-41,-72}}, + color={0,0,127})); + connect(senMasFraOut.X, wetBulOut.Xi[1]) annotation (Line(points={{-120,11},{ + -120,14},{-134,14},{-134,-80},{-41,-80}}, color={0,0,127})); + connect(souAir.ports[1], senMasFraIn.port_a) + annotation (Line(points={{120,-60},{110,-60}}, color={0,127,255})); + connect(senMasFraIn.port_b, TDryBulIn.port_a) + annotation (Line(points={{90,-60},{70,-60}}, color={0,127,255})); + connect(senMasFraIn.X, wetBulIn.Xi[1]) + annotation (Line(points={{100,-49},{100,0},{119,0}}, color={0,0,127})); + connect(TDryBulIn.T, wetBulIn.TDryBul) + annotation (Line(points={{60,-49},{60,8},{119,8}}, color={0,0,127})); + connect(TDryBulIn.port_b, relHumIn.port_a) + annotation (Line(points={{50,-60},{40,-60}}, color={0,127,255})); + connect(souWat1.ports[1], hexWetNTU.port_a1) annotation (Line(points={{-160,20}, + {-30,20}}, color={0,127,255})); + connect(hexWetNTU.port_b1, sinWat.ports[1]) annotation (Line(points={{-10,20}, + {16,20},{16,22.6667},{30,22.6667}}, + color={0,127,255})); + connect(souWat.ports[1], hexDis.port_a1) annotation (Line(points={{-160,80},{-40, + 80},{-40,72},{-30,72}}, color={0,127,255})); + connect(hexDis.port_b1, sinWat.ports[2]) annotation (Line(points={{-10,72},{20, + 72},{20,20},{30,20}}, color={0,127,255})); + connect(souAir2.ports[1], hexDis.port_a2) annotation (Line(points={{120,40},{ + 0,40},{0,60},{-10,60}}, color={0,127,255})); + connect(hexWetNTU.port_b2, TDryBulOut.port_a) annotation (Line(points={{-30,8}, + {-40,8},{-40,0},{-50,0}}, color={0,127,255})); + connect(hexWetNTU.port_a2, relHumIn.port_b) annotation (Line(points={{-10,8}, + {10,8},{10,-60},{20,-60}}, + color={0,127,255})); + connect(hexDis.port_b2, TDryBulOut1.port_a) + annotation (Line(points={{-30,60},{-50,60}}, color={0,127,255})); + connect(senMasFraOut1.port_b, sinAir.ports[2]) annotation (Line(points={{-130,60}, + {-150,60},{-150,-62},{-160,-62}}, color={0,127,255})); + connect(TDryBulOut.port_b, relHumOut_eps.port_a) annotation (Line(points={{ + -70,0},{-76,0},{-76,0},{-80,0}}, color={0,127,255})); + connect(relHumOut_eps.port_b, senMasFraOut.port_a) + annotation (Line(points={{-100,0},{-110,0}}, color={0,127,255})); + connect(TDryBulOut1.port_b, relHumOut_dis.port_a) + annotation (Line(points={{-70,60},{-80,60}}, color={0,127,255})); + connect(relHumOut_dis.port_b, senMasFraOut1.port_a) + annotation (Line(points={{-100,60},{-110,60}}, color={0,127,255})); + connect(hexWetNTU_TX.port_b1, sinWat.ports[3]) annotation (Line(points={{-10,-28}, + {20,-28},{20,17.3333},{30,17.3333}}, color={0,127,255})); + connect(souAir1.ports[1], hexWetNTU_TX.port_a2) annotation (Line(points={{120, + -100},{0,-100},{0,-40},{-10,-40}}, color={0,127,255})); + connect(sinAir.ports[3], hexWetNTU_TX.port_b2) annotation (Line(points={{-160, + -64.6667},{-150,-64.6667},{-150,-64},{-138,-64},{-138,-40},{-30,-40}}, + color={0,127,255})); + connect(souWat2.ports[1], hexWetNTU_TX.port_a1) annotation (Line(points={{-160, + -20},{-40,-20},{-40,-28},{-30,-28}}, color={0,127,255})); + connect(w_a2.y[1], conversion.XiDry) annotation (Line(points={{175,-24},{172, + -24},{172,-50},{196,-50},{196,-80},{191,-80}}, color={0,0,127})); + connect(conversion.XiTotalAir, souAir.Xi_in[1]) annotation (Line(points={{169, + -80},{158,-80},{158,-64},{142,-64}}, color={0,0,127})); + connect(conversion.XiTotalAir, souAir1.Xi_in[1]) annotation (Line(points={{ + 169,-80},{154,-80},{154,-104},{142,-104}}, color={0,0,127})); + connect(conversion.XiTotalAir, souAir2.Xi_in[1]) annotation (Line(points={{ + 169,-80},{158,-80},{158,36},{142,36}}, color={0,0,127})); + annotation (Diagram(coordinateSystem(preserveAspectRatio=true, + extent={{-200,-120},{200,120}})), + experiment( + StopTime=1000, + Tolerance=1e-06), + __Dymola_Commands( + file="Resources/Scripts/Dymola/Fluid/HeatExchangers/Validation/WetCoilEffectivenessNTU.mos" + "Simulate and plot"), + Documentation(info=" +

+This model duplicates an example from Mitchell and Braun 2012, example SM-2-1 +(Mitchell and Braun 2012) to validate a single case for the + +Buildings.Fluid.HeatExchangers.WetCoilEffectivenessNTU +model. +

+

Validation

+

+The example simulates a wet coil with constant air +and water inlet temperature and mass flow rate, and an increasing air inlet +humidity which triggers the transition from a fully-dry to a fully-wet regime. +The reference used for validation is the published experimental data. +A discretized wet coil model is also simulated for comparison. +To provide an accurate reference, the latter model is configured with 30 elements. +Under steady-state modeling assumptions, this creates a large system of +non-linear equations. To alleviate this effect, dynamics are considered but +the simulation time is increased to 1000 s to reproduce quasi steady-state +conditions. +

+

+Note that the outlet air relative humidity may slightly exceed 100% when using +the epsilon-NTU model. +

+

References

+

+Mitchell, John W., and James E. Braun. 2012. +\"Supplementary Material Chapter 2: Heat Exchangers for Cooling Applications\". +Excerpt from Principles of heating, ventilation, and air conditioning in buildings. +Hoboken, N.J.: Wiley. Available online: + +http://bcs.wiley.com/he-bcs/Books?action=index&itemId=0470624574&bcsId=7185 +

+", revisions=" + +")); +end WetCoilEffectivenessNTU; diff --git a/Buildings/Fluid/HeatExchangers/Validation/WetCoilEffectivenessNTUHeating.mo b/Buildings/Fluid/HeatExchangers/Validation/WetCoilEffectivenessNTUHeating.mo new file mode 100644 index 00000000000..92cd738a20b --- /dev/null +++ b/Buildings/Fluid/HeatExchangers/Validation/WetCoilEffectivenessNTUHeating.mo @@ -0,0 +1,296 @@ +within Buildings.Fluid.HeatExchangers.Validation; +model WetCoilEffectivenessNTUHeating + "Model that validates the wet coil effectiveness-NTU model in heating conditions" + extends Modelica.Icons.Example; + + package Medium_W = Buildings.Media.Water; + package Medium_A = Buildings.Media.Air; + + constant Modelica.SIunits.AbsolutePressure pAtm = 101325 + "Atmospheric pressure"; + + parameter Modelica.SIunits.Temperature T_a1_nominal=50+273.15 + "Inlet water temperature"; + + parameter Modelica.SIunits.Temperature T_b1_nominal=45+273.15 + "Outlet water temperature"; + + parameter Modelica.SIunits.Temperature T_a2_nominal=273.15 + "Inlet air temperature"; + + final parameter Modelica.SIunits.Temperature T_b2_nominal= + T_a2_nominal + Q_flow_nominal / m2_flow_nominal / 1010 + "Outlet air temperature"; + + final parameter Modelica.SIunits.ThermalConductance CMin_flow_nominal= + min(m1_flow_nominal * 4186, m2_flow_nominal * 1010) + "Minimal capacity flow rate at nominal condition"; + + final parameter Modelica.SIunits.ThermalConductance CMax_flow_nominal= + max(m1_flow_nominal * 4186, m2_flow_nominal * 1010) + "Minimal capacity flow rate at nominal condition"; + + final parameter Modelica.SIunits.HeatFlowRate Q_flow_nominal= + m1_flow_nominal * 4186 * (T_a1_nominal - T_b1_nominal); + + final parameter Real eps_nominal= + abs(Q_flow_nominal/((T_a1_nominal - T_a2_nominal) * CMin_flow_nominal)) + "Nominal effectiveness"; + + parameter Modelica.SIunits.ThermalConductance UA_nominal= + Buildings.Fluid.HeatExchangers.BaseClasses.ntu_epsilonZ( + eps=eps_nominal, + Z=CMin_flow_nominal/CMax_flow_nominal, + flowRegime=Integer(hexCon)) * CMin_flow_nominal + "Total thermal conductance at nominal flow"; + + parameter Modelica.SIunits.MassFlowRate m1_flow_nominal = 3.78 + "Nominal mass flow rate of water"; + parameter Modelica.SIunits.MassFlowRate m2_flow_nominal = 2.646 + "Nominal mass flow rate of air"; + parameter Types.HeatExchangerConfiguration hexCon= + Types.HeatExchangerConfiguration.CounterFlow + "Heat exchanger configuration"; + Buildings.Fluid.Sources.Boundary_pT sinAir( + redeclare package Medium = Medium_A, + use_p_in=false, + nPorts=3) + "Air sink" + annotation (Placement(transformation(extent={{-180,-68},{-160,-48}}))); + Sources.MassFlowSource_T souAir( + redeclare package Medium = Medium_A, + m_flow=m2_flow_nominal, + use_T_in=true, + T=T_a2_nominal, + nPorts=1) + "Air source" + annotation (Placement(transformation(extent={{140,-10},{120,10}}))); + Buildings.Fluid.Sources.Boundary_pT sinWat( + redeclare package Medium = Medium_W, + nPorts=3) + "Sink for water" + annotation (Placement(transformation(extent={{82,30},{62,50}}))); + Sensors.RelativeHumidityTwoPort relHumIn(redeclare package Medium = Medium_A, + m_flow_nominal=m2_flow_nominal) "Inlet relative humidity" + annotation (Placement(transformation(extent={{40,-10},{20,10}}))); + Sensors.TemperatureTwoPort TDryBulIn(redeclare package Medium = Medium_A, + m_flow_nominal=m2_flow_nominal) "Inlet dry bulb temperature" + annotation (Placement(transformation(extent={{70,-10},{50,10}}))); + Sensors.MassFractionTwoPort senMasFraIn(redeclare package Medium = Medium_A, + m_flow_nominal=m2_flow_nominal) "Water mass fraction of entering air" + annotation (Placement(transformation(extent={{110,-10},{90,10}}))); + Sensors.MassFractionTwoPort senMasFraOut(redeclare package Medium = Medium_A, + m_flow_nominal=m2_flow_nominal) "Water mass fraction of leaving air" + annotation (Placement(transformation(extent={{-110,-10},{-130,10}}))); + Sensors.TemperatureTwoPort TDryBulOut(redeclare package Medium = Medium_A, + m_flow_nominal=m2_flow_nominal) "Dry bulb temperature of leaving air" + annotation (Placement(transformation(extent={{-50,-10},{-70,10}}))); + Sources.MassFlowSource_T souWat1( + redeclare package Medium = Medium_W, + m_flow=m1_flow_nominal, + T=T_a1_nominal, + nPorts=1) + "Source for water" + annotation (Placement(transformation(extent={{-180,10},{-160,30}}))); + DryCoilCounterFlow hexDis( + redeclare package Medium1 = Medium_W, + redeclare package Medium2 = Medium_A, + m1_flow_nominal=m1_flow_nominal, + m2_flow_nominal=m2_flow_nominal, + dp2_nominal=0, + allowFlowReversal1=false, + allowFlowReversal2=false, + dp1_nominal=0, + UA_nominal=UA_nominal, + show_T=true, + nEle=30, + energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial, + tau1=0.1, + tau2=0.1, + tau_m=0.1) + "Discretized coil model" + annotation (Placement(transformation(extent={{-30,56},{-10,76}}))); + Sources.MassFlowSource_T souWat( + redeclare package Medium = Medium_W, + m_flow=m1_flow_nominal, + T=T_a1_nominal, + nPorts=1) "Source for water" + annotation (Placement(transformation(extent={{-180,70},{-160,90}}))); + Sources.MassFlowSource_T souAir2( + redeclare package Medium = Medium_A, + m_flow=m2_flow_nominal, + use_T_in=true, + T=T_a2_nominal, + nPorts=1) + "Air source" + annotation (Placement(transformation(extent={{140,50},{120,70}}))); + Sensors.MassFractionTwoPort senMasFraOut1(redeclare package Medium = Medium_A, + m_flow_nominal=m2_flow_nominal) "Water mass fraction of leaving air" + annotation (Placement(transformation(extent={{-110,50},{-130,70}}))); + Sensors.TemperatureTwoPort TDryBulOut1(redeclare package Medium = Medium_A, + m_flow_nominal=m2_flow_nominal) "Dry bulb temperature of leaving air" + annotation (Placement(transformation(extent={{-50,50},{-70,70}}))); + Sensors.RelativeHumidityTwoPort relHumOut_eps(redeclare package Medium = + Medium_A, m_flow_nominal=m2_flow_nominal) "Outlet relative humidity" + annotation (Placement(transformation(extent={{-80,-10},{-100,10}}))); + Sensors.RelativeHumidityTwoPort relHumOut_dis(redeclare package Medium = + Medium_A, m_flow_nominal=m2_flow_nominal) "Outlet relative humidity" + annotation (Placement(transformation(extent={{-80,50},{-100,70}}))); + Buildings.Fluid.HeatExchangers.DryCoilEffectivenessNTU hexDryNTU_T( + redeclare package Medium1 = Medium_W, + redeclare package Medium2 = Medium_A, + Q_flow_nominal=Q_flow_nominal, + T_a2_nominal=T_a2_nominal, + T_a1_nominal=T_a1_nominal, + m1_flow_nominal=m1_flow_nominal, + m2_flow_nominal=m2_flow_nominal, + dp2_nominal=0, + dp1_nominal=0, + configuration=hexCon, + show_T=true) + "Effectiveness-NTU coil model (parameterized with nominal T and X)" + annotation (Placement(transformation(extent={{-30,-64},{-10,-44}}))); + Sources.MassFlowSource_T souAir1( + redeclare package Medium = Medium_A, + m_flow=m2_flow_nominal, + use_T_in=true, + T=T_a2_nominal, + nPorts=1) + "Air source" + annotation (Placement(transformation(extent={{140,-70},{120,-50}}))); + Sources.MassFlowSource_T souWat2( + redeclare package Medium = Medium_W, + m_flow=m1_flow_nominal, + T=T_a1_nominal, + nPorts=1) + "Source for water" + annotation (Placement(transformation(extent={{-180,-30},{-160,-10}}))); + Controls.OBC.CDL.Continuous.Sources.Ramp T_a2( + height=15, + duration=1000, + offset=273.15) "Air inlet temperature" + annotation (Placement(transformation(extent={{190,-10},{170,10}}))); + Buildings.Fluid.HeatExchangers.WetCoilEffectivenessNTU hexWetNTU_TX( + redeclare package Medium1 = Medium_W, + redeclare package Medium2 = Medium_A, + use_Q_flow_nominal=true, + Q_flow_nominal=Q_flow_nominal, + T_a2_nominal=T_a2_nominal, + w_a2_nominal=0.001, + T_a1_nominal=T_a1_nominal, + m1_flow_nominal=m1_flow_nominal, + m2_flow_nominal=m2_flow_nominal, + dp2_nominal=0, + dp1_nominal=0, + configuration=hexCon, + show_T=true) + "Effectiveness-NTU coil model (parameterized with nominal T and X)" + annotation (Placement(transformation(extent={{-30,10},{-10,30}}))); +equation + connect(senMasFraOut.port_b, sinAir.ports[1]) + annotation (Line(points={{-130,0},{-140,0},{-140,-55.3333},{-160,-55.3333}}, + color={0,127,255})); + connect(souAir.ports[1], senMasFraIn.port_a) + annotation (Line(points={{120,0},{110,0}}, color={0,127,255})); + connect(senMasFraIn.port_b, TDryBulIn.port_a) + annotation (Line(points={{90,0},{70,0}}, color={0,127,255})); + connect(TDryBulIn.port_b, relHumIn.port_a) + annotation (Line(points={{50,0},{40,0}}, color={0,127,255})); + connect(souWat.ports[1], hexDis.port_a1) annotation (Line(points={{-160,80},{-40, + 80},{-40,72},{-30,72}}, color={0,127,255})); + connect(hexDis.port_b1, sinWat.ports[1]) annotation (Line(points={{-10,72},{ + 10,72},{10,42.6667},{62,42.6667}}, color={0,127,255})); + connect(souAir2.ports[1], hexDis.port_a2) annotation (Line(points={{120,60},{ + -10,60}}, color={0,127,255})); + connect(hexDis.port_b2, TDryBulOut1.port_a) + annotation (Line(points={{-30,60},{-50,60}}, color={0,127,255})); + connect(senMasFraOut1.port_b, sinAir.ports[2]) annotation (Line(points={{-130,60}, + {-150,60},{-150,-58},{-160,-58}}, color={0,127,255})); + connect(TDryBulOut.port_b, relHumOut_eps.port_a) annotation (Line(points={{ + -70,0},{-76,0},{-76,0},{-80,0}}, color={0,127,255})); + connect(relHumOut_eps.port_b, senMasFraOut.port_a) + annotation (Line(points={{-100,0},{-110,0}}, color={0,127,255})); + connect(TDryBulOut1.port_b, relHumOut_dis.port_a) + annotation (Line(points={{-70,60},{-80,60}}, color={0,127,255})); + connect(relHumOut_dis.port_b, senMasFraOut1.port_a) + annotation (Line(points={{-100,60},{-110,60}}, color={0,127,255})); + connect(hexDryNTU_T.port_b1, sinWat.ports[2]) annotation (Line(points={{-10,-48}, + {10,-48},{10,40},{62,40}}, color={0,127,255})); + connect(souAir1.ports[1], hexDryNTU_T.port_a2) + annotation (Line(points={{120,-60},{-10,-60}}, color={0,127,255})); + connect(sinAir.ports[3], hexDryNTU_T.port_b2) annotation (Line(points={{-160, + -60.6667},{-138,-60.6667},{-138,-60},{-30,-60}}, + color={0,127,255})); + connect(souWat2.ports[1], hexDryNTU_T.port_a1) annotation (Line(points={{-160, + -20},{-40,-20},{-40,-48},{-30,-48}}, color={0,127,255})); + connect(T_a2.y, souAir2.T_in) annotation (Line(points={{168,0},{160,0},{160, + 64},{142,64}}, color={0,0,127})); + connect(T_a2.y, souAir.T_in) annotation (Line(points={{168,0},{160,0},{160,4}, + {142,4}}, color={0,0,127})); + connect(T_a2.y, souAir1.T_in) annotation (Line(points={{168,0},{160,0},{160, + -56},{142,-56}}, color={0,0,127})); + connect(souWat1.ports[1], hexWetNTU_TX.port_a1) annotation (Line(points={{-160, + 20},{-96,20},{-96,26},{-30,26}}, color={0,127,255})); + connect(hexWetNTU_TX.port_b1, sinWat.ports[3]) annotation (Line(points={{-10,26}, + {10,26},{10,37.3333},{62,37.3333}}, color={0,127,255})); + connect(relHumIn.port_b, hexWetNTU_TX.port_a2) annotation (Line(points={{20,0},{ + 4,0},{4,14},{-10,14}}, color={0,127,255})); + connect(hexWetNTU_TX.port_b2, TDryBulOut.port_a) annotation (Line(points={{-30, + 14},{-40,14},{-40,0},{-50,0}}, color={0,127,255})); + annotation (Diagram(coordinateSystem(preserveAspectRatio=true, + extent={{-200,-120},{200,120}})), + experiment( + StopTime=1000, + Tolerance=1e-06), + __Dymola_Commands( + file="Resources/Scripts/Dymola/Fluid/HeatExchangers/Validation/WetCoilEffectivenessNTUHeating.mos" + "Simulate and plot"), + Documentation(info=" +

+This model duplicates an example from Mitchell and Braun 2012, example SM-2-1 +(Mitchell and Braun 2012) to validate a single case for the + +Buildings.Fluid.HeatExchangers.WetCoilEffectivenessNTU +model. +

+

Validation

+

+The example simulates a wet coil with constant air +and water inlet temperature and mass flow rate, and an increasing air inlet +humidity which triggers the transition from a fully-dry to a fully-wet regime. +The reference used for validation is the published experimental data. +A discretized wet coil model is also simulated for comparison. +To provide an accurate reference, the latter model is configured with 30 elements. +Under steady-state modeling assumptions, this creates a large system of +non-linear equations. To alleviate this effect, dynamics are considered but +the simulation time is increased to 1000 s to reproduce quasi steady-state +conditions. +

+

+Note that the outlet air relative humidity may slightly exceed 100% when using +the epsilon-NTU model. +

+

References

+

+Mitchell, John W., and James E. Braun. 2012. +\"Supplementary Material Chapter 2: Heat Exchangers for Cooling Applications\". +Excerpt from Principles of heating, ventilation, and air conditioning in buildings. +Hoboken, N.J.: Wiley. Available online: + +http://bcs.wiley.com/he-bcs/Books?action=index&itemId=0470624574&bcsId=7185 +

+", revisions=" + +")); +end WetCoilEffectivenessNTUHeating; diff --git a/Buildings/Fluid/HeatExchangers/Validation/package.order b/Buildings/Fluid/HeatExchangers/Validation/package.order index 9e78f225b19..5f44460ae3a 100644 --- a/Buildings/Fluid/HeatExchangers/Validation/package.order +++ b/Buildings/Fluid/HeatExchangers/Validation/package.order @@ -6,3 +6,5 @@ PrescribedOutlet PrescribedOutlet_dynamic WetCoilDiscretizedInitialization WetCoilDiscretizedInitializationPerfectGases +WetCoilEffectivenessNTU +WetCoilEffectivenessNTUHeating diff --git a/Buildings/Fluid/HeatExchangers/WetCoilEffectivenessNTU.mo b/Buildings/Fluid/HeatExchangers/WetCoilEffectivenessNTU.mo new file mode 100644 index 00000000000..ca9289e7635 --- /dev/null +++ b/Buildings/Fluid/HeatExchangers/WetCoilEffectivenessNTU.mo @@ -0,0 +1,631 @@ +within Buildings.Fluid.HeatExchangers; +model WetCoilEffectivenessNTU + "Heat exchanger with effectiveness - NTU relation and with moisture condensation" + extends Buildings.Fluid.Interfaces.PartialFourPortInterface( + redeclare replaceable package Medium2 = Buildings.Media.Air); + extends Buildings.Fluid.Interfaces.FourPortFlowResistanceParameters( + final computeFlowResistance1=true, + final computeFlowResistance2=true); + + import con = Buildings.Fluid.Types.HeatExchangerConfiguration; + import flo = Buildings.Fluid.Types.HeatExchangerFlowRegime; + + parameter Buildings.Fluid.Types.HeatExchangerConfiguration configuration= + con.CounterFlow + "Heat exchanger configuration"; + parameter Real r_nominal=2/3 + "Ratio between air-side and water-side convective heat transfer coefficient"; + + parameter Boolean use_Q_flow_nominal = false + "Set to true to specify Q_flow_nominal and inlet conditions, or to false to specify UA_nominal" + annotation ( + Evaluate=true, + Dialog(group="Nominal thermal performance")); + + parameter Modelica.SIunits.HeatFlowRate Q_flow_nominal( + fixed=use_Q_flow_nominal) + "Nominal heat flow rate (positive for heat transfer from 1 to 2)" + annotation (Dialog( + group="Nominal thermal performance", + enable=use_Q_flow_nominal)); + parameter Modelica.SIunits.Temperature T_a1_nominal( + fixed=use_Q_flow_nominal) + "Water inlet temperature at a rated condition" + annotation (Dialog( + group="Nominal thermal performance", + enable=use_Q_flow_nominal)); + parameter Modelica.SIunits.Temperature T_a2_nominal( + fixed=use_Q_flow_nominal) + "Air inlet temperature at a rated condition" + annotation (Dialog( + group="Nominal thermal performance", + enable=use_Q_flow_nominal)); + parameter Modelica.SIunits.MassFraction w_a2_nominal( + start=0.01, + fixed=use_Q_flow_nominal) + "Humidity ratio of inlet air at a rated condition (in kg/kg dry air)" + annotation (Dialog( + group="Nominal thermal performance", + enable=use_Q_flow_nominal)); + + parameter Modelica.SIunits.ThermalConductance UA_nominal( + fixed=not use_Q_flow_nominal, + min=0, + start=1/(1/10+1/20)) + "Thermal conductance at nominal flow, used to compute heat capacity" + annotation(Dialog( + group="Nominal thermal performance", + enable=not use_Q_flow_nominal)); + + // Dynamics + parameter Modelica.Fluid.Types.Dynamics energyDynamics= + Modelica.Fluid.Types.Dynamics.SteadyState + "Type of energy balance: dynamic (3 initialization options) or steady state" + annotation(Evaluate=true, Dialog(tab = "Dynamics", group="Equations")); + parameter Modelica.Fluid.Types.Dynamics massDynamics=energyDynamics + "Type of mass balance: dynamic (3 initialization options) or steady state" + annotation(Evaluate=true, Dialog(tab = "Dynamics", group="Equations")); + + Modelica.SIunits.HeatFlowRate Q1_flow = -dryWetCalcs.QTot_flow + "Heat input into water stream (positive if air is cooled)"; + Modelica.SIunits.HeatFlowRate Q2_flow = dryWetCalcs.QTot_flow + "Total heat input into air stream (negative if air is cooled)"; + Modelica.SIunits.HeatFlowRate QSen2_flow = dryWetCalcs.QSen_flow + "Sensible heat input into air stream (negative if air is cooled)"; + Modelica.SIunits.HeatFlowRate QLat2_flow= + Buildings.Utilities.Psychrometrics.Constants.h_fg * mWat_flow + "Latent heat input into air (negative if air is dehumidified)"; + Real SHR( + min=0, + max=1, + unit="1") = QSen2_flow / + noEvent(if (Q2_flow > 1E-6 or Q2_flow < -1E-6) then Q2_flow else 1) + "Sensible to total heat ratio"; + Modelica.SIunits.MassFlowRate mWat_flow = dryWetCalcs.mCon_flow + "Water flow rate of condensate removed from the air stream"; + + Real dryFra(final unit="1", min=0, max=1) = dryWetCalcs.dryFra + "Dry fraction, 0.3 means condensation occurs at 30% heat exchange length from air inlet"; +protected + final parameter Modelica.SIunits.MassFraction X_w_a2_nominal= + w_a2_nominal / (1+w_a2_nominal) + "Water mass fraction of inlet air at a rated condition (in kg/kg total air)"; + + parameter Boolean waterSideFlowDependent=true + "Set to false to make water-side hA independent of mass flow rate" + annotation (Dialog(tab="Heat transfer")); + parameter Boolean airSideFlowDependent=true + "Set to false to make air-side hA independent of mass flow rate" + annotation (Dialog(tab="Heat transfer")); + parameter Boolean waterSideTemperatureDependent=false + "Set to false to make water-side hA independent of temperature" + annotation (Dialog(tab="Heat transfer")); + parameter Boolean airSideTemperatureDependent=false + "Set to false to make air-side hA independent of temperature" + annotation (Dialog(tab="Heat transfer")); + + Real delta=1E-2 + "Parameter for normalization"; + Real delta1=1E-1 + "Parameter for normalization"; + Real fac1 = Buildings.Utilities.Math.Functions.smoothMin( + (1/delta * m1_flow/m1_flow_nominal)^2,1,delta1); + Real fac2 = Buildings.Utilities.Math.Functions.smoothMin( + (1/delta * m2_flow/m2_flow_nominal)^2,1,delta1); + Real Qfac = fac1*fac2; + + Buildings.Fluid.HeatExchangers.BaseClasses.WetCoilUARated UAFroRated( + final use_Q_flow_nominal=use_Q_flow_nominal, + final QTot_flow=Q_flow_nominal, + final UA=UA_nominal, + final r_nominal=r_nominal, + final TAirIn=T_a2_nominal, + final X_wAirIn=X_w_a2_nominal, + final TWatIn=T_a1_nominal, + final mAir_flow=m2_flow_nominal, + final mWat_flow=m1_flow_nominal) + "Model that computes UA_nominal"; + + Buildings.Fluid.HeatExchangers.HeaterCooler_u heaCoo( + redeclare final package Medium = Medium1, + final dp_nominal = dp1_nominal, + final m_flow_nominal = m1_flow_nominal, + final energyDynamics = energyDynamics, + final massDynamics = massDynamics, + final Q_flow_nominal=-1) + "Heat exchange with water stream" + annotation (Placement(transformation(extent={{60,50},{80,70}}))); + + Buildings.Fluid.Humidifiers.Humidifier_u heaCooHum_u( + redeclare final package Medium = Medium2, + mWat_flow_nominal = 1, + dp_nominal = dp2_nominal, + m_flow_nominal = m2_flow_nominal, + energyDynamics = energyDynamics, + massDynamics = massDynamics) + "Heat and moisture exchange with air stream" + annotation (Placement(transformation(extent={{-60,-70},{-80,-50}}))); + Buildings.Fluid.HeatExchangers.BaseClasses.HADryCoil hA( + final UA_nominal = UA_nominal, + final m_flow_nominal_a = m2_flow_nominal, + final m_flow_nominal_w = m1_flow_nominal, + final waterSideTemperatureDependent = waterSideTemperatureDependent, + final waterSideFlowDependent = waterSideFlowDependent, + final airSideTemperatureDependent = airSideTemperatureDependent, + final airSideFlowDependent = airSideFlowDependent, + r_nominal = r_nominal) + "Model for convective heat transfer coefficient" + annotation (Placement(transformation(extent={{-68,-13},{-50,9}}))); + Buildings.Fluid.HeatExchangers.BaseClasses.WetCoilDryWetRegime dryWetCalcs( + final cfg=flowRegime, + final mWat_flow_nominal=m1_flow_nominal, + final mAir_flow_nominal=m2_flow_nominal, + Qfac=Qfac) + "Dry/wet calculations block" + annotation (Placement(transformation(extent={{-20,-40},{60,40}}))); + Modelica.Blocks.Sources.RealExpression cp_a1Exp(final y= + Medium1.specificHeatCapacityCp(state_a1_inflow)) + "Expression for cp of air" + annotation (Placement(transformation(extent={{-44,18},{-30,30}}))); + Modelica.Blocks.Sources.RealExpression XWat_a2Exp( + final y = if allowFlowReversal2 + then + fra_a2 * state_a2_inflow.X[nWat] + fra_b2 * state_b2_inflow.X[nWat] + else + state_a2_inflow.X[nWat]) + "Expression for XWat" + annotation (Placement(transformation(extent={{-44,-2},{-30,10}}))); + Modelica.Blocks.Sources.RealExpression p_a2Exp( + final y = port_a2.p) + "Pressure at port a2" + annotation (Placement(transformation(extent={{-44,-10},{-30,2}}))); + Modelica.Blocks.Sources.RealExpression h_a2Exp( + final y = if allowFlowReversal2 + then + fra_a2 * Medium2.specificEnthalpy(state_a2_inflow) + + fra_b2 * Medium2.specificEnthalpy(state_b2_inflow) + else + Medium2.specificEnthalpy(state_a2_inflow)) + "Specific enthalpy at port a2" + annotation (Placement(transformation(extent={{-44,-18},{-30,-6}}))); + Modelica.Blocks.Sources.RealExpression cp_a2Exp(final y= + Medium2.specificHeatCapacityCp(state_a2_inflow)) + "Specific heat capacity at port a2" + annotation (Placement(transformation(extent={{-44,-30},{-30,-18}}))); + Modelica.Blocks.Sources.RealExpression TIn_a1Exp( + final y = if allowFlowReversal1 + then + fra_a1 * Medium1.temperature(state_a1_inflow) + + fra_b1 * Medium1.temperature(state_b1_inflow) + else + Medium1.temperature(state_a1_inflow)) + "Temperature at port a1" + annotation (Placement(transformation(extent={{-98,16},{-84,28}}))); + Modelica.Blocks.Sources.RealExpression TIn_a2Exp( + final y = if allowFlowReversal2 + then + fra_a2 * Medium2.temperature(state_a2_inflow) + + fra_b2 * Medium2.temperature(state_b2_inflow) + else + Medium2.temperature(state_a2_inflow)) + "Temperature at port a2" + annotation (Placement(transformation(extent={{-98,-8},{-84,4}}))); + Modelica.Blocks.Sources.RealExpression m_flow_a1Exp( + final y=Buildings.Utilities.Math.Functions.regNonZeroPower( + x=port_a1.m_flow,n=1,delta=delta*m1_flow_nominal)) + "Absolute value of mass flow rate on water side" + annotation (Placement(transformation(extent={{-98,30},{-84,42}}))); + Modelica.Blocks.Sources.RealExpression m_flow_a2Exp( + final y=Buildings.Utilities.Math.Functions.regNonZeroPower( + x=port_a2.m_flow,n=1,delta=delta*m2_flow_nominal)) + "Absolute value of mass flow rate on air side" + annotation (Placement(transformation(extent={{-98,-36},{-84,-24}}))); + final parameter Integer nWat= + Buildings.Fluid.HeatExchangers.BaseClasses.determineWaterIndex( + Medium2.substanceNames) + "Index of water"; + parameter flo flowRegime_nominal(fixed=false) + "Heat exchanger flow regime at nominal flow rates"; + flo flowRegime(fixed=false, start=flowRegime_nominal) + "Heat exchanger flow regime"; + + Buildings.HeatTransfer.Sources.PrescribedHeatFlow preHea + "Prescribed heat flow" + annotation (Placement(transformation(extent={{20,-90},{0,-70}}))); + Real fra_a1(min=0, max=1) = if allowFlowReversal1 + then Modelica.Fluid.Utilities.regStep( + m1_flow, + 1, + 0, + m1_flow_small) + else 1 + "Fraction of incoming state taken from port a2 + (used to avoid excessive calls to regStep)"; + Real fra_b1(min=0, max=1) = if allowFlowReversal1 + then 1-fra_a1 + else 0 + "Fraction of incoming state taken from port b2 + (used to avoid excessive calls to regStep)"; + Real fra_a2(min=0, max=1) = if allowFlowReversal2 + then Modelica.Fluid.Utilities.regStep( + m2_flow, + 1, + 0, + m2_flow_small) + else 1 + "Fraction of incoming state taken from port a2 + (used to avoid excessive calls to regStep)"; + Real fra_b2(min=0, max=1) = if allowFlowReversal2 + then 1-fra_a2 + else 0 + "Fraction of incoming state taken from port b2 + (used to avoid excessive calls to regStep)"; + + Modelica.SIunits.ThermalConductance C1_flow = abs(m1_flow)* + ( if allowFlowReversal1 then + fra_a1 * Medium1.specificHeatCapacityCp(state_a1_inflow) + + fra_b1 * Medium1.specificHeatCapacityCp(state_b1_inflow) else + Medium1.specificHeatCapacityCp(state_a1_inflow)) + "Heat capacity flow rate medium 1"; + Modelica.SIunits.ThermalConductance C2_flow = abs(m2_flow)* + ( if allowFlowReversal2 then + fra_a2 * Medium2.specificHeatCapacityCp(state_a2_inflow) + + fra_b2 * Medium2.specificHeatCapacityCp(state_b2_inflow) else + Medium2.specificHeatCapacityCp(state_a2_inflow)) + "Heat capacity flow rate medium 2"; + parameter Modelica.SIunits.SpecificHeatCapacity cp1_nominal(fixed=false) + "Specific heat capacity of medium 1 at nominal condition"; + parameter Modelica.SIunits.SpecificHeatCapacity cp2_nominal(fixed=false) + "Specific heat capacity of medium 2 at nominal condition"; + parameter Modelica.SIunits.ThermalConductance C1_flow_nominal(fixed=false) + "Nominal capacity flow rate of Medium 1"; + parameter Modelica.SIunits.ThermalConductance C2_flow_nominal(fixed=false) + "Nominal capacity flow rate of Medium 2"; + final parameter Medium1.ThermodynamicState sta1_default = Medium1.setState_phX( + h=Medium1.h_default, + p=Medium1.p_default, + X=Medium1.X_default[1:Medium1.nXi]) "Default state for medium 1"; + final parameter Medium2.ThermodynamicState sta2_default = Medium2.setState_phX( + h=Medium2.h_default, + p=Medium2.p_default, + X=Medium2.X_default[1:Medium2.nXi]) "Default state for medium 2"; + +initial equation + cp1_nominal = Medium1.specificHeatCapacityCp(sta1_default); + cp2_nominal = Medium2.specificHeatCapacityCp(sta2_default); + C1_flow_nominal = m1_flow_nominal*cp1_nominal; + C2_flow_nominal = m2_flow_nominal*cp2_nominal; + if (configuration == con.CrossFlowStream1MixedStream2Unmixed) then + flowRegime_nominal = if (C1_flow_nominal < C2_flow_nominal) + then + flo.CrossFlowCMinMixedCMaxUnmixed + else + flo.CrossFlowCMinUnmixedCMaxMixed; + elseif (configuration == con.CrossFlowStream1UnmixedStream2Mixed) then + flowRegime_nominal = if (C1_flow_nominal < C2_flow_nominal) + then + flo.CrossFlowCMinUnmixedCMaxMixed + else + flo.CrossFlowCMinMixedCMaxUnmixed; + elseif (configuration == con.ParallelFlow) then + flowRegime_nominal = flo.ParallelFlow; + elseif (configuration == con.CounterFlow) then + flowRegime_nominal = flo.CounterFlow; + elseif (configuration == con.CrossFlowUnmixed) then + flowRegime_nominal = flo.CrossFlowUnmixed; + else + // Invalid flow regime. Assign a value to flowRegime_nominal, and stop with an assert + flowRegime_nominal = flo.CrossFlowUnmixed; + assert(configuration >= con.ParallelFlow and + configuration <= con.CrossFlowStream1UnmixedStream2Mixed, + "Invalid heat exchanger configuration."); + end if; +equation + // Assign the flow regime for the given heat exchanger configuration and + // mass flow rates + if (configuration == con.ParallelFlow) then + flowRegime = if (C1_flow*C2_flow >= 0) + then + flo.ParallelFlow + else + flo.CounterFlow; + elseif (configuration == con.CounterFlow) then + flowRegime = if (C1_flow*C2_flow >= 0) + then + flo.CounterFlow + else + flo.ParallelFlow; + elseif (configuration == con.CrossFlowUnmixed) then + flowRegime = flo.CrossFlowUnmixed; + elseif (configuration == con.CrossFlowStream1MixedStream2Unmixed) then + flowRegime = if (C1_flow < C2_flow) + then + flo.CrossFlowCMinMixedCMaxUnmixed + else + flo.CrossFlowCMinUnmixedCMaxMixed; + else + // have ( configuration == con.CrossFlowStream1UnmixedStream2Mixed) + flowRegime = if (C1_flow < C2_flow) + then + flo.CrossFlowCMinUnmixedCMaxMixed + else + flo.CrossFlowCMinMixedCMaxUnmixed; + end if; + + connect(heaCoo.port_b, port_b1) annotation (Line(points={{80,60},{80,60},{100,60}},color={0,127,255}, + thickness=1)); + connect(heaCooHum_u.port_b, port_b2) annotation (Line( + points={{-80,-60},{-90,-60},{-100,-60}}, + color={0,127,255}, + thickness=1)); + connect(hA.hA_1, dryWetCalcs.UAWat) annotation (Line(points={{-49.1,5.7},{-46, + 5.7},{-46,36.6667},{-22.8571,36.6667}}, color={0,0,127})); + connect(hA.hA_2, dryWetCalcs.UAAir) annotation (Line(points={{-49.1,-9.7},{ + -46,-9.7},{-46,-36},{-46,-36.6667},{-22.8571,-36.6667}}, + color={0,0,127})); + connect(cp_a1Exp.y, dryWetCalcs.cpWat) annotation (Line(points={{-29.3,24},{ + -22.8571,24},{-22.8571,23.3333}}, + color={0,0,127})); + connect(XWat_a2Exp.y, dryWetCalcs.X_wAirIn) annotation (Line(points={{-29.3,4}, + {-22.8571,4},{-22.8571,3.33333}}, color={0,0,127})); + connect(p_a2Exp.y, dryWetCalcs.pAir) annotation (Line(points={{-29.3,-4},{ + -22.8571,-4},{-22.8571,-3.33333}}, + color={0,0,127})); + connect(h_a2Exp.y, dryWetCalcs.hAirIn) annotation (Line(points={{-29.3,-12},{ + -22,-12},{-22,-10},{-22.8571,-10}}, + color={0,0,127})); + connect(cp_a2Exp.y, dryWetCalcs.cpAir) annotation (Line(points={{-29.3,-24},{ + -22.8571,-24},{-22.8571,-23.3333}}, + color={0,0,127})); + connect(TIn_a1Exp.y, hA.T_1) annotation (Line(points={{-83.3,22},{-80,22},{-80, + 1.3},{-68.9,1.3}}, color={0,0,127})); + connect(TIn_a1Exp.y, dryWetCalcs.TWatIn) annotation (Line(points={{-83.3,22}, + {-50,22},{-50,16.6667},{-22.8571,16.6667}}, color={0,0,127})); + connect(TIn_a2Exp.y, hA.T_2) annotation (Line(points={{-83.3,-2},{-76,-2},{-76, + -5.3},{-68.9,-5.3}}, color={0,0,127})); + connect(TIn_a2Exp.y, dryWetCalcs.TAirIn) annotation (Line(points={{-83.3,-2}, + {-76,-2},{-76,-16.6667},{-22.8571,-16.6667}}, color={0,0,127})); + connect(m_flow_a1Exp.y, hA.m1_flow) annotation (Line(points={{-83.3,36},{-76,36}, + {-76,5.7},{-68.9,5.7}}, color={0,0,127})); + connect(m_flow_a1Exp.y, dryWetCalcs.mWat_flow) annotation (Line(points={{-83.3, + 36},{-50,36},{-50,30},{-22.8571,30}}, color={0,0,127})); + connect(port_a1, heaCoo.port_a) annotation (Line( + points={{-100,60},{-20,60},{60,60}}, + color={0,127,255}, + thickness=1)); + connect(m_flow_a2Exp.y, hA.m2_flow) annotation (Line(points={{-83.3,-30},{-80, + -30},{-80,-9.7},{-68.9,-9.7}}, + color={0,0,127})); + connect(m_flow_a2Exp.y, dryWetCalcs.mAir_flow) annotation (Line(points={{-83.3, + -30},{-22.8571,-30}}, color={0,0,127})); + connect(port_a2, heaCooHum_u.port_a) annotation (Line( + points={{100,-60},{20,-60},{-60,-60}}, + color={0,127,255}, + thickness=1)); + connect(preHea.port, heaCooHum_u.heatPort) annotation (Line(points={{0,-80},{-40, + -80},{-40,-66},{-60,-66}}, color={191,0,0})); + connect(dryWetCalcs.QTot_flow, heaCoo.u) annotation (Line(points={{62.8571, + -6.66667},{80,-6.66667},{80,44},{40,44},{40,66},{58,66}}, + color={0,0,127})); + connect(dryWetCalcs.mCon_flow, heaCooHum_u.u) annotation (Line(points={{62.8571, + -33.3333},{70,-33.3333},{70,-54},{-59,-54}}, color={0,0,127})); + connect(preHea.Q_flow, dryWetCalcs.QTot_flow) annotation (Line(points={{20,-80}, + {44,-80},{80,-80},{80,-6.66667},{62.8571,-6.66667}}, + color={0,0,127})); + annotation ( + defaultComponentName="hexWetNtu", + Icon(graphics={ + Rectangle( + extent={{-70,80},{70,-80}}, + lineColor={0,0,255}, + pattern=LinePattern.None, + fillColor={95,95,95}, + fillPattern=FillPattern.Solid), + Rectangle( + extent={{36,80},{40,-80}}, + lineColor={0,0,255}, + pattern=LinePattern.None, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid), + Rectangle( + extent={{-40,80},{-36,-80}}, + lineColor={0,0,255}, + pattern=LinePattern.None, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid), + Rectangle( + extent={{-2,80},{2,-80}}, + lineColor={0,0,255}, + pattern=LinePattern.None, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid), + Rectangle( + extent={{-100,-55},{101,-65}}, + lineColor={0,0,255}, + pattern=LinePattern.None, + fillColor={0,127,0}, + fillPattern=FillPattern.Solid), + Rectangle( + extent={{-98,65},{103,55}}, + lineColor={0,0,255}, + pattern=LinePattern.None, + fillColor={0,0,255}, + fillPattern=FillPattern.Solid), + Rectangle( + extent={{-70,80},{70,-80}}, + lineColor={0,0,255}, + pattern=LinePattern.None, + fillColor={95,95,95}, + fillPattern=FillPattern.Solid), + Rectangle( + extent={{-100,-55},{101,-65}}, + lineColor={0,0,255}, + pattern=LinePattern.None, + fillColor={0,127,0}, + fillPattern=FillPattern.Solid), + Rectangle( + extent={{-98,65},{103,55}}, + lineColor={0,0,255}, + pattern=LinePattern.None, + fillColor={0,0,255}, + fillPattern=FillPattern.Solid), + Polygon( + points={{46,-62},{44,-72},{50,-76},{58,-72},{56,-62},{50,-50},{46,-62}}, + lineColor={0,0,255}, + fillColor={0,0,255}, + fillPattern=FillPattern.Solid, + smooth=Smooth.Bezier), + Polygon( + points={{24,-52},{22,-62},{28,-66},{36,-62},{34,-52},{28,-40},{24,-52}}, + lineColor={0,0,255}, + fillColor={0,0,255}, + fillPattern=FillPattern.Solid, + smooth=Smooth.Bezier), + Polygon( + points={{0,-48},{-2,-58},{4,-62},{12,-58},{10,-48},{4,-36},{0,-48}}, + lineColor={0,0,255}, + fillColor={0,0,255}, + fillPattern=FillPattern.Solid, + smooth=Smooth.Bezier), + Polygon( + points={{-18,-64},{-20,-74},{-14,-78},{-6,-74},{-8,-64},{-14,-52},{ + -18,-64}}, + lineColor={0,0,255}, + fillColor={0,0,255}, + fillPattern=FillPattern.Solid, + smooth=Smooth.Bezier), + Polygon( + points={{-40,-50},{-42,-60},{-36,-64},{-28,-60},{-30,-50},{-36,-38},{ + -40,-50}}, + lineColor={0,0,255}, + fillColor={0,0,255}, + fillPattern=FillPattern.Solid, + smooth=Smooth.Bezier), + Polygon( + points={{-58,-62},{-60,-72},{-54,-76},{-46,-72},{-48,-62},{-54,-50},{ + -58,-62}}, + lineColor={0,0,255}, + fillColor={0,0,255}, + fillPattern=FillPattern.Solid, + smooth=Smooth.Bezier)}), + Diagram(graphics={Text( + extent={{44,84},{86,76}}, + lineColor={28,108,200}, + textString="Water Side", + textStyle={TextStyle.Italic}, + horizontalAlignment=TextAlignment.Left), + Text( + extent={{-42,-80},{0,-88}}, + lineColor={28,108,200}, + textStyle={TextStyle.Italic}, + horizontalAlignment=TextAlignment.Left, + textString="Air Side")}), + Documentation(info=" +

+This model describes a cooling coil applicable for fully-dry, +partially-wet, and fully-wet regimes. +The model is developed for counter flow heat exchangers but is also applicable +for the cross-flow configuration, although in the latter case it is recommended +to have more than four tube rows (Elmahdy and Mitalas, 1977 and Braun, 1988). +The model can also be used for a heat exchanger which acts as both heating coil +(for some period of time) and cooling coil (for the others). +However, it is not recommended to use this model for heating coil only or for +cooling coil with no water condensation because for these situations, + +Buildings.Fluid.HeatExchangers.DryCoilEffectivenessNTU +computes faster. +

+

Main equations

+

+The coil model consists of two-equation sets, one for the fully-dry mode and +the other for the fully-wet mode. For the fully-dry mode, the ε-NTU +approach (Elmahdy and Mitalas, 1977) is used. +For the fully-wet mode, equations from Braun (1988) and Mitchell and Braun (2012a and b), +which are essentially the extension of the ε-NTU approach to simultaneous sensible +and latent heat transfer, are utilized. +The equation sets are switched depending on the switching criteria described below +that determines the right mode based on a coil surface temperature and dew-point +temperature for the air at the inlet of the coil. +The transition regime between the two modes, which represents the partially-wet and +partially-dry coil, is approximated by employing a fuzzy modeling approach, +so-called Takagi-Sugeno fuzzy modeling (Takagi and Sugeno, 1985), which provides a +continuously differentiable model that can cover all fully-dry, partially-wet, +and fully-wet regimes. +

+

The switching rules are:

+ +

+For more detailed descriptions of the fully-wet coil model and the fuzzy modeling approach, +see + +Buildings.Fluid.HeatExchangers.BaseClasses.WetCoilWetRegime. +and + +Buildings.Fluid.HeatExchangers.BaseClasses.WetCoilDryWetRegime. +

+

Assumptions and limitations

+

This model contains the following assumptions and limitations:

+

Medium 2 must be air due to the use of various psychrometric functions.

+

+When parameterizing this model with rated conditions (with the parameter +use_UA_nominal set to false), those should +correspond to a fully-dry or a fully-wet coil regime, because +the model uncertainty yielded by partially-wet rated conditions +has not been assessed yet. +

+

The model uses steady-state physics. That is, no dynamics associated +with water and coil materials are considered.

+

The Lewis number, which relates the mass transfer coefficient to the heat transfer +coefficient, is assumed to be 1.

+

The model is not suitable for a cross-flow heat exchanger of which the number +of passes is less than four.

+

Validation

+

Validation results can be found in + +Buildings.Fluid.HeatExchangers.Validation.WetCoilEffectivenessNTU. +

References

+

Braun, James E. 1988. +"Methodologies for the Design and Control of +Central Cooling Plants". +PhD Thesis. University of Wisconsin - Madison. +Available + +online. +

+

Mitchell, John W., and James E. Braun. 2012a. +Principles of heating, ventilation, and air conditioning in buildings. +Hoboken, N.J.: Wiley.

+

Mitchell, John W., and James E. Braun. 2012b. +"Supplementary Material Chapter 2: Heat Exchangers for Cooling Applications". +Excerpt from Principles of heating, ventilation, and air conditioning in buildings. +Hoboken, N.J.: Wiley. +Available + +online. +

+

Elmahdy, A.H. and Mitalas, G.P. 1977. +"A Simple Model for Cooling and Dehumidifying Coils for Use +In Calculating Energy Requirements for Buildings". +ASHRAE Transactions. Vol.83. Part 2. pp. 103-117.

+

Takagi, T. and Sugeno, M., 1985. +Fuzzy identification of systems and its applications to modeling and control. + IEEE transactions on systems, man, and cybernetics, (1), pp.116-132.

+", revisions=" + +")); +end WetCoilEffectivenessNTU; diff --git a/Buildings/Fluid/HeatExchangers/package.order b/Buildings/Fluid/HeatExchangers/package.order index 7b44a9110bc..6ecb01ef70a 100644 --- a/Buildings/Fluid/HeatExchangers/package.order +++ b/Buildings/Fluid/HeatExchangers/package.order @@ -10,6 +10,7 @@ PrescribedOutlet SensibleCooler_T WetCoilCounterFlow WetCoilDiscretized +WetCoilEffectivenessNTU ActiveBeams CoolingTowers DXCoils diff --git a/Buildings/Resources/Images/Examples/Tutorial/SpaceCooling/System2Temperatures.png b/Buildings/Resources/Images/Examples/Tutorial/SpaceCooling/System2Temperatures.png index f79fb609fbb..28f62ac4d9d 100755 Binary files a/Buildings/Resources/Images/Examples/Tutorial/SpaceCooling/System2Temperatures.png and b/Buildings/Resources/Images/Examples/Tutorial/SpaceCooling/System2Temperatures.png differ diff --git a/Buildings/Resources/Images/Examples/Tutorial/SpaceCooling/System3FlowRateClosedLoop.png b/Buildings/Resources/Images/Examples/Tutorial/SpaceCooling/System3FlowRateClosedLoop.png index 7919e98ee6d..5eee7fa390d 100644 Binary files a/Buildings/Resources/Images/Examples/Tutorial/SpaceCooling/System3FlowRateClosedLoop.png and b/Buildings/Resources/Images/Examples/Tutorial/SpaceCooling/System3FlowRateClosedLoop.png differ diff --git a/Buildings/Resources/Images/Examples/Tutorial/SpaceCooling/System3TemperaturesClosedLoop.png b/Buildings/Resources/Images/Examples/Tutorial/SpaceCooling/System3TemperaturesClosedLoop.png index bed0b17a89b..622a93a6d7b 100644 Binary files a/Buildings/Resources/Images/Examples/Tutorial/SpaceCooling/System3TemperaturesClosedLoop.png and b/Buildings/Resources/Images/Examples/Tutorial/SpaceCooling/System3TemperaturesClosedLoop.png differ diff --git a/Buildings/Resources/ReferenceResults/Dymola/Buildings_Examples_Tutorial_SpaceCooling_System2.txt b/Buildings/Resources/ReferenceResults/Dymola/Buildings_Examples_Tutorial_SpaceCooling_System2.txt index b0021a6b470..a333fce0ee7 100644 --- a/Buildings/Resources/ReferenceResults/Dymola/Buildings_Examples_Tutorial_SpaceCooling_System2.txt +++ b/Buildings/Resources/ReferenceResults/Dymola/Buildings_Examples_Tutorial_SpaceCooling_System2.txt @@ -1,18 +1,18 @@ -last-generated=2019-08-16 +last-generated=2021-03-10 statistics-initialization= { - "nonlinear": "0, 0", + "nonlinear": "0, 1, 0, 0, 0", "numerical Jacobians": "0" } statistics-simulation= { - "linear": "0, 0", - "nonlinear": "1, 0, 0, 0", - "number of continuous time states": "24", + "linear": "0", + "nonlinear": "1, 0, 0, 0, 1, 1", + "number of continuous time states": "12", "numerical Jacobians": "0" } -TOut.T=[3.031499938964844e+02, 3.031499938964844e+02] -vol.T_start=[2.931499938964844e+02, 2.931499938964844e+02] -vol.T=[2.931499938964844e+02, 2.936397094726562e+02, 2.939967651367188e+02, 2.94301025390625e+02, 2.945603332519531e+02, 2.947813110351562e+02, 2.949696655273438e+02, 2.951301574707031e+02, 2.952669677734375e+02, 2.953835754394531e+02, 2.954829406738281e+02, 2.955676574707031e+02, 2.956398315429688e+02, 2.957013549804688e+02, 2.957538146972656e+02, 2.957984924316406e+02, 2.958365783691406e+02, 2.958690490722656e+02, 2.95896728515625e+02, 2.959203186035156e+02, 2.959404296875e+02, 2.959575500488281e+02, 2.9597216796875e+02, 2.95984619140625e+02, 2.959952087402344e+02, 2.960042419433594e+02, 2.96011962890625e+02, 2.960185241699219e+02, 2.960241394042969e+02, 2.960289001464844e+02, 2.96032958984375e+02, 2.960364379882812e+02, 2.960393981933594e+02, 2.960419006347656e+02, 2.960440673828125e+02, 2.960458679199219e+02, 2.960474243164062e+02, 2.960487670898438e+02, 2.960498962402344e+02, 2.960508728027344e+02, 2.960516967773438e+02, 2.960523986816406e+02, 2.96052978515625e+02, 2.960534973144531e+02, 2.960539245605469e+02, 2.960542907714844e+02, 2.960546264648438e+02, 2.960548706054688e+02, 2.960551147460938e+02, 2.960552978515625e+02, 2.960554809570312e+02, 2.960556335449219e+02, 2.960557250976562e+02, 2.960558471679688e+02, 2.960559387207031e+02, 2.960559997558594e+02, 2.960560607910156e+02, 2.960561218261719e+02, 2.960561828613281e+02, 2.960562133789062e+02, 2.960562438964844e+02, 2.960562744140625e+02, 2.960563049316406e+02, 2.960563354492188e+02, 2.960563354492188e+02, 2.960563659667969e+02, 2.960563659667969e+02, 2.960563659667969e+02, 2.96056396484375e+02, 2.96056396484375e+02, 2.96056396484375e+02, 2.96056396484375e+02, 2.96056396484375e+02, 2.960564270019531e+02, 2.960564270019531e+02, 2.960564270019531e+02, 2.960564270019531e+02, 2.960564270019531e+02, 2.960564270019531e+02, 2.960564270019531e+02, 2.960564270019531e+02, 2.960564270019531e+02, 2.960564270019531e+02, 2.960564270019531e+02, 2.960564270019531e+02, 2.960564270019531e+02, 2.960564270019531e+02, 2.960564270019531e+02, 2.960564270019531e+02, 2.960564270019531e+02, 2.960564270019531e+02, 2.960564575195312e+02, 2.960564575195312e+02, 2.960564575195312e+02, 2.960564575195312e+02, 2.960564575195312e+02, 2.960564575195312e+02, 2.960564575195312e+02, 2.960564575195312e+02, 2.960564575195312e+02, 2.960564575195312e+02] -cooCoi.sta_b2.T=[2.931499938964844e+02, 2.89864501953125e+02, 2.898730773925781e+02, 2.898804321289062e+02, 2.898866882324219e+02, 2.898920288085938e+02, 2.898966064453125e+02, 2.899005126953125e+02, 2.899038391113281e+02, 2.899066772460938e+02, 2.899090881347656e+02, 2.899111633300781e+02, 2.899129028320312e+02, 2.899143981933594e+02, 2.899156799316406e+02, 2.899167785644531e+02, 2.899176940917969e+02, 2.899184875488281e+02, 2.89919189453125e+02, 2.899197387695312e+02, 2.899202575683594e+02, 2.89920654296875e+02, 2.899210205078125e+02, 2.899213256835938e+02, 2.899215698242188e+02, 2.899218139648438e+02, 2.899219970703125e+02, 2.899221496582031e+02, 2.899222717285156e+02, 2.899223937988281e+02, 2.899225158691406e+02, 2.899225769042969e+02, 2.899226684570312e+02, 2.899227294921875e+02, 2.899227600097656e+02, 2.899228210449219e+02, 2.899228515625e+02, 2.899228820800781e+02, 2.899229125976562e+02, 2.899229431152344e+02, 2.899229736328125e+02, 2.899229736328125e+02, 2.899230041503906e+02, 2.899230041503906e+02, 2.899230041503906e+02, 2.899230346679688e+02, 2.899230346679688e+02, 2.899230346679688e+02, 2.899230346679688e+02, 2.899230346679688e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02, 2.899230651855469e+02] time=[0e+00, 1.08e+04] +vol.T_start=[2.931499938964844e+02, 2.931499938964844e+02] +vol.T=[2.931499938964844e+02, 2.936746826171875e+02, 2.939820251464844e+02, 2.942403869628906e+02, 2.94459716796875e+02, 2.946460571289062e+02, 2.948043518066406e+02, 2.949388427734375e+02, 2.950531616210938e+02, 2.951503295898438e+02, 2.9523291015625e+02, 2.953031005859375e+02, 2.9536279296875e+02, 2.954135437011719e+02, 2.954566955566406e+02, 2.954933776855469e+02, 2.955245666503906e+02, 2.955510864257812e+02, 2.955736389160156e+02, 2.955928344726562e+02, 2.95609130859375e+02, 2.956230163574219e+02, 2.956347961425781e+02, 2.956448364257812e+02, 2.956533813476562e+02, 2.9566064453125e+02, 2.956668090820312e+02, 2.956720581054688e+02, 2.95676513671875e+02, 2.956803283691406e+02, 2.956835632324219e+02, 2.956863098144531e+02, 2.956886291503906e+02, 2.956906127929688e+02, 2.956923217773438e+02, 2.956937561035156e+02, 2.956949768066406e+02, 2.956960144042969e+02, 2.956968994140625e+02, 2.956976318359375e+02, 2.956982727050781e+02, 2.956988220214844e+02, 2.956992797851562e+02, 2.956996765136719e+02, 2.957000122070312e+02, 2.957003173828125e+02, 2.957005615234375e+02, 2.957007446289062e+02, 2.95700927734375e+02, 2.957010803222656e+02, 2.957012023925781e+02, 2.957013244628906e+02, 2.95701416015625e+02, 2.957014770507812e+02, 2.957015380859375e+02, 2.957015991210938e+02, 2.9570166015625e+02, 2.957016906738281e+02, 2.957017211914062e+02, 2.957017517089844e+02, 2.957017822265625e+02, 2.957018127441406e+02, 2.957018127441406e+02, 2.957018432617188e+02, 2.957018432617188e+02, 2.957018737792969e+02, 2.957018737792969e+02, 2.957018737792969e+02, 2.95701904296875e+02, 2.95701904296875e+02, 2.95701904296875e+02, 2.95701904296875e+02, 2.95701904296875e+02, 2.95701904296875e+02, 2.957019348144531e+02, 2.957019348144531e+02, 2.957019348144531e+02, 2.957019348144531e+02, 2.957019348144531e+02, 2.957019348144531e+02, 2.957019348144531e+02, 2.957019348144531e+02, 2.957019348144531e+02, 2.957019348144531e+02, 2.957019348144531e+02, 2.957019348144531e+02, 2.957019348144531e+02, 2.957019348144531e+02, 2.957019348144531e+02, 2.957019348144531e+02, 2.957019348144531e+02, 2.957019348144531e+02, 2.957019348144531e+02, 2.957019348144531e+02, 2.957019348144531e+02, 2.957019348144531e+02, 2.957019348144531e+02, 2.957019348144531e+02, 2.957019348144531e+02, 2.957019348144531e+02, 2.957019348144531e+02] +TOut.T=[3.031499938964844e+02, 3.031499938964844e+02] +cooCoi.sta_b2.T=[2.931499938964844e+02, 2.894987487792969e+02, 2.893948059082031e+02, 2.893896179199219e+02, 2.893878784179688e+02, 2.893867797851562e+02, 2.893860778808594e+02, 2.893856506347656e+02, 2.893854064941406e+02, 2.893852844238281e+02, 2.8938525390625e+02, 2.8938525390625e+02, 2.893853149414062e+02, 2.893853759765625e+02, 2.893854675292969e+02, 2.893855285644531e+02, 2.893856201171875e+02, 2.893857116699219e+02, 2.893857727050781e+02, 2.893858337402344e+02, 2.893858947753906e+02, 2.893859558105469e+02, 2.89385986328125e+02, 2.893860473632812e+02, 2.893860778808594e+02, 2.893861083984375e+02, 2.893861389160156e+02, 2.893861389160156e+02, 2.893861694335938e+02, 2.893861999511719e+02, 2.893861999511719e+02, 2.8938623046875e+02, 2.8938623046875e+02, 2.8938623046875e+02, 2.893862609863281e+02, 2.893862609863281e+02, 2.893862609863281e+02, 2.893862609863281e+02, 2.893862609863281e+02, 2.893862609863281e+02, 2.893862609863281e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02, 2.893862915039062e+02] diff --git a/Buildings/Resources/ReferenceResults/Dymola/Buildings_Examples_Tutorial_SpaceCooling_System3.txt b/Buildings/Resources/ReferenceResults/Dymola/Buildings_Examples_Tutorial_SpaceCooling_System3.txt index b34de20b211..13d025e3ba2 100644 --- a/Buildings/Resources/ReferenceResults/Dymola/Buildings_Examples_Tutorial_SpaceCooling_System3.txt +++ b/Buildings/Resources/ReferenceResults/Dymola/Buildings_Examples_Tutorial_SpaceCooling_System3.txt @@ -1,20 +1,20 @@ -last-generated=2019-12-20 +last-generated=2021-03-10 statistics-initialization= { "linear": "0, 0", - "nonlinear": "0, 0, 0", + "nonlinear": "0, 1, 0, 0, 0", "numerical Jacobians": "0" } statistics-simulation= { - "linear": "0, 0", - "nonlinear": "1, 0, 0, 0", - "number of continuous time states": "24", + "linear": "0", + "nonlinear": "1, 0, 0, 0, 1, 1", + "number of continuous time states": "12", "numerical Jacobians": "0" } -cooCoi.sta_a2.T=[2.931499938964844e+02, 2.939740600585938e+02, 2.939687194824219e+02, 2.938246154785156e+02, 2.936032104492188e+02, 2.933628234863281e+02, 2.931128234863281e+02, 2.928571166992188e+02, 2.925980224609375e+02, 2.92317138671875e+02, 2.919302368164062e+02, 2.914390563964844e+02, 2.909124755859375e+02, 2.904523010253906e+02, 2.901116638183594e+02, 2.898766479492188e+02, 2.897008056640625e+02, 2.895181274414062e+02, 2.89267578125e+02, 2.889412536621094e+02, 2.885704650878906e+02, 2.882096557617188e+02, 2.879315490722656e+02, 2.878057556152344e+02, 2.878886413574219e+02, 2.882293090820312e+02, 2.889196472167969e+02, 2.900181274414062e+02, 2.914165344238281e+02, 2.92913818359375e+02, 2.943167724609375e+02, 2.956068725585938e+02, 2.967554321289062e+02, 2.96435302734375e+02, 2.971579284667969e+02, 2.968460388183594e+02, 2.959851989746094e+02, 2.962182922363281e+02, 2.966642456054688e+02, 2.96683837890625e+02, 2.96788330078125e+02, 2.964874572753906e+02, 2.968433227539062e+02, 2.974552917480469e+02, 2.977440490722656e+02, 2.978112487792969e+02, 2.977487487792969e+02, 2.976324462890625e+02, 2.974941101074219e+02, 2.973453979492188e+02, 2.971952819824219e+02, 2.971346130371094e+02, 2.972048645019531e+02, 2.973582153320312e+02, 2.97578125e+02, 2.978346862792969e+02, 2.980923461914062e+02, 2.9780224609375e+02, 2.974970397949219e+02, 2.972588195800781e+02, 2.973114013671875e+02, 2.975160827636719e+02, 2.97807373046875e+02, 2.980652465820312e+02, 2.978377685546875e+02, 2.971133117675781e+02, 2.960098266601562e+02, 2.964172058105469e+02, 2.970088195800781e+02, 2.96608642578125e+02, 2.967178039550781e+02, 2.968576049804688e+02, 2.969032287597656e+02, 2.969197692871094e+02, 2.969190673828125e+02, 2.97021484375e+02, 2.973594360351562e+02, 2.965105285644531e+02, 2.967676086425781e+02, 2.965289611816406e+02, 2.961353454589844e+02, 2.956807861328125e+02, 2.952375793457031e+02, 2.948725280761719e+02, 2.94635986328125e+02, 2.945036010742188e+02, 2.944371032714844e+02, 2.943985290527344e+02, 2.943525390625e+02, 2.942949829101562e+02, 2.942314147949219e+02, 2.941643676757812e+02, 2.940953979492188e+02, 2.940252380371094e+02, 2.939542846679688e+02, 2.938828735351562e+02, 2.938110961914062e+02, 2.937391357421875e+02, 2.936671142578125e+02, 2.935950317382812e+02, 2.935229187011719e+02] -TOut.T=[2.914500122070312e+02, 2.913385009765625e+02, 2.910647583007812e+02, 2.907200927734375e+02, 2.903956909179688e+02, 2.901300048828125e+02, 2.898659973144531e+02, 2.896019897460938e+02, 2.893380126953125e+02, 2.89004150390625e+02, 2.884479370117188e+02, 2.878096618652344e+02, 2.872500610351562e+02, 2.869119262695312e+02, 2.867525024414062e+02, 2.866704406738281e+02, 2.865716247558594e+02, 2.86362060546875e+02, 2.860019836425781e+02, 2.855647583007812e+02, 2.851369323730469e+02, 2.848055419921875e+02, 2.84671142578125e+02, 2.847913513183594e+02, 2.852047729492188e+02, 2.859500122070312e+02, 2.872088317871094e+02, 2.889144592285156e+02, 2.907325744628906e+02, 2.923289794921875e+02, 2.935801696777344e+02, 2.946938171386719e+02, 2.956173706054688e+02, 2.962911987304688e+02, 2.964541015625e+02, 2.957337341308594e+02, 2.947459106445312e+02, 2.941705322265625e+02, 2.945262451171875e+02, 2.952189331054688e+02, 2.959844055175781e+02, 2.966857299804688e+02, 2.972068786621094e+02, 2.977020874023438e+02, 2.981768493652344e+02, 2.985576171875e+02, 2.987735900878906e+02, 2.989007568359375e+02, 2.990133361816406e+02, 2.991251220703125e+02, 2.9925e+02, 2.993937683105469e+02, 2.99545654296875e+02, 2.996946411132812e+02, 2.998296203613281e+02, 2.999126586914062e+02, 2.999144897460938e+02, 2.99878662109375e+02, 2.998501281738281e+02, 2.99885009765625e+02, 3.0001416015625e+02, 3.001783142089844e+02, 3.003133850097656e+02, 3.001267700195312e+02, 2.985876770019531e+02, 2.964372253417969e+02, 2.946898803710938e+02, 2.943067016601562e+02, 2.951251831054688e+02, 2.964444274902344e+02, 2.976576538085938e+02, 2.981753234863281e+02, 2.982959289550781e+02, 2.982947082519531e+02, 2.980774841308594e+02, 2.975499877929688e+02, 2.9660986328125e+02, 2.953994445800781e+02, 2.94191650390625e+02, 2.932594299316406e+02, 2.926542053222656e+02, 2.921209716796875e+02, 2.917095031738281e+02, 2.914774780273438e+02, 2.91437255859375e+02, 2.914543151855469e+02, 2.914801330566406e+02, 2.914757385253906e+02, 2.914140014648438e+02, 2.913420104980469e+02, 2.912699890136719e+02, 2.91197998046875e+02, 2.911260070800781e+02, 2.910539855957031e+02, 2.909819946289062e+02, 2.909100036621094e+02, 2.908380126953125e+02, 2.907659912109375e+02, 2.906940002441406e+02, 2.906220092773438e+02, 2.905499877929688e+02] -cooCoi.sta_b2.T=[2.931499938964844e+02, 2.939472351074219e+02, 2.939783630371094e+02, 2.938583068847656e+02, 2.936481018066406e+02, 2.934100341796875e+02, 2.931617126464844e+02, 2.929069519042969e+02, 2.926484069824219e+02, 2.923759765625e+02, 2.920118103027344e+02, 2.915382995605469e+02, 2.910135498046875e+02, 2.905353698730469e+02, 2.901713562011719e+02, 2.899177551269531e+02, 2.89733642578125e+02, 2.895562744140625e+02, 2.893206481933594e+02, 2.890080261230469e+02, 2.886433410644531e+02, 2.882771301269531e+02, 2.87978759765625e+02, 2.878201293945312e+02, 2.878597106933594e+02, 2.881478881835938e+02, 2.887628784179688e+02, 2.897854309082031e+02, 2.911351013183594e+02, 2.926262512207031e+02, 2.940511474609375e+02, 2.953642578125e+02, 2.965423278808594e+02, 2.943297729492188e+02, 2.895846252441406e+02, 2.965929870605469e+02, 2.935411987304688e+02, 2.961192321777344e+02, 2.965715637207031e+02, 2.893576354980469e+02, 2.964923706054688e+02, 2.945772399902344e+02, 2.892663879394531e+02, 2.892762145996094e+02, 2.906957702636719e+02, 2.900926513671875e+02, 2.892872314453125e+02, 2.892779846191406e+02, 2.8927587890625e+02, 2.89273681640625e+02, 2.892713928222656e+02, 2.924416809082031e+02, 2.938199768066406e+02, 2.949693908691406e+02, 2.959010009765625e+02, 2.966378479003906e+02, 2.972066650390625e+02, 2.892805786132812e+02, 2.892760009765625e+02, 2.909532775878906e+02, 2.936824340820312e+02, 2.95168212890625e+02, 2.962622985839844e+02, 2.970316162109375e+02, 2.921206359863281e+02, 2.967705078125e+02, 2.953482971191406e+02, 2.963265686035156e+02, 2.968785705566406e+02, 2.959191589355469e+02, 2.936186218261719e+02, 2.924618530273438e+02, 2.918533325195312e+02, 2.912126159667969e+02, 2.895585021972656e+02, 2.893028869628906e+02, 2.970889282226562e+02, 2.961773376464844e+02, 2.967522583007812e+02, 2.965889587402344e+02, 2.962166137695312e+02, 2.957698669433594e+02, 2.953207702636719e+02, 2.949371032714844e+02, 2.946752624511719e+02, 2.945248718261719e+02, 2.944476318359375e+02, 2.944057006835938e+02, 2.943623352050781e+02, 2.943065490722656e+02, 2.942439880371094e+02, 2.941775207519531e+02, 2.9410888671875e+02, 2.940389099121094e+02, 2.939680786132812e+02, 2.938967590332031e+02, 2.938250427246094e+02, 2.937531127929688e+02, 2.936810913085938e+02, 2.936090087890625e+02, 2.935369262695312e+02] time=[1.5552e+07, 1.56384e+07] vol.T_start=[2.931499938964844e+02, 2.931499938964844e+02] -vol.T=[2.944500122070312e+02, 2.946329650878906e+02, 2.946947021484375e+02, 2.946007385253906e+02, 2.944050903320312e+02, 2.941710205078125e+02, 2.93924560546875e+02, 2.936708984375e+02, 2.934130249023438e+02, 2.931453857421875e+02, 2.928008117675781e+02, 2.923464050292969e+02, 2.918280639648438e+02, 2.913373718261719e+02, 2.909514465332031e+02, 2.906782531738281e+02, 2.904831237792969e+02, 2.9030712890625e+02, 2.90083984375e+02, 2.897853698730469e+02, 2.894288330078125e+02, 2.890606994628906e+02, 2.887466430664062e+02, 2.885594787597656e+02, 2.885598449707031e+02, 2.887994995117188e+02, 2.893478393554688e+02, 2.902944946289062e+02, 2.915878295898438e+02, 2.930602416992188e+02, 2.945011596679688e+02, 2.958353576660156e+02, 2.970401611328125e+02, 2.964714965820312e+02, 2.973341674804688e+02, 2.971241455078125e+02, 2.962951965332031e+02, 2.96730224609375e+02, 2.9719873046875e+02, 2.970500793457031e+02, 2.969893188476562e+02, 2.964378967285156e+02, 2.9675244140625e+02, 2.973935852050781e+02, 2.976358337402344e+02, 2.976246337890625e+02, 2.974925231933594e+02, 2.973153381347656e+02, 2.971141967773438e+02, 2.969003295898438e+02, 2.966815795898438e+02, 2.9656982421875e+02, 2.966196594238281e+02, 2.967741088867188e+02, 2.970152587890625e+02, 2.973150939941406e+02, 2.976365966796875e+02, 2.972828674316406e+02, 2.969085083007812e+02, 2.966021728515625e+02, 2.966357116699219e+02, 2.968505249023438e+02, 2.971808471679688e+02, 2.975495300292969e+02, 2.976499633789062e+02, 2.972825622558594e+02, 2.963400268554688e+02, 2.969449157714844e+02, 2.97479736328125e+02, 2.966496887207031e+02, 2.964828186035156e+02, 2.965281677246094e+02, 2.965549621582031e+02, 2.965759887695312e+02, 2.966294250488281e+02, 2.968893432617188e+02, 2.975468139648438e+02, 2.967882995605469e+02, 2.9741162109375e+02, 2.973463134765625e+02, 2.970056457519531e+02, 2.965707397460938e+02, 2.961195983886719e+02, 2.957212829589844e+02, 2.954356689453125e+02, 2.952659301757812e+02, 2.951763610839844e+02, 2.951292419433594e+02, 2.950871887207031e+02, 2.950334777832031e+02, 2.949720764160156e+02, 2.949062194824219e+02, 2.948378601074219e+02, 2.947680358886719e+02, 2.946973571777344e+02, 2.946261291503906e+02, 2.945545349121094e+02, 2.944826354980469e+02, 2.9441064453125e+02, 2.943385620117188e+02, 2.942664184570312e+02] +vol.T=[2.944500122070312e+02, 2.946990966796875e+02, 2.94734619140625e+02, 2.946108703613281e+02, 2.943895263671875e+02, 2.94138427734375e+02, 2.938815612792969e+02, 2.936214904785156e+02, 2.933596496582031e+02, 2.930885620117188e+02, 2.927328186035156e+02, 2.922613220214844e+02, 2.917282104492188e+02, 2.9123388671875e+02, 2.90857421875e+02, 2.906004638671875e+02, 2.904215393066406e+02, 2.902552795410156e+02, 2.900317993164062e+02, 2.897252502441406e+02, 2.893590393066406e+02, 2.889852294921875e+02, 2.886747436523438e+02, 2.885034790039062e+02, 2.885325012207031e+02, 2.888129272460938e+02, 2.894165649414062e+02, 2.904346008300781e+02, 2.918007202148438e+02, 2.933279418945312e+02, 2.9479248046875e+02, 2.961285095214844e+02, 2.973206176757812e+02, 2.972233581542969e+02, 2.973105773925781e+02, 2.972719116210938e+02, 2.968710327148438e+02, 2.973543090820312e+02, 2.975884399414062e+02, 2.970808410644531e+02, 2.967577209472656e+02, 2.967899169921875e+02, 2.97095703125e+02, 2.975694274902344e+02, 2.96886962890625e+02, 2.970877075195312e+02, 2.974223937988281e+02, 2.967634582519531e+02, 2.976709594726562e+02, 2.96623779296875e+02, 2.975354919433594e+02, 2.968088073730469e+02, 2.973931274414062e+02, 2.969568786621094e+02, 2.972752380371094e+02, 2.970711975097656e+02, 2.971593322753906e+02, 2.971767578125e+02, 2.970434875488281e+02, 2.972877197265625e+02, 2.969270324707031e+02, 2.973883972167969e+02, 2.9680224609375e+02, 2.974931945800781e+02, 2.967264099121094e+02, 2.972488708496094e+02, 2.969684753417969e+02, 2.973959350585938e+02, 2.965516662597656e+02, 2.972244873046875e+02, 2.966045532226562e+02, 2.971893615722656e+02, 2.974157409667969e+02, 2.967109680175781e+02, 2.974551391601562e+02, 2.971238403320312e+02, 2.966295166015625e+02, 2.966022033691406e+02, 2.973640441894531e+02, 2.973043518066406e+02, 2.969451293945312e+02, 2.964924011230469e+02, 2.960310668945312e+02, 2.956336364746094e+02, 2.953606872558594e+02, 2.952092590332031e+02, 2.9513720703125e+02, 2.951033935546875e+02, 2.950685424804688e+02, 2.95017578125e+02, 2.949570007324219e+02, 2.948911743164062e+02, 2.948226318359375e+02, 2.947525939941406e+02, 2.946816711425781e+02, 2.946102905273438e+02, 2.945385437011719e+02, 2.944665832519531e+02, 2.943945007324219e+02, 2.943223876953125e+02, 2.942502136230469e+02] +TOut.T=[2.914500122070312e+02, 2.913385009765625e+02, 2.910647583007812e+02, 2.907200927734375e+02, 2.903956909179688e+02, 2.901300048828125e+02, 2.898659973144531e+02, 2.896019897460938e+02, 2.893380126953125e+02, 2.89004150390625e+02, 2.884479370117188e+02, 2.878096618652344e+02, 2.872500610351562e+02, 2.869119262695312e+02, 2.867525024414062e+02, 2.866704406738281e+02, 2.865716247558594e+02, 2.86362060546875e+02, 2.860019836425781e+02, 2.855647583007812e+02, 2.851369323730469e+02, 2.848055419921875e+02, 2.84671142578125e+02, 2.847913513183594e+02, 2.852047729492188e+02, 2.859500122070312e+02, 2.872088317871094e+02, 2.889144592285156e+02, 2.907325744628906e+02, 2.923289794921875e+02, 2.935801696777344e+02, 2.946938171386719e+02, 2.956173706054688e+02, 2.962911987304688e+02, 2.964541015625e+02, 2.957337341308594e+02, 2.947459106445312e+02, 2.941705322265625e+02, 2.945262451171875e+02, 2.952189331054688e+02, 2.959844055175781e+02, 2.966857299804688e+02, 2.972068786621094e+02, 2.977020874023438e+02, 2.981768493652344e+02, 2.985576171875e+02, 2.987735900878906e+02, 2.989007568359375e+02, 2.990133361816406e+02, 2.991251220703125e+02, 2.9925e+02, 2.993937683105469e+02, 2.99545654296875e+02, 2.996946411132812e+02, 2.998296203613281e+02, 2.999126586914062e+02, 2.999144897460938e+02, 2.99878662109375e+02, 2.998501281738281e+02, 2.99885009765625e+02, 3.0001416015625e+02, 3.001783142089844e+02, 3.003133850097656e+02, 3.001267700195312e+02, 2.985876770019531e+02, 2.964372253417969e+02, 2.946898803710938e+02, 2.943067016601562e+02, 2.951251831054688e+02, 2.964444274902344e+02, 2.976576538085938e+02, 2.981753234863281e+02, 2.982959289550781e+02, 2.982947082519531e+02, 2.980774841308594e+02, 2.975499877929688e+02, 2.9660986328125e+02, 2.953994445800781e+02, 2.94191650390625e+02, 2.932594299316406e+02, 2.926542053222656e+02, 2.921209716796875e+02, 2.917095031738281e+02, 2.914774780273438e+02, 2.91437255859375e+02, 2.914543151855469e+02, 2.914801330566406e+02, 2.914757385253906e+02, 2.914140014648438e+02, 2.913420104980469e+02, 2.912699890136719e+02, 2.91197998046875e+02, 2.911260070800781e+02, 2.910539855957031e+02, 2.909819946289062e+02, 2.909100036621094e+02, 2.908380126953125e+02, 2.907659912109375e+02, 2.906940002441406e+02, 2.906220092773438e+02, 2.905499877929688e+02] +cooCoi.sta_a2.T=[2.931499938964844e+02, 2.940269775390625e+02, 2.940006713867188e+02, 2.938327026367188e+02, 2.935907592773438e+02, 2.933367614746094e+02, 2.930784301757812e+02, 2.928175964355469e+02, 2.925553283691406e+02, 2.922716674804688e+02, 2.918758544921875e+02, 2.913710021972656e+02, 2.908325805664062e+02, 2.903695068359375e+02, 2.900364379882812e+02, 2.89814453125e+02, 2.896515502929688e+02, 2.894766540527344e+02, 2.89225830078125e+02, 2.888931274414062e+02, 2.885146179199219e+02, 2.881492919921875e+02, 2.878740234375e+02, 2.877609558105469e+02, 2.878667297363281e+02, 2.882400512695312e+02, 2.889745788574219e+02, 2.90130126953125e+02, 2.915867919921875e+02, 2.931278991699219e+02, 2.945497741699219e+02, 2.9584130859375e+02, 2.969797668457031e+02, 2.970365905761719e+02, 2.971390075683594e+02, 2.969641723632812e+02, 2.964459838867188e+02, 2.967175598144531e+02, 2.969759826660156e+02, 2.967084655761719e+02, 2.966030578613281e+02, 2.967690734863281e+02, 2.971179504394531e+02, 2.97595947265625e+02, 2.971449584960938e+02, 2.973817138671875e+02, 2.97692626953125e+02, 2.971909790039062e+02, 2.979395141601562e+02, 2.971241760253906e+02, 2.9787841796875e+02, 2.973258056640625e+02, 2.978236389160156e+02, 2.975044555664062e+02, 2.977861022949219e+02, 2.976395874023438e+02, 2.977105712890625e+02, 2.977174072265625e+02, 2.976050415039062e+02, 2.978072509765625e+02, 2.975444641113281e+02, 2.979463806152344e+02, 2.975044860839844e+02, 2.980202026367188e+02, 2.970991821289062e+02, 2.970863647460938e+02, 2.965125122070312e+02, 2.967780151367188e+02, 2.962663879394531e+02, 2.970684509277344e+02, 2.96815185546875e+02, 2.973865661621094e+02, 2.97591796875e+02, 2.970277709960938e+02, 2.975796203613281e+02, 2.972090759277344e+02, 2.966255798339844e+02, 2.963616333007812e+02, 2.967295837402344e+02, 2.96495361328125e+02, 2.960869445800781e+02, 2.956181030273438e+02, 2.95166748046875e+02, 2.948023986816406e+02, 2.945760192871094e+02, 2.94458251953125e+02, 2.944057922363281e+02, 2.943778686523438e+02, 2.94337646484375e+02, 2.942822570800781e+02, 2.942193298339844e+02, 2.9415234375e+02, 2.940832214355469e+02, 2.940128479003906e+02, 2.939417419433594e+02, 2.938702087402344e+02, 2.937983093261719e+02, 2.937262573242188e+02, 2.936542053222656e+02, 2.935820922851562e+02, 2.935099792480469e+02] +cooCoi.sta_b2.T=[2.931499938964844e+02, 2.940245666503906e+02, 2.940041809082031e+02, 2.938401489257812e+02, 2.935995178222656e+02, 2.933456115722656e+02, 2.930874328613281e+02, 2.928266296386719e+02, 2.925643920898438e+02, 2.922829895019531e+02, 2.918915710449219e+02, 2.913895568847656e+02, 2.908506469726562e+02, 2.903834228515625e+02, 2.900459289550781e+02, 2.8982080078125e+02, 2.896569213867188e+02, 2.894837036132812e+02, 2.892359619140625e+02, 2.889056701660156e+02, 2.885278625488281e+02, 2.881609497070312e+02, 2.878812866210938e+02, 2.877616271972656e+02, 2.878590393066406e+02, 2.882223510742188e+02, 2.889421081542969e+02, 2.900843200683594e+02, 2.915336303710938e+02, 2.93075927734375e+02, 2.945026550292969e+02, 2.957989196777344e+02, 2.969432373046875e+02, 2.969888000488281e+02, 2.970953063964844e+02, 2.96935791015625e+02, 2.964270935058594e+02, 2.967120361328125e+02, 2.96963623046875e+02, 2.96675048828125e+02, 2.965231628417969e+02, 2.966544799804688e+02, 2.970514221191406e+02, 2.975303649902344e+02, 2.89164306640625e+02, 2.972793884277344e+02, 2.895834655761719e+02, 2.966183166503906e+02, 2.936465454101562e+02, 2.916478576660156e+02, 2.977879333496094e+02, 2.891542358398438e+02, 2.977231750488281e+02, 2.891587829589844e+02, 2.976707458496094e+02, 2.891678771972656e+02, 2.97572509765625e+02, 2.891916198730469e+02, 2.974226379394531e+02, 2.8925048828125e+02, 2.972256164550781e+02, 2.893460693359375e+02, 2.967520751953125e+02, 2.896146545410156e+02, 2.963970031738281e+02, 2.97052978515625e+02, 2.964984436035156e+02, 2.967677612304688e+02, 2.948928527832031e+02, 2.894025268554688e+02, 2.927101440429688e+02, 2.973055725097656e+02, 2.896318664550781e+02, 2.963382873535156e+02, 2.975110168457031e+02, 2.892386779785156e+02, 2.959095764160156e+02, 2.9599609375e+02, 2.967297058105469e+02, 2.965076904296875e+02, 2.961025085449219e+02, 2.956344604492188e+02, 2.951813354492188e+02, 2.948129272460938e+02, 2.945818176269531e+02, 2.944610595703125e+02, 2.94406982421875e+02, 2.943788452148438e+02, 2.943393249511719e+02, 2.942843322753906e+02, 2.942215881347656e+02, 2.941546936035156e+02, 2.940856323242188e+02, 2.940153198242188e+02, 2.939442138671875e+02, 2.938726806640625e+02, 2.9380078125e+02, 2.93728759765625e+02, 2.936566772460938e+02, 2.935845947265625e+02, 2.93512451171875e+02] diff --git a/Buildings/Resources/ReferenceResults/Dymola/Buildings_Fluid_FMI_ExportContainers_Validation_RoomHVAC.txt b/Buildings/Resources/ReferenceResults/Dymola/Buildings_Fluid_FMI_ExportContainers_Validation_RoomHVAC.txt index 57e7fa1a313..e8954345383 100644 --- a/Buildings/Resources/ReferenceResults/Dymola/Buildings_Fluid_FMI_ExportContainers_Validation_RoomHVAC.txt +++ b/Buildings/Resources/ReferenceResults/Dymola/Buildings_Fluid_FMI_ExportContainers_Validation_RoomHVAC.txt @@ -1,23 +1,23 @@ -last-generated=2019-08-15 +last-generated=2021-04-16 statistics-initialization= { "linear": "0, 0", - "nonlinear": "0, 0, 1, 0, 0", + "nonlinear": "0, 1, 1, 0, 0, 0, 0, 0", "numerical Jacobians": "0" } statistics-simulation= { - "linear": "0, 0, 0, 0, 0, 0, 0, 0, 0", - "nonlinear": "0, 0, 1, 0, 0, 0, 1", - "number of continuous time states": "77", + "linear": "0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "0, 0, 1, 0, 1, 1, 0, 0, 1", + "number of continuous time states": "65", "numerical Jacobians": "0" } -rooCon2.vol1.T=[2.931499938964844e+02, 2.941614379882812e+02, 2.946229858398438e+02, 2.947637329101562e+02, 2.947061767578125e+02, 2.945533752441406e+02, 2.94354736328125e+02, 2.941292419433594e+02, 2.93887939453125e+02, 2.936300659179688e+02, 2.932911376953125e+02, 2.928401794433594e+02, 2.923238220214844e+02, 2.918342895507812e+02, 2.914491577148438e+02, 2.911764221191406e+02, 2.909816284179688e+02, 2.908057556152344e+02, 2.905826416015625e+02, 2.90283935546875e+02, 2.899274597167969e+02, 2.89559326171875e+02, 2.892453308105469e+02, 2.890582580566406e+02, 2.890587768554688e+02, 2.892985229492188e+02, 2.898470764160156e+02, 2.907938537597656e+02, 2.920873413085938e+02, 2.935599365234375e+02, 2.950008850097656e+02, 2.963351745605469e+02, 2.975398254394531e+02, 2.970686950683594e+02, 2.967359619140625e+02, 2.964510803222656e+02, 2.973501586914062e+02, 2.962337951660156e+02, 2.969827270507812e+02, 2.96767578125e+02, 2.972510986328125e+02, 2.9680224609375e+02, 2.966003723144531e+02, 2.965549926757812e+02, 2.965749816894531e+02, 2.966329345703125e+02, 2.967414245605469e+02, 2.969012145996094e+02, 2.971078796386719e+02, 2.97353759765625e+02, 2.976327209472656e+02, 2.973072204589844e+02, 2.969391784667969e+02, 2.966236877441406e+02, 2.966581726074219e+02, 2.968983764648438e+02, 2.972385864257812e+02, 2.976152038574219e+02, 2.972875366210938e+02, 2.96901123046875e+02, 2.966054382324219e+02, 2.967227478027344e+02, 2.970361938476562e+02, 2.974270629882812e+02, 2.97626220703125e+02, 2.973722229003906e+02, 2.965950317382812e+02, 2.973240356445312e+02, 2.963128356933594e+02, 2.975716857910156e+02, 2.974058532714844e+02, 2.974440307617188e+02, 2.975234985351562e+02, 2.976116638183594e+02, 2.976541442871094e+02, 2.975975341796875e+02, 2.973223571777344e+02, 2.967292175292969e+02, 2.975648803710938e+02, 2.961282348632812e+02, 2.964501647949219e+02, 2.9644873046875e+02, 2.962528076171875e+02, 2.960047607421875e+02, 2.958076477050781e+02, 2.956900634765625e+02, 2.956312561035156e+02, 2.95602294921875e+02, 2.955708923339844e+02, 2.955234680175781e+02, 2.954657592773438e+02, 2.954020385742188e+02, 2.953349304199219e+02, 2.95265869140625e+02, 2.951956176757812e+02, 2.951246643066406e+02, 2.9505322265625e+02, 2.949814147949219e+02, 2.94909423828125e+02, 2.948373413085938e+02, 2.947651977539062e+02] -rooCon.vol.T=[2.931499938964844e+02, 2.941614379882812e+02, 2.946229858398438e+02, 2.947637329101562e+02, 2.947061767578125e+02, 2.945533752441406e+02, 2.94354736328125e+02, 2.941292419433594e+02, 2.93887939453125e+02, 2.936300659179688e+02, 2.932911376953125e+02, 2.928401794433594e+02, 2.923238220214844e+02, 2.918342895507812e+02, 2.914491577148438e+02, 2.911764221191406e+02, 2.909816284179688e+02, 2.908057556152344e+02, 2.905826416015625e+02, 2.90283935546875e+02, 2.899274597167969e+02, 2.89559326171875e+02, 2.892453308105469e+02, 2.890582580566406e+02, 2.890587768554688e+02, 2.892985229492188e+02, 2.898470764160156e+02, 2.907938537597656e+02, 2.920873413085938e+02, 2.935599365234375e+02, 2.950008850097656e+02, 2.963351745605469e+02, 2.975398254394531e+02, 2.970686950683594e+02, 2.967359619140625e+02, 2.964510803222656e+02, 2.973501586914062e+02, 2.962337951660156e+02, 2.969827270507812e+02, 2.96767578125e+02, 2.972510986328125e+02, 2.9680224609375e+02, 2.966003723144531e+02, 2.965549926757812e+02, 2.965749816894531e+02, 2.966329345703125e+02, 2.967414245605469e+02, 2.969012145996094e+02, 2.971078796386719e+02, 2.97353759765625e+02, 2.976327209472656e+02, 2.973072204589844e+02, 2.969391784667969e+02, 2.966236877441406e+02, 2.966581726074219e+02, 2.968983764648438e+02, 2.972385864257812e+02, 2.976152038574219e+02, 2.972875366210938e+02, 2.96901123046875e+02, 2.966054382324219e+02, 2.967227478027344e+02, 2.970361938476562e+02, 2.974270629882812e+02, 2.97626220703125e+02, 2.973722229003906e+02, 2.965950317382812e+02, 2.973240356445312e+02, 2.963128356933594e+02, 2.975716857910156e+02, 2.974058532714844e+02, 2.974440307617188e+02, 2.975234985351562e+02, 2.976116638183594e+02, 2.976541442871094e+02, 2.975975341796875e+02, 2.973223571777344e+02, 2.967292175292969e+02, 2.975648803710938e+02, 2.961282348632812e+02, 2.964501647949219e+02, 2.9644873046875e+02, 2.962528076171875e+02, 2.960047607421875e+02, 2.958076477050781e+02, 2.956900634765625e+02, 2.956312561035156e+02, 2.95602294921875e+02, 2.955708923339844e+02, 2.955234680175781e+02, 2.954657592773438e+02, 2.954020385742188e+02, 2.953349304199219e+02, 2.95265869140625e+02, 2.951956176757812e+02, 2.951246643066406e+02, 2.9505322265625e+02, 2.949814147949219e+02, 2.94909423828125e+02, 2.948373413085938e+02, 2.947651977539062e+02] -rooCon2.vol2.T=[2.931499938964844e+02, 2.941614379882812e+02, 2.946229858398438e+02, 2.947637329101562e+02, 2.947061767578125e+02, 2.945533752441406e+02, 2.94354736328125e+02, 2.941292419433594e+02, 2.93887939453125e+02, 2.936300659179688e+02, 2.932911376953125e+02, 2.928401794433594e+02, 2.923238220214844e+02, 2.918342895507812e+02, 2.914491577148438e+02, 2.911764221191406e+02, 2.909816284179688e+02, 2.908057556152344e+02, 2.905826416015625e+02, 2.90283935546875e+02, 2.899274597167969e+02, 2.89559326171875e+02, 2.892453308105469e+02, 2.890582580566406e+02, 2.890587768554688e+02, 2.892985229492188e+02, 2.898470764160156e+02, 2.907938537597656e+02, 2.920873413085938e+02, 2.935599365234375e+02, 2.950008850097656e+02, 2.963351745605469e+02, 2.975398254394531e+02, 2.970686950683594e+02, 2.967359619140625e+02, 2.964510803222656e+02, 2.973501586914062e+02, 2.962337951660156e+02, 2.969827270507812e+02, 2.96767578125e+02, 2.972510986328125e+02, 2.9680224609375e+02, 2.966003723144531e+02, 2.965549926757812e+02, 2.965749816894531e+02, 2.966329345703125e+02, 2.967414245605469e+02, 2.969012145996094e+02, 2.971078796386719e+02, 2.97353759765625e+02, 2.976327209472656e+02, 2.973072204589844e+02, 2.969391784667969e+02, 2.966236877441406e+02, 2.966581726074219e+02, 2.968983764648438e+02, 2.972385864257812e+02, 2.976152038574219e+02, 2.972875366210938e+02, 2.96901123046875e+02, 2.966054382324219e+02, 2.967227478027344e+02, 2.970361938476562e+02, 2.974270629882812e+02, 2.97626220703125e+02, 2.973722229003906e+02, 2.965950317382812e+02, 2.973240356445312e+02, 2.963128356933594e+02, 2.975716857910156e+02, 2.974058532714844e+02, 2.974440307617188e+02, 2.975234985351562e+02, 2.976116638183594e+02, 2.976541442871094e+02, 2.975975341796875e+02, 2.973223571777344e+02, 2.967292175292969e+02, 2.975648803710938e+02, 2.961282348632812e+02, 2.964501647949219e+02, 2.9644873046875e+02, 2.962528076171875e+02, 2.960047607421875e+02, 2.958076477050781e+02, 2.956900634765625e+02, 2.956312561035156e+02, 2.95602294921875e+02, 2.955708923339844e+02, 2.955234680175781e+02, 2.954657592773438e+02, 2.954020385742188e+02, 2.953349304199219e+02, 2.95265869140625e+02, 2.951956176757812e+02, 2.951246643066406e+02, 2.9505322265625e+02, 2.949814147949219e+02, 2.94909423828125e+02, 2.948373413085938e+02, 2.947651977539062e+02] -baseCase.vol.T=[2.931499938964844e+02, 2.942142028808594e+02, 2.946536865234375e+02, 2.947817993164062e+02, 2.947169494628906e+02, 2.945599365234375e+02, 2.943588562011719e+02, 2.941319580078125e+02, 2.938898315429688e+02, 2.936315002441406e+02, 2.932923583984375e+02, 2.928414001464844e+02, 2.923250732421875e+02, 2.918355407714844e+02, 2.914502868652344e+02, 2.911774291992188e+02, 2.909824523925781e+02, 2.908064880371094e+02, 2.905833435058594e+02, 2.902846984863281e+02, 2.899283142089844e+02, 2.895602111816406e+02, 2.892462158203125e+02, 2.890590209960938e+02, 2.890592651367188e+02, 2.892986755371094e+02, 2.898467407226562e+02, 2.907928466796875e+02, 2.92085693359375e+02, 2.935577087402344e+02, 2.949983825683594e+02, 2.963325805664062e+02, 2.975373229980469e+02, 2.970646667480469e+02, 2.967315673828125e+02, 2.964523010253906e+02, 2.973439331054688e+02, 2.962338562011719e+02, 2.969736633300781e+02, 2.968063354492188e+02, 2.972406311035156e+02, 2.967908020019531e+02, 2.965916442871094e+02, 2.965492858886719e+02, 2.965690002441406e+02, 2.966230163574219e+02, 2.96725830078125e+02, 2.968800048828125e+02, 2.970817260742188e+02, 2.973235778808594e+02, 2.975993347167969e+02, 2.973530578613281e+02, 2.969805908203125e+02, 2.966577758789062e+02, 2.966401672363281e+02, 2.96861083984375e+02, 2.971901245117188e+02, 2.975610961914062e+02, 2.973510131835938e+02, 2.969573974609375e+02, 2.966289978027344e+02, 2.966880187988281e+02, 2.969766235351562e+02, 2.973547668457031e+02, 2.975572204589844e+02, 2.973112487792969e+02, 2.965382080078125e+02, 2.972823791503906e+02, 2.963356323242188e+02, 2.9752099609375e+02, 2.973450317382812e+02, 2.973788757324219e+02, 2.974558715820312e+02, 2.975421142578125e+02, 2.975902099609375e+02, 2.975274353027344e+02, 2.97253662109375e+02, 2.966646423339844e+02, 2.975175170898438e+02, 2.9761376953125e+02, 2.97368408203125e+02, 2.969896850585938e+02, 2.965716552734375e+02, 2.961928100585938e+02, 2.959186401367188e+02, 2.95755615234375e+02, 2.956699829101562e+02, 2.956251831054688e+02, 2.955845031738281e+02, 2.955315856933594e+02, 2.954706726074219e+02, 2.954050903320312e+02, 2.953368530273438e+02, 2.952671508789062e+02, 2.951965026855469e+02, 2.951253356933594e+02, 2.950537414550781e+02, 2.949818420410156e+02, 2.949098205566406e+02, 2.948377075195312e+02, 2.947655639648438e+02] time=[1.5552e+07, 1.56384e+07] -baseCase.vol.Xi[1]=[9.999999776482582e-03, 1.042371708899736e-02, 1.028698217123747e-02, 1.007428113371134e-02, 9.89263691008091e-03, 9.790350683033466e-03, 9.710710495710373e-03, 9.632398374378681e-03, 9.553791955113411e-03, 9.458430111408234e-03, 9.25137847661972e-03, 8.967713452875614e-03, 8.698972873389721e-03, 8.530438877642155e-03, 8.476481772959232e-03, 8.485784754157066e-03, 8.506008423864841e-03, 8.485733531415462e-03, 8.419947698712349e-03, 8.337315171957016e-03, 8.249042555689812e-03, 8.16645473241806e-03, 8.123371750116348e-03, 8.167854510247707e-03, 8.32404475659132e-03, 8.615824393928051e-03, 9.127341210842133e-03, 9.960519149899483e-03, 1.100064814090729e-02, 1.203913707286119e-02, 1.286460645496845e-02, 1.354359928518534e-02, 1.407667901366949e-02, 1.417410746216774e-02, 1.387825608253479e-02, 1.315708644688129e-02, 1.312403939664364e-02, 1.229644194245338e-02, 1.222538575530052e-02, 1.176313124597073e-02, 1.117752213031054e-02, 1.031269412487745e-02, 9.589671157300472e-03, 9.085330180823803e-03, 8.660354651510715e-03, 8.329916745424271e-03, 8.139197714626789e-03, 8.132455870509148e-03, 8.270315825939178e-03, 8.448118343949318e-03, 8.550939150154591e-03, 8.4788603708148e-03, 8.257728070020676e-03, 7.996645756065845e-03, 7.818383164703846e-03, 7.838117890059948e-03, 8.053744211792946e-03, 8.371473290026188e-03, 8.687552064657211e-03, 8.893141523003578e-03, 8.895594626665115e-03, 8.774003945291042e-03, 8.667396381497383e-03, 8.761841803789139e-03, 9.503270499408245e-03, 1.045570336282253e-02, 1.105893310159445e-02, 1.12751042470336e-02, 1.128777675330639e-02, 1.122384145855904e-02, 1.106447912752628e-02, 1.097633596509695e-02, 1.105625461786985e-02, 1.116832345724106e-02, 1.126885879784822e-02, 1.132609881460667e-02, 1.13324848935008e-02, 1.129984483122826e-02, 1.121304929256439e-02, 1.107236929237843e-02, 1.090047508478165e-02, 1.062369626015425e-02, 1.028402708470821e-02, 9.953206405043602e-03, 9.65485256165266e-03, 9.18425340205431e-03, 8.603728376328945e-03, 8.120707236230373e-03, 7.945467717945576e-03, 8.048336021602154e-03, 8.272596634924412e-03, 8.507654070854187e-03, 8.650907315313816e-03, 8.676150813698769e-03, 8.653886616230011e-03, 8.650313131511211e-03, 8.728870190680027e-03, 8.894601836800575e-03, 9.086338803172112e-03, 9.28886141628027e-03, 9.495197795331478e-03] -rooCon2.vol2.Xi[1]=[9.999999776482582e-03, 1.042400579899549e-02, 1.028676796704531e-02, 1.007396262139082e-02, 9.892376139760017e-03, 9.790200740098953e-03, 9.710587561130524e-03, 9.632278233766556e-03, 9.553671814501286e-03, 9.458267129957676e-03, 9.251042269170284e-03, 8.967280387878418e-03, 8.698577992618084e-03, 8.53020790964365e-03, 8.476411923766136e-03, 8.485802449285984e-03, 8.506033569574356e-03, 8.485689759254456e-03, 8.419845253229141e-03, 8.337187580764294e-03, 8.248908445239067e-03, 8.166331797838211e-03, 8.123321458697319e-03, 8.167942054569721e-03, 8.324305526912212e-03, 8.616297505795956e-03, 9.128188714385033e-03, 9.961836971342564e-03, 1.100224535912275e-02, 1.204068399965763e-02, 1.286583486944437e-02, 1.354461442679167e-02, 1.407746132463217e-02, 1.41774071380496e-02, 1.388416439294815e-02, 1.316429488360882e-02, 1.312407851219177e-02, 1.230077259242535e-02, 1.222559995949268e-02, 1.17553249001503e-02, 1.117662992328405e-02, 1.031139679253101e-02, 9.588641114532948e-03, 9.084566496312618e-03, 8.659718558192253e-03, 8.329435251653194e-03, 8.138937875628471e-03, 8.132477290928364e-03, 8.270536549389362e-03, 8.448380045592785e-03, 8.551065810024738e-03, 8.478716015815735e-03, 8.257379755377769e-03, 7.996257394552231e-03, 7.81814381480217e-03, 7.838190533220768e-03, 8.054095320403576e-03, 8.371961303055286e-03, 8.688018657267094e-03, 8.893415331840515e-03, 8.895568549633026e-03, 8.77381581813097e-03, 8.66725854575634e-03, 8.762084878981113e-03, 9.504495188593864e-03, 1.045708637684584e-02, 1.10597675666213e-02, 1.1275390163064e-02, 1.128923613578081e-02, 1.122382376343012e-02, 1.106424350291491e-02, 1.097625121474266e-02, 1.105638034641743e-02, 1.116849202662706e-02, 1.12692192196846e-02, 1.132669486105442e-02, 1.133310236036777e-02, 1.130048558115959e-02, 1.121295336633921e-02, 1.107215601950884e-02, 1.090019289404154e-02, 1.06232576072216e-02, 1.028350833803415e-02, 9.952712804079056e-03, 9.654373861849308e-03, 9.183499962091446e-03, 8.602851070463657e-03, 8.120018988847733e-03, 7.945270277559757e-03, 8.04851483553648e-03, 8.272943086922169e-03, 8.507999591529369e-03, 8.651097305119038e-03, 8.676178753376007e-03, 8.653854019939899e-03, 8.650319650769234e-03, 8.729013614356518e-03, 8.894857950508595e-03, 9.08663310110569e-03, 9.289171546697617e-03, 9.495512582361698e-03] -rooCon.vol.Xi[1]=[9.999999776482582e-03, 1.042400579899549e-02, 1.028676796704531e-02, 1.007396262139082e-02, 9.892376139760017e-03, 9.790200740098953e-03, 9.710587561130524e-03, 9.632278233766556e-03, 9.553671814501286e-03, 9.458267129957676e-03, 9.251042269170284e-03, 8.967280387878418e-03, 8.698577992618084e-03, 8.53020790964365e-03, 8.476411923766136e-03, 8.485802449285984e-03, 8.506033569574356e-03, 8.485689759254456e-03, 8.419845253229141e-03, 8.337187580764294e-03, 8.248908445239067e-03, 8.166331797838211e-03, 8.123321458697319e-03, 8.167942054569721e-03, 8.324305526912212e-03, 8.616297505795956e-03, 9.128188714385033e-03, 9.961836971342564e-03, 1.100224535912275e-02, 1.204068399965763e-02, 1.286583486944437e-02, 1.354461442679167e-02, 1.407746132463217e-02, 1.41774071380496e-02, 1.388416439294815e-02, 1.316429488360882e-02, 1.312407851219177e-02, 1.230077259242535e-02, 1.222559995949268e-02, 1.17553249001503e-02, 1.117662992328405e-02, 1.031139679253101e-02, 9.588641114532948e-03, 9.084566496312618e-03, 8.659718558192253e-03, 8.329435251653194e-03, 8.138937875628471e-03, 8.132477290928364e-03, 8.270536549389362e-03, 8.448380045592785e-03, 8.551065810024738e-03, 8.478716015815735e-03, 8.257379755377769e-03, 7.996257394552231e-03, 7.81814381480217e-03, 7.838190533220768e-03, 8.054095320403576e-03, 8.371961303055286e-03, 8.688018657267094e-03, 8.893415331840515e-03, 8.895568549633026e-03, 8.77381581813097e-03, 8.66725854575634e-03, 8.762084878981113e-03, 9.504495188593864e-03, 1.045708637684584e-02, 1.10597675666213e-02, 1.1275390163064e-02, 1.128923613578081e-02, 1.122382376343012e-02, 1.106424350291491e-02, 1.097625121474266e-02, 1.105638034641743e-02, 1.116849202662706e-02, 1.12692192196846e-02, 1.132669486105442e-02, 1.133310236036777e-02, 1.130048558115959e-02, 1.121295336633921e-02, 1.107215601950884e-02, 1.090019289404154e-02, 1.06232576072216e-02, 1.028350833803415e-02, 9.952712804079056e-03, 9.654373861849308e-03, 9.183499962091446e-03, 8.602851070463657e-03, 8.120018988847733e-03, 7.945270277559757e-03, 8.04851483553648e-03, 8.272943086922169e-03, 8.507999591529369e-03, 8.651097305119038e-03, 8.676178753376007e-03, 8.653854019939899e-03, 8.650319650769234e-03, 8.729013614356518e-03, 8.894857950508595e-03, 9.08663310110569e-03, 9.289171546697617e-03, 9.495512582361698e-03] -rooCon2.vol1.Xi[1]=[9.999999776482582e-03, 1.042400579899549e-02, 1.028676796704531e-02, 1.007396262139082e-02, 9.892376139760017e-03, 9.790200740098953e-03, 9.710587561130524e-03, 9.632278233766556e-03, 9.553671814501286e-03, 9.458267129957676e-03, 9.251042269170284e-03, 8.967280387878418e-03, 8.698577992618084e-03, 8.53020790964365e-03, 8.476411923766136e-03, 8.485802449285984e-03, 8.506033569574356e-03, 8.485689759254456e-03, 8.419845253229141e-03, 8.337187580764294e-03, 8.248908445239067e-03, 8.166331797838211e-03, 8.123321458697319e-03, 8.167942054569721e-03, 8.324305526912212e-03, 8.616297505795956e-03, 9.128188714385033e-03, 9.961836971342564e-03, 1.100224535912275e-02, 1.204068399965763e-02, 1.286583486944437e-02, 1.354461442679167e-02, 1.407746132463217e-02, 1.41774071380496e-02, 1.388416439294815e-02, 1.316429488360882e-02, 1.312407851219177e-02, 1.230077259242535e-02, 1.222559995949268e-02, 1.17553249001503e-02, 1.117662992328405e-02, 1.031139679253101e-02, 9.588641114532948e-03, 9.084566496312618e-03, 8.659718558192253e-03, 8.329435251653194e-03, 8.138937875628471e-03, 8.132477290928364e-03, 8.270536549389362e-03, 8.448380045592785e-03, 8.551065810024738e-03, 8.478716015815735e-03, 8.257379755377769e-03, 7.996257394552231e-03, 7.81814381480217e-03, 7.838190533220768e-03, 8.054095320403576e-03, 8.371961303055286e-03, 8.688018657267094e-03, 8.893415331840515e-03, 8.895568549633026e-03, 8.77381581813097e-03, 8.66725854575634e-03, 8.762084878981113e-03, 9.504495188593864e-03, 1.045708637684584e-02, 1.10597675666213e-02, 1.1275390163064e-02, 1.128923613578081e-02, 1.122382376343012e-02, 1.106424350291491e-02, 1.097625121474266e-02, 1.105638034641743e-02, 1.116849202662706e-02, 1.12692192196846e-02, 1.132669486105442e-02, 1.133310236036777e-02, 1.130048558115959e-02, 1.121295336633921e-02, 1.107215601950884e-02, 1.090019289404154e-02, 1.06232576072216e-02, 1.028350833803415e-02, 9.952712804079056e-03, 9.654373861849308e-03, 9.183499962091446e-03, 8.602851070463657e-03, 8.120018988847733e-03, 7.945270277559757e-03, 8.04851483553648e-03, 8.272943086922169e-03, 8.507999591529369e-03, 8.651097305119038e-03, 8.676178753376007e-03, 8.653854019939899e-03, 8.650319650769234e-03, 8.729013614356518e-03, 8.894857950508595e-03, 9.08663310110569e-03, 9.289171546697617e-03, 9.495512582361698e-03] +baseCase.vol.T=[2.931499938964844e+02, 2.9425048828125e+02, 2.947109985351562e+02, 2.948216857910156e+02, 2.947297668457031e+02, 2.945500183105469e+02, 2.943324890136719e+02, 2.940941467285156e+02, 2.938443298339844e+02, 2.935798645019531e+02, 2.932278747558594e+02, 2.927585144042969e+02, 2.922265930175781e+02, 2.9173291015625e+02, 2.913568115234375e+02, 2.911001281738281e+02, 2.909212036132812e+02, 2.907548522949219e+02, 2.9053125e+02, 2.902245483398438e+02, 2.898583984375e+02, 2.894846496582031e+02, 2.891742248535156e+02, 2.890029907226562e+02, 2.890319519042969e+02, 2.893121337890625e+02, 2.899154663085938e+02, 2.909330749511719e+02, 2.922985534667969e+02, 2.938252563476562e+02, 2.952896423339844e+02, 2.966256408691406e+02, 2.97083251953125e+02, 2.968477478027344e+02, 2.966668395996094e+02, 2.968707580566406e+02, 2.966915893554688e+02, 2.974781799316406e+02, 2.968406677246094e+02, 2.9699560546875e+02, 2.971546630859375e+02, 2.966342468261719e+02, 2.969553833007812e+02, 2.975954895019531e+02, 2.968025207519531e+02, 2.972565612792969e+02, 2.971547546386719e+02, 2.970012512207031e+02, 2.974020385742188e+02, 2.967763671875e+02, 2.975953979492188e+02, 2.966305847167969e+02, 2.976841125488281e+02, 2.96753173828125e+02, 2.975359497070312e+02, 2.969306030273438e+02, 2.972986755371094e+02, 2.971161193847656e+02, 2.9705615234375e+02, 2.973097534179688e+02, 2.968118286132812e+02, 2.975184936523438e+02, 2.966413879394531e+02, 2.976917114257812e+02, 2.967234802246094e+02, 2.971243591308594e+02, 2.9705029296875e+02, 2.975801696777344e+02, 2.9735693359375e+02, 2.973885803222656e+02, 2.973710327148438e+02, 2.96744384765625e+02, 2.976260375976562e+02, 2.96739501953125e+02, 2.972796936035156e+02, 2.972763977050781e+02, 2.966588439941406e+02, 2.968338928222656e+02, 2.9687060546875e+02, 2.969947204589844e+02, 2.96998291015625e+02, 2.967456970214844e+02, 2.963947448730469e+02, 2.960581359863281e+02, 2.958187561035156e+02, 2.95685791015625e+02, 2.956239318847656e+02, 2.955957336425781e+02, 2.955640258789062e+02, 2.955147705078125e+02, 2.954551086425781e+02, 2.953898315429688e+02, 2.95321533203125e+02, 2.952516479492188e+02, 2.951808166503906e+02, 2.951094970703125e+02, 2.950377502441406e+02, 2.949657897949219e+02, 2.948936767578125e+02, 2.94821533203125e+02, 2.947493591308594e+02] +rooCon.vol.T=[2.931499938964844e+02, 2.941614379882812e+02, 2.946229858398438e+02, 2.947637329101562e+02, 2.947061767578125e+02, 2.945533752441406e+02, 2.94354736328125e+02, 2.941292419433594e+02, 2.93887939453125e+02, 2.936300659179688e+02, 2.932911376953125e+02, 2.928401794433594e+02, 2.923238220214844e+02, 2.918342895507812e+02, 2.914491577148438e+02, 2.911764221191406e+02, 2.909816284179688e+02, 2.908057556152344e+02, 2.905826416015625e+02, 2.90283935546875e+02, 2.899274597167969e+02, 2.89559326171875e+02, 2.892453308105469e+02, 2.890582580566406e+02, 2.890587768554688e+02, 2.892985229492188e+02, 2.898470764160156e+02, 2.907938537597656e+02, 2.920873413085938e+02, 2.935599365234375e+02, 2.950008850097656e+02, 2.963351745605469e+02, 2.975398254394531e+02, 2.970686950683594e+02, 2.967359619140625e+02, 2.964510803222656e+02, 2.973501586914062e+02, 2.962337951660156e+02, 2.969827270507812e+02, 2.96767578125e+02, 2.972510986328125e+02, 2.9680224609375e+02, 2.966003723144531e+02, 2.965549926757812e+02, 2.965749816894531e+02, 2.966329345703125e+02, 2.967414245605469e+02, 2.969012145996094e+02, 2.971078796386719e+02, 2.97353759765625e+02, 2.976327209472656e+02, 2.973072204589844e+02, 2.969391784667969e+02, 2.966236877441406e+02, 2.966581726074219e+02, 2.968983764648438e+02, 2.972385864257812e+02, 2.976152038574219e+02, 2.972875671386719e+02, 2.96901123046875e+02, 2.966054382324219e+02, 2.967227478027344e+02, 2.970361633300781e+02, 2.974270324707031e+02, 2.97626220703125e+02, 2.973722229003906e+02, 2.965950317382812e+02, 2.973240356445312e+02, 2.963128356933594e+02, 2.975716552734375e+02, 2.974058532714844e+02, 2.974440307617188e+02, 2.975234680175781e+02, 2.976116638183594e+02, 2.976541442871094e+02, 2.975975341796875e+02, 2.973223571777344e+02, 2.967292175292969e+02, 2.975648498535156e+02, 2.961282348632812e+02, 2.964501342773438e+02, 2.964486999511719e+02, 2.962528076171875e+02, 2.960047302246094e+02, 2.958076477050781e+02, 2.956900634765625e+02, 2.956312561035156e+02, 2.95602294921875e+02, 2.955708923339844e+02, 2.955234680175781e+02, 2.954657592773438e+02, 2.954020385742188e+02, 2.953349304199219e+02, 2.95265869140625e+02, 2.951956176757812e+02, 2.951246643066406e+02, 2.9505322265625e+02, 2.949814147949219e+02, 2.94909423828125e+02, 2.948373413085938e+02, 2.947651977539062e+02] +rooCon2.vol1.T=[2.931499938964844e+02, 2.941614379882812e+02, 2.946229858398438e+02, 2.947637329101562e+02, 2.947061767578125e+02, 2.945533752441406e+02, 2.94354736328125e+02, 2.941292419433594e+02, 2.93887939453125e+02, 2.936300659179688e+02, 2.932911376953125e+02, 2.928401794433594e+02, 2.923238220214844e+02, 2.918342895507812e+02, 2.914491577148438e+02, 2.911764221191406e+02, 2.909816284179688e+02, 2.908057556152344e+02, 2.905826416015625e+02, 2.90283935546875e+02, 2.899274597167969e+02, 2.89559326171875e+02, 2.892453308105469e+02, 2.890582580566406e+02, 2.890587768554688e+02, 2.892985229492188e+02, 2.898470764160156e+02, 2.907938537597656e+02, 2.920873413085938e+02, 2.935599365234375e+02, 2.950008850097656e+02, 2.963351745605469e+02, 2.975398254394531e+02, 2.970686950683594e+02, 2.967359619140625e+02, 2.964510803222656e+02, 2.973501586914062e+02, 2.962337951660156e+02, 2.969827270507812e+02, 2.96767578125e+02, 2.972510986328125e+02, 2.9680224609375e+02, 2.966003723144531e+02, 2.965549926757812e+02, 2.965749816894531e+02, 2.966329345703125e+02, 2.967414245605469e+02, 2.969012145996094e+02, 2.971078796386719e+02, 2.97353759765625e+02, 2.976327209472656e+02, 2.973072204589844e+02, 2.969391784667969e+02, 2.966236877441406e+02, 2.966581726074219e+02, 2.968983764648438e+02, 2.972385864257812e+02, 2.976152038574219e+02, 2.972875671386719e+02, 2.96901123046875e+02, 2.966054382324219e+02, 2.967227478027344e+02, 2.970361633300781e+02, 2.974270324707031e+02, 2.97626220703125e+02, 2.973722229003906e+02, 2.965950317382812e+02, 2.973240356445312e+02, 2.963128356933594e+02, 2.975716552734375e+02, 2.974058532714844e+02, 2.974440307617188e+02, 2.975234680175781e+02, 2.976116638183594e+02, 2.976541442871094e+02, 2.975975341796875e+02, 2.973223571777344e+02, 2.967292175292969e+02, 2.975648498535156e+02, 2.961282348632812e+02, 2.964501342773438e+02, 2.964486999511719e+02, 2.962528076171875e+02, 2.960047302246094e+02, 2.958076477050781e+02, 2.956900634765625e+02, 2.956312561035156e+02, 2.95602294921875e+02, 2.955708923339844e+02, 2.955234680175781e+02, 2.954657592773438e+02, 2.954020385742188e+02, 2.953349304199219e+02, 2.95265869140625e+02, 2.951956176757812e+02, 2.951246643066406e+02, 2.9505322265625e+02, 2.949814147949219e+02, 2.94909423828125e+02, 2.948373413085938e+02, 2.947651977539062e+02] +rooCon2.vol2.T=[2.931499938964844e+02, 2.941614379882812e+02, 2.946229858398438e+02, 2.947637329101562e+02, 2.947061767578125e+02, 2.945533752441406e+02, 2.94354736328125e+02, 2.941292419433594e+02, 2.93887939453125e+02, 2.936300659179688e+02, 2.932911376953125e+02, 2.928401794433594e+02, 2.923238220214844e+02, 2.918342895507812e+02, 2.914491577148438e+02, 2.911764221191406e+02, 2.909816284179688e+02, 2.908057556152344e+02, 2.905826416015625e+02, 2.90283935546875e+02, 2.899274597167969e+02, 2.89559326171875e+02, 2.892453308105469e+02, 2.890582580566406e+02, 2.890587768554688e+02, 2.892985229492188e+02, 2.898470764160156e+02, 2.907938537597656e+02, 2.920873413085938e+02, 2.935599365234375e+02, 2.950008850097656e+02, 2.963351745605469e+02, 2.975398254394531e+02, 2.970686950683594e+02, 2.967359619140625e+02, 2.964510803222656e+02, 2.973501586914062e+02, 2.962337951660156e+02, 2.969827270507812e+02, 2.96767578125e+02, 2.972510986328125e+02, 2.9680224609375e+02, 2.966003723144531e+02, 2.965549926757812e+02, 2.965749816894531e+02, 2.966329345703125e+02, 2.967414245605469e+02, 2.969012145996094e+02, 2.971078796386719e+02, 2.97353759765625e+02, 2.976327209472656e+02, 2.973072204589844e+02, 2.969391784667969e+02, 2.966236877441406e+02, 2.966581726074219e+02, 2.968983764648438e+02, 2.972385864257812e+02, 2.976152038574219e+02, 2.972875671386719e+02, 2.96901123046875e+02, 2.966054382324219e+02, 2.967227478027344e+02, 2.970361633300781e+02, 2.974270324707031e+02, 2.97626220703125e+02, 2.973722229003906e+02, 2.965950317382812e+02, 2.973240356445312e+02, 2.963128356933594e+02, 2.975716552734375e+02, 2.974058532714844e+02, 2.974440307617188e+02, 2.975234680175781e+02, 2.976116638183594e+02, 2.976541442871094e+02, 2.975975341796875e+02, 2.973223571777344e+02, 2.967292175292969e+02, 2.975648498535156e+02, 2.961282348632812e+02, 2.964501342773438e+02, 2.964486999511719e+02, 2.962528076171875e+02, 2.960047302246094e+02, 2.958076477050781e+02, 2.956900634765625e+02, 2.956312561035156e+02, 2.95602294921875e+02, 2.955708923339844e+02, 2.955234680175781e+02, 2.954657592773438e+02, 2.954020385742188e+02, 2.953349304199219e+02, 2.95265869140625e+02, 2.951956176757812e+02, 2.951246643066406e+02, 2.9505322265625e+02, 2.949814147949219e+02, 2.94909423828125e+02, 2.948373413085938e+02, 2.947651977539062e+02] +baseCase.vol.Xi[1]=[9.999999776482582e-03, 1.042388938367367e-02, 1.02919926866889e-02, 1.007963623851538e-02, 9.896314702928066e-03, 9.792465716600418e-03, 9.712697938084602e-03, 9.634385816752911e-03, 9.555789642035961e-03, 9.461935609579086e-03, 9.257901459932327e-03, 8.975116536021233e-03, 8.704931475222111e-03, 8.533168584108353e-03, 8.476885035634041e-03, 8.485200814902782e-03, 8.505763486027718e-03, 8.486976847052574e-03, 8.421872742474079e-03, 8.339518681168556e-03, 8.251267485320568e-03, 8.168359287083149e-03, 8.123554289340973e-03, 8.165503852069378e-03, 8.318596519529819e-03, 8.606620132923126e-03, 9.110415354371071e-03, 9.936245158314705e-03, 1.097325887531042e-02, 1.201482396572828e-02, 1.284570619463921e-02, 1.352791860699654e-02, 1.332569029182196e-02, 1.31045188754797e-02, 1.297991536557674e-02, 1.309289410710335e-02, 1.264835149049759e-02, 1.247511710971594e-02, 1.220777072012424e-02, 1.190971303731203e-02, 1.121189165860415e-02, 1.03356447070837e-02, 9.604348801076412e-03, 9.097104892134666e-03, 8.670181035995483e-03, 8.336860686540604e-03, 8.142000995576382e-03, 8.130538277328014e-03, 8.265877142548561e-03, 8.444000966846943e-03, 8.55010561645031e-03, 8.482834324240685e-03, 8.264306932687759e-03, 8.002819493412971e-03, 7.820967584848404e-03, 7.834989577531815e-03, 8.046639151871204e-03, 8.36300291121006e-03, 8.680328726768494e-03, 8.890305645763874e-03, 8.897533640265465e-03, 8.777525275945663e-03, 8.668797090649605e-03, 8.752959780395031e-03, 9.478578343987465e-03, 1.043447572737932e-02, 1.104878541082144e-02, 1.127281412482262e-02, 1.130167581140995e-02, 1.122806128114462e-02, 1.106876693665981e-02, 1.09759159386158e-02, 1.105355657637119e-02, 1.11654894426465e-02, 1.126761082559824e-02, 1.133021339774132e-02, 1.133946608752012e-02, 1.130931917577982e-02, 1.121675875037909e-02, 1.107620447874069e-02, 1.090601086616516e-02, 1.063176337629557e-02, 1.029282622039318e-02, 9.960988536477089e-03, 9.663850069046021e-03, 9.198266081511974e-03, 8.618227206170559e-03, 8.130124770104885e-03, 7.94575922191143e-03, 8.043798618018627e-03, 8.266340009868145e-03, 8.502357639372349e-03, 8.648935705423355e-03, 8.676358498632908e-03, 8.654501289129257e-03, 8.649698458611965e-03, 8.725493215024471e-03, 8.889976888895035e-03, 9.08131618052721e-03, 9.28365346044302e-03, 9.489967487752438e-03] +rooCon.vol.Xi[1]=[9.999999776482582e-03, 1.042400579899549e-02, 1.028676796704531e-02, 1.007396262139082e-02, 9.892376139760017e-03, 9.790201671421528e-03, 9.710587561130524e-03, 9.632278233766556e-03, 9.553671814501286e-03, 9.458267129957676e-03, 9.251042269170284e-03, 8.967280387878418e-03, 8.698577992618084e-03, 8.530208840966225e-03, 8.476411923766136e-03, 8.485802449285984e-03, 8.506033569574356e-03, 8.485688827931881e-03, 8.419845253229141e-03, 8.337187580764294e-03, 8.248908445239067e-03, 8.166328072547913e-03, 8.123321458697319e-03, 8.167942054569721e-03, 8.324305526912212e-03, 8.616296574473381e-03, 9.128189645707607e-03, 9.961836971342564e-03, 1.100224535912275e-02, 1.204068493098021e-02, 1.286583486944437e-02, 1.354461535811424e-02, 1.407746132463217e-02, 1.41774071380496e-02, 1.388416346162558e-02, 1.316429395228624e-02, 1.312407851219177e-02, 1.230077166110277e-02, 1.222559995949268e-02, 1.17553249001503e-02, 1.117662992328405e-02, 1.031139679253101e-02, 9.588641114532948e-03, 9.084566496312618e-03, 8.659718558192253e-03, 8.329435251653194e-03, 8.138937875628471e-03, 8.132477290928364e-03, 8.270536549389362e-03, 8.448380045592785e-03, 8.551065810024738e-03, 8.478716015815735e-03, 8.257379755377769e-03, 7.996257394552231e-03, 7.81814381480217e-03, 7.838190533220768e-03, 8.054095320403576e-03, 8.371961303055286e-03, 8.688018657267094e-03, 8.893415331840515e-03, 8.895568549633026e-03, 8.77381581813097e-03, 8.66725854575634e-03, 8.762084878981113e-03, 9.504495188593864e-03, 1.045708637684584e-02, 1.10597675666213e-02, 1.127539109438658e-02, 1.128923613578081e-02, 1.122382376343012e-02, 1.106424350291491e-02, 1.097625121474266e-02, 1.105638034641743e-02, 1.116849202662706e-02, 1.12692192196846e-02, 1.132669486105442e-02, 1.133310236036777e-02, 1.130048558115959e-02, 1.121295336633921e-02, 1.107215601950884e-02, 1.090019289404154e-02, 1.06232576072216e-02, 1.028350833803415e-02, 9.952712804079056e-03, 9.654374793171883e-03, 9.183499962091446e-03, 8.602851070463657e-03, 8.120018988847733e-03, 7.945270277559757e-03, 8.04851483553648e-03, 8.272943086922169e-03, 8.507999591529369e-03, 8.651097305119038e-03, 8.676178753376007e-03, 8.653854019939899e-03, 8.650319650769234e-03, 8.729012683033943e-03, 8.894857950508595e-03, 9.08663310110569e-03, 9.289171546697617e-03, 9.495512582361698e-03] +rooCon2.vol1.Xi[1]=[9.999999776482582e-03, 1.042400579899549e-02, 1.028676796704531e-02, 1.007396262139082e-02, 9.892376139760017e-03, 9.790201671421528e-03, 9.710587561130524e-03, 9.632278233766556e-03, 9.553671814501286e-03, 9.458267129957676e-03, 9.251042269170284e-03, 8.967280387878418e-03, 8.698577992618084e-03, 8.530208840966225e-03, 8.476411923766136e-03, 8.485802449285984e-03, 8.506033569574356e-03, 8.485688827931881e-03, 8.419845253229141e-03, 8.337187580764294e-03, 8.248908445239067e-03, 8.166328072547913e-03, 8.123321458697319e-03, 8.167942054569721e-03, 8.324305526912212e-03, 8.616296574473381e-03, 9.128189645707607e-03, 9.961836971342564e-03, 1.100224535912275e-02, 1.204068493098021e-02, 1.286583486944437e-02, 1.354461535811424e-02, 1.407746132463217e-02, 1.41774071380496e-02, 1.388416346162558e-02, 1.316429395228624e-02, 1.312407851219177e-02, 1.230077166110277e-02, 1.222559995949268e-02, 1.17553249001503e-02, 1.117662992328405e-02, 1.031139679253101e-02, 9.588641114532948e-03, 9.084566496312618e-03, 8.659718558192253e-03, 8.329435251653194e-03, 8.138937875628471e-03, 8.132477290928364e-03, 8.270536549389362e-03, 8.448380045592785e-03, 8.551065810024738e-03, 8.478716015815735e-03, 8.257379755377769e-03, 7.996257394552231e-03, 7.81814381480217e-03, 7.838190533220768e-03, 8.054095320403576e-03, 8.371961303055286e-03, 8.688018657267094e-03, 8.893415331840515e-03, 8.895568549633026e-03, 8.77381581813097e-03, 8.66725854575634e-03, 8.762084878981113e-03, 9.504495188593864e-03, 1.045708637684584e-02, 1.10597675666213e-02, 1.127539109438658e-02, 1.128923613578081e-02, 1.122382376343012e-02, 1.106424350291491e-02, 1.097625121474266e-02, 1.105638034641743e-02, 1.116849202662706e-02, 1.12692192196846e-02, 1.132669486105442e-02, 1.133310236036777e-02, 1.130048558115959e-02, 1.121295336633921e-02, 1.107215601950884e-02, 1.090019289404154e-02, 1.06232576072216e-02, 1.028350833803415e-02, 9.952712804079056e-03, 9.654374793171883e-03, 9.183499962091446e-03, 8.602851070463657e-03, 8.120018988847733e-03, 7.945270277559757e-03, 8.04851483553648e-03, 8.272943086922169e-03, 8.507999591529369e-03, 8.651097305119038e-03, 8.676178753376007e-03, 8.653854019939899e-03, 8.650319650769234e-03, 8.729012683033943e-03, 8.894857950508595e-03, 9.08663310110569e-03, 9.289171546697617e-03, 9.495512582361698e-03] +rooCon2.vol2.Xi[1]=[9.999999776482582e-03, 1.042400579899549e-02, 1.028676796704531e-02, 1.007396262139082e-02, 9.892376139760017e-03, 9.790201671421528e-03, 9.710587561130524e-03, 9.632278233766556e-03, 9.553671814501286e-03, 9.458267129957676e-03, 9.251042269170284e-03, 8.967280387878418e-03, 8.698577992618084e-03, 8.530208840966225e-03, 8.476411923766136e-03, 8.485802449285984e-03, 8.506033569574356e-03, 8.485688827931881e-03, 8.419845253229141e-03, 8.337187580764294e-03, 8.248908445239067e-03, 8.166328072547913e-03, 8.123321458697319e-03, 8.167942054569721e-03, 8.324305526912212e-03, 8.616296574473381e-03, 9.128189645707607e-03, 9.961836971342564e-03, 1.100224535912275e-02, 1.204068493098021e-02, 1.286583486944437e-02, 1.354461535811424e-02, 1.407746132463217e-02, 1.41774071380496e-02, 1.388416346162558e-02, 1.316429395228624e-02, 1.312407851219177e-02, 1.230077166110277e-02, 1.222559995949268e-02, 1.17553249001503e-02, 1.117662992328405e-02, 1.031139679253101e-02, 9.588641114532948e-03, 9.084566496312618e-03, 8.659718558192253e-03, 8.329435251653194e-03, 8.138937875628471e-03, 8.132477290928364e-03, 8.270536549389362e-03, 8.448380045592785e-03, 8.551065810024738e-03, 8.478716015815735e-03, 8.257379755377769e-03, 7.996257394552231e-03, 7.81814381480217e-03, 7.838190533220768e-03, 8.054095320403576e-03, 8.371961303055286e-03, 8.688018657267094e-03, 8.893415331840515e-03, 8.895568549633026e-03, 8.77381581813097e-03, 8.66725854575634e-03, 8.762084878981113e-03, 9.504495188593864e-03, 1.045708637684584e-02, 1.10597675666213e-02, 1.127539109438658e-02, 1.128923613578081e-02, 1.122382376343012e-02, 1.106424350291491e-02, 1.097625121474266e-02, 1.105638034641743e-02, 1.116849202662706e-02, 1.12692192196846e-02, 1.132669486105442e-02, 1.133310236036777e-02, 1.130048558115959e-02, 1.121295336633921e-02, 1.107215601950884e-02, 1.090019289404154e-02, 1.06232576072216e-02, 1.028350833803415e-02, 9.952712804079056e-03, 9.654374793171883e-03, 9.183499962091446e-03, 8.602851070463657e-03, 8.120018988847733e-03, 7.945270277559757e-03, 8.04851483553648e-03, 8.272943086922169e-03, 8.507999591529369e-03, 8.651097305119038e-03, 8.676178753376007e-03, 8.653854019939899e-03, 8.650319650769234e-03, 8.729012683033943e-03, 8.894857950508595e-03, 9.08663310110569e-03, 9.289171546697617e-03, 9.495512582361698e-03] diff --git a/Buildings/Resources/ReferenceResults/Dymola/Buildings_Fluid_HeatExchangers_Examples_WetCoilEffectivenessNTUMassFlow.txt b/Buildings/Resources/ReferenceResults/Dymola/Buildings_Fluid_HeatExchangers_Examples_WetCoilEffectivenessNTUMassFlow.txt new file mode 100644 index 00000000000..e6779cf2c53 --- /dev/null +++ b/Buildings/Resources/ReferenceResults/Dymola/Buildings_Fluid_HeatExchangers_Examples_WetCoilEffectivenessNTUMassFlow.txt @@ -0,0 +1,18 @@ +last-generated=2021-02-22 +statistics-initialization= +{ + "nonlinear": "0, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": " ", + "nonlinear": "1, 1", + "number of continuous time states": "2", + "numerical Jacobians": "0" +} +time=[0e+00, 3.6e+03] +hex.Q2_flow=[-3.7494560546875e+03, -3.762437744140625e+03, -3.77401953125e+03, -3.7843623046875e+03, -3.7936015625e+03, -3.8018486328125e+03, -3.80921142578125e+03, -3.815789306640625e+03, -3.82166748046875e+03, -3.826925048828125e+03, -3.831625e+03, -3.64524609375e+03, -3.43510498046875e+03, -3.197364990234375e+03, -2.927271484375e+03, -2.61885986328125e+03, -2.264531982421875e+03, -1.854357666015625e+03, -1.374672485351562e+03, -7.855562133789062e+02, -1.039116287231445e+02, -1.039116287231445e+02, -1.039116287231445e+02, -1.039116287231445e+02, -1.039116287231445e+02, -1.039116287231445e+02, -1.039116287231445e+02, -1.039116287231445e+02, -1.039116287231445e+02, -1.039116287231445e+02, -1.039116287231445e+02, -1.039116287231445e+02, -1.039116287231445e+02, -1.039116287231445e+02, -1.039116287231445e+02, -1.039116287231445e+02, -1.039116287231445e+02, -1.039116287231445e+02, -1.039116287231445e+02, -1.039116287231445e+02, -1.039116287231445e+02, -1.039116287231445e+02, -1.039116287231445e+02, -1.039116287231445e+02, -1.039116287231445e+02, -1.039116287231445e+02, -1.039116287231445e+02, -1.039116287231445e+02, -1.039116287231445e+02, -1.039116287231445e+02, -1.039116287231445e+02, -1.038280792236328e+02, -1.036799240112305e+02, -1.015594100952148e+02, -9.35758361816406e+01, -2.557593409964934e-12, -1.020483016967774e+02, -1.033460006713867e+02, -1.036785202026367e+02, -1.03827018737793e+02, -1.039108505249023e+02, -1.038740539550781e+02, -1.03827018737793e+02, -1.03764762878418e+02, -1.036785202026367e+02, -1.035513381958008e+02, -1.033460006713867e+02, -1.029638900756836e+02, -1.020483016967773e+02, -9.817852783203125e+01, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00] +hex.QLat2_flow=[-2.36338427734375e+03, -2.372035400390625e+03, -2.379748291015625e+03, -2.386632080078125e+03, -2.392778076171875e+03, -2.398261474609375e+03, -2.40315478515625e+03, -2.407524658203125e+03, -2.4114287109375e+03, -2.41491943359375e+03, -2.418038818359375e+03, -2.29372021484375e+03, -2.152081787109375e+03, -1.990034301757812e+03, -1.803704711914062e+03, -1.588178344726562e+03, -1.337121948242188e+03, -1.042175048828125e+03, -6.917086791992188e+02, -2.312579040527344e+02, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, 0e+00, 0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -2.547457495854672e-13, -8.407790785948637e-45, 0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00, -0e+00] +hex.port_a1.m_flow=[1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 9.009999781847e-02, 8.020000159740448e-02, 7.029999792575836e-02, 6.040000170469283e-02, 5.050000175833702e-02, 4.06000018119812e-02, 3.070000000298023e-02, 2.080000005662441e-02, 1.090000011026859e-02, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03, 1.000000047497451e-03] +hex.port_a2.m_flow=[1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.400000005960464e-01, 1.120000034570694e-01, 8.399999886751175e-02, 5.60000017285347e-02, 2.800000086426717e-02, -7.140166331002833e-15, -2.800000086426753e-02, -5.60000017285347e-02, -8.399999886751175e-02, -1.120000034570694e-01, -1.400000005960464e-01, -1.260000020265579e-01, -1.120000034570694e-01, -9.799999743700027e-02, -8.399999886751175e-02, -7.000000029802322e-02, -5.60000017285347e-02, -4.199999943375587e-02, -2.800000086426735e-02, -1.400000043213367e-02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/Buildings/Resources/ReferenceResults/Dymola/Buildings_Fluid_HeatExchangers_Validation_WetCoilEffectivenessNTU.txt b/Buildings/Resources/ReferenceResults/Dymola/Buildings_Fluid_HeatExchangers_Validation_WetCoilEffectivenessNTU.txt new file mode 100644 index 00000000000..ee8eb660269 --- /dev/null +++ b/Buildings/Resources/ReferenceResults/Dymola/Buildings_Fluid_HeatExchangers_Validation_WetCoilEffectivenessNTU.txt @@ -0,0 +1,28 @@ +last-generated=2021-04-06 +statistics-initialization= +{ + "nonlinear": "0, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": " ", + "nonlinear": "1, 1, 1, 1, 1, 1", + "number of continuous time states": "131", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+03] +hexDis.Q1_flow=[0e+00, 4.4669234375e+04, 4.46723203125e+04, 4.467541015625e+04, 4.46785e+04, 4.46815859375e+04, 4.468467578125e+04, 4.468776171875e+04, 4.469084375e+04, 4.469392578125e+04, 4.46970078125e+04, 4.470008984375e+04, 4.470316796875e+04, 4.470624609375e+04, 4.470932421875e+04, 4.47123984375e+04, 4.471547265625e+04, 4.4718546875e+04, 4.47216171875e+04, 4.47246875e+04, 4.47277578125e+04, 4.47402890625e+04, 4.481947265625e+04, 4.496365625e+04, 4.515536328125e+04, 4.5390171875e+04, 4.56587109375e+04, 4.5957265625e+04, 4.62800859375e+04, 4.6625453125e+04, 4.699074609375e+04, 4.737278515625e+04, 4.7771796875e+04, 4.818511328125e+04, 4.86111171875e+04, 4.90496484375e+04, 4.949291015625e+04, 4.995203515625e+04, 5.041905859375e+04, 5.0891078125e+04, 5.137563671875e+04, 5.186359375e+04, 5.236073046875e+04, 5.286351953125e+04, 5.3371109375e+04, 5.388541796875e+04, 5.440391015625e+04, 5.4930859375e+04, 5.54565078125e+04, 5.598604296875e+04, 5.6526296875e+04, 5.70645625e+04, 5.761116015625e+04, 5.815837890625e+04, 5.870601953125e+04, 5.926384375e+04, 5.982031640625e+04, 6.03763203125e+04, 6.093153125e+04, 6.14856328125e+04, 6.203921484375e+04, 6.259234765625e+04, 6.314473828125e+04, 6.369610546875e+04, 6.4246703125e+04, 6.479653125e+04, 6.534559375e+04, 6.5893890625e+04, 6.64414140625e+04, 6.6988171875e+04, 6.75341484375e+04, 6.80793671875e+04, 6.86238046875e+04, 6.91674765625e+04, 6.97103828125e+04, 7.0252515625e+04, 7.0793875e+04, 7.13344609375e+04, 7.18742734375e+04, 7.24133125e+04, 7.29515859375e+04, 7.34890859375e+04, 7.40258046875e+04, 7.45617578125e+04, 7.50969453125e+04, 7.56313515625e+04, 7.6164984375e+04, 7.66978515625e+04, 7.72299375e+04, 7.77612578125e+04, 7.8291796875e+04, 7.88215703125e+04, 7.93505703125e+04, 7.98787890625e+04, 8.04062421875e+04, 8.0932921875e+04, 8.1458828125e+04, 8.19839609375e+04, 8.25083203125e+04, 8.303190625e+04, 8.35543359375e+04] +hexWetNTU.Q1_flow=[4.52515390625e+04, 4.525468359375e+04, 4.525782421875e+04, 4.526096484375e+04, 4.526410546875e+04, 4.52672421875e+04, 4.527037890625e+04, 4.5273515625e+04, 4.52766484375e+04, 4.527978515625e+04, 4.52829140625e+04, 4.5286046875e+04, 4.528917578125e+04, 4.529230078125e+04, 4.52954296875e+04, 4.52985546875e+04, 4.530167578125e+04, 4.530480078125e+04, 4.5307921875e+04, 4.531104296875e+04, 4.531416015625e+04, 4.531727734375e+04, 4.532038671875e+04, 4.532303515625e+04, 4.532248046875e+04, 4.531446484375e+04, 4.529840234375e+04, 4.528105859375e+04, 4.52765078125e+04, 4.53036953125e+04, 4.53830859375e+04, 4.553348046875e+04, 4.576959375e+04, 4.610057421875e+04, 4.65294765625e+04, 4.705344140625e+04, 4.766437109375e+04, 4.834994921875e+04, 4.909483203125e+04, 4.98819453125e+04, 5.069384375e+04, 5.1513953125e+04, 5.23277109375e+04, 5.31234609375e+04, 5.389299609375e+04, 5.463182421875e+04, 5.533899609375e+04, 5.6016671875e+04, 5.666937890625e+04, 5.730303515625e+04, 5.79238828125e+04, 5.853736328125e+04, 5.91473203125e+04, 5.975576953125e+04, 6.036340625e+04, 6.097034765625e+04, 6.1576515625e+04, 6.21818984375e+04, 6.27865859375e+04, 6.339024609375e+04, 6.399337109375e+04, 6.45960078125e+04, 6.51980546875e+04, 6.579940625e+04, 6.64001328125e+04, 6.70002109375e+04, 6.7599640625e+04, 6.81983984375e+04, 6.879646875e+04, 6.93939375e+04, 6.99908046875e+04, 7.05869921875e+04, 7.11824921875e+04, 7.1777296875e+04, 7.23713828125e+04, 7.29648046875e+04, 7.35577109375e+04, 7.41499453125e+04, 7.47414921875e+04, 7.533234375e+04, 7.59224921875e+04, 7.6511921875e+04, 7.7100859375e+04, 7.76891640625e+04, 7.8276796875e+04, 7.88637578125e+04, 7.94500234375e+04, 8.003559375e+04, 8.06205703125e+04, 8.12050078125e+04, 8.1788796875e+04, 8.2371921875e+04, 8.29543828125e+04, 8.3536171875e+04, 8.41172734375e+04, 8.469775e+04, 8.527759375e+04, 8.58568359375e+04, 8.64354609375e+04, 8.701346875e+04, 8.7590859375e+04] +hexWetNTU_TX.Q1_flow=[4.53355859375e+04, 4.533874609375e+04, 4.534190234375e+04, 4.534505859375e+04, 4.534821484375e+04, 4.53513671875e+04, 4.53545234375e+04, 4.5357671875e+04, 4.536082421875e+04, 4.536397265625e+04, 4.536712109375e+04, 4.5370265625e+04, 4.537341015625e+04, 4.53765546875e+04, 4.53796953125e+04, 4.53828359375e+04, 4.53859765625e+04, 4.53891171875e+04, 4.539225390625e+04, 4.5395390625e+04, 4.53985234375e+04, 4.540165625e+04, 4.540477734375e+04, 4.540739453125e+04, 4.540666796875e+04, 4.53983984375e+04, 4.538223828125e+04, 4.536523046875e+04, 4.536165625e+04, 4.539055859375e+04, 4.547237109375e+04, 4.56257890625e+04, 4.5865359375e+04, 4.62000546875e+04, 4.663276171875e+04, 4.716048046875e+04, 4.777500390625e+04, 4.846394921875e+04, 4.92119296875e+04, 5.00018828125e+04, 5.0816375e+04, 5.163887109375e+04, 5.24548515625e+04, 5.3252703125e+04, 5.40242578125e+04, 5.476503515625e+04, 5.547410546875e+04, 5.61536171875e+04, 5.680808984375e+04, 5.74434375e+04, 5.806588671875e+04, 5.8680890625e+04, 5.929231640625e+04, 5.990221484375e+04, 6.05112890625e+04, 6.111966015625e+04, 6.1727265625e+04, 6.233408203125e+04, 6.294019921875e+04, 6.35452890625e+04, 6.414984375e+04, 6.475390625e+04, 6.535737890625e+04, 6.596015625e+04, 6.65623046875e+04, 6.71638046875e+04, 6.776465625e+04, 6.8364828125e+04, 6.89643203125e+04, 6.95632109375e+04, 7.01614921875e+04, 7.075909375e+04, 7.13560078125e+04, 7.195221875e+04, 7.254771875e+04, 7.3142546875e+04, 7.3736859375e+04, 7.43305e+04, 7.49234609375e+04, 7.551571875e+04, 7.6107265625e+04, 7.669809375e+04, 7.72884296875e+04, 7.78781328125e+04, 7.84671640625e+04, 7.9055515625e+04, 7.96431796875e+04, 8.0230140625e+04, 8.0816515625e+04, 8.140234375e+04, 8.1987515625e+04, 8.257203125e+04, 8.31558828125e+04, 8.37390546875e+04, 8.43215390625e+04, 8.49033984375e+04, 8.5484625e+04, 8.60652421875e+04, 8.664525e+04, 8.72246328125e+04, 8.78033984375e+04] +hexDis.sta_b2.T=[2.931499938964844e+02, 2.830871887207031e+02, 2.830879821777344e+02, 2.830888061523438e+02, 2.830896301269531e+02, 2.830904541015625e+02, 2.830912780761719e+02, 2.830921020507812e+02, 2.830929260253906e+02, 2.8309375e+02, 2.830945739746094e+02, 2.830953979492188e+02, 2.830962219238281e+02, 2.830970458984375e+02, 2.830978698730469e+02, 2.830986938476562e+02, 2.830995178222656e+02, 2.83100341796875e+02, 2.831011657714844e+02, 2.831019897460938e+02, 2.831028137207031e+02, 2.831065063476562e+02, 2.831292724609375e+02, 2.831668701171875e+02, 2.8321337890625e+02, 2.83265869140625e+02, 2.833217163085938e+02, 2.833802490234375e+02, 2.834401245117188e+02, 2.835008544921875e+02, 2.8356201171875e+02, 2.83623291015625e+02, 2.836844787597656e+02, 2.837454528808594e+02, 2.838061218261719e+02, 2.838663330078125e+02, 2.839261169433594e+02, 2.839853210449219e+02, 2.840440979003906e+02, 2.841022644042969e+02, 2.841598815917969e+02, 2.842171020507812e+02, 2.842735290527344e+02, 2.843296203613281e+02, 2.843850402832031e+02, 2.844401550292969e+02, 2.844944763183594e+02, 2.845485534667969e+02, 2.846018981933594e+02, 2.846550598144531e+02, 2.8470751953125e+02, 2.847595825195312e+02, 2.848114318847656e+02, 2.848623657226562e+02, 2.84913330078125e+02, 2.849637451171875e+02, 2.850135498046875e+02, 2.850633850097656e+02, 2.851131896972656e+02, 2.851629638671875e+02, 2.852127075195312e+02, 2.852624816894531e+02, 2.853121948242188e+02, 2.853619079589844e+02, 2.854115905761719e+02, 2.854612426757812e+02, 2.855108947753906e+02, 2.855605163574219e+02, 2.856101379394531e+02, 2.856597290039062e+02, 2.857092895507812e+02, 2.857588195800781e+02, 2.85808349609375e+02, 2.858578491210938e+02, 2.859073486328125e+02, 2.85956787109375e+02, 2.860062561035156e+02, 2.860556640625e+02, 2.861050415039062e+02, 2.861544189453125e+02, 2.862037963867188e+02, 2.862531127929688e+02, 2.863024291992188e+02, 2.863517150878906e+02, 2.864009704589844e+02, 2.864502258300781e+02, 2.864994506835938e+02, 2.865486450195312e+02, 2.865978088378906e+02, 2.8664697265625e+02, 2.866961059570312e+02, 2.867452087402344e+02, 2.867942810058594e+02, 2.868433532714844e+02, 2.868923950195312e+02, 2.8694140625e+02, 2.869903869628906e+02, 2.870393371582031e+02, 2.870882873535156e+02, 2.8713720703125e+02, 2.871860961914062e+02] +hexWetNTU.sta_b2.T=[2.828675231933594e+02, 2.828683471679688e+02, 2.828692016601562e+02, 2.828700256347656e+02, 2.82870849609375e+02, 2.828716735839844e+02, 2.828725280761719e+02, 2.828733520507812e+02, 2.828741760253906e+02, 2.82875e+02, 2.828758544921875e+02, 2.828766784667969e+02, 2.828775024414062e+02, 2.828783264160156e+02, 2.82879150390625e+02, 2.828799743652344e+02, 2.828808288574219e+02, 2.828816528320312e+02, 2.828824768066406e+02, 2.8288330078125e+02, 2.828841247558594e+02, 2.828849487304688e+02, 2.828857727050781e+02, 2.828867797851562e+02, 2.828889770507812e+02, 2.828939514160156e+02, 2.829019470214844e+02, 2.829103393554688e+02, 2.829310913085938e+02, 2.829620056152344e+02, 2.830042114257812e+02, 2.830580749511719e+02, 2.83123291015625e+02, 2.831989440917969e+02, 2.83283447265625e+02, 2.833749389648438e+02, 2.834713134765625e+02, 2.835703125e+02, 2.836697082519531e+02, 2.837675170898438e+02, 2.838618469238281e+02, 2.839513549804688e+02, 2.84034912109375e+02, 2.841119689941406e+02, 2.841824035644531e+02, 2.842464904785156e+02, 2.843048706054688e+02, 2.843584594726562e+02, 2.844082641601562e+02, 2.844554138183594e+02, 2.845008850097656e+02, 2.845454711914062e+02, 2.845897216796875e+02, 2.846338500976562e+02, 2.84677978515625e+02, 2.847221069335938e+02, 2.847662658691406e+02, 2.848104553222656e+02, 2.848546447753906e+02, 2.848988952636719e+02, 2.849431457519531e+02, 2.849873352050781e+02, 2.850315551757812e+02, 2.850757446289062e+02, 2.851199645996094e+02, 2.851641540527344e+02, 2.852083740234375e+02, 2.852525634765625e+02, 2.852967834472656e+02, 2.853409729003906e+02, 2.853851928710938e+02, 2.854293823242188e+02, 2.854735717773438e+02, 2.855177917480469e+02, 2.8556201171875e+02, 2.856062316894531e+02, 2.856504516601562e+02, 2.856946411132812e+02, 2.857388610839844e+02, 2.857830505371094e+02, 2.858272705078125e+02, 2.858715209960938e+02, 2.859157104492188e+02, 2.859598999023438e+02, 2.860040893554688e+02, 2.860483093261719e+02, 2.860924987792969e+02, 2.8613671875e+02, 2.86180908203125e+02, 2.862250671386719e+02, 2.862692565917969e+02, 2.863134155273438e+02, 2.863576049804688e+02, 2.864017639160156e+02, 2.864459533691406e+02, 2.864901123046875e+02, 2.865342712402344e+02, 2.865784301757812e+02, 2.8662255859375e+02, 2.866666870117188e+02, 2.867108154296875e+02] +hexWetNTU_TX.sta_b2.T=[2.828360595703125e+02, 2.828368835449219e+02, 2.828377075195312e+02, 2.828385314941406e+02, 2.8283935546875e+02, 2.828402099609375e+02, 2.828410339355469e+02, 2.828418579101562e+02, 2.828426818847656e+02, 2.82843505859375e+02, 2.828443298339844e+02, 2.828451538085938e+02, 2.828460083007812e+02, 2.828468322753906e+02, 2.8284765625e+02, 2.828484802246094e+02, 2.828493041992188e+02, 2.828501281738281e+02, 2.828509521484375e+02, 2.828517761230469e+02, 2.828526000976562e+02, 2.828534240722656e+02, 2.82854248046875e+02, 2.828552551269531e+02, 2.828575439453125e+02, 2.828626098632812e+02, 2.828706359863281e+02, 2.828792419433594e+02, 2.829005737304688e+02, 2.829319458007812e+02, 2.829745788574219e+02, 2.830289306640625e+02, 2.830946350097656e+02, 2.83170654296875e+02, 2.832555236816406e+02, 2.833472900390625e+02, 2.834438781738281e+02, 2.835429992675781e+02, 2.836425170898438e+02, 2.837403259277344e+02, 2.838346862792969e+02, 2.839241333007812e+02, 2.840076293945312e+02, 2.840846557617188e+02, 2.84155029296875e+02, 2.842190551757812e+02, 2.842773742675781e+02, 2.843308715820312e+02, 2.84380615234375e+02, 2.844277038574219e+02, 2.844730834960938e+02, 2.845176086425781e+02, 2.845617370605469e+02, 2.846057739257812e+02, 2.846498107910156e+02, 2.8469384765625e+02, 2.847379150390625e+02, 2.847820129394531e+02, 2.848261108398438e+02, 2.848702697753906e+02, 2.849143981933594e+02, 2.849585266113281e+02, 2.850026245117188e+02, 2.850467529296875e+02, 2.850908508300781e+02, 2.851349792480469e+02, 2.851790771484375e+02, 2.852232055664062e+02, 2.85267333984375e+02, 2.853114624023438e+02, 2.853555603027344e+02, 2.853996887207031e+02, 2.854437866210938e+02, 2.854879150390625e+02, 2.855320434570312e+02, 2.855762023925781e+02, 2.856203002929688e+02, 2.856644287109375e+02, 2.857085571289062e+02, 2.85752685546875e+02, 2.857968139648438e+02, 2.858409729003906e+02, 2.858851013183594e+02, 2.8592919921875e+02, 2.859733276367188e+02, 2.860174560546875e+02, 2.860615844726562e+02, 2.86105712890625e+02, 2.861498413085938e+02, 2.861939392089844e+02, 2.86238037109375e+02, 2.862821350097656e+02, 2.863262329101562e+02, 2.863703308105469e+02, 2.864144287109375e+02, 2.864585266113281e+02, 2.865026245117188e+02, 2.865466918945312e+02, 2.865907592773438e+02, 2.866348266601562e+02, 2.866788940429688e+02] +relHumOut_dis.phi=[5e-01, 4.801923334598541e-01, 4.981439709663391e-01, 5.166705846786499e-01, 5.351910591125488e-01, 5.537007451057434e-01, 5.721999406814575e-01, 5.906887650489807e-01, 6.091671586036682e-01, 6.276351809501648e-01, 6.460928916931152e-01, 6.645402312278748e-01, 6.829771995544434e-01, 7.014039158821106e-01, 7.198202610015869e-01, 7.382262945175171e-01, 7.566220164299011e-01, 7.75007426738739e-01, 7.933825850486755e-01, 8.117473721504211e-01, 8.301019072532654e-01, 8.481107950210571e-01, 8.628171682357788e-01, 8.745312690734863e-01, 8.841044306755066e-01, 8.92108678817749e-01, 8.989589214324951e-01, 9.048370122909546e-01, 9.099735021591187e-01, 9.145430326461792e-01, 9.186031818389893e-01, 9.2226243019104e-01, 9.255711436271667e-01, 9.285886883735657e-01, 9.313626289367676e-01, 9.339068531990051e-01, 9.362651705741882e-01, 9.384449124336243e-01, 9.405038952827454e-01, 9.424059391021729e-01, 9.441936016082764e-01, 9.459004402160645e-01, 9.474800229072571e-01, 9.490005373954773e-01, 9.504244327545166e-01, 9.518052935600281e-01, 9.530864357948303e-01, 9.543405175209045e-01, 9.555141925811768e-01, 9.566634893417358e-01, 9.577521085739136e-01, 9.587950706481934e-01, 9.598232507705688e-01, 9.607750177383423e-01, 9.617242217063904e-01, 9.626364707946777e-01, 9.635008573532104e-01, 9.643627405166626e-01, 9.652206301689148e-01, 9.660725593566895e-01, 9.669217467308044e-01, 9.677685499191284e-01, 9.686114192008972e-01, 9.694488644599915e-01, 9.702821373939514e-01, 9.711113572120667e-01, 9.719369411468506e-01, 9.727585911750793e-01, 9.735763669013977e-01, 9.743903875350952e-01, 9.752005338668823e-01, 9.760068655014038e-01, 9.768093824386597e-01, 9.776079654693604e-01, 9.784027934074402e-01, 9.791938066482544e-01, 9.79981541633606e-01, 9.807655811309814e-01, 9.815459251403809e-01, 9.823225736618042e-01, 9.830955266952515e-01, 9.838647842407227e-01, 9.84630823135376e-01, 9.853933453559875e-01, 9.861523509025574e-01, 9.869077801704407e-01, 9.876596331596375e-01, 9.884079694747925e-01, 9.891529679298401e-01, 9.898948669433594e-01, 9.906333088874817e-01, 9.913684129714966e-01, 9.921000599861145e-01, 9.928283095359802e-01, 9.935532212257385e-01, 9.942746758460999e-01, 9.949932098388672e-01, 9.957085847854614e-01, 9.964207410812378e-01, 9.971297979354858e-01, 9.978358149528503e-01] +relHumOut_eps.phi=[5e-01, 4.923496544361115e-01, 5.111603736877441e-01, 5.299617052078247e-01, 5.487524271011353e-01, 5.675325989723206e-01, 5.863022208213806e-01, 6.050612926483154e-01, 6.238097548484802e-01, 6.425477266311646e-01, 6.612751483917236e-01, 6.799920797348022e-01, 6.986984610557556e-01, 7.173944115638733e-01, 7.360798120498657e-01, 7.547547221183777e-01, 7.734191417694092e-01, 7.920730710029602e-01, 8.107165694236755e-01, 8.293495774269104e-01, 8.479721546173096e-01, 8.66584300994873e-01, 8.851858973503113e-01, 9.037690162658691e-01, 9.222763776779175e-01, 9.406030178070068e-01, 9.587114453315735e-01, 9.767316579818726e-01, 9.932551383972168e-01, 1.0078045129776e+00, 1.019919395446777e+00, 1.029143214225769e+00, 1.035207152366638e+00, 1.038049578666687e+00, 1.037810564041138e+00, 1.034801006317139e+00, 1.02947211265564e+00, 1.022364139556885e+00, 1.014065146446228e+00, 1.005165576934814e+00, 9.962204694747925e-01, 9.877168536186218e-01, 9.800413846969604e-01, 9.734735488891602e-01, 9.681720733642578e-01, 9.641795754432678e-01, 9.614337086677551e-01, 9.59787905216217e-01, 9.590367078781128e-01, 9.589421153068542e-01, 9.592779874801636e-01, 9.598467946052551e-01, 9.605141878128052e-01, 9.612064361572266e-01, 9.618991017341614e-01, 9.625874757766724e-01, 9.632709622383118e-01, 9.639500975608826e-01, 9.646246433258057e-01, 9.652925133705139e-01, 9.659573435783386e-01, 9.666194915771484e-01, 9.672772884368896e-01, 9.679293632507324e-01, 9.685770273208618e-01, 9.692202210426331e-01, 9.698590636253357e-01, 9.704934358596802e-01, 9.711233973503113e-01, 9.717491269111633e-01, 9.723706841468811e-01, 9.729878902435303e-01, 9.736007452011108e-01, 9.742092490196228e-01, 9.748134613037109e-01, 9.754135012626648e-01, 9.760095477104187e-01, 9.766014218330383e-01, 9.771890640258789e-01, 9.777725338935852e-01, 9.783518314361572e-01, 9.789268970489502e-01, 9.794983267784119e-01, 9.800657033920288e-01, 9.806290864944458e-01, 9.811884760856628e-01, 9.817437529563904e-01, 9.82295036315918e-01, 9.828425049781799e-01, 9.83386218547821e-01, 9.839260578155518e-01, 9.844620227813721e-01, 9.849940538406372e-01, 9.855221509933472e-01, 9.860464334487915e-01, 9.865675568580627e-01, 9.87084686756134e-01, 9.875978827476501e-01, 9.881073832511902e-01, 9.886130094528198e-01, 9.8911452293396e-01] +hexDis.SHR=[0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.9959796667099e-01, 9.964630603790283e-01, 9.911324977874756e-01, 9.842373132705688e-01, 9.761488437652588e-01, 9.67201292514801e-01, 9.576169848442078e-01, 9.475892782211304e-01, 9.372141361236572e-01, 9.266218543052673e-01, 9.15724515914917e-01, 9.047637581825256e-01, 8.937340378761292e-01, 8.826755285263062e-01, 8.717673420906067e-01, 8.607526421546936e-01, 8.497628569602966e-01, 8.388859629631042e-01, 8.282127976417542e-01, 8.174986243247986e-01, 8.069437742233276e-01, 7.965637445449829e-01, 7.863005995750427e-01, 7.761430740356445e-01, 7.66108512878418e-01, 7.562749981880188e-01, 7.467237114906311e-01, 7.369806170463562e-01, 7.27634608745575e-01, 7.182742953300476e-01, 7.091848254203796e-01, 7.001710534095764e-01, 6.913515329360962e-01, 6.827108860015869e-01, 6.741096377372742e-01, 6.657314300537109e-01, 6.575123071670532e-01, 6.494516730308533e-01, 6.41533374786377e-01, 6.337735652923584e-01, 6.261699199676514e-01, 6.187083721160889e-01, 6.113764643669128e-01, 6.041783094406128e-01, 5.971102714538574e-01, 5.901685357093811e-01, 5.833498239517212e-01, 5.766509175300598e-01, 5.700687170028687e-01, 5.636002421379089e-01, 5.572423934936523e-01, 5.509923696517944e-01, 5.448473691940308e-01, 5.388047695159912e-01, 5.328620672225952e-01, 5.27016818523407e-01, 5.212665796279907e-01, 5.156089067459106e-01, 5.100417137145996e-01, 5.045626759529114e-01, 4.991697669029236e-01, 4.938610196113586e-01, 4.886344075202942e-01, 4.834879636764526e-01, 4.784198403358459e-01, 4.734282493591309e-01, 4.685114026069641e-01, 4.636677205562592e-01, 4.588955938816071e-01, 4.541932940483093e-01, 4.495593309402466e-01, 4.449921846389771e-01, 4.404903650283813e-01, 4.360524415969849e-01, 4.316771328449249e-01, 4.273631274700165e-01, 4.231091141700745e-01, 4.189137816429138e-01, 4.147759675979614e-01, 4.106990098953247e-01] +hexWetNTU.SHR=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1.000003576278687e+00, 9.989969730377197e-01, 9.966937303543091e-01, 9.925904870033264e-01, 9.86279308795929e-01, 9.775168895721436e-01, 9.66255247592926e-01, 9.526409506797791e-01, 9.369876384735107e-01, 9.197313189506531e-01, 9.013778567314148e-01, 8.824515342712402e-01, 8.634496927261353e-01, 8.448076844215393e-01, 8.268752098083496e-01, 8.099044561386108e-01, 7.940478920936584e-01, 7.793647050857544e-01, 7.658329606056213e-01, 7.533659338951111e-01, 7.418308854103088e-01, 7.310686111450195e-01, 7.209140062332153e-01, 7.112150192260742e-01, 7.018497586250305e-01, 6.927358508110046e-01, 6.838290691375732e-01, 6.751111149787903e-01, 6.665741205215454e-01, 6.582125425338745e-01, 6.500210762023926e-01, 6.419941782951355e-01, 6.341279149055481e-01, 6.264159083366394e-01, 6.188535094261169e-01, 6.11436665058136e-01, 6.041614413261414e-01, 5.97023606300354e-01, 5.900193452835083e-01, 5.831449031829834e-01, 5.763967037200928e-01, 5.697712898254395e-01, 5.632650852203369e-01, 5.568749904632568e-01, 5.505979061126709e-01, 5.444309115409851e-01, 5.383710861206055e-01, 5.324156880378723e-01, 5.265618562698364e-01, 5.208067893981934e-01, 5.151482224464417e-01, 5.095837116241455e-01, 5.041108727455139e-01, 4.987275302410126e-01, 4.9343141913414e-01, 4.882201850414276e-01, 4.830918908119202e-01, 4.780446588993073e-01, 4.730764627456665e-01, 4.681855142116547e-01, 4.633699655532837e-01, 4.586279690265656e-01, 4.539578557014465e-01, 4.493580162525177e-01, 4.448268711566925e-01, 4.403628408908844e-01, 4.35964435338974e-01, 4.316301941871643e-01, 4.273586869239807e-01, 4.231485426425934e-01, 4.189984202384949e-01, 4.149070382118225e-01, 4.108731150627136e-01, 4.068954586982727e-01] +hexWetNTU.dryFra=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999983310699463e-01, 9.998849034309387e-01, 9.988121390342712e-01, 9.946662783622742e-01, 9.846232533454895e-01, 9.660599231719971e-01, 9.371674060821533e-01, 8.972097635269165e-01, 8.465237617492676e-01, 7.863520383834839e-01, 7.185931801795959e-01, 6.455350518226624e-01, 5.69616436958313e-01, 4.932374656200409e-01, 4.186207950115204e-01, 3.477145135402679e-01, 2.821266353130341e-01, 2.230825573205948e-01, 1.714025735855103e-01, 1.274984627962112e-01, 9.139084815979004e-02, 6.274732202291489e-02, 4.093948751688004e-02, 2.51146350055933e-02, 1.427622325718403e-02, 7.367109879851341e-03, 3.350537735968828e-03, 1.284907339140773e-03, 3.879504220094532e-04, 8.245353092206642e-05, 1.014950339595089e-05, 4.988578439224511e-07, 4.371156325788661e-09, 8.061000326443912e-13, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +hexDis.UA_nominal=[4.748e+03, 4.748e+03] +hexWetNTU.UA_nominal=[4.748e+03, 4.748e+03] +hexWetNTU_TX.UA_nominal=[4.77145166015625e+03, 4.77145166015625e+03] diff --git a/Buildings/Resources/ReferenceResults/Dymola/Buildings_Fluid_HeatExchangers_Validation_WetCoilEffectivenessNTUHeating.txt b/Buildings/Resources/ReferenceResults/Dymola/Buildings_Fluid_HeatExchangers_Validation_WetCoilEffectivenessNTUHeating.txt new file mode 100644 index 00000000000..99fc61dfa0f --- /dev/null +++ b/Buildings/Resources/ReferenceResults/Dymola/Buildings_Fluid_HeatExchangers_Validation_WetCoilEffectivenessNTUHeating.txt @@ -0,0 +1,23 @@ +last-generated=2021-04-14 +statistics-initialization= +{ + "nonlinear": "1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": " ", + "nonlinear": "1", + "number of continuous time states": "130", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+03] +hexDis.Q1_flow=[0e+00, -7.81854140625e+04, -7.795025e+04, -7.7715078125e+04, -7.74799140625e+04, -7.72447421875e+04, -7.70095703125e+04, -7.67743984375e+04, -7.65392265625e+04, -7.63040546875e+04, -7.60688828125e+04, -7.58337109375e+04, -7.5598546875e+04, -7.5363375e+04, -7.5128203125e+04, -7.489303125e+04, -7.4657859375e+04, -7.44226875e+04, -7.4187515625e+04, -7.39523515625e+04, -7.37171796875e+04, -7.34820078125e+04, -7.32468359375e+04, -7.30116640625e+04, -7.27764921875e+04, -7.25413203125e+04, -7.230615625e+04, -7.2070984375e+04, -7.18358125e+04, -7.1600640625e+04, -7.136546875e+04, -7.1130296875e+04, -7.0895125e+04, -7.06599609375e+04, -7.04247890625e+04, -7.01896171875e+04, -6.99544453125e+04, -6.97192734375e+04, -6.94841015625e+04, -6.92489296875e+04, -6.9013765625e+04, -6.877859375e+04, -6.8543421875e+04, -6.830825e+04, -6.8073078125e+04, -6.783790625e+04, -6.7602734375e+04, -6.73675703125e+04, -6.71323984375e+04, -6.68972265625e+04, -6.66620546875e+04, -6.64268828125e+04, -6.61917109375e+04, -6.59565390625e+04, -6.5721375e+04, -6.548619921875e+04, -6.525103125e+04, -6.5015859375e+04, -6.47806875e+04, -6.454551953125e+04, -6.431034765625e+04, -6.407517578125e+04, -6.384000390625e+04, -6.36048359375e+04, -6.33696640625e+04, -6.31344921875e+04, -6.289932421875e+04, -6.266415234375e+04, -6.242898046875e+04, -6.219380859375e+04, -6.1958640625e+04, -6.172346875e+04, -6.1488296875e+04, -6.125312890625e+04, -6.101795703125e+04, -6.078278515625e+04, -6.054761328125e+04, -6.03124453125e+04, -6.00772734375e+04, -5.98421015625e+04, -5.960693359375e+04, -5.937176171875e+04, -5.913658984375e+04, -5.890141796875e+04, -5.866625e+04, -5.8431078125e+04, -5.819590625e+04, -5.796073828125e+04, -5.772556640625e+04, -5.749039453125e+04, -5.725522265625e+04, -5.70200546875e+04, -5.67848828125e+04, -5.65497109375e+04, -5.631454296875e+04, -5.607937109375e+04, -5.584419921875e+04, -5.560902734375e+04, -5.5373859375e+04, -5.51386875e+04, -5.4903515625e+04] +hexWetNTU_TX.Q1_flow=[-7.934540625e+04, -7.9106171875e+04, -7.8867140625e+04, -7.8628296875e+04, -7.8389625e+04, -7.81511015625e+04, -7.7912703125e+04, -7.76744140625e+04, -7.7436203125e+04, -7.71980625e+04, -7.695996875e+04, -7.672190625e+04, -7.64838671875e+04, -7.62458359375e+04, -7.60078125e+04, -7.57697890625e+04, -7.5531765625e+04, -7.529375e+04, -7.50557265625e+04, -7.4817703125e+04, -7.45796875e+04, -7.43416640625e+04, -7.41036484375e+04, -7.3865625e+04, -7.36276015625e+04, -7.33895859375e+04, -7.31515625e+04, -7.2913546875e+04, -7.26755234375e+04, -7.24375e+04, -7.2199484375e+04, -7.19614609375e+04, -7.17234453125e+04, -7.1485421875e+04, -7.12473984375e+04, -7.10093828125e+04, -7.0771359375e+04, -7.053334375e+04, -7.02953203125e+04, -7.0057296875e+04, -6.981928125e+04, -6.95812578125e+04, -6.93432421875e+04, -6.910521875e+04, -6.88671953125e+04, -6.86291796875e+04, -6.839115625e+04, -6.8153140625e+04, -6.79151171875e+04, -6.76771015625e+04, -6.7439078125e+04, -6.72010546875e+04, -6.69630390625e+04, -6.6725015625e+04, -6.6487e+04, -6.62489765625e+04, -6.6010953125e+04, -6.57729375e+04, -6.55349140625e+04, -6.529689453125e+04, -6.5058875e+04, -6.482085546875e+04, -6.45828359375e+04, -6.43448125e+04, -6.410679296875e+04, -6.38687734375e+04, -6.363075390625e+04, -6.3392734375e+04, -6.31547109375e+04, -6.291669140625e+04, -6.2678671875e+04, -6.244065234375e+04, -6.22026328125e+04, -6.1964609375e+04, -6.172658984375e+04, -6.14885703125e+04, -6.125055078125e+04, -6.101253125e+04, -6.07745078125e+04, -6.053648828125e+04, -6.029846875e+04, -6.006044921875e+04, -5.98224296875e+04, -5.958441015625e+04, -5.934638671875e+04, -5.91083671875e+04, -5.887034765625e+04, -5.8632328125e+04, -5.839430859375e+04, -5.815628515625e+04, -5.7918265625e+04, -5.768024609375e+04, -5.74422265625e+04, -5.720420703125e+04, -5.696618359375e+04, -5.67281640625e+04, -5.649014453125e+04, -5.6252125e+04, -5.601410546875e+04, -5.57760859375e+04, -5.55380625e+04] +hexDryNTU_T.Q1_flow=[-7.91153984375e+04, -7.88780546875e+04, -7.86407109375e+04, -7.8403359375e+04, -7.8166015625e+04, -7.7928671875e+04, -7.76913203125e+04, -7.74539765625e+04, -7.72166328125e+04, -7.697928125e+04, -7.67419375e+04, -7.650459375e+04, -7.62672421875e+04, -7.60298984375e+04, -7.57925546875e+04, -7.5555203125e+04, -7.5317859375e+04, -7.5080515625e+04, -7.4843171875e+04, -7.46058203125e+04, -7.43684765625e+04, -7.41311328125e+04, -7.389378125e+04, -7.36564375e+04, -7.341909375e+04, -7.31817421875e+04, -7.29443984375e+04, -7.27070546875e+04, -7.2469703125e+04, -7.2232359375e+04, -7.1995015625e+04, -7.17576640625e+04, -7.15203203125e+04, -7.12829765625e+04, -7.10456328125e+04, -7.080828125e+04, -7.05709375e+04, -7.033359375e+04, -7.00962421875e+04, -6.98588984375e+04, -6.96215546875e+04, -6.9384203125e+04, -6.9146859375e+04, -6.8909515625e+04, -6.86721640625e+04, -6.84348203125e+04, -6.81974765625e+04, -6.7960125e+04, -6.772278125e+04, -6.74854375e+04, -6.724809375e+04, -6.70107421875e+04, -6.67733984375e+04, -6.65360546875e+04, -6.6298703125e+04, -6.6061359375e+04, -6.5824015625e+04, -6.55866640625e+04, -6.53493203125e+04, -6.511197265625e+04, -6.487462890625e+04, -6.463728125e+04, -6.43999375e+04, -6.416258984375e+04, -6.39252421875e+04, -6.36878984375e+04, -6.345055078125e+04, -6.3213203125e+04, -6.2975859375e+04, -6.273851171875e+04, -6.25011640625e+04, -6.22638203125e+04, -6.202647265625e+04, -6.178912890625e+04, -6.155178125e+04, -6.131443359375e+04, -6.107708984375e+04, -6.08397421875e+04, -6.060239453125e+04, -6.036505078125e+04, -6.0127703125e+04, -5.9890359375e+04, -5.965301171875e+04, -5.94156640625e+04, -5.91783203125e+04, -5.894097265625e+04, -5.8703625e+04, -5.846628125e+04, -5.822893359375e+04, -5.799158984375e+04, -5.77542421875e+04, -5.751689453125e+04, -5.727955078125e+04, -5.7042203125e+04, -5.680485546875e+04, -5.656751171875e+04, -5.63301640625e+04, -5.60928203125e+04, -5.585547265625e+04, -5.5618125e+04, -5.538078125e+04] +hexDis.sta_b2.T=[2.931499938964844e+02, 3.023950805664062e+02, 3.024577026367188e+02, 3.025200805664062e+02, 3.025824584960938e+02, 3.026448669433594e+02, 3.02707275390625e+02, 3.027696533203125e+02, 3.028320617675781e+02, 3.028944396972656e+02, 3.029568481445312e+02, 3.030192260742188e+02, 3.030816345214844e+02, 3.0314404296875e+02, 3.032064208984375e+02, 3.032688293457031e+02, 3.033312072753906e+02, 3.033936157226562e+02, 3.034560241699219e+02, 3.035184020996094e+02, 3.03580810546875e+02, 3.036431884765625e+02, 3.037055969238281e+02, 3.037680053710938e+02, 3.038303833007812e+02, 3.038927917480469e+02, 3.039551696777344e+02, 3.04017578125e+02, 3.040799865722656e+02, 3.041423645019531e+02, 3.042047729492188e+02, 3.042671508789062e+02, 3.043295593261719e+02, 3.043919372558594e+02, 3.04454345703125e+02, 3.045167541503906e+02, 3.045791320800781e+02, 3.046415405273438e+02, 3.047039184570312e+02, 3.047663269042969e+02, 3.048287353515625e+02, 3.0489111328125e+02, 3.049535217285156e+02, 3.050158996582031e+02, 3.050783081054688e+02, 3.051407165527344e+02, 3.052030944824219e+02, 3.052655029296875e+02, 3.05327880859375e+02, 3.053902893066406e+02, 3.054526672363281e+02, 3.055150756835938e+02, 3.055774841308594e+02, 3.056398620605469e+02, 3.057022705078125e+02, 3.057646484375e+02, 3.058270568847656e+02, 3.058894653320312e+02, 3.059518432617188e+02, 3.060142517089844e+02, 3.060766296386719e+02, 3.061390380859375e+02, 3.062014465332031e+02, 3.062638244628906e+02, 3.063262329101562e+02, 3.063886108398438e+02, 3.064510192871094e+02, 3.065133972167969e+02, 3.065758056640625e+02, 3.066382141113281e+02, 3.067005920410156e+02, 3.067630004882812e+02, 3.068253784179688e+02, 3.068877868652344e+02, 3.069501953125e+02, 3.070125732421875e+02, 3.070749816894531e+02, 3.071373596191406e+02, 3.071997680664062e+02, 3.072621765136719e+02, 3.073245544433594e+02, 3.07386962890625e+02, 3.074493408203125e+02, 3.075117492675781e+02, 3.075741577148438e+02, 3.076365356445312e+02, 3.076989440917969e+02, 3.077613220214844e+02, 3.0782373046875e+02, 3.078861083984375e+02, 3.079485168457031e+02, 3.080109252929688e+02, 3.080733032226562e+02, 3.081357116699219e+02, 3.081980895996094e+02, 3.08260498046875e+02, 3.083229064941406e+02, 3.083852844238281e+02, 3.084476928710938e+02, 3.085100708007812e+02, 3.085724792480469e+02] +hexWetNTU_TX.sta_b2.T=[3.027071533203125e+02, 3.027680358886719e+02, 3.028290100097656e+02, 3.028900451660156e+02, 3.029511108398438e+02, 3.030122680664062e+02, 3.030734558105469e+02, 3.031347045898438e+02, 3.031959533691406e+02, 3.032572631835938e+02, 3.033185729980469e+02, 3.033798828125e+02, 3.034411926269531e+02, 3.035025329589844e+02, 3.035638732910156e+02, 3.036252136230469e+02, 3.036865234375e+02, 3.037478637695312e+02, 3.038092041015625e+02, 3.038705444335938e+02, 3.03931884765625e+02, 3.039931945800781e+02, 3.040545349121094e+02, 3.041158752441406e+02, 3.041772155761719e+02, 3.042385559082031e+02, 3.042998657226562e+02, 3.043612060546875e+02, 3.044225463867188e+02, 3.0448388671875e+02, 3.045452270507812e+02, 3.046065673828125e+02, 3.046678771972656e+02, 3.047292175292969e+02, 3.047905578613281e+02, 3.048518981933594e+02, 3.049132385253906e+02, 3.049745483398438e+02, 3.05035888671875e+02, 3.050972290039062e+02, 3.051585693359375e+02, 3.052199096679688e+02, 3.052812194824219e+02, 3.053425598144531e+02, 3.054039001464844e+02, 3.054652404785156e+02, 3.055265808105469e+02, 3.05587890625e+02, 3.056492309570312e+02, 3.057105712890625e+02, 3.057719116210938e+02, 3.05833251953125e+02, 3.058945617675781e+02, 3.059559020996094e+02, 3.060172424316406e+02, 3.060785827636719e+02, 3.061399230957031e+02, 3.062012634277344e+02, 3.062625732421875e+02, 3.063239135742188e+02, 3.0638525390625e+02, 3.064465942382812e+02, 3.065079345703125e+02, 3.065692443847656e+02, 3.066305847167969e+02, 3.066919250488281e+02, 3.067532653808594e+02, 3.068146057128906e+02, 3.068759155273438e+02, 3.06937255859375e+02, 3.069985961914062e+02, 3.070599365234375e+02, 3.071212768554688e+02, 3.071825866699219e+02, 3.072439270019531e+02, 3.073052673339844e+02, 3.073666076660156e+02, 3.074279479980469e+02, 3.074892578125e+02, 3.075505981445312e+02, 3.076119384765625e+02, 3.076732788085938e+02, 3.07734619140625e+02, 3.077959289550781e+02, 3.078572692871094e+02, 3.079186096191406e+02, 3.079799499511719e+02, 3.080412902832031e+02, 3.081026306152344e+02, 3.081639404296875e+02, 3.082252807617188e+02, 3.0828662109375e+02, 3.083479614257812e+02, 3.084093017578125e+02, 3.084706115722656e+02, 3.085319519042969e+02, 3.085932922363281e+02, 3.086546325683594e+02, 3.087159729003906e+02, 3.087772827148438e+02, 3.08838623046875e+02] +hexDryNTU_T.sta_b2.T=[3.026214904785156e+02, 3.026830749511719e+02, 3.027446594238281e+02, 3.028062438964844e+02, 3.028678283691406e+02, 3.029294128417969e+02, 3.029909973144531e+02, 3.030525817871094e+02, 3.031141662597656e+02, 3.031757507324219e+02, 3.032373352050781e+02, 3.032989196777344e+02, 3.033605041503906e+02, 3.034220886230469e+02, 3.034836730957031e+02, 3.035452575683594e+02, 3.036068420410156e+02, 3.036684265136719e+02, 3.037300109863281e+02, 3.037915954589844e+02, 3.038532104492188e+02, 3.03914794921875e+02, 3.039763793945312e+02, 3.040379638671875e+02, 3.040995483398438e+02, 3.041611328125e+02, 3.042227172851562e+02, 3.042843017578125e+02, 3.043458862304688e+02, 3.04407470703125e+02, 3.044690551757812e+02, 3.045306396484375e+02, 3.045922241210938e+02, 3.0465380859375e+02, 3.047153930664062e+02, 3.047769775390625e+02, 3.048385620117188e+02, 3.04900146484375e+02, 3.049617309570312e+02, 3.050233154296875e+02, 3.050848999023438e+02, 3.05146484375e+02, 3.052080688476562e+02, 3.052696533203125e+02, 3.053312377929688e+02, 3.05392822265625e+02, 3.054544067382812e+02, 3.055159912109375e+02, 3.055775756835938e+02, 3.056391906738281e+02, 3.057007751464844e+02, 3.057623596191406e+02, 3.058239440917969e+02, 3.058855285644531e+02, 3.059471130371094e+02, 3.060086975097656e+02, 3.060702819824219e+02, 3.061318664550781e+02, 3.061934509277344e+02, 3.062550354003906e+02, 3.063166198730469e+02, 3.063782043457031e+02, 3.064397888183594e+02, 3.065013732910156e+02, 3.065629577636719e+02, 3.066245422363281e+02, 3.066861267089844e+02, 3.067477111816406e+02, 3.068092956542969e+02, 3.068708801269531e+02, 3.069324645996094e+02, 3.069940490722656e+02, 3.070556335449219e+02, 3.071172180175781e+02, 3.071788024902344e+02, 3.072403869628906e+02, 3.073019714355469e+02, 3.073635864257812e+02, 3.074251708984375e+02, 3.074867553710938e+02, 3.0754833984375e+02, 3.076099243164062e+02, 3.076715087890625e+02, 3.077330932617188e+02, 3.07794677734375e+02, 3.078562622070312e+02, 3.079178466796875e+02, 3.079794311523438e+02, 3.08041015625e+02, 3.081026000976562e+02, 3.081641845703125e+02, 3.082257690429688e+02, 3.08287353515625e+02, 3.083489379882812e+02, 3.084105224609375e+02, 3.084721069335938e+02, 3.0853369140625e+02, 3.085952758789062e+02, 3.086568603515625e+02, 3.087184448242188e+02, 3.08780029296875e+02] +hexDis.UA_nominal=[2.5445390625e+03, 2.5445390625e+03] +hexWetNTU_TX.UA_nominal=[2.54964794921875e+03, 2.54964794921875e+03] +hexDryNTU_T.UA_nominal=[2.537459228515625e+03, 2.537459228515625e+03] diff --git a/Buildings/Resources/Scripts/Dymola/Fluid/HeatExchangers/Examples/WetCoilEffectivenessNTUMassFlow.mos b/Buildings/Resources/Scripts/Dymola/Fluid/HeatExchangers/Examples/WetCoilEffectivenessNTUMassFlow.mos new file mode 100644 index 00000000000..8604ee61fc6 --- /dev/null +++ b/Buildings/Resources/Scripts/Dymola/Fluid/HeatExchangers/Examples/WetCoilEffectivenessNTUMassFlow.mos @@ -0,0 +1,15 @@ +simulateModel("Buildings.Fluid.HeatExchangers.Examples.WetCoilEffectivenessNTUMassFlow", + stopTime=3600, + method="cvode", + tolerance=1e-6, + resultFile="WetCoilEffectivenessNTUMassFlow"); +createPlot( + id=1, + position={0, 0, 782, 636}, + y={"hex.Q2_flow", "hex.QLat2_flow"}, + grid=true); +createPlot( + id=1, + y={"hex.port_a1.m_flow", "hex.port_a2.m_flow"}, + grid=true, + subPlot=2); diff --git a/Buildings/Resources/Scripts/Dymola/Fluid/HeatExchangers/Validation/WetCoilEffectivenessNTU.mos b/Buildings/Resources/Scripts/Dymola/Fluid/HeatExchangers/Validation/WetCoilEffectivenessNTU.mos new file mode 100644 index 00000000000..f6feb385a99 --- /dev/null +++ b/Buildings/Resources/Scripts/Dymola/Fluid/HeatExchangers/Validation/WetCoilEffectivenessNTU.mos @@ -0,0 +1,62 @@ +simulateModel("Buildings.Fluid.HeatExchangers.Validation.WetCoilEffectivenessNTU", + stopTime=1000, + method="cvode", + tolerance=1e-6, + resultFile="WetCoilEffectivenessNTU"); +createPlot( + id=1, + position={59, 59, 1186, 1286}, + y={"hexDis.Q1_flow", "hexWetNTU.Q1_flow", "hexWetNTU_TX.Q1_flow"}, + range = {0, 1000, 1E4, 1E5}, + autoscale=false, + autoerase=true, + autoreplot=true, + grid=true, + color=true); +createPlot( + id=1, + y={"hexDis.sta_b2.T", "hexWetNTU.sta_b2.T", "hexWetNTU_TX.sta_b2.T"}, + range={0.0, 1000.0, 8.0, 16.0}, + autoscale=false, + autoerase=true, + autoreplot=true, + grid=true, + color=true, + subPlot=102); +createPlot( + id=1, + subPlot=3, + y={"relHumOut_dis.phi", "relHumOut_eps.phi"}, + range={0.0, 1000.0, 0.4, 1.1}, + autoscale=false, + autoerase=true, + autoreplot=true, + grid=true, + color=true); +createPlot( + id=2, + position={1255, 58, 1140, 1286}, + y={"hexDis.SHR", "hexWetNTU.SHR"}, + autoscale=true, + autoerase=true, + autoreplot=true, + grid=true, + color=true); +createPlot( + id=2, + subPlot=2, + y={"hexWetNTU.dryFra"}, + autoscale=true, + autoerase=true, + autoreplot=true, + grid=true, + color=true); +createPlot( + id=2, + subPlot=3, + y={"hexDis.UA_nominal", "hexWetNTU.UA_nominal", "hexWetNTU_TX.UA_nominal"}, + autoscale=true, + autoerase=true, + autoreplot=true, + grid=true, + color=true); \ No newline at end of file diff --git a/Buildings/Resources/Scripts/Dymola/Fluid/HeatExchangers/Validation/WetCoilEffectivenessNTUHeating.mos b/Buildings/Resources/Scripts/Dymola/Fluid/HeatExchangers/Validation/WetCoilEffectivenessNTUHeating.mos new file mode 100644 index 00000000000..4a5ce5b8a41 --- /dev/null +++ b/Buildings/Resources/Scripts/Dymola/Fluid/HeatExchangers/Validation/WetCoilEffectivenessNTUHeating.mos @@ -0,0 +1,34 @@ +simulateModel("Buildings.Fluid.HeatExchangers.Validation.WetCoilEffectivenessNTUHeating", + stopTime=1000, + method="cvode", + tolerance=1e-6, + resultFile="WetCoilEffectivenessNTUHeating"); +createPlot( + id=1, + position={59, 59, 1186, 1286}, + y={"hexDis.Q1_flow", "hexWetNTU_TX.Q1_flow", "hexDryNTU_T.Q1_flow"}, + // range = {0, 1000, -9E4, -5E4}, + autoscale=true, + autoerase=true, + autoreplot=true, + grid=true, + color=true); +createPlot( + id=1, + y={"hexDis.sta_b2.T", "hexWetNTU_TX.sta_b2.T", "hexDryNTU_T.sta_b2.T"}, + // range={0.0, 1000.0, 20.0, 40.0}, + autoscale=true, + autoerase=true, + autoreplot=true, + grid=true, + color=true, + subPlot=102); +createPlot( + id=2, + position={1255, 58, 1140, 1286}, + y={"hexDis.UA_nominal", "hexWetNTU_TX.UA_nominal", "hexDryNTU_T.UA_nominal"}, + autoscale=true, + autoerase=true, + autoreplot=true, + grid=true, + color=true); diff --git a/Buildings/Resources/Scripts/OpenModelica/compareVars/Buildings.Fluid.HeatExchangers.Examples.WetCoilEffectivenessNTUMassFlow.mos b/Buildings/Resources/Scripts/OpenModelica/compareVars/Buildings.Fluid.HeatExchangers.Examples.WetCoilEffectivenessNTUMassFlow.mos new file mode 100644 index 00000000000..304bb5faf26 --- /dev/null +++ b/Buildings/Resources/Scripts/OpenModelica/compareVars/Buildings.Fluid.HeatExchangers.Examples.WetCoilEffectivenessNTUMassFlow.mos @@ -0,0 +1,7 @@ +compareVars := + { + "hex.Q2_flow", + "hex.QLat2_flow", + "hex.port_a1.m_flow", + "hex.port_a2.m_flow" + }; diff --git a/Buildings/Resources/Scripts/OpenModelica/compareVars/Buildings.Fluid.HeatExchangers.Validation.WetCoilEffectivenessNTU.mos b/Buildings/Resources/Scripts/OpenModelica/compareVars/Buildings.Fluid.HeatExchangers.Validation.WetCoilEffectivenessNTU.mos new file mode 100644 index 00000000000..a91a14248cf --- /dev/null +++ b/Buildings/Resources/Scripts/OpenModelica/compareVars/Buildings.Fluid.HeatExchangers.Validation.WetCoilEffectivenessNTU.mos @@ -0,0 +1,17 @@ +compareVars := + { + "hexDis.Q1_flow", + "hexWetNTU.Q1_flow", + "hexWetNTU_TX.Q1_flow", + "hexDis.sta_b2.T", + "hexWetNTU.sta_b2.T", + "hexWetNTU_TX.sta_b2.T", + "relHumOut_dis.phi", + "relHumOut_eps.phi", + "hexDis.SHR", + "hexWetNTU.SHR", + "hexWetNTU.dryFra", + "hexDis.UA_nominal", + "hexWetNTU.UA_nominal", + "hexWetNTU_TX.UA_nominal" + }; diff --git a/Buildings/Resources/Scripts/OpenModelica/compareVars/Buildings.Fluid.HeatExchangers.Validation.WetCoilEffectivenessNTUHeating.mos b/Buildings/Resources/Scripts/OpenModelica/compareVars/Buildings.Fluid.HeatExchangers.Validation.WetCoilEffectivenessNTUHeating.mos new file mode 100644 index 00000000000..20ac91eee59 --- /dev/null +++ b/Buildings/Resources/Scripts/OpenModelica/compareVars/Buildings.Fluid.HeatExchangers.Validation.WetCoilEffectivenessNTUHeating.mos @@ -0,0 +1,12 @@ +compareVars := + { + "hexDis.Q1_flow", + "hexWetNTU_TX.Q1_flow", + "hexDryNTU_T.Q1_flow", + "hexDis.sta_b2.T", + "hexWetNTU_TX.sta_b2.T", + "hexDryNTU_T.sta_b2.T", + "hexDis.UA_nominal", + "hexWetNTU_TX.UA_nominal", + "hexDryNTU_T.UA_nominal" + }; diff --git a/Buildings/Utilities/Psychrometrics/hSat_pTSat.mo b/Buildings/Utilities/Psychrometrics/hSat_pTSat.mo new file mode 100644 index 00000000000..968e98a6b55 --- /dev/null +++ b/Buildings/Utilities/Psychrometrics/hSat_pTSat.mo @@ -0,0 +1,62 @@ +within Buildings.Utilities.Psychrometrics; +model hSat_pTSat + "Calculate saturation enthalpy given a saturation (dry bulb) temperature" + extends Modelica.Blocks.Icons.Block; + + Modelica.Blocks.Interfaces.RealInput p( + final quantity="Pressure", + final unit="Pa", + displayUnit="bar") = 101325 + "Pressure of the fluid" + annotation (Placement(transformation(extent={{-120,30},{-100,50}}), + iconTransformation(extent={{-120,30},{-100,50}}))); + Modelica.Blocks.Interfaces.RealInput TSat( + final quantity="ThermodynamicTemperature", + final unit="K", + min = 0.0, + start = 288.15, + nominal = 300, + displayUnit="degC") + "Saturation temperature of the fluid" + annotation (Placement(transformation(extent={{-120,-50},{-100,-30}}), + iconTransformation(extent={{-120,-50},{-100,-30}}))); + + Modelica.Blocks.Interfaces.RealOutput hSat( + final quantity="SpecificEnergy", + final unit="J/kg") + "Dew point temperature of air" + annotation (Placement(transformation(extent={{100,-10},{120,10}}))); + +protected + constant Integer watIdx = 1 "Index of water"; + constant Integer othIdx = 2 "Index of other species"; + constant Real phiSat(min=0, max=1) = 1 "Saturation relative humidity"; + Modelica.SIunits.AbsolutePressure pSat + "Saturation pressure of water vapor in air at TSat"; + Real XSat[2] + "Mass fractions of water and air in moist air at saturation"; + +equation + pSat = Buildings.Utilities.Psychrometrics.Functions.saturationPressure(TSat); + XSat[watIdx] = Buildings.Utilities.Psychrometrics.Functions.X_pSatpphi( + pSat=pSat, p=p, phi=phiSat); + XSat[othIdx] = 1 - XSat[watIdx]; + hSat = Buildings.Media.Air.specificEnthalpy_pTX(p=p, T=TSat, X=XSat); + annotation (Icon(coordinateSystem(preserveAspectRatio=false)), Diagram( + coordinateSystem(preserveAspectRatio=false)), + Documentation(revisions=" + +", info=" +

+Block to compute the enthalpy of saturated +air given the saturation temperature and fluid pressure. +

+")); +end hSat_pTSat; diff --git a/Buildings/Utilities/Psychrometrics/package.order b/Buildings/Utilities/Psychrometrics/package.order index c3517dd1877..5f720a29be2 100644 --- a/Buildings/Utilities/Psychrometrics/package.order +++ b/Buildings/Utilities/Psychrometrics/package.order @@ -11,6 +11,7 @@ ToDryAir ToTotalAir X_pTphi X_pW +hSat_pTSat pW_TDewPoi pW_X Functions diff --git a/Buildings/package.mo b/Buildings/package.mo index ddf85960cbc..89d2c803a0c 100644 --- a/Buildings/package.mo +++ b/Buildings/package.mo @@ -237,6 +237,14 @@ The new media Buildings.Media.Antifreeze.PropyleneGlycolWater allow of propylene-glycol water mixtures.
  • +A new cooling coil model Buildings.Fluid.HeatExchangers.WetCoilEffectivenessNTU +has been added. This model is applicable for fully-dry, partially-wet, and fully-wet regimes. +In contrast to Buildings.Fluid.HeatExchangers.WetCoilCounterFlow and +to Buildings.Fluid.HeatExchangers.WetCoilDiscretized, +this model uses the epsilon-NTU relationship rather than a spatial discretization of the coil. +This leads to fewer state variables and generally to a faster simulation. +
  • +
  • New simplified door models for bi-directional air exchange between thermal zones are implemented in Buildings.Airflow.Multizone.
  • @@ -392,6 +400,15 @@ to existing libraries: Two way valve with the flow characteristic of a butterfly valve.
    This is for IBPSA, issue 975. +Buildings.Fluid.HeatExchangers.WetCoilEffectivenessNTU + + Cooling coil model applicable for fully-dry, partially-wet, and fully-wet regimes. + In contrast to Buildings.Fluid.HeatExchangers.WetCoilCounterFlow and + to Buildings.Fluid.HeatExchangers.WetCoilDiscretized, + this model uses the epsilon-NTU relationship rather than a spatial discretization of the coil. + This leads to fewer state variables and generally to a faster simulation.
    + This is for issue 622. +

    @@ -757,8 +774,7 @@ have been improved in a Buildings.Controls.OBC.CDL.Logical.Sources.SampleTrigger
    Buildings.Controls.OBC.CDL.Logical.Sources.Pulse - Removed startTime parameter. Introduced shif" - + "t parameter.
    + Removed startTime parameter. Introduced shift parameter.
    This is for issue 2170 and issue 2282.