From de43d6c6ffb419ebc28dba6fc781efec6a4b370c Mon Sep 17 00:00:00 2001 From: SenHuang19 Date: Mon, 6 May 2024 11:24:47 -0400 Subject: [PATCH 01/27] model implementation improve --- .../Latent/BaseClasses/Effectiveness.mo | 16 ++-- .../Latent/BaseClasses/PartialWheel.mo | 84 ++++++++----------- .../BaseClasses/Validation/Effectiveness.mo | 4 +- .../ThermalWheels/Latent/BypassDampers.mo | 27 +++--- .../ThermalWheels/Latent/SpeedControlled.mo | 39 ++++++--- 5 files changed, 85 insertions(+), 85 deletions(-) diff --git a/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BaseClasses/Effectiveness.mo b/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BaseClasses/Effectiveness.mo index 553edb03963..c81650a0fe3 100644 --- a/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BaseClasses/Effectiveness.mo +++ b/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BaseClasses/Effectiveness.mo @@ -18,8 +18,8 @@ model Effectiveness "Part load (75% of the nominal supply flow rate) sensible heat exchanger effectiveness at the heating mode"; parameter Modelica.Units.SI.Efficiency epsLatHeaPL(final max=1) "Part load (75% of the nominal supply flow rate) latent heat exchanger effectiveness at the heating mode"; - parameter Modelica.Units.SI.VolumeFlowRate VSup_flow_nominal - "Nominal supply air flow rate"; + parameter Modelica.Units.SI.MassFlowRate mSup_flow_nominal + "Nominal supply air mass flow rate"; Buildings.Controls.OBC.CDL.Interfaces.RealInput TSup( final min=0, @@ -33,11 +33,11 @@ model Effectiveness displayUnit="degC") "Exhaust air temperature" annotation (Placement(transformation(extent={{-140,-100},{-100,-60}}))); - Buildings.Controls.OBC.CDL.Interfaces.RealInput VSup_flow(final unit="m3/s") - "Supply air volumetric flow rate" + Buildings.Controls.OBC.CDL.Interfaces.RealInput mSup_flow(final unit="kg/s") + "Supply air mass flow rate" annotation (Placement(transformation(extent={{-140,60},{-100,100}}))); - Buildings.Controls.OBC.CDL.Interfaces.RealInput VExh_flow(final unit="m3/s") - "Exhaust air volumetric flow rate" + Buildings.Controls.OBC.CDL.Interfaces.RealInput mExh_flow(final unit="kg/s") + "Exhaust air mass flow rate" annotation (Placement(transformation(extent={{-140,20},{-100,60}}))); Buildings.Controls.OBC.CDL.Interfaces.RealInput uSpe( final unit="1", @@ -82,11 +82,11 @@ protected equation // Check if the air flows are too unbalanced - assert(VSup_flow - 2*VExh_flow < 0 or VExh_flow - 2*VSup_flow < 0, + assert(mSup_flow - 2*mExh_flow < 0 or mExh_flow - 2*mSup_flow < 0, "In " + getInstanceName() + ": The ratio of the supply flow rate to the exhaust flow rate should be in the range of [0.5, 2].", level=AssertionLevel.warning); // Calculate the average volumetric air flow and flow rate ratio. - rat = (VSup_flow + VExh_flow)/2/VSup_flow_nominal; + rat = (mSup_flow +mExh_flow) /2/mSup_flow_nominal; // Switch between cooling and heating modes based on the difference between the supply air temperature and the exhaust air temperature fraCoo = if (equSen_nominal and equSenPL and equLat_nominal and equLatPL) then 0.5 else Buildings.Utilities.Math.Functions.regStep(TSup-TExh, 1, 0, 1e-5); diff --git a/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BaseClasses/PartialWheel.mo b/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BaseClasses/PartialWheel.mo index 5077d97dd83..8b249d07b58 100644 --- a/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BaseClasses/PartialWheel.mo +++ b/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BaseClasses/PartialWheel.mo @@ -2,22 +2,19 @@ within Buildings.Fluid.HeatExchangers.ThermalWheels.Latent.BaseClasses; partial model PartialWheel "Partial model for enthalpy recovery wheel" extends Modelica.Blocks.Icons.Block; - replaceable package Medium1 = + replaceable package Medium = Modelica.Media.Interfaces.PartialCondensingGases - "Supply air"; - replaceable package Medium2 = - Modelica.Media.Interfaces.PartialCondensingGases - "Exhaust air"; - parameter Modelica.Units.SI.MassFlowRate m1_flow_nominal + "Air"; + parameter Modelica.Units.SI.MassFlowRate mSup_flow_nominal "Nominal supply air mass flow rate" annotation (Dialog(group="Nominal condition")); - parameter Modelica.Units.SI.MassFlowRate m2_flow_nominal + parameter Modelica.Units.SI.MassFlowRate mExh_flow_nominal "Nominal exhaust air mass flow rate" annotation (Dialog(group="Nominal condition")); - parameter Modelica.Units.SI.PressureDifference dp1_nominal(displayUnit="Pa") = 500 + parameter Modelica.Units.SI.PressureDifference dpSup_nominal(displayUnit="Pa") = 500 "Nominal supply air pressure drop" annotation (Dialog(group="Nominal condition")); - parameter Modelica.Units.SI.PressureDifference dp2_nominal(displayUnit="Pa") = dp1_nominal + parameter Modelica.Units.SI.PressureDifference dpExh_nominal(displayUnit="Pa") = dpSup_nominal "Nominal exhaust air pressure drop" annotation (Dialog(group="Nominal condition")); parameter Real P_nominal(final unit="W") @@ -41,19 +38,19 @@ partial model PartialWheel annotation (Dialog(group="Nominal condition")); parameter Modelica.Units.SI.Efficiency epsSenCooPL( final max=1) = 0.75 - "Part load (75% of the nominal supply flow rate) sensible heat exchanger effectiveness at the cooling mode" + "Part load (75% of the nominal supply mass flow rate) sensible heat exchanger effectiveness at the cooling mode" annotation (Dialog(group="Part load effectiveness")); parameter Modelica.Units.SI.Efficiency epsLatCooPL( final max=1) = 0.75 - "Part load (75% of the nominal supply flow rate) latent heat exchanger effectiveness at the cooling mode" + "Part load (75% of the nominal supply mass flow rate) latent heat exchanger effectiveness at the cooling mode" annotation (Dialog(group="Part load effectiveness")); parameter Modelica.Units.SI.Efficiency epsSenHeaPL( final max=1) = 0.75 - "Part load (75% of the nominal supply flow rate) sensible heat exchanger effectiveness at the heating mode" + "Part load (75% of the nominal supply mass flow rate) sensible heat exchanger effectiveness at the heating mode" annotation (Dialog(group="Part load effectiveness")); parameter Modelica.Units.SI.Efficiency epsLatHeaPL( final max=1) = 0.75 - "Part load (75% of the nominal supply flow rate) latent heat exchanger effectiveness at the heating mode" + "Part load (75% of the nominal supply mass flow rate) latent heat exchanger effectiveness at the heating mode" annotation (Dialog(group="Part load effectiveness")); Buildings.Controls.OBC.CDL.Interfaces.RealOutput P( @@ -70,32 +67,27 @@ partial model PartialWheel annotation (Placement(transformation(extent={{100,-50},{140,-10}}), iconTransformation(extent={{100,-50},{140,-10}}))); Modelica.Fluid.Interfaces.FluidPort_a port_a1( - redeclare final package Medium = Medium1) + redeclare final package Medium = Medium) "Fluid connector a1 of the supply air (positive design flow direction is from port_a1 to port_b1)" annotation (Placement(transformation(extent={{-190,70},{-170,90}}), iconTransformation(extent={{-110,50},{-90,70}}))); Modelica.Fluid.Interfaces.FluidPort_b port_b2( - redeclare final package Medium = Medium2) + redeclare final package Medium = Medium) "Fluid connector b2 of the exhaust air (positive design flow direction is from port_a2 to port_b2)" annotation (Placement(transformation(extent={{-170,-70},{-190,-50}}), iconTransformation(extent={{-90,-70},{-110,-50}}))); Modelica.Fluid.Interfaces.FluidPort_b port_b1( - redeclare final package Medium = Medium1) + redeclare final package Medium = Medium) "Fluid connector b1 of the supply air (positive design flow direction is from port_a1 to port_b1)" annotation (Placement(transformation(extent={{110,70},{90,90}}), iconTransformation(extent={{110,50},{90,70}}))); Modelica.Fluid.Interfaces.FluidPort_a port_a2( - redeclare final package Medium = Medium2) + redeclare final package Medium = Medium) "Fluid connector a2 of the exhaust air (positive design flow direction is from port_a2 to port_b2)" annotation (Placement(transformation(extent={{90,-70},{110,-50}}))); protected - parameter Medium1.ThermodynamicState sta_nominal=Medium1.setState_pTX( - T=Buildings.Utilities.Psychrometrics.Constants.T_ref, - p=101325, - X=Medium1.X_default) - "State of the supply air at the default properties"; - Buildings.Fluid.HeatExchangers.ThermalWheels.Latent.BaseClasses.Effectiveness effCal( + Buildings.Fluid.HeatExchangers.ThermalWheels.Latent.BaseClasses.Effectiveness effCal( final epsSenCoo_nominal=epsSenCoo_nominal, final epsLatCoo_nominal=epsLatCoo_nominal, final epsSenCooPL=epsSenCooPL, @@ -104,45 +96,37 @@ protected final epsLatHea_nominal=epsLatHea_nominal, final epsSenHeaPL=epsSenHeaPL, final epsLatHeaPL=epsLatHeaPL, - final VSup_flow_nominal=m1_flow_nominal/Medium1.density(sta_nominal)) + final mSup_flow_nominal=mSup_flow_nominal) "Calculates the effectiveness of heat exchange" annotation (Placement(transformation(extent={{-100,-10},{-80,10}}))); Buildings.Fluid.HeatExchangers.ThermalWheels.Latent.BaseClasses.HeatExchangerWithInputEffectiveness hex( - redeclare package Medium1 = Medium1, - redeclare package Medium2 = Medium2, - final m1_flow_nominal=m1_flow_nominal, - final m2_flow_nominal=m2_flow_nominal, - final dp1_nominal=dp1_nominal, - final dp2_nominal=dp2_nominal) + redeclare package Medium1 = Medium, + redeclare package Medium2 = Medium, + final m1_flow_nominal=mSup_flow_nominal, + final m2_flow_nominal=mExh_flow_nominal, + final dp1_nominal=dpSup_nominal, + final dp2_nominal=dpExh_nominal) "Heat exchanger" annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); - Modelica.Blocks.Sources.RealExpression VSup_flow( - final y(final unit="m3/s")=hex.port_a1.m_flow/ - Medium1.density(state=Medium1.setState_phX( - p=hex.port_a1.p, - h=hex.port_a1.h_outflow, - X=hex.port_a1.Xi_outflow))) - "Supply air volume flow rate" + Modelica.Blocks.Sources.RealExpression mSup_flow( + final y(final unit="kg/s")=hex.port_a1.m_flow) + "Supply air mass flow rate" annotation (Placement(transformation(extent={{-160,30},{-140,50}}))); - Modelica.Blocks.Sources.RealExpression VExh_flow( - final y(final unit="m3/s")=hex.port_a2.m_flow/ - Medium2.density(state=Medium2.setState_phX( - p=hex.port_a2.p, - h=hex.port_a2.h_outflow, - X=hex.port_a2.Xi_outflow))) - "Exhaust air volume flow rate" + Modelica.Blocks.Sources.RealExpression mExh_flow( + final y(final unit="kg/s")=hex.port_a2.m_flow) + "Exhaust air mass flow rate" annotation (Placement(transformation(extent={{-160,10},{-140,30}}))); Modelica.Blocks.Sources.RealExpression TSup( - final y(final unit="K")=Medium1.temperature( - Medium1.setState_phX( + final y(final unit="K")=Medium.temperature( + Medium.setState_phX( p=port_a1.p, h=inStream(port_a1.h_outflow), X=inStream(port_a1.Xi_outflow)))) "Supply air temperature" annotation (Placement(transformation(extent={{-160,-30},{-140,-10}}))); Modelica.Blocks.Sources.RealExpression TExh( - final y(final unit="K")=Medium2.temperature( - Medium2.setState_phX( + final y(final unit="K")=Medium.temperature( + Medium.setState_phX( p=port_a2.p, h=inStream(port_a2.h_outflow), X=inStream(port_a2.Xi_outflow)))) @@ -168,10 +152,10 @@ equation connect(port_b2, hex.port_b2) annotation (Line(points={{-180,-60},{-40,-60},{-40,-6},{-10,-6}}, color={0,127,255})); - connect(VSup_flow.y, effCal.VSup_flow) + connect(mSup_flow.y, effCal.mSup_flow) annotation (Line(points={{-139,40},{-110,40},{-110,8},{-102,8}}, color={0,0,127})); - connect(VExh_flow.y, effCal.VExh_flow) + connect(mExh_flow.y, effCal.mExh_flow) annotation (Line(points={{-139,20},{-120,20},{-120,4},{-102,4}}, color={0,0,127})); connect(epsSen, effCal.epsSen) annotation (Line(points={{120,30},{-60,30},{ diff --git a/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BaseClasses/Validation/Effectiveness.mo b/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BaseClasses/Validation/Effectiveness.mo index 56ee5ae99c1..7b35542a646 100644 --- a/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BaseClasses/Validation/Effectiveness.mo +++ b/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BaseClasses/Validation/Effectiveness.mo @@ -51,9 +51,9 @@ model Effectiveness "Exhaust air flow rate" annotation (Placement(transformation(extent={{-80,20},{-60,40}}))); equation - connect(VSup.y, epsCal.VSup_flow) + connect(VSup.y, epsCal.mSup_flow) annotation (Line(points={{-59,70},{-28,70},{-28,8},{-14,8}}, color={0,0,127})); - connect(VExh.y, epsCal.VExh_flow) + connect(VExh.y, epsCal.mExh_flow) annotation (Line(points={{-59,30},{-40,30},{-40,4},{-14,4}}, color={0,0,127})); connect(whSpe.y, epsCal.uSpe) annotation (Line(points={{-59,0},{-14,0}}, color={0,0,127})); diff --git a/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BypassDampers.mo b/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BypassDampers.mo index b36e11a4b49..106a91a17bf 100644 --- a/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BypassDampers.mo +++ b/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BypassDampers.mo @@ -3,6 +3,9 @@ model BypassDampers "Enthalpy recovery wheel with bypass dampers" extends Buildings.Fluid.HeatExchangers.ThermalWheels.Latent.BaseClasses.PartialWheel; + parameter Modelica.Units.SI.PressureDifference dpDam_nominal(displayUnit="Pa") = 20 + "Nominal pressure drop of supply air dampers" + annotation (Dialog(group="Nominal condition")); Buildings.Controls.OBC.CDL.Interfaces.RealInput uBypDamPos( final unit="1", final min=0, @@ -15,29 +18,29 @@ model BypassDampers annotation (Placement(transformation(extent={{-220,-20},{-180,20}}), iconTransformation(extent={{-140,60},{-100,100}}))); Buildings.Fluid.Actuators.Dampers.Exponential bypDamSup( - redeclare package Medium = Medium1, - final m_flow_nominal=m1_flow_nominal, - final dpDamper_nominal=dp1_nominal) + redeclare package Medium = Medium, + final m_flow_nominal=mSup_flow_nominal, + final dpDamper_nominal=dpDam_nominal) "Supply air bypass damper" annotation (Placement(transformation(extent={{-60,70},{-40,90}}))); Buildings.Fluid.Actuators.Dampers.Exponential damSup( - redeclare package Medium = Medium1, - final m_flow_nominal=m1_flow_nominal, - final dpDamper_nominal=dp1_nominal) + redeclare package Medium = Medium, + final m_flow_nominal=mSup_flow_nominal, + final dpDamper_nominal=dpDam_nominal) "Supply air damper" annotation (Placement(transformation( extent={{-10,-10},{10,10}},rotation=0,origin={-50,40}))); Buildings.Fluid.Actuators.Dampers.Exponential damExh( - redeclare package Medium = Medium2, - final m_flow_nominal=m2_flow_nominal, - final dpDamper_nominal=dp2_nominal) + redeclare package Medium = Medium, + final m_flow_nominal=mExh_flow_nominal, + final dpDamper_nominal=dpDam_nominal) "Exhaust air damper" annotation (Placement(transformation( extent={{10,10},{-10,-10}},rotation=-90,origin={60,-30}))); Buildings.Fluid.Actuators.Dampers.Exponential bypDamExh( - redeclare package Medium = Medium2, - final m_flow_nominal=m2_flow_nominal, - final dpDamper_nominal=dp2_nominal) + redeclare package Medium = Medium, + final m_flow_nominal=mExh_flow_nominal, + final dpDamper_nominal=dpDam_nominal) "Exhaust air bypass damper" annotation (Placement(transformation(extent={{0,-70},{-20,-50}}))); protected diff --git a/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/SpeedControlled.mo b/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/SpeedControlled.mo index 8086248b8e9..4ab1034d8c6 100644 --- a/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/SpeedControlled.mo +++ b/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/SpeedControlled.mo @@ -3,8 +3,23 @@ model SpeedControlled "Enthalpy recovery wheel with a variable speed drive" extends Buildings.Fluid.HeatExchangers.ThermalWheels.Latent.BaseClasses.PartialWheel; - parameter Real a[:] = {1} - "Coefficients for power consumption curve for rotor. The sum of the elements must be equal to 1" + parameter Boolean defaultMotorEfficiencyCurve = true "= true, use the default motor efficiency curve" + annotation (Dialog(group="Efficiency")); + parameter Real table[:,:]=[0.8,1] + "Table of motor power efficiency as a function of the wheel speed ratio (first column)" + annotation (Dialog(group="Efficiency", enable = not defaultMotorEfficiencyCurve)); + final parameter + Buildings.Fluid.Movers.BaseClasses.Characteristics.efficiencyParameters_yMot + motorEfficiency_default= + Buildings.Fluid.Movers.BaseClasses.Characteristics.motorEfficiencyCurve( + P_nominal=P_nominal, + eta_max=1) + "default motor efficiency vs. whell speed ratio"; + final parameter Real xSpe[:] = if defaultMotorEfficiencyCurve then motorEfficiency_default.y else table[:,1] + "x-axis support points of the power efficiency curve" + annotation (Dialog(group="Efficiency")); + final parameter Real[size(xSpe,1)] yeta = if defaultMotorEfficiencyCurve then motorEfficiency_default.eta else table[:,2] + "y-axis support points of the power efficiency curve" annotation (Dialog(group="Efficiency")); Buildings.Controls.OBC.CDL.Interfaces.RealInput uSpe( @@ -15,16 +30,13 @@ model SpeedControlled iconTransformation(extent={{-140,-20},{-100,20}}))); protected Modelica.Blocks.Sources.RealExpression PEle( - final y=P_nominal*Buildings.Utilities.Math.Functions.polynomial(a=a, x=uSpe)) + final y=P_nominal*uSpe/Buildings.Utilities.Math.Functions.smoothInterpolation( + x=uSpe, + xSup=xSpe, + ySup=yeta)) "Electric power consumption" annotation (Placement(transformation(extent={{60,-100},{80,-80}}))); -initial equation - assert(abs(sum(a)-1) < Modelica.Constants.eps, - "In " + getInstanceName() + ": Power efficiency curve is wrong. - The sum of the coefficients for power efficiency curve must be 1.", - level=AssertionLevel.error); - equation connect(P, PEle.y) annotation (Line(points={{120,-90},{81,-90}}, color={0,0,127})); @@ -35,7 +47,7 @@ equation {100,-60}}, color={0,127,255})); connect(effCal.uSpe, uSpe) annotation (Line(points={{-102,0},{-200,0}}, color={0,0,127})); -annotation ( + annotation ( defaultComponentName="whe", Icon(coordinateSystem(extent={{-100,-100},{100,100}}), graphics={ @@ -63,12 +75,13 @@ The operation of the heat recovery wheel is adjustable by modulating the wheel s Accordingly, the power consumption of this wheel is calculated by

-P = P_nominal * (a1 + a2 uSpe + a3 uSpe2 + ...), +P = P_nominal * eta,

where P_nominal is the nominal wheel power consumption, -uSpe is the wheel speed ratio, -and the a[:] are the coefficients for power efficiency curve. +uSpe is the wheel speed ratio. +The eta is the motor power efficiency and is obtained from performing a polynomial fit +based on the user input data table. The sum of the coefficients must be 1, otherwise the model stops with an error. Thus, when the speed ratio uSpe=1, the power consumption is equal to nominal consumption P=P_nominal. From 40a863ca416c7b716e8f6ba3ef7a0798b00a517c Mon Sep 17 00:00:00 2001 From: SenHuang19 Date: Wed, 8 May 2024 15:54:36 -0400 Subject: [PATCH 02/27] improve the implementation and examples --- .../Latent/BaseClasses/PartialWheel.mo | 46 ++- .../BaseClasses/Validation/Effectiveness.mo | 2 +- .../ThermalWheels/Latent/BypassDampers.mo | 43 ++- .../Latent/Examples/SpaceCooling.mo | 310 ++++++++++++++++++ .../ThermalWheels/Latent/Examples/package.mo | 12 + .../Latent/Examples/package.order | 1 + .../ThermalWheels/Latent/SpeedControlled.mo | 46 ++- .../Latent/Validation/BypassDampers.mo | 27 +- .../Latent/Validation/SpeedControlled.mo | 109 +++--- .../ThermalWheels/Latent/package.order | 1 + .../Sensible/BaseClasses/Effectiveness.mo | 16 +- .../Sensible/BaseClasses/PartialWheel.mo | 103 +++--- .../BaseClasses/Validation/Effectiveness.mo | 6 +- .../ThermalWheels/Sensible/BypassDampers.mo | 34 +- .../Sensible/Examples/SpaceCooling.mo | 310 ++++++++++++++++++ .../Sensible/Examples/package.mo | 12 + .../Sensible/Examples/package.order | 1 + .../ThermalWheels/Sensible/SpeedControlled.mo | 69 +++- .../Sensible/Validation/BypassDampers.mo | 29 +- .../Sensible/Validation/SpeedControlled.mo | 96 ++++-- .../ThermalWheels/Sensible/package.order | 1 + 21 files changed, 1007 insertions(+), 267 deletions(-) create mode 100644 Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/Examples/SpaceCooling.mo create mode 100644 Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/Examples/package.mo create mode 100644 Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/Examples/package.order create mode 100644 Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/Examples/SpaceCooling.mo create mode 100644 Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/Examples/package.mo create mode 100644 Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/Examples/package.order diff --git a/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BaseClasses/PartialWheel.mo b/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BaseClasses/PartialWheel.mo index 8b249d07b58..aec23570544 100644 --- a/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BaseClasses/PartialWheel.mo +++ b/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BaseClasses/PartialWheel.mo @@ -66,6 +66,12 @@ partial model PartialWheel "Latent heat exchanger effectiveness" annotation (Placement(transformation(extent={{100,-50},{140,-10}}), iconTransformation(extent={{100,-50},{140,-10}}))); + Buildings.Fluid.Sensors.MassFlowRate senSupMasFlo(redeclare package Medium = Medium) + "Supply air mass flow rate" + annotation (Placement(transformation(extent={{50,-4},{70,16}}))); + Buildings.Fluid.Sensors.MassFlowRate senExhMasFlo(redeclare package Medium = Medium) + "Exhaust air mass flow rate" + annotation (Placement(transformation(extent={{-100,-50},{-120,-30}}))); Modelica.Fluid.Interfaces.FluidPort_a port_a1( redeclare final package Medium = Medium) "Fluid connector a1 of the supply air (positive design flow direction is from port_a1 to port_b1)" @@ -108,14 +114,6 @@ protected final dp2_nominal=dpExh_nominal) "Heat exchanger" annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); - Modelica.Blocks.Sources.RealExpression mSup_flow( - final y(final unit="kg/s")=hex.port_a1.m_flow) - "Supply air mass flow rate" - annotation (Placement(transformation(extent={{-160,30},{-140,50}}))); - Modelica.Blocks.Sources.RealExpression mExh_flow( - final y(final unit="kg/s")=hex.port_a2.m_flow) - "Exhaust air mass flow rate" - annotation (Placement(transformation(extent={{-160,10},{-140,30}}))); Modelica.Blocks.Sources.RealExpression TSup( final y(final unit="K")=Medium.temperature( Medium.setState_phX( @@ -123,7 +121,7 @@ protected h=inStream(port_a1.h_outflow), X=inStream(port_a1.Xi_outflow)))) "Supply air temperature" - annotation (Placement(transformation(extent={{-160,-30},{-140,-10}}))); + annotation (Placement(transformation(extent={{-160,18},{-140,38}}))); Modelica.Blocks.Sources.RealExpression TExh( final y(final unit="K")=Medium.temperature( Medium.setState_phX( @@ -131,7 +129,7 @@ protected h=inStream(port_a2.h_outflow), X=inStream(port_a2.Xi_outflow)))) "Exhaust air temperature" - annotation (Placement(transformation(extent={{-160,-50},{-140,-30}}))); + annotation (Placement(transformation(extent={{-160,-40},{-140,-20}}))); equation connect(effCal.epsSen, hex.epsSen) @@ -141,27 +139,27 @@ equation annotation (Line(points={{-78,-5},{-46,-5},{-46,-3},{-12,-3}}, color={0,0,127})); connect(TSup.y, effCal.TSup) - annotation (Line(points={{-139,-20},{-120,-20},{-120,-4},{-102,-4}}, + annotation (Line(points={{-139,28},{-130,28},{-130,-4},{-102,-4}}, color={0,0,127})); connect(TExh.y, effCal.TExh) - annotation (Line(points={{-139,-40},{-110,-40},{-110,-8},{-102,-8}}, - color={0,0,127})); - connect(hex.port_b1, port_b1) - annotation (Line(points={{10,6},{60,6},{60,80},{100,80}}, - color={0,127,255})); - connect(port_b2, hex.port_b2) - annotation (Line(points={{-180,-60},{-40,-60},{-40,-6},{-10,-6}}, - color={0,127,255})); - connect(mSup_flow.y, effCal.mSup_flow) - annotation (Line(points={{-139,40},{-110,40},{-110,8},{-102,8}}, - color={0,0,127})); - connect(mExh_flow.y, effCal.mExh_flow) - annotation (Line(points={{-139,20},{-120,20},{-120,4},{-102,4}}, + annotation (Line(points={{-139,-30},{-130,-30},{-130,-8},{-102,-8}}, color={0,0,127})); connect(epsSen, effCal.epsSen) annotation (Line(points={{120,30},{-60,30},{ -60,5},{-78,5}}, color={0,0,127})); connect(effCal.epsLat, epsLat) annotation (Line(points={{-78,-5},{-60,-5},{ -60,-16},{80,-16},{80,-30},{120,-30}}, color={0,0,127})); + connect(senSupMasFlo.m_flow, effCal.mSup_flow) annotation (Line(points={{60,17}, + {60,60},{-110,60},{-110,8},{-102,8}}, color={0,0,127})); + connect(senExhMasFlo.m_flow, effCal.mExh_flow) annotation (Line(points={{-110, + -29},{-110,4},{-102,4}}, color={0,0,127})); + connect(hex.port_b1, senSupMasFlo.port_a) + annotation (Line(points={{10,6},{50,6}}, color={0,127,255})); + connect(senSupMasFlo.port_b, port_b1) annotation (Line(points={{70,6},{80,6}, + {80,80},{100,80}}, color={0,127,255})); + connect(senExhMasFlo.port_a, hex.port_b2) annotation (Line(points={{-100,-40}, + {-30,-40},{-30,-6},{-10,-6}}, color={0,127,255})); + connect(senExhMasFlo.port_b, port_b2) annotation (Line(points={{-120,-40},{ + -160,-40},{-160,-60},{-180,-60}}, color={0,127,255})); annotation ( defaultComponentName="whe", Icon(coordinateSystem(extent={{-100,-100},{100,100}}), diff --git a/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BaseClasses/Validation/Effectiveness.mo b/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BaseClasses/Validation/Effectiveness.mo index 7b35542a646..d24f0385ac3 100644 --- a/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BaseClasses/Validation/Effectiveness.mo +++ b/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BaseClasses/Validation/Effectiveness.mo @@ -12,7 +12,7 @@ model Effectiveness epsLatHea_nominal=0.6, epsSenHeaPL=0.6, epsLatHeaPL=0.5, - VSup_flow_nominal=1) + mSup_flow_nominal=1) "Effectiveness calculator" annotation (Placement(transformation(extent={{-12,-10},{8,10}}))); Modelica.Blocks.Sources.Ramp whSpe( diff --git a/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BypassDampers.mo b/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BypassDampers.mo index 106a91a17bf..e982178b7fe 100644 --- a/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BypassDampers.mo +++ b/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BypassDampers.mo @@ -29,14 +29,14 @@ model BypassDampers final dpDamper_nominal=dpDam_nominal) "Supply air damper" annotation (Placement(transformation( - extent={{-10,-10},{10,10}},rotation=0,origin={-50,40}))); + extent={{-10,-10},{10,10}},rotation=0,origin={-90,36}))); Buildings.Fluid.Actuators.Dampers.Exponential damExh( redeclare package Medium = Medium, final m_flow_nominal=mExh_flow_nominal, final dpDamper_nominal=dpDam_nominal) "Exhaust air damper" annotation (Placement(transformation( - extent={{10,10},{-10,-10}},rotation=-90,origin={60,-30}))); + extent={{10,10},{-10,-10}},rotation=-90,origin={40,-44}))); Buildings.Fluid.Actuators.Dampers.Exponential bypDamExh( redeclare package Medium = Medium, final m_flow_nominal=mExh_flow_nominal, @@ -58,35 +58,19 @@ protected final realFalse=0) "Electric power consumption for motor" annotation (Placement(transformation(extent={{-160,-90},{-140,-70}}))); equation - connect(bypDamSup.port_a, port_a1) - annotation (Line(points={{-60,80},{-180,80}}, color={0,127,255})); - connect(bypDamSup.port_b, port_b1) - annotation (Line(points={{-40,80},{100,80}}, color={0,127,255})); - connect(bypDamExh.port_a, port_a2) - annotation (Line(points={{0,-60},{100,-60}}, color={0,127,255})); - connect(bypDamExh.port_b, port_b2) - annotation (Line(points={{-20,-60},{-180,-60}}, color={0,127,255})); - connect(damExh.port_a, port_a2) - annotation (Line(points={{60,-40},{60,-60},{100,-60}}, color={0,127,255})); connect(sub.y, damSup.y) - annotation (Line(points={{-78,100},{20,100},{20,60},{-50,60},{-50,52}}, + annotation (Line(points={{-78,100},{20,100},{20,54},{-90,54},{-90,48}}, color={0,0,127})); connect(damExh.y,sub. y) - annotation (Line(points={{48,-30},{40,-30},{40,84},{20,84},{20,100},{-78,100}}, - color={0,0,127})); + annotation (Line(points={{28,-44},{20,-44},{20,100},{-78,100}}, color={0,0,127})); connect(bypDamSup.y, uBypDamPos) annotation (Line(points={{-50,92},{-50,140},{-202,140}}, color={0,0,127})); connect(damSup.port_b, hex.port_a1) - annotation (Line(points={{-40,40},{-20,40},{-20,6},{-10,6}}, + annotation (Line(points={{-80,36},{-30,36},{-30,6},{-10,6}}, color={0,127,255})); connect(bypDamExh.y, uBypDamPos) annotation (Line(points={{-10,-48},{-10,-30},{30,-30},{30,140},{-202,140}}, color={0,0,127})); - connect(hex.port_b1, port_b1) - annotation (Line(points={{10,6},{60,6},{60,80},{100,80}}, - color={0,127,255})); - connect(hex.port_a2, damExh.port_b) - annotation (Line(points={{10,-6},{60,-6},{60,-20}}, color={0,127,255})); connect(sub.u2, uBypDamPos) annotation (Line(points={{-102,94},{-160,94},{-160,140},{-202,140}}, color={0,0,127})); @@ -98,13 +82,24 @@ equation connect(booleanToReal.y, effCal.uSpe) annotation (Line(points={{-139,0},{-120,0},{-120,0},{-102,0}}, color={0,0,127})); - connect(damSup.port_a, port_a1) - annotation (Line(points={{-60,40},{-100,40},{-100,80},{-180,80}}, - color={0,127,255})); connect(PEle.y, P) annotation (Line(points={{-139,-80},{80,-80},{80,-90},{120, -90}}, color={0,0,127})); connect(PEle.u, uRot) annotation (Line(points={{-162,-80},{-168,-80},{-168,0}, {-200,0}}, color={255,0,255})); + connect(damSup.port_a, port_a1) annotation (Line(points={{-100,36},{-130,36}, + {-130,80},{-180,80}}, color={0,127,255})); + connect(damExh.port_b, hex.port_a2) + annotation (Line(points={{40,-34},{40,-6},{10,-6}}, color={0,127,255})); + connect(bypDamExh.port_b, port_b2) + annotation (Line(points={{-20,-60},{-180,-60}}, color={0,127,255})); + connect(damExh.port_a, port_a2) + annotation (Line(points={{40,-54},{40,-60},{100,-60}}, color={0,127,255})); + connect(bypDamExh.port_a, port_a2) + annotation (Line(points={{0,-60},{100,-60}}, color={0,127,255})); + connect(bypDamSup.port_b, port_b1) + annotation (Line(points={{-40,80},{100,80}}, color={0,127,255})); + connect(bypDamSup.port_a, port_a1) + annotation (Line(points={{-60,80},{-180,80}}, color={0,127,255})); annotation ( defaultComponentName="whe", Icon(coordinateSystem(extent={{-100,-100},{100,100}}), diff --git a/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/Examples/SpaceCooling.mo b/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/Examples/SpaceCooling.mo new file mode 100644 index 00000000000..0c11e75ec94 --- /dev/null +++ b/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/Examples/SpaceCooling.mo @@ -0,0 +1,310 @@ +within Buildings.Fluid.HeatExchangers.ThermalWheels.Latent.Examples; +model SpaceCooling "Space cooling system" + extends Modelica.Icons.Example; + + replaceable package MediumA = Buildings.Media.Air "Medium for air"; + replaceable package MediumW = Buildings.Media.Water "Medium for water"; + + Buildings.Fluid.MixingVolumes.MixingVolume vol( + redeclare package Medium = MediumA, + m_flow_nominal=mA_flow_nominal, + V=V, + nPorts=2, + energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial, + mSenFac=3) + annotation (Placement(transformation(extent={{60,20},{80,40}}))); + Modelica.Thermal.HeatTransfer.Components.ThermalConductor theCon(G=10000/30) + "Thermal conductance with the ambient" + annotation (Placement(transformation(extent={{20,40},{40,60}}))); + parameter Modelica.Units.SI.Volume V=6*10*3 "Room volume"; + // Heat recovery effectiveness + parameter Real eps = 0.8 "Heat recovery effectiveness"; + + ///////////////////////////////////////////////////////// + // Design air conditions + parameter Modelica.Units.SI.Temperature TASup_nominal=291.15 + "Nominal air temperature supplied to room"; + parameter Modelica.Units.SI.DimensionlessRatio wASup_nominal=0.012 + "Nominal air humidity ratio supplied to room [kg/kg] assuming 90% relative humidity"; + parameter Modelica.Units.SI.Temperature TRooSet=297.15 + "Nominal room air temperature"; + parameter Modelica.Units.SI.Temperature TOut_nominal=303.15 + "Design outlet air temperature"; + parameter Modelica.Units.SI.Temperature THeaRecLvg=TOut_nominal - eps*( + TOut_nominal - TRooSet) "Air temperature leaving the heat recovery"; + parameter Modelica.Units.SI.DimensionlessRatio wHeaRecLvg=0.0135 + "Air humidity ratio leaving the heat recovery [kg/kg]"; + + ///////////////////////////////////////////////////////// + // Cooling loads and air mass flow rates + parameter Modelica.Units.SI.HeatFlowRate QRooInt_flow=1000 + "Internal heat gains of the room"; + parameter Modelica.Units.SI.HeatFlowRate QRooC_flow_nominal=-QRooInt_flow - + 10E3/30*(TOut_nominal - TRooSet) "Nominal cooling load of the room"; + parameter Modelica.Units.SI.MassFlowRate mA_flow_nominal=1.3* + QRooC_flow_nominal/1006/(TASup_nominal - TRooSet) + "Nominal air mass flow rate, increased by factor 1.3 to allow for recovery after temperature setback"; + parameter Modelica.Units.SI.TemperatureDifference dTFan=2 + "Estimated temperature raise across fan that needs to be made up by the cooling coil"; + parameter Modelica.Units.SI.HeatFlowRate QCoiC_flow_nominal=mA_flow_nominal*( + TASup_nominal - THeaRecLvg - dTFan)*1006 + mA_flow_nominal*(wASup_nominal + - wHeaRecLvg)*2458.3e3 + "Cooling load of coil, taking into account outside air sensible and latent heat removal"; + + ///////////////////////////////////////////////////////// + // Water temperatures and mass flow rates + parameter Modelica.Units.SI.Temperature TWSup_nominal=285.15 + "Water supply temperature"; + parameter Modelica.Units.SI.Temperature TWRet_nominal=289.15 + "Water return temperature"; + parameter Modelica.Units.SI.MassFlowRate mW_flow_nominal=-QCoiC_flow_nominal/ + (TWRet_nominal - TWSup_nominal)/4200 "Nominal water mass flow rate"; + + Modelica.Thermal.HeatTransfer.Sources.PrescribedTemperature TOut + "Outside temperature" + annotation (Placement(transformation(extent={{-20,40},{0,60}}))); + Modelica.Thermal.HeatTransfer.Sources.FixedHeatFlow preHea(Q_flow= + QRooInt_flow) "Prescribed heat flow" + annotation (Placement(transformation(extent={{20,70},{40,90}}))); + Buildings.Fluid.Movers.FlowControlled_m_flow fan( + redeclare package Medium = MediumA, + m_flow_nominal=mA_flow_nominal, + energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial) + "Supply air fan" + annotation (Placement(transformation(extent={{40,-30},{60,-10}}))); + Buildings.Fluid.HeatExchangers.ThermalWheels.Latent.BypassDampers whe( + redeclare package Medium = MediumA, + mSup_flow_nominal=mA_flow_nominal, + mExh_flow_nominal=mA_flow_nominal, + dpSup_nominal=200, + P_nominal=100, + epsSenCoo_nominal=eps, + epsLatCoo_nominal=eps, + epsSenHea_nominal=eps, + epsLatHea_nominal=eps) "Heat recovery" + annotation (Placement(transformation(extent={{-110,-36},{-90,-16}}))); + 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, + use_Q_flow_nominal=true, + Q_flow_nominal=QCoiC_flow_nominal, + T_a1_nominal=TWSup_nominal, + T_a2_nominal=THeaRecLvg, + w_a2_nominal=wHeaRecLvg, + show_T=true, + energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial) "Cooling coil" + annotation (Placement( + transformation( + extent={{-10,-10},{10,10}}, + rotation=180, + origin={-30,-26}))); + Buildings.Fluid.Sources.Outside out(nPorts=2, redeclare package Medium = MediumA) + annotation (Placement(transformation(extent={{-140,-32},{-120,-12}}))); + Buildings.Fluid.Sources.MassFlowSource_T souWat( + nPorts=1, + redeclare package Medium = MediumW, + use_m_flow_in=true, + T=TWSup_nominal) "Source for water flow rate" + annotation (Placement(transformation(extent={{-20,-110},{0,-90}}))); + Buildings.Fluid.Sources.Boundary_pT sinWat( + nPorts=1, redeclare package Medium = MediumW) "Sink for water circuit" + annotation (Placement(transformation(extent={{-80,-76},{-60,-56}}))); + BoundaryConditions.WeatherData.ReaderTMY3 weaDat( + pAtmSou=Buildings.BoundaryConditions.Types.DataSource.Parameter, + TDryBul=TOut_nominal, + filNam=Modelica.Utilities.Files.loadResource("modelica://Buildings/Resources/weatherdata/USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.mos"), + TDryBulSou=Buildings.BoundaryConditions.Types.DataSource.File) + "Weather data reader" + annotation (Placement(transformation(extent={{-160,40},{-140,60}}))); + BoundaryConditions.WeatherData.Bus weaBus "Weather data bus" + annotation (Placement(transformation(extent={{-120,40},{-100,60}}))); + Buildings.Controls.OBC.CDL.Reals.Sources.Constant mAir_flow(k=mA_flow_nominal) + "Fan air flow rate" + annotation (Placement(transformation(extent={{0,0},{20,20}}))); + Buildings.Fluid.Sensors.TemperatureTwoPort senTemHXOut(redeclare package + Medium = MediumA, m_flow_nominal=mA_flow_nominal) + "Temperature sensor for heat recovery outlet on supply side" + annotation (Placement(transformation(extent={{-76,-26},{-64,-14}}))); + Buildings.Fluid.Sensors.TemperatureTwoPort senTemSupAir(redeclare package + Medium = MediumA, m_flow_nominal=mA_flow_nominal) + "Temperature sensor for supply air" + annotation (Placement(transformation(extent={{6,-26},{18,-14}}))); + Buildings.Controls.OBC.CDL.Reals.Sources.Constant TRooSetPoi(k=TRooSet) + "Room temperature set point" + annotation (Placement(transformation(extent={{-170,-104},{-150,-84}}))); + Modelica.Thermal.HeatTransfer.Sensors.TemperatureSensor senTemRoo + "Room temperature sensor" + annotation (Placement(transformation(extent={{70,70},{90,90}}))); + Buildings.Controls.OBC.CDL.Conversions.BooleanToReal mWat_flow(realTrue=0, realFalse= + mW_flow_nominal) "Conversion from boolean to real for water flow rate" + annotation (Placement(transformation(extent={{-60,-110},{-40,-90}}))); + Buildings.Controls.OBC.CDL.Reals.Subtract sub + "Inputs different" + annotation (Placement(transformation(extent={{-130,-110},{-110,-90}}))); + Buildings.Controls.OBC.CDL.Reals.Hysteresis con( + final uLow=-0.5, + final uHigh=0.5) + "Controller for coil water flow rate" + annotation (Placement(transformation(extent={{-100,-110},{-80,-90}}))); + Buildings.Controls.OBC.CDL.Logical.Sources.Pulse opeSig( + width=0.5, + period=86400, + shift=0.25*86400) + "Operating signal" + annotation (Placement(transformation(extent={{-172,10},{-152,30}}))); + Modelica.Blocks.Sources.Ramp bypDamPos( + height=0.5, + duration=86400/2, + offset=0, + startTime=15552000 + 6*3600) + "Bypass damper position" + annotation (Placement(transformation(extent={{-170,-60},{-150,-40}}))); +equation + connect(theCon.port_b, vol.heatPort) annotation (Line( + points={{40,50},{50,50},{50,30},{60,30}}, + color={191,0,0}, + smooth=Smooth.None)); + connect(preHea.port, vol.heatPort) annotation (Line( + points={{40,80},{50,80},{50,30},{60,30}}, + color={191,0,0}, + smooth=Smooth.None)); + connect(fan.port_b, vol.ports[1]) annotation (Line( + points={{60,-20},{69,-20},{69,20}}, + color={0,127,255}, + smooth=Smooth.None)); + connect(vol.ports[2],whe. port_a2) annotation (Line( + points={{71,20},{71,-46},{-90,-46},{-90,-32}}, + color={0,127,255}, + smooth=Smooth.None)); + connect(out.ports[2],whe. port_a1) annotation (Line( + points={{-120,-21},{-116,-21},{-116,-20},{-110,-20}}, + color={0,127,255}, + smooth=Smooth.None)); + connect(souWat.ports[1], cooCoi.port_a1) annotation (Line( + points={{0,-100},{20,-100},{20,-32},{-20,-32}}, + color={0,127,255}, + smooth=Smooth.None)); + connect(cooCoi.port_b1, sinWat.ports[1]) annotation (Line( + points={{-40,-32},{-48,-32},{-48,-66},{-60,-66}}, + color={0,127,255}, + smooth=Smooth.None)); + connect(weaDat.weaBus, out.weaBus) annotation (Line( + points={{-140,50},{-128,50},{-128,4},{-148,4},{-148,-21.8},{-140,-21.8}}, + color={255,204,51}, + thickness=0.5, + smooth=Smooth.None)); + connect(weaDat.weaBus, weaBus) annotation (Line( + points={{-140,50},{-110,50}}, + color={255,204,51}, + thickness=0.5, + smooth=Smooth.None), Text( + textString="%second", + index=1, + extent={{6,3},{6,3}})); + connect(weaBus.TDryBul, TOut.T) annotation (Line( + points={{-109.95,50.05},{-66,50.05},{-66,50},{-22,50}}, + color={255,204,51}, + thickness=0.5, + smooth=Smooth.None), Text( + textString="%first", + index=-1, + extent={{-6,3},{-6,3}})); + connect(fan.m_flow_in, mAir_flow.y) annotation (Line( + points={{50,-8},{50,10},{22,10}}, + color={0,0,127}, + smooth=Smooth.None)); + connect(whe.port_b1, senTemHXOut.port_a) annotation (Line( + points={{-90,-20},{-76,-20}}, + color={0,127,255}, + smooth=Smooth.None)); + connect(senTemHXOut.port_b, cooCoi.port_a2) annotation (Line( + points={{-64,-20},{-40,-20}}, + color={0,127,255}, + smooth=Smooth.None)); + connect(cooCoi.port_b2, senTemSupAir.port_a) annotation (Line( + points={{-20,-20},{6,-20}}, + color={0,127,255}, + smooth=Smooth.None)); + connect(senTemSupAir.port_b, fan.port_a) annotation (Line( + points={{18,-20},{40,-20}}, + color={0,127,255}, + smooth=Smooth.None)); + connect(TOut.port, theCon.port_a) annotation (Line( + points={{5.55112e-16,50},{20,50}}, + color={191,0,0}, + smooth=Smooth.None)); + connect(vol.heatPort, senTemRoo.port) annotation (Line( + points={{60,30},{50,30},{50,80},{70,80}}, + color={191,0,0}, + smooth=Smooth.None)); + connect(mWat_flow.y, souWat.m_flow_in) annotation (Line( + points={{-38,-100},{-30,-100},{-30,-92},{-22,-92}}, + color={0,0,127}, + smooth=Smooth.None)); + connect(sub.y, con.u) + annotation (Line(points={{-108,-100},{-102,-100}}, color={0,0,127})); + connect(con.y, mWat_flow.u) + annotation (Line(points={{-78,-100},{-62,-100}}, color={255,0,255})); + connect(TRooSetPoi.y, sub.u1) + annotation (Line(points={{-148,-94},{-132,-94}}, color={0,0,127})); + connect(senTemRoo.T, sub.u2) annotation (Line(points={{91,80},{100,80},{100,-140}, + {-140,-140},{-140,-106},{-132,-106}}, color={0,0,127})); + connect(whe.port_b2, out.ports[1]) annotation (Line(points={{-110,-32},{-116,-32}, + {-116,-23},{-120,-23}}, color={0,127,255})); + connect(opeSig.y, whe.uRot) annotation (Line(points={{-150,20},{-116,20},{-116, + -18},{-112,-18}}, color={255,0,255})); + connect(bypDamPos.y, whe.uBypDamPos) annotation (Line(points={{-149,-50},{-118, + -50},{-118,-26},{-112,-26}}, color={0,0,127})); + annotation (Documentation(info=" +

+This block is identical to + +Buildings.Examples.Tutorial.SpaceCooling.System3, +except that the heat recovery device is modelled with +Buildings.Fluid.HeatExchangers.ThermalWheels.Latent.BypassDampers. +

+

+The major input signals for the heat recovery device are configured as follows: +

+ +

+The expected outputs are: +

+ +", revisions=" + +"), + Diagram(coordinateSystem(preserveAspectRatio=true, extent={{-180,-160},{120, + 100}})), + __Dymola_Commands(file= + "modelica://Buildings/Resources/Scripts/Dymola/Fluid/HeatExchangers/ThermalWheels/Latent/Examples/SpaceCooling.mos" + "Simulate and plot"), + experiment(StartTime=15552000, Tolerance=1e-6, StopTime=15638400)); +end SpaceCooling; diff --git a/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/Examples/package.mo b/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/Examples/package.mo new file mode 100644 index 00000000000..1c14fd101b5 --- /dev/null +++ b/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/Examples/package.mo @@ -0,0 +1,12 @@ +within Buildings.Fluid.HeatExchangers.ThermalWheels.Latent; +package Examples "Collection of models that illustrate model use and test models" + extends Modelica.Icons.ExamplesPackage; + +annotation (preferredView="info", Documentation(info=" +

+This package contains validation models for the classes in + +Buildings.Fluid.HeatExchangers.ThermalWheels.Latent. +

+")); +end Examples; diff --git a/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/Examples/package.order b/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/Examples/package.order new file mode 100644 index 00000000000..50303e7a6b0 --- /dev/null +++ b/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/Examples/package.order @@ -0,0 +1 @@ +SpaceCooling diff --git a/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/SpeedControlled.mo b/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/SpeedControlled.mo index 4ab1034d8c6..af8e21b2b02 100644 --- a/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/SpeedControlled.mo +++ b/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/SpeedControlled.mo @@ -21,7 +21,6 @@ model SpeedControlled final parameter Real[size(xSpe,1)] yeta = if defaultMotorEfficiencyCurve then motorEfficiency_default.eta else table[:,2] "y-axis support points of the power efficiency curve" annotation (Dialog(group="Efficiency")); - Buildings.Controls.OBC.CDL.Interfaces.RealInput uSpe( final unit="1", final max=1) @@ -37,16 +36,22 @@ protected "Electric power consumption" annotation (Placement(transformation(extent={{60,-100},{80,-80}}))); +initial equation + assert(table[end,1] < 1, + "In " + getInstanceName() + ": Power efficiency curve is wrong. + No need to define efficiency for the nominal condition", + level=AssertionLevel.error) + "Check if the effiency for the nominal conidtion is defined."; + equation connect(P, PEle.y) annotation (Line(points={{120,-90},{81,-90}}, color={0,0,127})); - connect(port_a1, hex.port_a1) annotation (Line(points={{-180,80},{-40,80},{ - -40,6},{-10,6}}, - color={0,127,255})); - connect(hex.port_a2, port_a2) annotation (Line(points={{10,-6},{60,-6},{60,-60}, - {100,-60}}, color={0,127,255})); connect(effCal.uSpe, uSpe) annotation (Line(points={{-102,0},{-200,0}}, color={0,0,127})); + connect(hex.port_a2, port_a2) annotation (Line(points={{10,-6},{60,-6},{60, + -60},{100,-60},{100,-60}}, color={0,127,255})); + connect(hex.port_a1, port_a1) annotation (Line(points={{-10,6},{-32,6},{-32, + 80},{-180,80}}, color={0,127,255})); annotation ( defaultComponentName="whe", Icon(coordinateSystem(extent={{-100,-100},{100,100}}), @@ -75,22 +80,39 @@ The operation of the heat recovery wheel is adjustable by modulating the wheel s Accordingly, the power consumption of this wheel is calculated by

-P = P_nominal * eta, +P = P_nominal * uSpe / eta,

where P_nominal is the nominal wheel power consumption, uSpe is the wheel speed ratio. -The eta is the motor power efficiency and is obtained from performing a polynomial fit -based on the user input data table. -The sum of the coefficients must be 1, otherwise the model stops with an error. -Thus, when the speed ratio uSpe=1, the power consumption is equal to -nominal consumption P=P_nominal. +The eta is the motor percent full-Load efficiency, i.e., +the ratio of the motor efficiency to that when the uSpe is 1. +There are two ways to define eta: +

+ +

+One can switch between those two options with the parameter defaultMotorEfficiencyCurve.

The sensible and latent effectiveness is calculated with Buildings.Fluid.HeatExchangers.ThermalWheels.Latent.BaseClasses.Effectiveness.

+

References

+

+U.S. DOE (2014). +Determining Electric Motor Load and Efficiency. +URL: + +https://www.energy.gov/sites/prod/files/2014/04/f15/10097517.pdf +

", revisions=" ")); diff --git a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Data/package.mo b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Data/package.mo index 7228db38be2..8189a7930bd 100644 --- a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Data/package.mo +++ b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Data/package.mo @@ -1,10 +1,10 @@ within Buildings.Fluid.HeatExchangers.BaseClasses.VariableSpeedThermalWheels.BaseClasses; -package Data "Performance data for desiccant dehumidifier" +package Data "Performance data for variable-speed wheels" extends Modelica.Icons.MaterialPropertiesPackage; annotation (Documentation(info="

-This package contains data for wheels. +This package contains performance data sets for variable-speed thermal wheels.

")); end Data; diff --git a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Data/package.order b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Data/package.order index acd917528b4..6f0d8f2a121 100644 --- a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Data/package.order +++ b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Data/package.order @@ -1,2 +1,2 @@ -Generic ASHRAE +Generic diff --git a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/package.mo b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/package.mo index 5e006e46664..9d91622d4a1 100644 --- a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/package.mo +++ b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/package.mo @@ -1,5 +1,5 @@ within Buildings.Fluid.HeatExchangers.BaseClasses.VariableSpeedThermalWheels; -package BaseClasses "Package with base classes for the wheel model" +package BaseClasses "Package with base classes for the variable-speed thermal wheel model" extends Modelica.Icons.BasesPackage; annotation (Documentation(revisions=" diff --git a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/package.order b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/package.order index 73006f323ed..007bddaaa4e 100644 --- a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/package.order +++ b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/package.order @@ -1,2 +1,2 @@ -Data Characteristics +Data diff --git a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/Latent.mo b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/Latent.mo index cea782d7bf6..a6e6ce60ab7 100644 --- a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/Latent.mo +++ b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/Latent.mo @@ -10,7 +10,8 @@ equation epsLatCor = Buildings.Utilities.Math.Functions.smoothInterpolation( x=uSpe, xSup=per.latHeatExchangeEffectiveness.uSpe, - ySup=per.latHeatExchangeEffectiveness.epsCor); + ySup=per.latHeatExchangeEffectiveness.epsCor) + "Calculate the latent heat exchanger effectiveness correction"; annotation ( defaultComponentName="latWhe", @@ -23,17 +24,22 @@ heat exchange effectiveness correction of an enthalpy wheel.

The calculation of the power consumption and the sensible heat exchange effectiveness correction can be referred to - + Buildings.Fluid.HeatExchangers.BaseClasses.VariableSpeedThermalWheels.Sensible.

The latent heat exchange effectiveness correction is calculated based on the cubic hermite spline interpolation of the latent heat exchange effectiveness dataset (see - -Buildings.Fluid.HeatExchangers.BaseClasses.BaseClasses.VariableSpeedThermalWheels.Characteristics.effectivenessParameters). + +Buildings.Fluid.HeatExchangers.BaseClasses.BaseClasses.VariableSpeedThermalWheels.Characteristics.heatExchangerEffectivenessParameters).

-") - ", revisions=", - Error); +", revisions=" + +")); end Latent; diff --git a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/Sensible.mo b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/Sensible.mo index 4a0979429e3..2555d88401c 100644 --- a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/Sensible.mo +++ b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/Sensible.mo @@ -3,11 +3,11 @@ model Sensible "Sensible heat wheels" extends Modelica.Blocks.Icons.Block; import whe = Buildings.Fluid.HeatExchangers.BaseClasses.VariableSpeedThermalWheels; final parameter Real xSpe[:] = if per.useDefaultMotorEfficiencyCurve - then per.motorEfficiency_default.y else per.motorEfficiency_uSpe.y + then per.motorEfficiency_default.y else per.motorEfficiency.uSpe "x-axis support points of the power efficiency curve" annotation (Dialog(group="Efficiency")); final parameter Real[size(xSpe,1)] yeta = if per.useDefaultMotorEfficiencyCurve - then per.motorEfficiency_default.eta else per.motorEfficiency_uSpe.eta + then per.motorEfficiency_default.eta else per.motorEfficiency.eta "y-axis support points of the power efficiency curve" annotation (Dialog(group="Efficiency")); parameter whe.BaseClasses.Data.Generic per @@ -24,9 +24,9 @@ model Sensible "Sensible heat wheels" annotation (Placement(transformation(extent={{100,60},{140,100}}), iconTransformation(extent={{100,60},{140,100}}))); Buildings.Controls.OBC.CDL.Interfaces.RealOutput epsSenCor(final unit="1") - "Sensible heat exchanger effectiveness correction" annotation (Placement( - transformation(extent={{100,-20},{140,20}}), iconTransformation(extent={{100,-20}, - {140,20}}))); + "Sensible heat exchanger effectiveness correction" + annotation (Placement(transformation(extent={{100,-20},{140,20}}), + iconTransformation(extent={{100,-20},{140,20}}))); initial equation for i in 1:size(yeta,1)-1 loop @@ -46,11 +46,13 @@ equation P = per.P_nominal*uSpe/Buildings.Utilities.Math.Functions.smoothInterpolation( x=uSpe, xSup=xSpe, - ySup=yeta); + ySup=yeta) + "Calculate the wheel power consumption"; epsSenCor = Buildings.Utilities.Math.Functions.smoothInterpolation( x=uSpe, xSup=per.senHeatExchangeEffectiveness.uSpe, - ySup=per.senHeatExchangeEffectiveness.epsCor); + ySup=per.senHeatExchangeEffectiveness.epsCor) + "Calculate the sensible heat exchanger effectiveness correction"; annotation ( defaultComponentName="senWhe", Icon(coordinateSystem(preserveAspectRatio=false)), Diagram( @@ -69,21 +71,21 @@ P = P_nominal * uSpe / eta,

where P_nominal is the nominal wheel power consumption, -uSpe is the wheel speed ratio. -The eta is the motor percent full-load efficiency, i.e., +uSpe is the wheel speed ratio, +and the eta is the motor percent full-load efficiency, i.e., the ratio of the motor efficiency to that when the uSpe is 1. The eta is obtained based on the cubic hermite spline interpolation of -the motor percent full-load efficiency dataset (see - -Buildings.Fluid.HeatExchangers.BaseClasses.BaseClasses.VariableSpeedThermalWheels.Characteristics.efficiencyParameters_yMot.). +the motor percent full-load efficiency dataset (see + +Buildings.Fluid.HeatExchangers.BaseClasses.BaseClasses.VariableSpeedThermalWheels.Characteristics.motorEfficiencyParameters.). Please note that uSpe/eta should be less or equal to 1.

  • The sensible heat exchanger effectiveness correction is calculated based on the cubic hermite spline interpolation of the sensible heat exchanger effectiveness -dataset (see -Buildings.Fluid.HeatExchangers.BaseClasses.BaseClasses.VariableSpeedThermalWheels.Characteristics.effectivenessParameters). +dataset (see +Buildings.Fluid.HeatExchangers.BaseClasses.BaseClasses.VariableSpeedThermalWheels.Characteristics.heatExchangerEffectivenessParameters).
  • ", revisions=" diff --git a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/Validation/VariableSpeedThermalWheels.mo b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/Validation/VariableSpeedThermalWheels.mo index b473f2025b4..442c6d78773 100644 --- a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/Validation/VariableSpeedThermalWheels.mo +++ b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/Validation/VariableSpeedThermalWheels.mo @@ -8,7 +8,7 @@ model VariableSpeedThermalWheels annotation (Placement(transformation(extent={{-10,40},{10,60}}))); Buildings.Fluid.HeatExchangers.BaseClasses.VariableSpeedThermalWheels.BaseClasses.Data.ASHRAE perSenWhe( - motorEfficiency_uSpe(y={0.1,0.6,0.8,1}, eta={0.3,0.8,0.85,1}), + motorEfficiency(uSpe={0.1,0.6,0.8,1}, eta={0.3,0.8,0.85,1}), haveLatentHeatExchange=false, useDefaultMotorEfficiencyCurve=false) "Performance record for the sensible heat wheel" @@ -29,7 +29,7 @@ model VariableSpeedThermalWheels "Enthalpy wheel with default motor curve" annotation (Placement(transformation(extent={{-10,-60},{10,-40}}))); Buildings.Fluid.HeatExchangers.BaseClasses.VariableSpeedThermalWheels.BaseClasses.Data.ASHRAE perLatWhe( - motorEfficiency_uSpe(y={0.1,0.6,0.8,1}, eta={0.3,0.8,0.85,1}), + motorEfficiency(uSpe={0.1,0.6,0.8,1}, eta={0.3,0.8,0.85,1}), haveLatentHeatExchange=true, useDefaultMotorEfficiencyCurve=false) "Performance record for the enthalpy wheel" diff --git a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/package.order b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/package.order index 4e09a41bf7e..4a24277e3d0 100644 --- a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/package.order +++ b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/package.order @@ -1,4 +1,4 @@ Latent Sensible BaseClasses -Validation +Validation \ No newline at end of file diff --git a/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/Examples/SpaceCooling.mo b/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/Examples/SpaceCooling.mo index 7dff98a7795..674d8051a47 100644 --- a/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/Examples/SpaceCooling.mo +++ b/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/Examples/SpaceCooling.mo @@ -294,7 +294,7 @@ The bypass damper positions are controlled to maintain the temperature of the ai

    -The expected outputs are: +The expected output is:

    -The expected outputs are: +The expected output is:

    ", revisions=" diff --git a/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/BaseClasses/PartialWheel.mo b/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/BaseClasses/PartialWheel.mo index e1823150fc3..87b7824f177 100644 --- a/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/BaseClasses/PartialWheel.mo +++ b/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/BaseClasses/PartialWheel.mo @@ -125,16 +125,13 @@ equation color={0,127,255})); connect(hex.port_b1, senSupMasFlo.port_a) annotation (Line(points={{10,6},{20,6},{20,20},{30,20}}, - color={0,127,255})); - connect(senSupMasFlo.port_b, port_b1) annotation (Line(points={{50,20},{60,20}, - {60,80},{100,80}}, color={0,127,255})); + connect(senSupMasFlo.port_b, port_b1) annotation (Line(points={{50,20},{60,20}, + {60,80},{100,80}}, color={0,127,255})); connect(senExhMasFlo.m_flow, effCal.mExh_flow) annotation (Line(points={{-80,-29}, - {-80,-20},{-130,-20},{-130,4},{-102,4}}, - color={0,0,127})); + {-80,-20},{-130,-20},{-130,4},{-102,4}}, color={0,0,127})); connect(senSupMasFlo.m_flow, effCal.mSup_flow) annotation (Line(points={{40,31}, - {40,40},{-130,40},{-130,8},{-102,8}}, - color={0,0,127})); + {40,40},{-130,40},{-130,8},{-102,8}}, color={0,0,127})); annotation ( defaultComponentName="whe", Icon(coordinateSystem(extent={{-100,-100},{100,100}}), diff --git a/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/BypassDampers.mo b/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/BypassDampers.mo index a860654a639..5c408187442 100644 --- a/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/BypassDampers.mo +++ b/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/BypassDampers.mo @@ -61,8 +61,8 @@ protected final realFalse=0) "Electric power consumption for motor" annotation (Placement(transformation(extent={{-60,150},{-40,170}}))); -protected - Modelica.Blocks.Sources.Constant zero(final k=0) "Zero signal" + Modelica.Blocks.Sources.Constant zero(final k=0) + "Zero signal" annotation (Placement(transformation(extent={{-160,-40},{-140,-20}}))); equation connect(bypDamSup.port_a, port_a1) @@ -70,7 +70,7 @@ equation connect(bypDamSup.port_b, port_b1) annotation (Line(points={{-40,80},{100,80}}, color={0,127,255})); connect(bypDamExh.port_a, port_a2) - annotation (Line(points={{0,-80},{100,-80}}, color={0,127,255})); + annotation (Line(points={{0,-80},{100,-80}}, color={0,127,255})); connect(damExh.port_a, port_a2) annotation (Line(points={{50,-50},{50,-80},{100,-80}}, color={0,127,255})); connect(sub.y, damSup.y) @@ -102,15 +102,13 @@ equation connect(bypDamExh.port_b, port_b2) annotation (Line(points={{-20,-80},{-180,-80}}, color={0,127,255})); connect(zero.y, swiepsSen.u3) annotation (Line(points={{-139,-30},{-116,-30},{ - -116,82},{-68,82},{-68,182},{-62,182}}, - color={0,0,127})); + -116,82},{-68,82},{-68,182},{-62,182}}, color={0,0,127})); connect(effCal.eps, swiepsSen.u1) annotation (Line(points={{-78,0},{-74,0},{-74, - 198},{-62,198}}, - color={0,0,127})); + 198},{-62,198}}, color={0,0,127})); connect(swiepsSen.y, hex.eps) annotation (Line(points={{-38,190},{-32,190},{-32, 0},{-12,0}}, color={0,0,127})); connect(swiepsSen.y, eps) annotation (Line(points={{-38,190},{80,190},{80,40}, - {120,40}}, color={0,0,127})); + {120,40}}, color={0,0,127})); connect(uRot, swiepsSen.u2) annotation (Line(points={{-200,0},{-170,0},{-170,190}, {-62,190}}, color={255,0,255})); connect(PEle.u, uRot) annotation (Line(points={{-62,160},{-120,160},{-120,190}, @@ -173,7 +171,7 @@ annotation ( Documentation(info="

    Model of a sensible heat recovery wheel, which consists of -a heat exchanger and two dampers to bypass the supply and exhaust airflow. +a heat exchanger and two dampers to bypass the supply and exhaust airflow, respectively.

    This model does not require geometric data. The performance is defined by specifying the diff --git a/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/Examples/SpaceCooling.mo b/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/Examples/SpaceCooling.mo index 3a35e2ccb72..2c6f5bf5d7a 100644 --- a/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/Examples/SpaceCooling.mo +++ b/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/Examples/SpaceCooling.mo @@ -113,8 +113,10 @@ model SpaceCooling "Space cooling system" use_m_flow_in=true, T=TWSup_nominal) "Source for water flow rate" annotation (Placement(transformation(extent={{-20,-110},{0,-90}}))); - Buildings.Fluid.Sources.Boundary_pT sinWat(nPorts=1, redeclare package Medium = - MediumW) "Sink for water circuit" + Buildings.Fluid.Sources.Boundary_pT sinWat( + nPorts=1, + redeclare package Medium =MediumW) + "Sink for water circuit" annotation (Placement(transformation(extent={{-80,-76},{-60,-56}}))); Buildings.BoundaryConditions.WeatherData.ReaderTMY3 weaDat( pAtmSou=Buildings.BoundaryConditions.Types.DataSource.Parameter, @@ -250,8 +252,7 @@ equation connect(TMixSetPoi.y,conPID. u_s) annotation (Line(points={{-78,20},{-52,20}}, color={0,0,127})); connect(senTemHXOut.T,conPID. u_m) annotation (Line(points={{-60,-13.4},{-60, - 0},{-40,0},{-40,8}}, - color={0,0,127})); + 0},{-40,0},{-40,8}}, color={0,0,127})); connect(senTemRetAir.port_a, vol.ports[2]) annotation (Line(points={{58,-60},{71,-60},{71,20}}, color={0,127,255})); connect(senTemRetAir.port_b, whe.port_a2) annotation (Line(points={{46,-60},{-40, diff --git a/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/SpeedControlled.mo b/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/SpeedControlled.mo index f489865cd50..fbc031bba11 100644 --- a/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/SpeedControlled.mo +++ b/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/SpeedControlled.mo @@ -18,16 +18,14 @@ model SpeedControlled "Correct the wheel performance based on the wheel speed" annotation (Placement(transformation(extent={{-160,-10},{-140,10}}))); Buildings.Controls.OBC.CDL.Reals.Multiply mul - "Correct the heat exchanger effectiveness" + "Calculate the heat exchanger effectiveness" annotation (Placement(transformation(extent={{-52,-20},{-32,0}}))); - equation connect(port_a1, hex.port_a1) annotation (Line(points={{-180,80},{-60,80},{-60,6}, {-10,6}}, color={0,127,255})); connect(hex.port_a2, port_a2) annotation (Line(points={{10,-6},{60,-6},{60, - -80},{100,-80}}, - color={0,127,255})); + -80},{100,-80}}, color={0,127,255})); connect(senWhe.epsSenCor, mul.u2) annotation (Line(points={{-138,0},{-114,0}, {-114,-16},{-54,-16}},color={0,0,127})); connect(effCal.eps, mul.u1) annotation (Line(points={{-78,0},{-62,0},{-62,-4}, @@ -35,13 +33,11 @@ equation connect(mul.y, hex.eps) annotation (Line(points={{-30,-10},{-26,-10},{-26,0}, {-12,0}},color={0,0,127})); connect(uSpe, senWhe.uSpe) annotation (Line(points={{-200,0},{-162,0}}, - color={0,0,127})); + color={0,0,127})); connect(senWhe.P, P) annotation (Line(points={{-138,8},{-134,8},{-134,68},{88, - 68},{88,-40},{120,-40}}, - color={0,0,127})); + 68},{88,-40},{120,-40}}, color={0,0,127})); connect(eps, mul.y) annotation (Line(points={{120,40},{80,40},{80,-20},{-26, - -20},{-26,-10},{-30,-10}}, - color={0,0,127})); + -20},{-26,-10},{-30,-10}}, color={0,0,127})); annotation ( defaultComponentName="whe", Icon(coordinateSystem(extent={{-100,-100},{100,100}}), diff --git a/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/Validation/BypassDampers.mo b/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/Validation/BypassDampers.mo index 79da1c1c8ee..544a21af3b4 100644 --- a/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/Validation/BypassDampers.mo +++ b/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/Validation/BypassDampers.mo @@ -81,21 +81,17 @@ equation connect(whe.port_a2, sou_2.ports[1]) annotation (Line(points={{20,-8},{40,-8},{40,-30},{70,-30}}, color={0,127,255})); connect(bypDamPos.y, whe.uBypDamPos) annotation (Line(points={{-59,0},{-30,0}, - {-30,4},{-2,4}}, - color={0,0,127})); + {-30,4},{-2,4}},color={0,0,127})); connect(opeSig.y, whe.uRot) annotation (Line(points={{-58,70},{-10,70},{-10, - -4.2},{-2,-4.2}}, - color={255,0,255})); + -4.2},{-2,-4.2}},color={255,0,255})); connect(whe.port_b2, senExhTem.port_a) annotation (Line(points={{0,-7.8},{-20, - -7.8},{-20,-34},{-30,-34}}, - color={0,127,255})); + -7.8},{-20,-34},{-30,-34}},color={0,127,255})); connect(senExhTem.port_b, sin_2.ports[1]) annotation (Line(points={{-50,-34},{-60,-34}}, color={0,127,255})); connect(senSupTem.port_a, sin_1.ports[1]) annotation (Line(points={{60,30},{70,30}}, color={0,127,255})); connect(senSupTem.port_b, whe.port_b1) annotation (Line(points={{40,30},{30, - 30},{30,7.8},{20,7.8}}, - color={0,127,255})); + 30},{30,7.8},{20,7.8}},color={0,127,255})); annotation(experiment(Tolerance=1e-6, StopTime=360), __Dymola_Commands(file="modelica://Buildings/Resources/Scripts/Dymola/Fluid/HeatExchangers/ThermalWheels/Sensible/Validation/BypassDampers.mos" "Simulate and plot"), diff --git a/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/Validation/SpeedControlled.mo b/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/Validation/SpeedControlled.mo index 80647a67b8a..6eb1dbe036c 100644 --- a/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/Validation/SpeedControlled.mo +++ b/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/Validation/SpeedControlled.mo @@ -72,7 +72,8 @@ model SpeedControlled redeclare package Medium = Medium, mSup_flow_nominal=5, mExh_flow_nominal=5, - per=perDefMotCur) "Wheel with a default curve" + per=perDefMotCur) + "Wheel with a default curve" annotation (Placement(transformation(extent={{0,-30},{20,-10}}))); Buildings.Fluid.HeatExchangers.BaseClasses.VariableSpeedThermalWheels.BaseClasses.Data.ASHRAE per( motorEfficiency(uSpe={0.1,0.6,0.8,1}, eta={0.3,0.8,0.9,1}), @@ -81,7 +82,8 @@ model SpeedControlled "Performance record for the sensible heat wheel" annotation (Placement(transformation(extent={{-34,60},{-14,80}}))); Buildings.Fluid.HeatExchangers.BaseClasses.VariableSpeedThermalWheels.BaseClasses.Data.ASHRAE perDefMotCur( - haveLatentHeatExchange=true, useDefaultMotorEfficiencyCurve=true) + haveLatentHeatExchange=true, + useDefaultMotorEfficiencyCurve=true) "Performance record for the sensible heat wheel with default motor curve" annotation (Placement(transformation(extent={{6,60},{26,80}}))); equation @@ -89,7 +91,7 @@ equation annotation (Line(points={{-59,34},{-42,34}}, color={0,0,127})); connect(sou_1.ports[1], wheUseDefCur.port_a1) annotation (Line(points={{-20,29},{-10,29},{-10,18},{0,18}}, - color={0,127,255})); + color={0,127,255})); connect(wheUseDefCur.port_a2, sou_2.ports[1]) annotation (Line(points={{20,2},{40,2},{40,-31},{70,-31}}, color={0,127,255})); @@ -98,24 +100,22 @@ equation color={0,0,127})); connect(wheUseDefCur.port_b2, senExhTem.port_a) annotation (Line(points={{0,2.2},{-6,2.2},{-6,-42},{-20,-42}}, - color={0,127,255})); + color={0,127,255})); connect(senExhTem.port_b, sin_2.ports[1]) annotation (Line(points={{-40,-42},{-48,-42},{-48,-41},{-58,-41}}, color={0,127,255})); connect(senSupTem.port_b, wheUseDefCur.port_b1) annotation (Line(points={{40,30},{28,30},{28,17.8},{20,17.8}}, - color={0,127,255})); + color={0,127,255})); connect(wheDefCur.port_a1, sou_1.ports[2]) annotation (Line(points={{0,-12},{-14,-12},{-14,31},{-20,31}}, color={0,127,255})); - connect(wheDefCur.port_b1, sin_1.ports[1]) annotation (Line(points={{20, - -12.2},{36,-12.2},{36,22},{64,22},{64,29},{72,29}}, + connect(wheDefCur.port_b1, sin_1.ports[1]) + annotation (Line(points={{20,-12.2},{36,-12.2},{36,22},{64,22},{64,29},{72,29}}, color={0,127,255})); connect(wheDefCur.port_b2, sin_2.ports[2]) annotation (Line(points={{0,-27.8}, - {-48,-27.8},{-48,-39},{-58,-39}}, - color={0,127,255})); + {-48,-27.8},{-48,-39},{-58,-39}},color={0,127,255})); connect(wheDefCur.port_a2, sou_2.ports[2]) annotation (Line(points={{20,-28},{ - 52,-28},{52,-29},{70,-29}}, - color={0,127,255})); + 52,-28},{52,-29},{70,-29}}, color={0,127,255})); connect(wheDefCur.uSpe, wheSpe.y) annotation (Line(points={{-2,-20},{-30,-20},{-30,0},{-59,0}}, color={0,0,127})); connect(senSupTem.port_a, sin_1.ports[2]) annotation (Line(points={{60,30},{66,30},{66,31},{72,31}}, @@ -168,7 +168,7 @@ and the leaving exhaust air temperature increases.

  • The power consumption of the instance wheUseDefCur is higher than that of the instance wheDefCur when uSpe is less than 1. -The power consumption of those two instances are identical when uSpe equals to 1. +The power consumption of those two instances are identical when uSpe equals 1.
  • ", revisions=" From 822e498ce2ed7f8719e52f86a0bfcdae315ad79b Mon Sep 17 00:00:00 2001 From: SenHuang19 Date: Sat, 22 Jun 2024 16:43:09 -0400 Subject: [PATCH 18/27] format update --- .../BaseClasses/Characteristics/motorEfficiencyParameters.mo | 2 +- .../ThermalWheels/Sensible/BaseClasses/Effectiveness.mo | 4 ++-- Buildings/Fluid/HeatExchangers/ThermalWheels/package.mo | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Characteristics/motorEfficiencyParameters.mo b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Characteristics/motorEfficiencyParameters.mo index 9abaa59cc25..f7621ad4e5b 100644 --- a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Characteristics/motorEfficiencyParameters.mo +++ b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Characteristics/motorEfficiencyParameters.mo @@ -8,7 +8,7 @@ record motorEfficiencyParameters "Wheel motor efficiency at wheel speed ratios"; annotation (Documentation(info="

    -This function is identical to +This model is identical to Buildings.Fluid.Movers.BaseClasses.Characteristics.efficiencyParameters_yMot, with the original definition expanded to cover wheels. diff --git a/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/BaseClasses/Effectiveness.mo b/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/BaseClasses/Effectiveness.mo index d41047b8d45..db9e02e640b 100644 --- a/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/BaseClasses/Effectiveness.mo +++ b/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/BaseClasses/Effectiveness.mo @@ -23,8 +23,8 @@ model Effectiveness final min=0, final unit="K", displayUnit="degC") - "Exhaust air temperature - " annotation (Placement(transformation(extent={{-140,-100},{-100,-60}}))); + "Exhaust air temperature" + annotation (Placement(transformation(extent={{-140,-100},{-100,-60}}))); Buildings.Controls.OBC.CDL.Interfaces.RealInput mSup_flow(final unit="kg/s") "Supply air mass flow rate" annotation (Placement(transformation(extent={{-140,60},{-100,100}}))); diff --git a/Buildings/Fluid/HeatExchangers/ThermalWheels/package.mo b/Buildings/Fluid/HeatExchangers/ThermalWheels/package.mo index ab2f62a6fb7..9d228dc16f7 100644 --- a/Buildings/Fluid/HeatExchangers/ThermalWheels/package.mo +++ b/Buildings/Fluid/HeatExchangers/ThermalWheels/package.mo @@ -4,7 +4,7 @@ package ThermalWheels "Package with thermal wheels (both enthalpy and sensible h annotation (preferredView="info", Documentation(info="

    -This package contains component models for thermal recovery wheels. +This package contains component models for thermal recovery wheels.

    "), Icon(graphics={ From 5711f57b0d05a9011bf451d4930c41d03518e420 Mon Sep 17 00:00:00 2001 From: SenHuang19 Date: Mon, 24 Jun 2024 00:08:36 -0400 Subject: [PATCH 19/27] minor changes to model implementation --- .../VariableSpeedThermalWheels/BaseClasses/package.mo | 10 ++-------- .../ThermalWheels/Latent/BaseClasses/Effectiveness.mo | 8 +++----- .../Sensible/BaseClasses/Effectiveness.mo | 11 ++++------- 3 files changed, 9 insertions(+), 20 deletions(-) diff --git a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/package.mo b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/package.mo index 9d91622d4a1..3c7450fe791 100644 --- a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/package.mo +++ b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/package.mo @@ -2,14 +2,8 @@ within Buildings.Fluid.HeatExchangers.BaseClasses.VariableSpeedThermalWheels; package BaseClasses "Package with base classes for the variable-speed thermal wheel model" extends Modelica.Icons.BasesPackage; -annotation (Documentation(revisions=" -
      -
    • -May 28, 2024, by Sen Huang:
      -First implementation. -
    • -
    -", info=" +annotation (Documentation(revisions="", + info="

    This package contains base classes that are used to construct the models in Buildings.Fluid.HeatExchangers.BaseClasses.VariableSpeedThermalWheels. diff --git a/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BaseClasses/Effectiveness.mo b/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BaseClasses/Effectiveness.mo index 0e5d48100e9..342066dd122 100644 --- a/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BaseClasses/Effectiveness.mo +++ b/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BaseClasses/Effectiveness.mo @@ -23,14 +23,12 @@ model Effectiveness Buildings.Controls.OBC.CDL.Interfaces.RealInput TSup( final min=0, - final unit="K", - displayUnit="degC") + final unit="K") "Supply air temperature" annotation (Placement(transformation(extent={{-140,-60},{-100,-20}}))); Buildings.Controls.OBC.CDL.Interfaces.RealInput TExh( final min=0, - final unit="K", - displayUnit="degC") + final unit="K") "Exhaust air temperature" annotation (Placement(transformation(extent={{-140,-100},{-100,-60}}))); Buildings.Controls.OBC.CDL.Interfaces.RealInput mSup_flow(final unit="kg/s") @@ -77,7 +75,7 @@ protected equation // Check if the air flows are too unbalanced - assert(mSup_flow - 2*mExh_flow <= 0 and mExh_flow - 2*mSup_flow <= 0, + assert(mSup_flow - 2*mExh_flow <= 1e-5 and mExh_flow - 2*mSup_flow <= 1e-5, "In " + getInstanceName() + ": The ratio of the supply flow rate to the exhaust flow rate should be in the range of [0.5, 2].", level=AssertionLevel.warning); // Calculate the average volumetric air flow and flow rate ratio. diff --git a/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/BaseClasses/Effectiveness.mo b/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/BaseClasses/Effectiveness.mo index db9e02e640b..dbfcafa9132 100644 --- a/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/BaseClasses/Effectiveness.mo +++ b/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/BaseClasses/Effectiveness.mo @@ -15,14 +15,12 @@ model Effectiveness Buildings.Controls.OBC.CDL.Interfaces.RealInput TSup( final min=0, - final unit="K", - displayUnit="degC") + final unit="K") "Supply air temperature" annotation (Placement(transformation(extent={{-140,-60},{-100,-20}}))); Buildings.Controls.OBC.CDL.Interfaces.RealInput TExh( final min=0, - final unit="K", - displayUnit="degC") + final unit="K") "Exhaust air temperature" annotation (Placement(transformation(extent={{-140,-100},{-100,-60}}))); Buildings.Controls.OBC.CDL.Interfaces.RealInput mSup_flow(final unit="kg/s") @@ -55,7 +53,7 @@ protected equation // Check if the air flows are too unbalanced - assert(mSup_flow - 2*mExh_flow <= 0 and mExh_flow - 2*mSup_flow <= 0, + assert(mSup_flow - 2*mExh_flow < 1e-5 and mExh_flow - 2*mSup_flow <= 1e-5, "In " + getInstanceName() + ": The ratio of the supply flow rate to the exhaust flow rate should be in the range of [0.5, 2].", level=AssertionLevel.warning); // Calculate the average volumetric air flow and flow rate ratio. @@ -107,8 +105,7 @@ It then calculates the sensible heat exchanger effectiveness as where eps is the effectiveness for the sensible heat transfer, respectively, eps_nominal and epsPL are the effectiveness -for the sensible heat transfer when rat is 1 and 0.75, respectively, and -uSpe is the speed ratio of a rotary wheel. +for the sensible heat transfer when rat is 1 and 0.75, respectively.

    The parameters eps_nominal and epsPL From 81b0f2827e9f3aebd5caa3d088be2f98ac559cb9 Mon Sep 17 00:00:00 2001 From: SenHuang19 Date: Mon, 24 Jun 2024 00:08:58 -0400 Subject: [PATCH 20/27] reference data update --- ...hermalWheels_Latent_Examples_SpaceCooling.txt | 16 ++++++++-------- ...rmalWheels_Sensible_Examples_SpaceCooling.txt | 12 ++++++------ 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/Buildings/Resources/ReferenceResults/Dymola/Buildings_Fluid_HeatExchangers_ThermalWheels_Latent_Examples_SpaceCooling.txt b/Buildings/Resources/ReferenceResults/Dymola/Buildings_Fluid_HeatExchangers_ThermalWheels_Latent_Examples_SpaceCooling.txt index b5c22ba1242..19e224e9d37 100644 --- a/Buildings/Resources/ReferenceResults/Dymola/Buildings_Fluid_HeatExchangers_ThermalWheels_Latent_Examples_SpaceCooling.txt +++ b/Buildings/Resources/ReferenceResults/Dymola/Buildings_Fluid_HeatExchangers_ThermalWheels_Latent_Examples_SpaceCooling.txt @@ -1,4 +1,4 @@ -last-generated=2024-06-20 +last-generated=2024-06-23 statistics-initialization= { "linear": "4, 4", @@ -14,13 +14,13 @@ statistics-simulation= } time=[1.5552e+07, 1.56384e+07] vol.T_start=[2.931499938964844e+02, 2.931499938964844e+02] -vol.T=[2.931499938964844e+02, 2.935960388183594e+02, 2.938107299804688e+02, 2.938359985351562e+02, 2.93731201171875e+02, 2.935613708496094e+02, 2.933581237792969e+02, 2.931333312988281e+02, 2.928946228027344e+02, 2.926404418945312e+02, 2.923136596679688e+02, 2.918851318359375e+02, 2.913924560546875e+02, 2.909156494140625e+02, 2.90525634765625e+02, 2.902348937988281e+02, 2.900177612304688e+02, 2.898242797851562e+02, 2.895953369140625e+02, 2.893026733398438e+02, 2.889579467773438e+02, 2.88469482421875e+02, 2.866667175292969e+02, 2.861806030273438e+02, 2.862569885253906e+02, 2.867163391113281e+02, 2.875852661132812e+02, 2.889466552734375e+02, 2.906258544921875e+02, 2.923321228027344e+02, 2.937963562011719e+02, 2.950487670898438e+02, 2.961231079101562e+02, 2.969854431152344e+02, 2.971490173339844e+02, 2.971314697265625e+02, 2.966196899414062e+02, 2.958956604003906e+02, 2.956756591796875e+02, 2.960534057617188e+02, 2.966995849609375e+02, 2.971622924804688e+02, 2.97152099609375e+02, 2.971595764160156e+02, 2.971593017578125e+02, 2.971734924316406e+02, 2.971483764648438e+02, 2.971504516601562e+02, 2.971506652832031e+02, 2.971507568359375e+02, 2.971508483886719e+02, 2.971510620117188e+02, 2.971512145996094e+02, 2.971512451171875e+02, 2.971510925292969e+02, 2.971501159667969e+02, 2.97149658203125e+02, 2.971495666503906e+02, 2.971499328613281e+02, 2.971510620117188e+02, 2.971516418457031e+02, 2.971516418457031e+02, 2.971510009765625e+02, 2.971400756835938e+02, 2.971357727050781e+02, 2.971393737792969e+02, 2.967124938964844e+02, 2.959083862304688e+02, 2.959713134765625e+02, 2.968323059082031e+02, 2.971472473144531e+02, 2.971554260253906e+02, 2.978629150390625e+02, 2.990851745605469e+02, 2.998351745605469e+02, 3.001858825683594e+02, 3.001480712890625e+02, 2.997308959960938e+02, 2.990249633789062e+02, 2.981852722167969e+02, 2.973849487304688e+02, 2.966669616699219e+02, 2.960359802246094e+02, 2.955152587890625e+02, 2.951363525390625e+02, 2.948908386230469e+02, 2.947412719726562e+02, 2.946492919921875e+02, 2.945771789550781e+02, 2.94505615234375e+02, 2.944338989257812e+02, 2.94362060546875e+02, 2.942901916503906e+02, 2.9421826171875e+02, 2.941463012695312e+02, 2.940743408203125e+02, 2.940023498535156e+02, 2.939303894042969e+02, 2.938583984375e+02, 2.93786376953125e+02, 2.937143859863281e+02] +vol.T=[2.931499938964844e+02, 2.935960388183594e+02, 2.938107299804688e+02, 2.938359985351562e+02, 2.93731201171875e+02, 2.935613708496094e+02, 2.933581237792969e+02, 2.931333312988281e+02, 2.928946228027344e+02, 2.926404418945312e+02, 2.923136596679688e+02, 2.918851318359375e+02, 2.913924560546875e+02, 2.909156494140625e+02, 2.90525634765625e+02, 2.902348937988281e+02, 2.900177612304688e+02, 2.898242797851562e+02, 2.895953369140625e+02, 2.893026733398438e+02, 2.889579467773438e+02, 2.88469482421875e+02, 2.866667175292969e+02, 2.861806030273438e+02, 2.862569885253906e+02, 2.867163391113281e+02, 2.875852355957031e+02, 2.889466552734375e+02, 2.906258544921875e+02, 2.923321533203125e+02, 2.937963562011719e+02, 2.950487670898438e+02, 2.961231079101562e+02, 2.969854125976562e+02, 2.971490173339844e+02, 2.971314697265625e+02, 2.966196899414062e+02, 2.958956909179688e+02, 2.956756591796875e+02, 2.960534057617188e+02, 2.966995849609375e+02, 2.971622924804688e+02, 2.97152099609375e+02, 2.971595764160156e+02, 2.971593017578125e+02, 2.971735229492188e+02, 2.971483764648438e+02, 2.971504516601562e+02, 2.971506958007812e+02, 2.971507568359375e+02, 2.971508483886719e+02, 2.971510620117188e+02, 2.971512451171875e+02, 2.971512451171875e+02, 2.971510925292969e+02, 2.971501159667969e+02, 2.971496276855469e+02, 2.971495666503906e+02, 2.971499328613281e+02, 2.971510620117188e+02, 2.971516418457031e+02, 2.971516418457031e+02, 2.971510009765625e+02, 2.971400756835938e+02, 2.971357727050781e+02, 2.971393737792969e+02, 2.967124938964844e+02, 2.959083862304688e+02, 2.959713439941406e+02, 2.968323364257812e+02, 2.971472473144531e+02, 2.971554260253906e+02, 2.978629150390625e+02, 2.990851745605469e+02, 2.998351745605469e+02, 3.001859436035156e+02, 3.001481628417969e+02, 2.997308959960938e+02, 2.990248413085938e+02, 2.981851806640625e+02, 2.973848876953125e+02, 2.966669311523438e+02, 2.960359497070312e+02, 2.955152587890625e+02, 2.951362915039062e+02, 2.948908081054688e+02, 2.947412414550781e+02, 2.946492614746094e+02, 2.945771789550781e+02, 2.94505615234375e+02, 2.944338989257812e+02, 2.94362060546875e+02, 2.942901916503906e+02, 2.9421826171875e+02, 2.941463012695312e+02, 2.940743408203125e+02, 2.940023498535156e+02, 2.939303894042969e+02, 2.938583984375e+02, 2.93786376953125e+02, 2.937143859863281e+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.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+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.984267272949219e+02, 2.982018737792969e+02, 2.981682739257812e+02, 2.98164306640625e+02, 2.981634521484375e+02, 2.981642761230469e+02, 2.981651916503906e+02, 2.981649780273438e+02, 2.981639404296875e+02, 2.981622619628906e+02, 2.981559143066406e+02, 2.981495666503906e+02, 2.981468505859375e+02, 2.981481018066406e+02, 2.981552124023438e+02, 2.981621398925781e+02, 2.981636962890625e+02, 2.981602478027344e+02, 2.981087341308594e+02, 2.979300842285156e+02, 2.964372253417969e+02, 2.946898803710938e+02, 2.943067016601562e+02, 2.951251831054688e+02, 2.964444274902344e+02, 2.976576538085938e+02, 2.981753234863281e+02, 2.972942504882812e+02, 2.972933654785156e+02, 2.971294250488281e+02, 2.967357177734375e+02, 2.941932983398438e+02, 2.951637573242188e+02, 2.941932983398438e+02, 2.941932983398438e+02, 2.941932983398438e+02, 2.941932983398438e+02, 2.941932983398438e+02, 2.921409301757812e+02, 2.941932983398438e+02, 2.941932983398438e+02, 2.941932983398438e+02, 2.941932983398438e+02, 2.941932983398438e+02, 2.941932983398438e+02, 2.941932983398438e+02, 2.919304809570312e+02, 2.941932983398438e+02, 2.941932983398438e+02, 2.941932983398438e+02, 2.941932983398438e+02, 2.916584167480469e+02, 2.916039123535156e+02, 2.941932983398438e+02, 2.941932983398438e+02, 2.914403991699219e+02] -cooCoi.sta_b2.T=[2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.850066223144531e+02, 2.846719360351562e+02, 2.847826843261719e+02, 2.851853332519531e+02, 2.859185180664062e+02, 2.871560974121094e+02, 2.888516235351562e+02, 2.906712646484375e+02, 2.922807006835938e+02, 2.935388488769531e+02, 2.94657958984375e+02, 2.955890502929688e+02, 2.962724914550781e+02, 2.957261657714844e+02, 2.957597045898438e+02, 2.947773742675781e+02, 2.941767578125e+02, 2.945053405761719e+02, 2.951929931640625e+02, 2.959581298828125e+02, 2.951268615722656e+02, 2.952117004394531e+02, 2.949648742675781e+02, 2.947083435058594e+02, 2.940654296875e+02, 2.93455078125e+02, 2.933719177246094e+02, 2.933251342773438e+02, 2.93288818359375e+02, 2.932528076171875e+02, 2.932095336914062e+02, 2.931567993164062e+02, 2.931007080078125e+02, 2.930479431152344e+02, 2.930150756835938e+02, 2.930166320800781e+02, 2.930333557128906e+02, 2.930465698242188e+02, 2.930337524414062e+02, 2.929794006347656e+02, 2.929098510742188e+02, 2.928515014648438e+02, 2.928837280273438e+02, 2.93494873046875e+02, 2.955596618652344e+02, 2.947333984375e+02, 2.942952270507812e+02, 2.950852966308594e+02, 2.963969421386719e+02, 2.952404174804688e+02, 2.947373962402344e+02, 2.941932983398438e+02, 2.941932983398438e+02, 2.941932983398438e+02, 2.941932983398438e+02, 2.944198913574219e+02, 2.941932983398438e+02, 2.944198913574219e+02, 2.944198913574219e+02, 2.944198913574219e+02, 2.944198913574219e+02, 2.944198913574219e+02, 2.941932983398438e+02, 2.944198913574219e+02, 2.944198913574219e+02, 2.944198913574219e+02, 2.944198913574219e+02, 2.944198913574219e+02, 2.944198913574219e+02, 2.944198913574219e+02, 2.941932983398438e+02, 2.944198913574219e+02, 2.944198913574219e+02, 2.944198913574219e+02, 2.944198913574219e+02, 2.941932983398438e+02, 2.941932983398438e+02, 2.944198913574219e+02, 2.944198913574219e+02, 2.941932983398438e+02] +cooCoi.sta_a2.T=[2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+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.984267272949219e+02, 2.982018737792969e+02, 2.981682739257812e+02, 2.98164306640625e+02, 2.981634521484375e+02, 2.981642761230469e+02, 2.981651916503906e+02, 2.981649780273438e+02, 2.981639404296875e+02, 2.981622619628906e+02, 2.981559143066406e+02, 2.981495666503906e+02, 2.981468505859375e+02, 2.981481018066406e+02, 2.981552124023438e+02, 2.981621398925781e+02, 2.981636962890625e+02, 2.981602478027344e+02, 2.981087341308594e+02, 2.979300231933594e+02, 2.964372253417969e+02, 2.946898803710938e+02, 2.943067016601562e+02, 2.951251831054688e+02, 2.964444274902344e+02, 2.976576538085938e+02, 2.981753234863281e+02, 2.94193603515625e+02, 2.94193603515625e+02, 2.980774841308594e+02, 2.94193603515625e+02, 2.966021423339844e+02, 2.953994445800781e+02, 2.94193603515625e+02, 2.94193603515625e+02, 2.94193603515625e+02, 2.94193603515625e+02, 2.94193603515625e+02, 2.94193603515625e+02, 2.94193603515625e+02, 2.94193603515625e+02, 2.94193603515625e+02, 2.94193603515625e+02, 2.94193603515625e+02, 2.94193603515625e+02, 2.94193603515625e+02, 2.94193603515625e+02, 2.94193603515625e+02, 2.94193603515625e+02, 2.91767333984375e+02, 2.94193603515625e+02, 2.94193603515625e+02, 2.94193603515625e+02, 2.94193603515625e+02, 2.94193603515625e+02, 2.94193603515625e+02] +cooCoi.sta_b2.T=[2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.850066223144531e+02, 2.846719360351562e+02, 2.847826843261719e+02, 2.851853332519531e+02, 2.859184265136719e+02, 2.871560974121094e+02, 2.888516235351562e+02, 2.906712646484375e+02, 2.922807006835938e+02, 2.935388488769531e+02, 2.94657958984375e+02, 2.955890502929688e+02, 2.962724914550781e+02, 2.9572607421875e+02, 2.957597045898438e+02, 2.947773742675781e+02, 2.941767578125e+02, 2.945053405761719e+02, 2.951929931640625e+02, 2.959581298828125e+02, 2.951268310546875e+02, 2.95211669921875e+02, 2.949648132324219e+02, 2.947083435058594e+02, 2.940654602050781e+02, 2.934548950195312e+02, 2.933718566894531e+02, 2.933250732421875e+02, 2.932887878417969e+02, 2.932527465820312e+02, 2.932095031738281e+02, 2.931567993164062e+02, 2.931006774902344e+02, 2.930479431152344e+02, 2.930150146484375e+02, 2.930165710449219e+02, 2.930333251953125e+02, 2.930465087890625e+02, 2.930337829589844e+02, 2.929794616699219e+02, 2.929098510742188e+02, 2.928515014648438e+02, 2.928837585449219e+02, 2.934948425292969e+02, 2.955594482421875e+02, 2.947333984375e+02, 2.942952575683594e+02, 2.950852661132812e+02, 2.963969421386719e+02, 2.95240478515625e+02, 2.947373962402344e+02, 2.944200134277344e+02, 2.944200134277344e+02, 2.94193603515625e+02, 2.944200134277344e+02, 2.94193603515625e+02, 2.94193603515625e+02, 2.944200134277344e+02, 2.944200134277344e+02, 2.944200134277344e+02, 2.944200134277344e+02, 2.944200134277344e+02, 2.944200134277344e+02, 2.944200134277344e+02, 2.944200134277344e+02, 2.944200134277344e+02, 2.944200134277344e+02, 2.944200134277344e+02, 2.944200134277344e+02, 2.944200134277344e+02, 2.944200134277344e+02, 2.944200134277344e+02, 2.944200134277344e+02, 2.94193603515625e+02, 2.944200134277344e+02, 2.944200134277344e+02, 2.944200134277344e+02, 2.944200134277344e+02, 2.944200134277344e+02, 2.944200134277344e+02] opeSig.y=[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, 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, 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, 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] -senTemHXOut.T=[2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.848058471679688e+02, 2.846711730957031e+02, 2.847910461425781e+02, 2.852041015625e+02, 2.859490356445312e+02, 2.8720703125e+02, 2.88912353515625e+02, 2.907305603027344e+02, 2.923273620605469e+02, 2.935787963867188e+02, 2.94692626953125e+02, 2.956164245605469e+02, 2.962905883789062e+02, 2.964544982910156e+02, 2.957348327636719e+02, 2.947469482421875e+02, 2.941707153320312e+02, 2.945255432128906e+02, 2.952180786132812e+02, 2.959835205078125e+02, 2.966849975585938e+02, 2.972063293457031e+02, 2.977015075683594e+02, 2.981763610839844e+02, 2.984269714355469e+02, 2.982019653320312e+02, 2.981682739257812e+02, 2.98164306640625e+02, 2.981634521484375e+02, 2.981642761230469e+02, 2.981651916503906e+02, 2.981649780273438e+02, 2.981639404296875e+02, 2.981622619628906e+02, 2.981559143066406e+02, 2.981495666503906e+02, 2.981468505859375e+02, 2.981481018066406e+02, 2.981552124023438e+02, 2.981621398925781e+02, 2.981636962890625e+02, 2.981602478027344e+02, 2.9810888671875e+02, 2.979305419921875e+02, 2.964396667480469e+02, 2.946912841796875e+02, 2.943062744140625e+02, 2.951238403320312e+02, 2.964428405761719e+02, 2.976565551757812e+02, 2.981751403808594e+02, 2.98253662109375e+02, 2.98253662109375e+02, 2.98253662109375e+02, 2.98253662109375e+02, 2.98253662109375e+02, 2.98253662109375e+02, 2.98253662109375e+02, 2.98253662109375e+02, 2.98253662109375e+02, 2.98253662109375e+02, 2.98253662109375e+02, 2.98253662109375e+02, 2.98253662109375e+02, 2.98253662109375e+02, 2.98253662109375e+02, 2.98253662109375e+02, 2.98253662109375e+02, 2.98253662109375e+02, 2.98253662109375e+02, 2.98253662109375e+02, 2.98253662109375e+02, 2.98253662109375e+02, 2.98253662109375e+02, 2.98253662109375e+02, 2.98253662109375e+02, 2.98253662109375e+02, 2.98253662109375e+02, 2.98253662109375e+02, 2.98253662109375e+02] +senTemHXOut.T=[2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.848058471679688e+02, 2.846711730957031e+02, 2.847910461425781e+02, 2.852041015625e+02, 2.859489440917969e+02, 2.8720703125e+02, 2.88912353515625e+02, 2.907305603027344e+02, 2.923273620605469e+02, 2.935787963867188e+02, 2.94692626953125e+02, 2.956164245605469e+02, 2.962905883789062e+02, 2.964544982910156e+02, 2.957348327636719e+02, 2.947469482421875e+02, 2.941707153320312e+02, 2.945255432128906e+02, 2.952180786132812e+02, 2.959835205078125e+02, 2.966849975585938e+02, 2.972063293457031e+02, 2.977015075683594e+02, 2.981763610839844e+02, 2.984269714355469e+02, 2.982019653320312e+02, 2.981682739257812e+02, 2.98164306640625e+02, 2.981634521484375e+02, 2.981642761230469e+02, 2.981651916503906e+02, 2.981650085449219e+02, 2.981639404296875e+02, 2.981622619628906e+02, 2.981559143066406e+02, 2.981495666503906e+02, 2.981468505859375e+02, 2.981481018066406e+02, 2.981552124023438e+02, 2.981621398925781e+02, 2.981636962890625e+02, 2.981602478027344e+02, 2.9810888671875e+02, 2.979303894042969e+02, 2.964396667480469e+02, 2.946912841796875e+02, 2.943062744140625e+02, 2.951238403320312e+02, 2.964428405761719e+02, 2.976565551757812e+02, 2.981751403808594e+02, 2.982535705566406e+02, 2.982535400390625e+02, 2.982535400390625e+02, 2.982534790039062e+02, 2.982534790039062e+02, 2.982534790039062e+02, 2.982534790039062e+02, 2.982534790039062e+02, 2.982534790039062e+02, 2.982534790039062e+02, 2.982534790039062e+02, 2.982534790039062e+02, 2.982534790039062e+02, 2.982534790039062e+02, 2.982534790039062e+02, 2.982534790039062e+02, 2.982534790039062e+02, 2.982534790039062e+02, 2.982534790039062e+02, 2.982534790039062e+02, 2.982534790039062e+02, 2.982534790039062e+02, 2.982534790039062e+02, 2.982534790039062e+02, 2.982534790039062e+02, 2.982534790039062e+02, 2.982534790039062e+02, 2.982534790039062e+02, 2.982534790039062e+02] TMixSetPoi.y=[2.981499938964844e+02, 2.981499938964844e+02] -whe.port_a1.Xi_outflow[1]=[1.020082738250494e-02, 1.01562337949872e-02, 1.00783184170723e-02, 9.996542707085609e-03, 9.938318282365799e-03, 9.908336214721203e-03, 9.878899902105331e-03, 9.84929408878088e-03, 9.819529950618744e-03, 9.77362971752882e-03, 9.6778878942132e-03, 9.566104970872402e-03, 9.473696351051331e-03, 9.429263882339001e-03, 9.422294795513153e-03, 9.431302547454834e-03, 9.436560794711113e-03, 9.420059621334076e-03, 9.391364641487598e-03, 9.358547627925873e-03, 9.325146675109863e-03, 8.137145079672337e-03, 8.122085593640804e-03, 8.206699043512344e-03, 8.411874994635582e-03, 8.763079531490803e-03, 9.398895315825939e-03, 1.034505292773247e-02, 1.143034640699625e-02, 1.241556368768215e-02, 1.315876096487045e-02, 1.378693338483572e-02, 1.425285078585148e-02, 1.450714096426964e-02, 1.438504923135042e-02, 1.369496528059244e-02, 1.286804024130106e-02, 1.230658404529095e-02, 1.217551529407501e-02, 1.168260723352432e-02, 1.085670199245214e-02, 9.97223611921072e-03, 9.36471950262785e-03, 8.902018889784813e-03, 8.507907390594482e-03, 8.223498240113258e-03, 8.098715916275978e-03, 8.165220730006695e-03, 8.340694941580296e-03, 8.511393330991268e-03, 8.560599759221077e-03, 8.413743227720261e-03, 8.153790608048439e-03, 7.901248522102833e-03, 7.781551219522953e-03, 7.89081584662199e-03, 8.167044259607792e-03, 8.504312485456467e-03, 8.799020200967789e-03, 8.933519944548607e-03, 8.86286236345768e-03, 8.718964643776417e-03, 8.648307994008064e-03, 8.916387334465981e-03, 9.894336573779583e-03, 1.078152004629374e-02, 1.121085416525602e-02, 1.130799576640129e-02, 1.129153650254011e-02, 1.117290556430817e-02, 1.099951472133398e-02, 1.098693627864122e-02, 1.106338948011398e-02, 1.110631413757801e-02, 1.114096026867628e-02, 1.11555652692914e-02, 1.115310564637184e-02, 1.114236563444138e-02, 1.108799315989017e-02, 1.10308937728405e-02, 1.095473859459162e-02, 1.083551906049252e-02, 1.070331037044525e-02, 1.058470457792282e-02, 1.0462686419487e-02, 1.025591883808374e-02, 1.003508549183607e-02, 9.884104132652283e-03, 9.871749207377434e-03, 9.938213042914867e-03, 1.003242190927267e-02, 1.011484116315842e-02, 1.014900207519531e-02, 1.014620251953602e-02, 1.013580523431301e-02, 1.01421857252717e-02, 1.018837280571461e-02, 1.025786157697439e-02, 1.033260300755501e-02, 1.041018962860107e-02, 1.048825681209564e-02] -whe.port_b1.Xi_outflow[1]=[1.04016549885273e-02, 1.03124687448144e-02, 1.015663705766201e-02, 9.993084706366062e-03, 9.876636788249016e-03, 9.816672652959824e-03, 9.757800027728081e-03, 9.698587469756603e-03, 9.639059193432331e-03, 9.547258727252483e-03, 9.355776011943817e-03, 9.132210165262222e-03, 8.947391994297504e-03, 8.858527988195419e-03, 8.844588883221149e-03, 8.862605318427086e-03, 8.873116225004196e-03, 8.84011946618557e-03, 8.78272857517004e-03, 8.717095479369164e-03, 8.650294505059719e-03, 8.137145079672337e-03, 8.122085593640804e-03, 8.206699043512344e-03, 8.411874994635582e-03, 8.763079531490803e-03, 9.398895315825939e-03, 1.034505292773247e-02, 1.143034640699625e-02, 1.241556368768215e-02, 1.315876096487045e-02, 1.378693338483572e-02, 1.425285078585148e-02, 1.450714096426964e-02, 1.438504923135042e-02, 1.369496528059244e-02, 1.286804024130106e-02, 1.230658404529095e-02, 1.217551529407501e-02, 1.168260723352432e-02, 1.085670199245214e-02, 9.97223611921072e-03, 9.36471950262785e-03, 8.902018889784813e-03, 8.507907390594482e-03, 8.234995417296886e-03, 8.123492822051048e-03, 8.151986636221409e-03, 8.289935998618603e-03, 8.449546061456203e-03, 8.531374856829643e-03, 8.459034375846386e-03, 8.267165161669254e-03, 8.041513152420521e-03, 7.881222292780876e-03, 7.877963595092297e-03, 8.037080988287926e-03, 8.303587324917316e-03, 8.593156933784485e-03, 8.798799477517605e-03, 8.841468021273613e-03, 8.776242844760418e-03, 8.704190142452717e-03, 8.789260871708393e-03, 9.568498469889164e-03, 1.078152004629374e-02, 1.121085416525602e-02, 1.130799576640129e-02, 1.129153650254011e-02, 1.117290556430817e-02, 1.099951472133398e-02, 1.098693627864122e-02, 1.108502689749002e-02, 1.117087714374065e-02, 1.124016754329205e-02, 1.12693514674902e-02, 1.126445923000574e-02, 1.123600080609322e-02, 1.113423518836498e-02, 1.102003641426563e-02, 1.086772512644529e-02, 1.062928512692451e-02, 1.036486867815256e-02, 1.012765895575285e-02, 9.883587248623371e-03, 9.470086544752121e-03, 9.0284189209342e-03, 8.726434782147408e-03, 8.7017472833395e-03, 8.834674023091793e-03, 9.0230917558074e-03, 9.187931194901466e-03, 9.256236255168915e-03, 9.25065390765667e-03, 9.229856543242931e-03, 9.242618456482887e-03, 9.334995411336422e-03, 9.473972022533417e-03, 9.6234530210495e-03, 9.778626263141632e-03, 9.934762492775917e-03] -whe.senSupMasFlo.m_flow=[0e+00, 0e+00, -6.431433905326276e-30, -1.165375153782612e-28, -2.646439595881945e-29, -4.444476657679377e-29, -4.445450155080954e-29, -4.413999117236003e-29, -4.413764093597477e-29, -4.413761686185046e-29, -4.413770413055107e-29, -4.413760482478831e-29, -4.413771917687876e-29, -4.413801107563596e-29, -4.413818561303717e-29, -4.413773422320645e-29, -9.64341617619168e-21, -4.413434879947608e-29, -4.413440597552131e-29, -4.417609333102068e-29, -4.417606022909976e-29, 5.743309117178796e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 7.269910184959372e-08, 8.69821310043335e-02, 3.234779834747314e-01, 3.773662745952606e-01, 4.063303768634796e-01, 4.299194812774658e-01, 4.519365429878235e-01, 4.736229181289673e-01, 4.936095178127289e-01, 5.109586715698242e-01, 5.253400206565857e-01, 5.350459218025208e-01, 5.372900366783142e-01, 5.351210236549377e-01, 5.322843194007874e-01, 5.335095524787903e-01, 5.425741672515869e-01, 5.547639727592468e-01, 5.650573968887329e-01, 5.624150633811951e-01, 4.075564742088318e-01, 5.74331693314889e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 9.731658678902022e-08, 2.73678833417147e-16, 5.262562232336173e-16, 1.575180551315405e-13, 3.514106757321334e-12, -6.453782549608461e-14, 2.349164439363616e-11, -8.931635135265778e-14, -9.589402297401073e-14, -6.409635734498653e-13, -9.59013752199929e-14, -9.59013752199929e-14, 9.942239089302807e-13, -1.731089338714853e-12, -9.59013752199929e-14, -9.59013752199929e-14, -1.186026645817739e-12, -9.59013752199929e-14, -9.59013752199929e-14, -9.59013752199929e-14, 4.491612702432757e-13, -1.186026645817739e-12, -9.59013752199929e-14, -6.409640071307343e-13, -9.59013752199929e-14, 4.491612702432757e-13, 4.491612702432757e-13, -6.409640071307343e-13, -6.409640071307343e-13, 4.491612702432757e-13] +whe.port_a1.Xi_outflow[1]=[1.020082738250494e-02, 1.01562337949872e-02, 1.00783184170723e-02, 9.996542707085609e-03, 9.938318282365799e-03, 9.908336214721203e-03, 9.878899902105331e-03, 9.84929408878088e-03, 9.819529950618744e-03, 9.77362971752882e-03, 9.6778878942132e-03, 9.566104970872402e-03, 9.473696351051331e-03, 9.429263882339001e-03, 9.422294795513153e-03, 9.431302547454834e-03, 9.436560794711113e-03, 9.420059621334076e-03, 9.391364641487598e-03, 9.358547627925873e-03, 9.325146675109863e-03, 8.137145079672337e-03, 8.122085593640804e-03, 8.206699043512344e-03, 8.411874994635582e-03, 8.763079531490803e-03, 9.398895315825939e-03, 1.034505292773247e-02, 1.143034640699625e-02, 1.241556368768215e-02, 1.315876096487045e-02, 1.378693338483572e-02, 1.425285078585148e-02, 1.450714096426964e-02, 1.438504923135042e-02, 1.369496528059244e-02, 1.286804024130106e-02, 1.230658404529095e-02, 1.217551529407501e-02, 1.168260723352432e-02, 1.085670199245214e-02, 9.97223611921072e-03, 9.36471950262785e-03, 8.902018889784813e-03, 8.507907390594482e-03, 8.223498240113258e-03, 8.098715916275978e-03, 8.165220730006695e-03, 8.340694941580296e-03, 8.511393330991268e-03, 8.560599759221077e-03, 8.413743227720261e-03, 8.153790608048439e-03, 7.901248522102833e-03, 7.781551219522953e-03, 7.89081584662199e-03, 8.167044259607792e-03, 8.504312485456467e-03, 8.799020200967789e-03, 8.933519944548607e-03, 8.86286236345768e-03, 8.718964643776417e-03, 8.648307994008064e-03, 8.916387334465981e-03, 9.894336573779583e-03, 1.078152004629374e-02, 1.121085416525602e-02, 1.130799576640129e-02, 1.129153650254011e-02, 1.117290556430817e-02, 1.099951472133398e-02, 1.098693627864122e-02, 1.104177813977003e-02, 1.104177813977003e-02, 1.130424998700619e-02, 1.104177907109261e-02, 1.125229708850384e-02, 1.12228337675333e-02, 1.108800992369652e-02, 1.103091053664684e-02, 1.095475722104311e-02, 1.083553582429886e-02, 1.070332713425159e-02, 1.05847604572773e-02, 1.046275533735752e-02, 1.025589276105165e-02, 1.003510225564241e-02, 9.884187020361423e-03, 9.871766902506351e-03, 9.93822980672121e-03, 1.003243867307901e-02, 1.011487748473883e-02, 1.014907006174326e-02, 1.014622021466494e-02, 1.013581920415163e-02, 1.014218665659428e-02, 1.018839236348867e-02, 1.02578941732645e-02, 1.033263374119997e-02, 1.041021849960089e-02, 1.048828568309546e-02] +whe.port_b1.Xi_outflow[1]=[1.04016549885273e-02, 1.03124687448144e-02, 1.015663705766201e-02, 9.993084706366062e-03, 9.876636788249016e-03, 9.816672652959824e-03, 9.757800027728081e-03, 9.698587469756603e-03, 9.639059193432331e-03, 9.547258727252483e-03, 9.355776011943817e-03, 9.132210165262222e-03, 8.947391994297504e-03, 8.858527988195419e-03, 8.844588883221149e-03, 8.862605318427086e-03, 8.873116225004196e-03, 8.84011946618557e-03, 8.78272857517004e-03, 8.717095479369164e-03, 8.650294505059719e-03, 8.137145079672337e-03, 8.122085593640804e-03, 8.206699043512344e-03, 8.411874994635582e-03, 8.763079531490803e-03, 9.398895315825939e-03, 1.034505292773247e-02, 1.143034640699625e-02, 1.241556368768215e-02, 1.315876096487045e-02, 1.378693338483572e-02, 1.425285078585148e-02, 1.450714096426964e-02, 1.438504923135042e-02, 1.369496528059244e-02, 1.286804024130106e-02, 1.230658404529095e-02, 1.217551529407501e-02, 1.168260723352432e-02, 1.085670199245214e-02, 9.97223611921072e-03, 9.36471950262785e-03, 8.902018889784813e-03, 8.507907390594482e-03, 8.234996348619461e-03, 8.123490959405899e-03, 8.151985704898834e-03, 8.289935998618603e-03, 8.449546061456203e-03, 8.531374856829643e-03, 8.459028787910938e-03, 8.267147466540337e-03, 8.041501045227051e-03, 7.881230674684048e-03, 7.877910509705544e-03, 8.037068881094456e-03, 8.303587324917316e-03, 8.593153208494186e-03, 8.798796683549881e-03, 8.841470815241337e-03, 8.776245638728142e-03, 8.704192005097866e-03, 8.789260871708393e-03, 9.568466804921627e-03, 1.078152004629374e-02, 1.121085416525602e-02, 1.130799576640129e-02, 1.129153650254011e-02, 1.117290556430817e-02, 1.099951472133398e-02, 1.098693627864122e-02, 1.105920504778624e-02, 1.109369285404682e-02, 1.130424998700619e-02, 1.104177907109261e-02, 1.133546512573957e-02, 1.128318440169096e-02, 1.1134241707623e-02, 1.102004293352365e-02, 1.086773537099361e-02, 1.062929164618254e-02, 1.036487519741058e-02, 1.012774091213942e-02, 9.883728809654713e-03, 9.46999154984951e-03, 9.028425440192223e-03, 8.726594969630241e-03, 8.701753802597523e-03, 8.83468147367239e-03, 9.023099206387997e-03, 9.187975898385048e-03, 9.256360121071339e-03, 9.250660426914692e-03, 9.22986026853323e-03, 9.242591448128223e-03, 9.335003793239594e-03, 9.474010206758976e-03, 9.62348747998476e-03, 9.778657928109169e-03, 9.93479136377573e-03] +whe.senSupMasFlo.m_flow=[0e+00, 0e+00, -6.431433905326276e-30, -1.165375153782612e-28, -2.646439595881945e-29, -4.444476657679377e-29, -4.445450155080954e-29, -4.413999117236003e-29, -4.413764093597477e-29, -4.413761686185046e-29, -4.413770413055107e-29, -4.413760482478831e-29, -4.413771917687876e-29, -4.413801107563596e-29, -4.413818561303717e-29, -4.413773422320645e-29, -9.64341617619168e-21, -4.413434879947608e-29, -4.413440597552131e-29, -4.417609333102068e-29, -4.417606022909976e-29, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 7.264736012757567e-08, 8.697431534528732e-02, 3.234831392765045e-01, 3.773669898509979e-01, 4.063314199447632e-01, 4.299204051494598e-01, 4.519346058368683e-01, 4.736232459545135e-01, 4.936091601848602e-01, 5.109587907791138e-01, 5.2534019947052e-01, 5.350477695465088e-01, 5.372903943061829e-01, 5.35120964050293e-01, 5.322847962379456e-01, 5.335088968276978e-01, 5.425737500190735e-01, 5.547636747360229e-01, 5.650571584701538e-01, 5.624149441719055e-01, 4.075742959976196e-01, 5.743325814933087e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 9.725631855417305e-08, -4.278613054131686e-12, -1.966870459904624e-12, 1.54991963707829e-09, -8.040196775027653e-08, 5.539538272536504e-11, 1.569000623868888e-10, -8.525052544320136e-14, -6.299643424099999e-13, -8.490839867140998e-14, -8.490862906437163e-14, -8.490862906437163e-14, -6.299712813039038e-13, -6.299712813039038e-13, -1.175033919990909e-12, -8.490862906437163e-14, -8.490862906437163e-14, -8.490862906437163e-14, -8.490862906437163e-14, -8.490862906437163e-14, -8.490862906437163e-14, -8.490862906437163e-14, -8.490862906437163e-14, 4.601539960701062e-13, -6.299712813039038e-13, -6.299712813039038e-13, -8.490862906437163e-14, -8.490862906437163e-14, -8.490862906437163e-14, -8.490862906437163e-14] diff --git a/Buildings/Resources/ReferenceResults/Dymola/Buildings_Fluid_HeatExchangers_ThermalWheels_Sensible_Examples_SpaceCooling.txt b/Buildings/Resources/ReferenceResults/Dymola/Buildings_Fluid_HeatExchangers_ThermalWheels_Sensible_Examples_SpaceCooling.txt index 5b20a82bfe8..fe2e528b581 100644 --- a/Buildings/Resources/ReferenceResults/Dymola/Buildings_Fluid_HeatExchangers_ThermalWheels_Sensible_Examples_SpaceCooling.txt +++ b/Buildings/Resources/ReferenceResults/Dymola/Buildings_Fluid_HeatExchangers_ThermalWheels_Sensible_Examples_SpaceCooling.txt @@ -1,4 +1,4 @@ -last-generated=2024-06-20 +last-generated=2024-06-23 statistics-initialization= { "linear": "0, 0, 0, 0, 4", @@ -14,11 +14,11 @@ statistics-simulation= } time=[1.5552e+07, 1.56384e+07] vol.T_start=[2.931499938964844e+02, 2.931499938964844e+02] -vol.T=[2.931499938964844e+02, 2.935960388183594e+02, 2.938107299804688e+02, 2.938359985351562e+02, 2.93731201171875e+02, 2.935613708496094e+02, 2.933581237792969e+02, 2.931333312988281e+02, 2.928946228027344e+02, 2.926404418945312e+02, 2.923136596679688e+02, 2.918851318359375e+02, 2.913924560546875e+02, 2.909156799316406e+02, 2.905256652832031e+02, 2.902349243164062e+02, 2.900177917480469e+02, 2.898243103027344e+02, 2.895953369140625e+02, 2.893026428222656e+02, 2.889579162597656e+02, 2.88469482421875e+02, 2.866667175292969e+02, 2.861806030273438e+02, 2.862569885253906e+02, 2.867163391113281e+02, 2.875852661132812e+02, 2.889466552734375e+02, 2.906258544921875e+02, 2.923321228027344e+02, 2.937963562011719e+02, 2.950487670898438e+02, 2.961231079101562e+02, 2.969854431152344e+02, 2.971490173339844e+02, 2.971314697265625e+02, 2.966197204589844e+02, 2.958956909179688e+02, 2.956756286621094e+02, 2.960533752441406e+02, 2.966995849609375e+02, 2.971622924804688e+02, 2.971521301269531e+02, 2.971595764160156e+02, 2.971593017578125e+02, 2.971735229492188e+02, 2.971483459472656e+02, 2.971504516601562e+02, 2.971506958007812e+02, 2.971507568359375e+02, 2.971508483886719e+02, 2.971510620117188e+02, 2.971512145996094e+02, 2.971512451171875e+02, 2.97151123046875e+02, 2.97150146484375e+02, 2.97149658203125e+02, 2.971495971679688e+02, 2.971499328613281e+02, 2.971510620117188e+02, 2.97151611328125e+02, 2.971516418457031e+02, 2.971510009765625e+02, 2.971400756835938e+02, 2.971358032226562e+02, 2.971388244628906e+02, 2.967125854492188e+02, 2.95908447265625e+02, 2.959713439941406e+02, 2.968323364257812e+02, 2.971472473144531e+02, 2.971554565429688e+02, 2.978629150390625e+02, 2.990851440429688e+02, 2.998352661132812e+02, 3.001859741210938e+02, 3.001481323242188e+02, 2.997310180664062e+02, 2.990249938964844e+02, 2.98185302734375e+02, 2.973849487304688e+02, 2.966669616699219e+02, 2.960359802246094e+02, 2.955152587890625e+02, 2.951363525390625e+02, 2.948908386230469e+02, 2.947412414550781e+02, 2.946492919921875e+02, 2.945771789550781e+02, 2.94505615234375e+02, 2.944338989257812e+02, 2.943620910644531e+02, 2.942901916503906e+02, 2.9421826171875e+02, 2.941463012695312e+02, 2.940743408203125e+02, 2.940023803710938e+02, 2.939303894042969e+02, 2.938583984375e+02, 2.937864074707031e+02, 2.9371435546875e+02] +vol.T=[2.931499938964844e+02, 2.935960388183594e+02, 2.938107299804688e+02, 2.938359985351562e+02, 2.93731201171875e+02, 2.935613708496094e+02, 2.933581237792969e+02, 2.931333312988281e+02, 2.928946228027344e+02, 2.926404418945312e+02, 2.923136596679688e+02, 2.918851318359375e+02, 2.913924560546875e+02, 2.909156799316406e+02, 2.905256652832031e+02, 2.902349243164062e+02, 2.900177917480469e+02, 2.898243103027344e+02, 2.895953369140625e+02, 2.893026428222656e+02, 2.889579162597656e+02, 2.884694519042969e+02, 2.866667175292969e+02, 2.861805725097656e+02, 2.862569580078125e+02, 2.8671630859375e+02, 2.875852355957031e+02, 2.889466552734375e+02, 2.906258544921875e+02, 2.923321228027344e+02, 2.937963562011719e+02, 2.950487670898438e+02, 2.961231079101562e+02, 2.969854431152344e+02, 2.971490173339844e+02, 2.971314697265625e+02, 2.966197204589844e+02, 2.958956909179688e+02, 2.956756591796875e+02, 2.960534057617188e+02, 2.966995849609375e+02, 2.971622924804688e+02, 2.971521301269531e+02, 2.971595764160156e+02, 2.971593017578125e+02, 2.971735229492188e+02, 2.971483459472656e+02, 2.971504516601562e+02, 2.971506958007812e+02, 2.971507263183594e+02, 2.971508483886719e+02, 2.971510620117188e+02, 2.971512145996094e+02, 2.971512451171875e+02, 2.97151123046875e+02, 2.971501159667969e+02, 2.97149658203125e+02, 2.971495666503906e+02, 2.971499328613281e+02, 2.971510620117188e+02, 2.97151611328125e+02, 2.971516418457031e+02, 2.971510009765625e+02, 2.971400756835938e+02, 2.971358032226562e+02, 2.971388244628906e+02, 2.967125549316406e+02, 2.959084777832031e+02, 2.959713439941406e+02, 2.968323364257812e+02, 2.971472778320312e+02, 2.971554565429688e+02, 2.978628845214844e+02, 2.990851440429688e+02, 2.998351745605469e+02, 3.001859741210938e+02, 3.001482238769531e+02, 2.997310180664062e+02, 2.990248718261719e+02, 2.981852111816406e+02, 2.973848876953125e+02, 2.966669311523438e+02, 2.960359497070312e+02, 2.955152587890625e+02, 2.951363525390625e+02, 2.948908386230469e+02, 2.947412719726562e+02, 2.946492919921875e+02, 2.945772094726562e+02, 2.94505615234375e+02, 2.944338989257812e+02, 2.943620910644531e+02, 2.942901916503906e+02, 2.9421826171875e+02, 2.941463012695312e+02, 2.940743408203125e+02, 2.940023498535156e+02, 2.939303894042969e+02, 2.938583984375e+02, 2.93786376953125e+02, 2.937143859863281e+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.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.902690734863281e+02, 2.900168762207031e+02, 2.895967102050781e+02, 2.891142272949219e+02, 2.886919555664062e+02, 2.884365844726562e+02, 2.88316162109375e+02, 2.882541198730469e+02, 2.881775512695312e+02, 2.880211486816406e+02, 2.877491455078125e+02, 2.874183654785156e+02, 2.870957641601562e+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.984268798828125e+02, 2.982018432617188e+02, 2.981680603027344e+02, 2.981641540527344e+02, 2.981634521484375e+02, 2.981645202636719e+02, 2.981655883789062e+02, 2.98165283203125e+02, 2.981640319824219e+02, 2.981619873046875e+02, 2.981553039550781e+02, 2.981489868164062e+02, 2.981465454101562e+02, 2.981481628417969e+02, 2.981557006835938e+02, 2.981626892089844e+02, 2.981640625e+02, 2.981601257324219e+02, 2.98107177734375e+02, 2.979295043945312e+02, 2.964372253417969e+02, 2.946898803710938e+02, 2.943067016601562e+02, 2.951251831054688e+02, 2.964444274902344e+02, 2.976576538085938e+02, 2.981753234863281e+02, 2.941937255859375e+02, 2.941937255859375e+02, 2.941937255859375e+02, 2.941937255859375e+02, 2.9602001953125e+02, 2.941937255859375e+02, 2.941937255859375e+02, 2.93487548828125e+02, 2.930301818847656e+02, 2.926272583007812e+02, 2.923164367675781e+02, 2.921412353515625e+02, 2.921109924316406e+02, 2.921241149902344e+02, 2.921438598632812e+02, 2.921406860351562e+02, 2.920940856933594e+02, 2.920396118164062e+02, 2.919851379394531e+02, 2.919306335449219e+02, 2.918761901855469e+02, 2.918218078613281e+02, 2.917674255371094e+02, 2.917130126953125e+02, 2.916585693359375e+02, 2.916040649414062e+02, 2.91549560546875e+02, 2.914950561523438e+02, 2.914405517578125e+02] -cooCoi.sta_b2.T=[2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.850066223144531e+02, 2.846719360351562e+02, 2.847826843261719e+02, 2.851853332519531e+02, 2.859185180664062e+02, 2.871560974121094e+02, 2.888516235351562e+02, 2.906712646484375e+02, 2.922807006835938e+02, 2.935388488769531e+02, 2.94657958984375e+02, 2.955890502929688e+02, 2.962724914550781e+02, 2.957259826660156e+02, 2.95759765625e+02, 2.947773742675781e+02, 2.941767578125e+02, 2.945053405761719e+02, 2.951929931640625e+02, 2.959581298828125e+02, 2.951268920898438e+02, 2.952115173339844e+02, 2.949647827148438e+02, 2.947084045410156e+02, 2.940651245117188e+02, 2.934549865722656e+02, 2.933719787597656e+02, 2.93324951171875e+02, 2.932884521484375e+02, 2.932525024414062e+02, 2.932096557617188e+02, 2.931571350097656e+02, 2.931011352539062e+02, 2.9304833984375e+02, 2.930151672363281e+02, 2.930163879394531e+02, 2.930328674316406e+02, 2.930459289550781e+02, 2.930332641601562e+02, 2.92979248046875e+02, 2.929098815917969e+02, 2.928516235351562e+02, 2.928836669921875e+02, 2.934917602539062e+02, 2.955537109375e+02, 2.947334594726562e+02, 2.942952880859375e+02, 2.950852661132812e+02, 2.963969421386719e+02, 2.9524072265625e+02, 2.947373352050781e+02, 2.944199829101562e+02, 2.944199829101562e+02, 2.944199829101562e+02, 2.944199829101562e+02, 2.941937255859375e+02, 2.944199829101562e+02, 2.944199829101562e+02, 2.941937255859375e+02, 2.941937255859375e+02, 2.941937255859375e+02, 2.941937255859375e+02, 2.941937255859375e+02, 2.941937255859375e+02, 2.941937255859375e+02, 2.941937255859375e+02, 2.941937255859375e+02, 2.941937255859375e+02, 2.941937255859375e+02, 2.941937255859375e+02, 2.941937255859375e+02, 2.941937255859375e+02, 2.941937255859375e+02, 2.941937255859375e+02, 2.941937255859375e+02, 2.941937255859375e+02, 2.941937255859375e+02, 2.941937255859375e+02, 2.941937255859375e+02, 2.941937255859375e+02] +cooCoi.sta_a2.T=[2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.902690734863281e+02, 2.900168762207031e+02, 2.895967102050781e+02, 2.891142272949219e+02, 2.886919555664062e+02, 2.884365844726562e+02, 2.88316162109375e+02, 2.882541198730469e+02, 2.881775512695312e+02, 2.880211486816406e+02, 2.877491455078125e+02, 2.874183654785156e+02, 2.870957641601562e+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.984269409179688e+02, 2.982018127441406e+02, 2.981680603027344e+02, 2.981641540527344e+02, 2.981634521484375e+02, 2.981645202636719e+02, 2.981655883789062e+02, 2.98165283203125e+02, 2.981640319824219e+02, 2.981619873046875e+02, 2.981553039550781e+02, 2.981489868164062e+02, 2.981465454101562e+02, 2.981481628417969e+02, 2.981557006835938e+02, 2.981626892089844e+02, 2.981640625e+02, 2.981601257324219e+02, 2.98107177734375e+02, 2.979295349121094e+02, 2.964372253417969e+02, 2.946898803710938e+02, 2.943067016601562e+02, 2.951251831054688e+02, 2.964444274902344e+02, 2.976576538085938e+02, 2.981753234863281e+02, 2.941943969726562e+02, 2.941943969726562e+02, 2.980774841308594e+02, 2.967308044433594e+02, 2.9660986328125e+02, 2.941943969726562e+02, 2.941923217773438e+02, 2.941943969726562e+02, 2.941943969726562e+02, 2.926271057128906e+02, 2.923165893554688e+02, 2.921413879394531e+02, 2.941943969726562e+02, 2.921242370605469e+02, 2.921440124511719e+02, 2.921406860351562e+02, 2.941943969726562e+02, 2.941943969726562e+02, 2.941943969726562e+02, 2.941943969726562e+02, 2.918763427734375e+02, 2.941943969726562e+02, 2.941943969726562e+02, 2.917131652832031e+02, 2.916585388183594e+02, 2.941943969726562e+02, 2.915497131347656e+02, 2.941943969726562e+02, 2.941943969726562e+02] +cooCoi.sta_b2.T=[2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.850065307617188e+02, 2.846719360351562e+02, 2.847826843261719e+02, 2.851853332519531e+02, 2.859185180664062e+02, 2.871560974121094e+02, 2.888516235351562e+02, 2.906712646484375e+02, 2.922807006835938e+02, 2.935388488769531e+02, 2.94657958984375e+02, 2.955890502929688e+02, 2.962724914550781e+02, 2.957259826660156e+02, 2.95759521484375e+02, 2.947773742675781e+02, 2.941767578125e+02, 2.945053405761719e+02, 2.951929931640625e+02, 2.959581298828125e+02, 2.951267700195312e+02, 2.952116394042969e+02, 2.949649353027344e+02, 2.947083740234375e+02, 2.940653381347656e+02, 2.93454833984375e+02, 2.933719177246094e+02, 2.933248901367188e+02, 2.932884216308594e+02, 2.9325244140625e+02, 2.932096252441406e+02, 2.931571350097656e+02, 2.931011352539062e+02, 2.9304833984375e+02, 2.930151672363281e+02, 2.930163879394531e+02, 2.930328369140625e+02, 2.930459289550781e+02, 2.930332641601562e+02, 2.929792175292969e+02, 2.929098815917969e+02, 2.928516235351562e+02, 2.928837280273438e+02, 2.934918518066406e+02, 2.955535888671875e+02, 2.947333984375e+02, 2.942952880859375e+02, 2.950852661132812e+02, 2.963969421386719e+02, 2.952407531738281e+02, 2.947372131347656e+02, 2.944201049804688e+02, 2.944201049804688e+02, 2.941943969726562e+02, 2.941943969726562e+02, 2.941943969726562e+02, 2.944201049804688e+02, 2.941943969726562e+02, 2.944201049804688e+02, 2.944201049804688e+02, 2.941943969726562e+02, 2.941943969726562e+02, 2.941943969726562e+02, 2.944201049804688e+02, 2.941943969726562e+02, 2.941943969726562e+02, 2.941943969726562e+02, 2.944201049804688e+02, 2.944201049804688e+02, 2.944201049804688e+02, 2.944201049804688e+02, 2.941943969726562e+02, 2.944201049804688e+02, 2.944201049804688e+02, 2.941943969726562e+02, 2.941943969726562e+02, 2.944201049804688e+02, 2.941943969726562e+02, 2.944201049804688e+02, 2.944201049804688e+02] opeSig.y=[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, 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, 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, 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] -senTemHXOut.T=[2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.848058471679688e+02, 2.846711730957031e+02, 2.847910461425781e+02, 2.852041015625e+02, 2.859490661621094e+02, 2.8720703125e+02, 2.88912353515625e+02, 2.907305603027344e+02, 2.923273620605469e+02, 2.935787963867188e+02, 2.94692626953125e+02, 2.956164245605469e+02, 2.962905883789062e+02, 2.964544982910156e+02, 2.957348327636719e+02, 2.947469482421875e+02, 2.941707153320312e+02, 2.945255432128906e+02, 2.952180786132812e+02, 2.959835205078125e+02, 2.966849975585938e+02, 2.972063293457031e+02, 2.977015075683594e+02, 2.981763610839844e+02, 2.984271240234375e+02, 2.982019348144531e+02, 2.981680908203125e+02, 2.981641540527344e+02, 2.981634521484375e+02, 2.981645202636719e+02, 2.981655883789062e+02, 2.981653137207031e+02, 2.981640319824219e+02, 2.981619873046875e+02, 2.981553039550781e+02, 2.981489868164062e+02, 2.981465454101562e+02, 2.981481628417969e+02, 2.981557006835938e+02, 2.981626892089844e+02, 2.981640625e+02, 2.981601257324219e+02, 2.981073303222656e+02, 2.979299926757812e+02, 2.964396667480469e+02, 2.946912841796875e+02, 2.943062744140625e+02, 2.951238403320312e+02, 2.964428405761719e+02, 2.976565551757812e+02, 2.981751403808594e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02] +senTemHXOut.T=[2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.848058471679688e+02, 2.846711730957031e+02, 2.847910461425781e+02, 2.852041015625e+02, 2.859490356445312e+02, 2.8720703125e+02, 2.88912353515625e+02, 2.907305603027344e+02, 2.923273620605469e+02, 2.935787963867188e+02, 2.94692626953125e+02, 2.956164245605469e+02, 2.962905883789062e+02, 2.964544982910156e+02, 2.957348327636719e+02, 2.947469482421875e+02, 2.941707153320312e+02, 2.945255432128906e+02, 2.952180786132812e+02, 2.959835205078125e+02, 2.966849975585938e+02, 2.972063293457031e+02, 2.977015075683594e+02, 2.981763610839844e+02, 2.984271850585938e+02, 2.98201904296875e+02, 2.981680908203125e+02, 2.981641235351562e+02, 2.981634521484375e+02, 2.981645202636719e+02, 2.981656188964844e+02, 2.98165283203125e+02, 2.981640319824219e+02, 2.981619873046875e+02, 2.981553039550781e+02, 2.981489868164062e+02, 2.981465454101562e+02, 2.981481628417969e+02, 2.981556701660156e+02, 2.981626892089844e+02, 2.981640625e+02, 2.981601257324219e+02, 2.981073303222656e+02, 2.979300537109375e+02, 2.964396667480469e+02, 2.946912841796875e+02, 2.943062744140625e+02, 2.951238403320312e+02, 2.964428405761719e+02, 2.976565551757812e+02, 2.981751403808594e+02, 2.982535400390625e+02, 2.982535400390625e+02, 2.982535400390625e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02, 2.982535705566406e+02] TMixSetPoi.y=[2.981499938964844e+02, 2.981499938964844e+02] -whe.senSupMasFlo.m_flow=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.484671949667417e-39, 1.190687688775063e-32, 1.199573397509722e-32, 9.64341617619168e-21, 1.408186102429849e-32, 1.387074370825874e-32, 1.380611943695435e-32, 1.360324380568181e-32, 1.928683235238336e-20, 8.141630361480616e-33, 8.191026838154077e-33, 9.64341617619168e-21, 1.458067323586229e-32, 5.743309117178796e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 7.270976709605748e-08, 8.702646195888519e-02, 3.237918317317963e-01, 3.773355782032013e-01, 4.059529602527618e-01, 4.294154644012451e-01, 4.516304731369019e-01, 4.738048017024994e-01, 4.942177534103394e-01, 5.117353796958923e-01, 5.259471535682678e-01, 5.351343750953674e-01, 5.367643237113953e-01, 5.341477990150452e-01, 5.311824679374695e-01, 5.326873660087585e-01, 5.423303246498108e-01, 5.549526214599609e-01, 5.653319954872131e-01, 5.621629953384399e-01, 4.042332768440247e-01, 5.743316222606154e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 9.724735861027511e-08, -1.558182486829902e-16, -2.671767649920507e-15, -1.910148403924498e-14, -6.380397078731281e-12, 3.535883981171505e-16, -1.814892637216903e-12, -2.739144089498879e-13, 1.519172903251785e-14, 1.515335844000723e-14, 1.514518118393444e-14, 1.514518118393444e-14, 1.514518118393444e-14, 1.514518118393444e-14, 1.514518118393444e-14, 1.514518118393444e-14, 1.514518118393444e-14, 1.514518118393444e-14, 1.514518118393444e-14, 1.514518118393444e-14, 1.514518118393444e-14, 1.514518118393444e-14, 1.514518118393444e-14, 1.514518118393444e-14, 1.514518118393444e-14, 1.514518118393444e-14, 1.514518118393444e-14, 1.514518118393444e-14, 1.514518118393444e-14, 1.514518118393444e-14] +whe.senSupMasFlo.m_flow=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.484671949667417e-39, 1.190687688775063e-32, 1.199573397509722e-32, 9.64341617619168e-21, 1.408186102429849e-32, 1.387074370825874e-32, 1.380611943695435e-32, 1.360324380568181e-32, 1.928683235238336e-20, 8.141630361480616e-33, 8.191026838154077e-33, 9.64341617619168e-21, 1.458067323586229e-32, 5.74331693314889e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 7.271409430131826e-08, 8.702292293310165e-02, 3.238081336021423e-01, 3.773366808891296e-01, 4.059539139270782e-01, 4.294155240058899e-01, 4.516304135322571e-01, 4.738050401210785e-01, 4.942173361778259e-01, 5.117358565330505e-01, 5.259470343589783e-01, 5.351342558860779e-01, 5.367643237113953e-01, 5.341478586196899e-01, 5.311825275421143e-01, 5.32687783241272e-01, 5.42330801486969e-01, 5.5495285987854e-01, 5.653319358825684e-01, 5.621614456176758e-01, 4.042231738567352e-01, 5.743317288420258e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 5.743316577877522e-08, 9.726815619615081e-08, -1.336427090716798e-15, -3.149891805720451e-12, 4.251921037479178e-10, 2.77262428646655e-14, 7.773979376901607e-11, -1.104984159727707e-11, 2.703484408995288e-13, -1.906280580436792e-13, -1.905982695889902e-13, 1.444589673577079e-12, 3.544643962030691e-13, 3.544643962030691e-13, -1.905982695889902e-13, 3.544643962030691e-13, 3.544643962030691e-13, 8.995270348900741e-13, -1.905982695889902e-13, -1.905982695889902e-13, -7.356609353810495e-13, -7.356609353810495e-13, 3.544643962030691e-13, -7.356609353810495e-13, -7.356609353810495e-13, 3.544643962030691e-13, 8.995270348900741e-13, -1.905982695889902e-13, 3.544643962030691e-13, -1.905982695889902e-13, -7.356609353810495e-13] From 1af8bcbb9859fd5569fc65b19ead18b87398ff38 Mon Sep 17 00:00:00 2001 From: SenHuang19 Date: Mon, 24 Jun 2024 08:06:29 -0400 Subject: [PATCH 21/27] minor change --- .../ThermalWheels/Latent/BaseClasses/Effectiveness.mo | 2 -- .../ThermalWheels/Sensible/BaseClasses/Effectiveness.mo | 2 -- 2 files changed, 4 deletions(-) diff --git a/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BaseClasses/Effectiveness.mo b/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BaseClasses/Effectiveness.mo index 342066dd122..c1a66c4e1fc 100644 --- a/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BaseClasses/Effectiveness.mo +++ b/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BaseClasses/Effectiveness.mo @@ -22,12 +22,10 @@ model Effectiveness "Nominal supply air mass flow rate"; Buildings.Controls.OBC.CDL.Interfaces.RealInput TSup( - final min=0, final unit="K") "Supply air temperature" annotation (Placement(transformation(extent={{-140,-60},{-100,-20}}))); Buildings.Controls.OBC.CDL.Interfaces.RealInput TExh( - final min=0, final unit="K") "Exhaust air temperature" annotation (Placement(transformation(extent={{-140,-100},{-100,-60}}))); diff --git a/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/BaseClasses/Effectiveness.mo b/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/BaseClasses/Effectiveness.mo index dbfcafa9132..eab917f931a 100644 --- a/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/BaseClasses/Effectiveness.mo +++ b/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/BaseClasses/Effectiveness.mo @@ -14,12 +14,10 @@ model Effectiveness "Nominal supply air mass flow rate"; Buildings.Controls.OBC.CDL.Interfaces.RealInput TSup( - final min=0, final unit="K") "Supply air temperature" annotation (Placement(transformation(extent={{-140,-60},{-100,-20}}))); Buildings.Controls.OBC.CDL.Interfaces.RealInput TExh( - final min=0, final unit="K") "Exhaust air temperature" annotation (Placement(transformation(extent={{-140,-100},{-100,-60}}))); From 3b4309d4746d5b5a9976ebf2edda2f61b839e5b6 Mon Sep 17 00:00:00 2001 From: SenHuang19 Date: Fri, 5 Jul 2024 11:28:09 -0400 Subject: [PATCH 22/27] model doc update --- .../Characteristics/heatExchangerEffectivenessParameters.mo | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Characteristics/heatExchangerEffectivenessParameters.mo b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Characteristics/heatExchangerEffectivenessParameters.mo index 40a0c059147..d29d74a63dd 100644 --- a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Characteristics/heatExchangerEffectivenessParameters.mo +++ b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Characteristics/heatExchangerEffectivenessParameters.mo @@ -8,12 +8,12 @@ record heatExchangerEffectivenessParameters "Correction of the heat exchange effectiveness under a given speed ratio"; annotation (Documentation(info="

    -Data record that describes wheel speed ratio versus -heat exchange effectiveness corrections, i.e., the ratio of the heat exchange effectiveness +Data record that describes wheel speed ratio uSpe versus +heat exchange effectiveness corrections epsCor, i.e., the ratio of the heat exchange effectiveness to that when the uSpe is 1. The wheel speed ratio uSpe must be increasing, i.e.,uSpe[i] < uSpe[i+1]. -Both vectors, uSpe and uSpe +Both vectors, uSpe and epsCor must have the same size.

    ", revisions=" From df18e6bc3fb53057bb707cfd0ca46c429f13e7ca Mon Sep 17 00:00:00 2001 From: SenHuang19 Date: Wed, 14 Aug 2024 16:41:49 -0400 Subject: [PATCH 23/27] improve the model doc --- .../heatExchangerEffectivenessParameters.mo | 6 +++--- .../Characteristics/motorEfficiencyParameters.mo | 2 +- .../BaseClasses/Data/Generic.mo | 16 ++++++++-------- .../VariableSpeedThermalWheels/Sensible.mo | 9 +++++++-- 4 files changed, 19 insertions(+), 14 deletions(-) diff --git a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Characteristics/heatExchangerEffectivenessParameters.mo b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Characteristics/heatExchangerEffectivenessParameters.mo index d29d74a63dd..5c53123665a 100644 --- a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Characteristics/heatExchangerEffectivenessParameters.mo +++ b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Characteristics/heatExchangerEffectivenessParameters.mo @@ -1,17 +1,17 @@ within Buildings.Fluid.HeatExchangers.BaseClasses.VariableSpeedThermalWheels.BaseClasses.Characteristics; record heatExchangerEffectivenessParameters - "Record for heat exchanger effectiveness correction vs. wheel speed ratio" + "Parameters for defining heat exchanger effectiveness at different wheel speed ratio" extends Modelica.Icons.Record; parameter Real uSpe[:](each min=0) "Wheel speed ratio"; parameter Real epsCor[:](each max=1) - "Correction of the heat exchange effectiveness under a given speed ratio"; + "Correction of the heat exchange effectiveness at a given speed ratio"; annotation (Documentation(info="

    Data record that describes wheel speed ratio uSpe versus heat exchange effectiveness corrections epsCor, i.e., the ratio of the heat exchange effectiveness to that when the uSpe is 1. -The wheel speed ratio uSpe must be increasing, +The elements of the vector uSpe should be in ascending order, i.e.,uSpe[i] < uSpe[i+1]. Both vectors, uSpe and epsCor must have the same size. diff --git a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Characteristics/motorEfficiencyParameters.mo b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Characteristics/motorEfficiencyParameters.mo index f7621ad4e5b..93b2e0202f9 100644 --- a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Characteristics/motorEfficiencyParameters.mo +++ b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Characteristics/motorEfficiencyParameters.mo @@ -1,6 +1,6 @@ within Buildings.Fluid.HeatExchangers.BaseClasses.VariableSpeedThermalWheels.BaseClasses.Characteristics; record motorEfficiencyParameters - "Record for motor efficiency parameters vs. wheel speed ratio" + "Parameters for defining motor efficiency at different wheel speed ratio" extends Modelica.Icons.Record; parameter Real uSpe[:](each min=0) "Wheel speed ratio"; diff --git a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Data/Generic.mo b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Data/Generic.mo index bbb85460a44..c78a05ac690 100644 --- a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Data/Generic.mo +++ b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Data/Generic.mo @@ -55,22 +55,22 @@ The record contains four datasets:

    • -wheel speed ratio versus motor percent full-load -efficiency, +the motor efficiency versus wheel speed ratio,
    • -wheel speed ratio versus default motor percent full-load +the default motor percent full-load efficiency (see -Buildings.Fluid.Movers.BaseClasses.Characteristics.motorEfficiencyCurve), +Buildings.Fluid.Movers.BaseClasses.Characteristics.motorEfficiencyCurve) +versus wheel speed ratio,
    • -wheel speed ratio versus sensible heat exchange effectiveness -corrections, +the sensible heat exchange effectiveness +corrections versus wheel speed ratio,
    • -wheel speed ratio versus latent heat exchange effectiveness -corrections. +the latent heat exchange effectiveness +corrections versus wheel speed ratio .

    diff --git a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/Sensible.mo b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/Sensible.mo index 2555d88401c..802fc730580 100644 --- a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/Sensible.mo +++ b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/Sensible.mo @@ -72,8 +72,13 @@ P = P_nominal * uSpe / eta,

    where P_nominal is the nominal wheel power consumption, uSpe is the wheel speed ratio, -and the eta is the motor percent full-load efficiency, i.e., -the ratio of the motor efficiency to that when the uSpe is 1. +and eta is the motor percent full-load efficiency, +which is calculated by +

    +eta = eff(uSpe=x) / eff(uSpe=1), +

    +

    +where eff(uSpe=x) is the motor efficiency when the speed ratio is x. The eta is obtained based on the cubic hermite spline interpolation of the motor percent full-load efficiency dataset (see From 37f3c7d4a0e53f3d827d38a26097bc59828fd64c Mon Sep 17 00:00:00 2001 From: SenHuang19 Date: Fri, 30 Aug 2024 00:06:27 -0400 Subject: [PATCH 24/27] model doc improve --- .../motorEfficiencyParameters.mo | 9 ++++--- .../BaseClasses/Data/Generic.mo | 10 ++++---- .../VariableSpeedThermalWheels/Sensible.mo | 4 +-- .../Validation/VariableSpeedThermalWheels.mo | 11 ++++---- .../Latent/Validation/SpeedControlled.mo | 24 +++++++++--------- .../Sensible/Validation/SpeedControlled.mo | 25 ++++++++++--------- 6 files changed, 44 insertions(+), 39 deletions(-) diff --git a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Characteristics/motorEfficiencyParameters.mo b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Characteristics/motorEfficiencyParameters.mo index 93b2e0202f9..86e6c17fc83 100644 --- a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Characteristics/motorEfficiencyParameters.mo +++ b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Characteristics/motorEfficiencyParameters.mo @@ -8,10 +8,13 @@ record motorEfficiencyParameters "Wheel motor efficiency at wheel speed ratios"; annotation (Documentation(info="

    -This model is identical to +This model describes wheel speed ratio uSpe versus +the motor percent full-load efficiency (see + +Buildings.Fluid.Movers.BaseClasses.Characteristics.motorEfficiencyCurve). +It is developed based on -Buildings.Fluid.Movers.BaseClasses.Characteristics.efficiencyParameters_yMot, -with the original definition expanded to cover wheels. +Buildings.Fluid.Movers.BaseClasses.Characteristics.efficiencyParameters_yMot.

    ", revisions=" diff --git a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Data/Generic.mo b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Data/Generic.mo index c78a05ac690..5b842acdbe1 100644 --- a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Data/Generic.mo +++ b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Data/Generic.mo @@ -79,14 +79,14 @@ Note that
    • When haveLatentHeatExchange is false, -the dataset of wheel speed ratio versus latent heat exchange effectiveness -corrections is disabled, +the dataset of the latent heat exchange effectiveness +corrections versus wheel speed ratio is disabled,
    • When useDefaultMotorEfficiencyCurve is true, -the curve of wheel speed ratio versus motor percent full-load -efficiency is disabled while the curve of wheel speed ratio -versus default motor percent full-load efficiency is enabled. +the motor efficiency versus wheel speed ratio is disabled +while the default motor percent full-load +efficiency versus wheel speed ratio is enabled.
    ")); diff --git a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/Sensible.mo b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/Sensible.mo index 802fc730580..3057f9a9fb0 100644 --- a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/Sensible.mo +++ b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/Sensible.mo @@ -82,8 +82,8 @@ where eff(uSpe=x) is the motor efficiency when the speed ratio is < The eta is obtained based on the cubic hermite spline interpolation of the motor percent full-load efficiency dataset (see -Buildings.Fluid.HeatExchangers.BaseClasses.BaseClasses.VariableSpeedThermalWheels.Characteristics.motorEfficiencyParameters.). -Please note that uSpe/eta should be less or equal to 1. +Buildings.Fluid.HeatExchangers.BaseClasses.BaseClasses.VariableSpeedThermalWheels.Characteristics.motorEfficiencyParameters). +Please note that uSpe/eta must be less or equal to 1.

  • diff --git a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/Validation/VariableSpeedThermalWheels.mo b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/Validation/VariableSpeedThermalWheels.mo index 442c6d78773..ace01b2a6b2 100644 --- a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/Validation/VariableSpeedThermalWheels.mo +++ b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/Validation/VariableSpeedThermalWheels.mo @@ -2,17 +2,18 @@ within Buildings.Fluid.HeatExchangers.BaseClasses.VariableSpeedThermalWheels.Val model VariableSpeedThermalWheels "Model that tests the variable-speed thermal wheels" extends Modelica.Icons.Example; - Buildings.Fluid.HeatExchangers.BaseClasses.VariableSpeedThermalWheels.Sensible - senWhe(per=perSenWhe) - "Sensible heat wheel" - annotation (Placement(transformation(extent={{-10,40},{10,60}}))); - Buildings.Fluid.HeatExchangers.BaseClasses.VariableSpeedThermalWheels.BaseClasses.Data.ASHRAE + parameter Buildings.Fluid.HeatExchangers.BaseClasses.VariableSpeedThermalWheels.BaseClasses.Data.ASHRAE perSenWhe( motorEfficiency(uSpe={0.1,0.6,0.8,1}, eta={0.3,0.8,0.85,1}), haveLatentHeatExchange=false, useDefaultMotorEfficiencyCurve=false) "Performance record for the sensible heat wheel" annotation (Placement(transformation(extent={{-80,74},{-60,94}}))); + Buildings.Fluid.HeatExchangers.BaseClasses.VariableSpeedThermalWheels.Sensible + senWhe(per=perSenWhe) + "Sensible heat wheel" + annotation (Placement(transformation(extent={{-10,40},{10,60}}))); + Modelica.Blocks.Sources.Ramp uSpe( duration=1, startTime=0, diff --git a/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/Validation/SpeedControlled.mo b/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/Validation/SpeedControlled.mo index d0d14cff651..6c185a0db8c 100644 --- a/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/Validation/SpeedControlled.mo +++ b/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/Validation/SpeedControlled.mo @@ -4,6 +4,18 @@ model SpeedControlled extends Modelica.Icons.Example; package Medium = Buildings.Media.Air "Air"; + parameter Buildings.Fluid.HeatExchangers.BaseClasses.VariableSpeedThermalWheels.BaseClasses.Data.ASHRAE + perLatWhe( + motorEfficiency(uSpe={0.1,0.6,0.8,1}, eta={0.3,0.8,0.9,1}), + haveLatentHeatExchange=true, + useDefaultMotorEfficiencyCurve=false) + "Performance record for the enthalpy wheel" + annotation (Placement(transformation(extent={{-60,60},{-40,80}}))); + parameter Buildings.Fluid.HeatExchangers.BaseClasses.VariableSpeedThermalWheels.BaseClasses.Data.ASHRAE + perLatWheDefMotCur(haveLatentHeatExchange=true, + useDefaultMotorEfficiencyCurve=true) + "Performance record for the enthalpy wheel with default motor curve" + annotation (Placement(transformation(extent={{-20,60},{0,80}}))); Buildings.Fluid.Sources.Boundary_pT sin_2( redeclare package Medium = Medium, p(displayUnit="Pa") = 101325, @@ -83,18 +95,6 @@ model SpeedControlled m_flow_nominal=5) "Temperature of the supply air" annotation (Placement(transformation(extent={{40,20},{60,40}}))); - Buildings.Fluid.HeatExchangers.BaseClasses.VariableSpeedThermalWheels.BaseClasses.Data.ASHRAE - perLatWhe( - motorEfficiency(uSpe={0.1,0.6,0.8,1}, eta={0.3,0.8,0.9,1}), - haveLatentHeatExchange=true, - useDefaultMotorEfficiencyCurve=false) - "Performance record for the enthalpy wheel" - annotation (Placement(transformation(extent={{-60,60},{-40,80}}))); - Buildings.Fluid.HeatExchangers.BaseClasses.VariableSpeedThermalWheels.BaseClasses.Data.ASHRAE - perLatWheDefMotCur(haveLatentHeatExchange=true, - useDefaultMotorEfficiencyCurve=true) - "Performance record for the enthalpy wheel with default motor curve" - annotation (Placement(transformation(extent={{-20,60},{0,80}}))); equation connect(TSup.y, sou_1.T_in) annotation (Line(points={{-59,34},{-42,34}}, color={0,0,127})); diff --git a/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/Validation/SpeedControlled.mo b/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/Validation/SpeedControlled.mo index 6eb1dbe036c..7966446d569 100644 --- a/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/Validation/SpeedControlled.mo +++ b/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/Validation/SpeedControlled.mo @@ -4,6 +4,17 @@ model SpeedControlled extends Modelica.Icons.Example; package Medium = Buildings.Media.Air "Air"; + parameter Buildings.Fluid.HeatExchangers.BaseClasses.VariableSpeedThermalWheels.BaseClasses.Data.ASHRAE per( + motorEfficiency(uSpe={0.1,0.6,0.8,1}, eta={0.3,0.8,0.9,1}), + haveLatentHeatExchange=false, + useDefaultMotorEfficiencyCurve=false) + "Performance record for the sensible heat wheel" + annotation (Placement(transformation(extent={{-34,60},{-14,80}}))); + parameter Buildings.Fluid.HeatExchangers.BaseClasses.VariableSpeedThermalWheels.BaseClasses.Data.ASHRAE perDefMotCur( + haveLatentHeatExchange=true, + useDefaultMotorEfficiencyCurve=true) + "Performance record for the sensible heat wheel with default motor curve" + annotation (Placement(transformation(extent={{6,60},{26,80}}))); Buildings.Fluid.Sources.Boundary_pT sin_2( redeclare package Medium = Medium, p(displayUnit="Pa") = 101325, @@ -72,20 +83,10 @@ model SpeedControlled redeclare package Medium = Medium, mSup_flow_nominal=5, mExh_flow_nominal=5, - per=perDefMotCur) + per=perDefMotCur) "Wheel with a default curve" annotation (Placement(transformation(extent={{0,-30},{20,-10}}))); - Buildings.Fluid.HeatExchangers.BaseClasses.VariableSpeedThermalWheels.BaseClasses.Data.ASHRAE per( - motorEfficiency(uSpe={0.1,0.6,0.8,1}, eta={0.3,0.8,0.9,1}), - haveLatentHeatExchange=false, - useDefaultMotorEfficiencyCurve=false) - "Performance record for the sensible heat wheel" - annotation (Placement(transformation(extent={{-34,60},{-14,80}}))); - Buildings.Fluid.HeatExchangers.BaseClasses.VariableSpeedThermalWheels.BaseClasses.Data.ASHRAE perDefMotCur( - haveLatentHeatExchange=true, - useDefaultMotorEfficiencyCurve=true) - "Performance record for the sensible heat wheel with default motor curve" - annotation (Placement(transformation(extent={{6,60},{26,80}}))); + equation connect(TSup.y, sou_1.T_in) annotation (Line(points={{-59,34},{-42,34}}, color={0,0,127})); From ee21c9fb223167a985f9ef2149fbe509bec5d112 Mon Sep 17 00:00:00 2001 From: SenHuang19 Date: Mon, 2 Sep 2024 21:29:15 -0400 Subject: [PATCH 25/27] model doc update --- .../heatExchangerEffectivenessParameters.mo | 6 +++--- .../Characteristics/motorEfficiencyParameters.mo | 10 +++++----- .../BaseClasses/VariableSpeedThermalWheels/Latent.mo | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Characteristics/heatExchangerEffectivenessParameters.mo b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Characteristics/heatExchangerEffectivenessParameters.mo index 5c53123665a..03001bdd155 100644 --- a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Characteristics/heatExchangerEffectivenessParameters.mo +++ b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Characteristics/heatExchangerEffectivenessParameters.mo @@ -1,10 +1,10 @@ within Buildings.Fluid.HeatExchangers.BaseClasses.VariableSpeedThermalWheels.BaseClasses.Characteristics; record heatExchangerEffectivenessParameters - "Parameters for defining heat exchanger effectiveness at different wheel speed ratio" + "Parameters for defining heat exchanger effectiveness at different wheel speed ratios" extends Modelica.Icons.Record; - parameter Real uSpe[:](each min=0) + parameter Real uSpe[:](each final min=0) "Wheel speed ratio"; - parameter Real epsCor[:](each max=1) + parameter Real epsCor[:](each final max=1) "Correction of the heat exchange effectiveness at a given speed ratio"; annotation (Documentation(info="

    diff --git a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Characteristics/motorEfficiencyParameters.mo b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Characteristics/motorEfficiencyParameters.mo index 86e6c17fc83..6d1059a0c04 100644 --- a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Characteristics/motorEfficiencyParameters.mo +++ b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/BaseClasses/Characteristics/motorEfficiencyParameters.mo @@ -1,18 +1,18 @@ within Buildings.Fluid.HeatExchangers.BaseClasses.VariableSpeedThermalWheels.BaseClasses.Characteristics; record motorEfficiencyParameters - "Parameters for defining motor efficiency at different wheel speed ratio" + "Parameters for defining motor efficiency at different wheel speed ratios" extends Modelica.Icons.Record; - parameter Real uSpe[:](each min=0) + parameter Real uSpe[:](each final min=0) "Wheel speed ratio"; - parameter Modelica.Units.SI.Efficiency eta[size(uSpe, 1)](each max=1) - "Wheel motor efficiency at wheel speed ratios"; + parameter Modelica.Units.SI.Efficiency eta[size(uSpe, 1)](each final max=1) + "Wheel motor efficiency at a given speed ratio"; annotation (Documentation(info="

    This model describes wheel speed ratio uSpe versus the motor percent full-load efficiency (see Buildings.Fluid.Movers.BaseClasses.Characteristics.motorEfficiencyCurve). -It is developed based on +It is based on Buildings.Fluid.Movers.BaseClasses.Characteristics.efficiencyParameters_yMot.

    diff --git a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/Latent.mo b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/Latent.mo index a6e6ce60ab7..2346b3f4514 100644 --- a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/Latent.mo +++ b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/Latent.mo @@ -23,7 +23,7 @@ heat exchange effectiveness correction of an enthalpy wheel.

    The calculation of the power consumption and the sensible -heat exchange effectiveness correction can be referred to +heat exchange effectiveness correction is elaborated in Buildings.Fluid.HeatExchangers.BaseClasses.VariableSpeedThermalWheels.Sensible.

    From 4da862d48010bfb60a10348a3a2e17e81e1d4c65 Mon Sep 17 00:00:00 2001 From: Huang <7q0@ornl.gov> Date: Thu, 26 Sep 2024 16:07:26 -0400 Subject: [PATCH 26/27] change the performance dataset into parameters --- .../Validation/VariableSpeedThermalWheels.mo | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/Validation/VariableSpeedThermalWheels.mo b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/Validation/VariableSpeedThermalWheels.mo index ace01b2a6b2..9037ddc003c 100644 --- a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/Validation/VariableSpeedThermalWheels.mo +++ b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/Validation/VariableSpeedThermalWheels.mo @@ -9,6 +9,17 @@ model VariableSpeedThermalWheels useDefaultMotorEfficiencyCurve=false) "Performance record for the sensible heat wheel" annotation (Placement(transformation(extent={{-80,74},{-60,94}}))); + parameter Buildings.Fluid.HeatExchangers.BaseClasses.VariableSpeedThermalWheels.BaseClasses.Data.ASHRAE perLatWhe( + motorEfficiency(uSpe={0.1,0.6,0.8,1}, eta={0.3,0.8,0.85,1}), + haveLatentHeatExchange=true, + useDefaultMotorEfficiencyCurve=false) + "Performance record for the enthalpy wheel" + annotation (Placement(transformation(extent={{-40,74},{-20,94}}))); + parameter Buildings.Fluid.HeatExchangers.BaseClasses.VariableSpeedThermalWheels.BaseClasses.Data.ASHRAE perLatWheDefMotCur( + haveLatentHeatExchange=true, + useDefaultMotorEfficiencyCurve=true) + "Performance record for the enthalpy wheel with default motor dataset" + annotation (Placement(transformation(extent={{0,74},{20,94}}))); Buildings.Fluid.HeatExchangers.BaseClasses.VariableSpeedThermalWheels.Sensible senWhe(per=perSenWhe) "Sensible heat wheel" @@ -29,17 +40,7 @@ model VariableSpeedThermalWheels per=perLatWheDefMotCur) "Enthalpy wheel with default motor curve" annotation (Placement(transformation(extent={{-10,-60},{10,-40}}))); - Buildings.Fluid.HeatExchangers.BaseClasses.VariableSpeedThermalWheels.BaseClasses.Data.ASHRAE perLatWhe( - motorEfficiency(uSpe={0.1,0.6,0.8,1}, eta={0.3,0.8,0.85,1}), - haveLatentHeatExchange=true, - useDefaultMotorEfficiencyCurve=false) - "Performance record for the enthalpy wheel" - annotation (Placement(transformation(extent={{-40,74},{-20,94}}))); - Buildings.Fluid.HeatExchangers.BaseClasses.VariableSpeedThermalWheels.BaseClasses.Data.ASHRAE perLatWheDefMotCur( - haveLatentHeatExchange=true, - useDefaultMotorEfficiencyCurve=true) - "Performance record for the enthalpy wheel with default motor dataset" - annotation (Placement(transformation(extent={{0,74},{20,94}}))); + equation connect(uSpe.y, senWhe.uSpe) annotation (Line(points={{-39,0},{-28,0},{-28,50}, From 0b7f3346619e377e354b68fbf6cfefa4d42d9be5 Mon Sep 17 00:00:00 2001 From: SenHuang19 Date: Fri, 27 Sep 2024 10:34:32 -0400 Subject: [PATCH 27/27] minor doc format update --- .../BaseClasses/VariableSpeedThermalWheels/Sensible.mo | 2 +- .../HeatExchangers/ThermalWheels/Latent/BypassDampers.mo | 2 +- .../ThermalWheels/Sensible/BaseClasses/Effectiveness.mo | 2 +- .../HeatExchangers/ThermalWheels/Sensible/BypassDampers.mo | 2 +- .../ThermalWheels/Sensible/Examples/SpaceCooling.mo | 4 ++-- Buildings/Fluid/HeatExchangers/ThermalWheels/package.mo | 4 ++-- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/Sensible.mo b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/Sensible.mo index 3057f9a9fb0..3e501350da1 100644 --- a/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/Sensible.mo +++ b/Buildings/Fluid/HeatExchangers/BaseClasses/VariableSpeedThermalWheels/Sensible.mo @@ -38,7 +38,7 @@ initial equation "Check if the motor efficiency curve is correct"; end for; assert(abs(yeta[size(yeta,1)]-1) < 1E-4, - "In " + getInstanceName() + ": motor efficiency curve is wrong. + "In " + getInstanceName() + ": the motor efficiency curve is wrong. The motor percent full-load efficiency at the full seepd should be 1", level=AssertionLevel.error) "Check if the motor efficiency curve is consistent with the nominal condition"; diff --git a/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BypassDampers.mo b/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BypassDampers.mo index 4482c7980d3..469d347237c 100644 --- a/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BypassDampers.mo +++ b/Buildings/Fluid/HeatExchangers/ThermalWheels/Latent/BypassDampers.mo @@ -7,7 +7,7 @@ model BypassDampers dpDamper_nominal(displayUnit="Pa") = 20 "Nominal pressure drop of dampers" annotation (Dialog(group="Nominal condition")); - parameter Real P_nominal(final unit="W") + parameter Real P_nominal(final unit="W") "Power consumption at the design condition" annotation (Dialog(group="Nominal condition")); Buildings.Controls.OBC.CDL.Interfaces.RealInput uBypDamPos( diff --git a/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/BaseClasses/Effectiveness.mo b/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/BaseClasses/Effectiveness.mo index eab917f931a..ec3a782c1d9 100644 --- a/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/BaseClasses/Effectiveness.mo +++ b/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/BaseClasses/Effectiveness.mo @@ -19,7 +19,7 @@ model Effectiveness annotation (Placement(transformation(extent={{-140,-60},{-100,-20}}))); Buildings.Controls.OBC.CDL.Interfaces.RealInput TExh( final unit="K") - "Exhaust air temperature" + "Exhaust air temperature" annotation (Placement(transformation(extent={{-140,-100},{-100,-60}}))); Buildings.Controls.OBC.CDL.Interfaces.RealInput mSup_flow(final unit="kg/s") "Supply air mass flow rate" diff --git a/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/BypassDampers.mo b/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/BypassDampers.mo index 5c408187442..b147bfd6ef4 100644 --- a/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/BypassDampers.mo +++ b/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/BypassDampers.mo @@ -61,7 +61,7 @@ protected final realFalse=0) "Electric power consumption for motor" annotation (Placement(transformation(extent={{-60,150},{-40,170}}))); - Modelica.Blocks.Sources.Constant zero(final k=0) + Modelica.Blocks.Sources.Constant zero(final k=0) "Zero signal" annotation (Placement(transformation(extent={{-160,-40},{-140,-20}}))); equation diff --git a/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/Examples/SpaceCooling.mo b/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/Examples/SpaceCooling.mo index 2c6f5bf5d7a..a04d657b9f9 100644 --- a/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/Examples/SpaceCooling.mo +++ b/Buildings/Fluid/HeatExchangers/ThermalWheels/Sensible/Examples/SpaceCooling.mo @@ -114,8 +114,8 @@ model SpaceCooling "Space cooling system" T=TWSup_nominal) "Source for water flow rate" annotation (Placement(transformation(extent={{-20,-110},{0,-90}}))); Buildings.Fluid.Sources.Boundary_pT sinWat( - nPorts=1, - redeclare package Medium =MediumW) + nPorts=1, + redeclare package Medium = MediumW) "Sink for water circuit" annotation (Placement(transformation(extent={{-80,-76},{-60,-56}}))); Buildings.BoundaryConditions.WeatherData.ReaderTMY3 weaDat( diff --git a/Buildings/Fluid/HeatExchangers/ThermalWheels/package.mo b/Buildings/Fluid/HeatExchangers/ThermalWheels/package.mo index 9d228dc16f7..d389098c35e 100644 --- a/Buildings/Fluid/HeatExchangers/ThermalWheels/package.mo +++ b/Buildings/Fluid/HeatExchangers/ThermalWheels/package.mo @@ -1,10 +1,10 @@ within Buildings.Fluid.HeatExchangers; -package ThermalWheels "Package with thermal wheels (both enthalpy and sensible heat recovery) models" +package ThermalWheels "Package with thermal wheel (both enthalpy and sensible heat recovery) models" extends Modelica.Icons.Package; annotation (preferredView="info", Documentation(info="

    -This package contains component models for thermal recovery wheels. +This package contains component models for thermal wheels.

    "), Icon(graphics={