From 89bf74035bdea926701edef2c3dbf35f48b32680 Mon Sep 17 00:00:00 2001 From: Michael Wetter Date: Wed, 15 Sep 2021 11:51:19 -0700 Subject: [PATCH] Merged IBPSA, branch issue1494_plugflowpipe_singleoutlet (#2611) * Merged IBPSA, branch issue1494_plugflowpipe_singleoutlet * Updated conversion script and release notes * Integrated new model into PlugFlowDiscretized * Changed flow rate, updated reference results --- .github/workflows/formatting.yml | 6 +- Buildings/.copiedFiles.txt | 5 - .../BaseClasses/PlugFlowTransportDelay.mo | 23 +- .../BaseClasses/Validation/PlugFlowCore.mo | 128 ------- .../BaseClasses/Validation/package.mo | 21 -- .../BaseClasses/package.order | 2 - .../Examples/PlugFlowDiscretized.mo | 10 +- .../FixedResistances/Examples/PlugFlowPipe.mo | 98 ++++-- .../FixedResistances/PlugFlowDiscretized.mo | 239 ++++++++++--- .../Fluid/FixedResistances/PlugFlowPipe.mo | 261 ++++++++++---- .../Validation/PlugFlowPipes/FlowReversal.mo | 16 +- .../Validation/PlugFlowPipes/PlugFlowAIT.mo | 88 +++-- .../Validation/PlugFlowPipes/PlugFlowULg.mo | 3 +- .../PlugFlowPipes/TransportWaterAir.mo | 6 +- .../Examples/DiscretizedBuriedPipe.mo | 8 +- .../BuriedPipes/Examples/SingleBuriedPipe.mo | 23 +- .../BuriedPipes/Examples/TwoBuriedPipes.mo | 25 +- .../BuriedPipes/Examples/TwoPipesConduit.mo | 18 +- .../Validation/GroundCouplingAIT.mo | 134 +++++--- .../BaseClasses/PlugFlowCore.mo | 52 +-- .../BaseClasses/Validation.mo | 153 +++++++++ .../FixedResistances/BaseClasses/package.mo | 12 + .../BaseClasses}/package.order | 1 + .../Fluid/FixedResistances/PlugFlowPipe.mo | 324 ++++++++++++++++++ .../Fluid/FixedResistances/package.mo | 10 + .../Fluid/FixedResistances/package.order | 2 + Buildings/Obsolete/Fluid/package.order | 1 + ...sistances_Examples_PlugFlowDiscretized.txt | 12 +- ...FixedResistances_Examples_PlugFlowPipe.txt | 10 +- ..._Validation_PlugFlowPipes_FlowReversal.txt | 17 +- ...s_Validation_PlugFlowPipes_PlugFlowAIT.txt | 14 +- ...dation_PlugFlowPipes_TransportWaterAir.txt | 26 +- ...riedPipes_Validation_GroundCouplingAIT.txt | 14 +- .../ConvertBuildings_from_8_to_9.0.0.mos | 8 +- .../BaseClasses/Validation/PlugFlowCore.mos | 13 - .../Examples/PlugFlowDiscretized.mos | 7 +- .../Examples/PlugFlowPipe.mos | 4 +- .../Validation/PlugFlowPipes/FlowReversal.mos | 2 +- .../PlugFlowPipes/TransportWaterAir.mos | 6 +- ...es.BaseClasses.Validation.PlugFlowCore.mos | 5 - ...sistances.Examples.PlugFlowDiscretized.mos | 8 +- ...FixedResistances.Examples.PlugFlowPipe.mos | 2 + ....Validation.PlugFlowPipes.FlowReversal.mos | 5 +- ...dation.PlugFlowPipes.TransportWaterAir.mos | 10 +- Buildings/package.mo | 17 + 45 files changed, 1293 insertions(+), 556 deletions(-) delete mode 100644 Buildings/Fluid/FixedResistances/BaseClasses/Validation/PlugFlowCore.mo delete mode 100644 Buildings/Fluid/FixedResistances/BaseClasses/Validation/package.mo rename Buildings/{ => Obsolete}/Fluid/FixedResistances/BaseClasses/PlugFlowCore.mo (93%) create mode 100644 Buildings/Obsolete/Fluid/FixedResistances/BaseClasses/Validation.mo create mode 100644 Buildings/Obsolete/Fluid/FixedResistances/BaseClasses/package.mo rename Buildings/{Fluid/FixedResistances/BaseClasses/Validation => Obsolete/Fluid/FixedResistances/BaseClasses}/package.order (54%) create mode 100644 Buildings/Obsolete/Fluid/FixedResistances/PlugFlowPipe.mo create mode 100644 Buildings/Obsolete/Fluid/FixedResistances/package.mo create mode 100644 Buildings/Obsolete/Fluid/FixedResistances/package.order delete mode 100644 Buildings/Resources/Scripts/Dymola/Fluid/FixedResistances/BaseClasses/Validation/PlugFlowCore.mos delete mode 100644 Buildings/Resources/Scripts/OpenModelica/compareVars/Buildings.Fluid.FixedResistances.BaseClasses.Validation.PlugFlowCore.mos diff --git a/.github/workflows/formatting.yml b/.github/workflows/formatting.yml index 4c968bf60ec..592372baf5f 100644 --- a/.github/workflows/formatting.yml +++ b/.github/workflows/formatting.yml @@ -80,7 +80,7 @@ jobs: rm Resources/Scripts/OpenModelica/compareVars/*.mos python -c 'import buildingspy.development.regressiontest as u; u.Tester().writeOpenModelicaResultDictionary()' git status --porcelain Resources/Scripts/OpenModelica - test -z $(git status --porcelain Resources/Scripts/OpenModelica) + test -z "$(git status --porcelain Resources/Scripts/OpenModelica)" - name: "Test user guide" run : (cd Resources/Documentation/userGuide; make regressiontest) @@ -93,6 +93,6 @@ jobs: cd .. python Buildings/Resources/src/Controls/OBC/UnitConversions/unit_converters.py git diff --exit-code Buildings - + - name: Check for UTF-8 BOM - run: "! find . -name '*.mo' -print0 | xargs -0 grep -l $'^\\xEF\\xBB\\xBF' | grep ." + run: "! find . -name '*.mo' -print0 | xargs -0 grep -l $'^\\xEF\\xBB\\xBF' | grep ." diff --git a/Buildings/.copiedFiles.txt b/Buildings/.copiedFiles.txt index a774040bb39..ef4215c7766 100644 --- a/Buildings/.copiedFiles.txt +++ b/Buildings/.copiedFiles.txt @@ -487,12 +487,8 @@ Buildings/Fluid/FMI/Validation/package.order Buildings/Fluid/FMI/package.mo Buildings/Fluid/FMI/package.order Buildings/Fluid/FixedResistances/BaseClasses/PlugFlow.mo -Buildings/Fluid/FixedResistances/BaseClasses/PlugFlowCore.mo Buildings/Fluid/FixedResistances/BaseClasses/PlugFlowHeatLoss.mo Buildings/Fluid/FixedResistances/BaseClasses/PlugFlowTransportDelay.mo -Buildings/Fluid/FixedResistances/BaseClasses/Validation/PlugFlowCore.mo -Buildings/Fluid/FixedResistances/BaseClasses/Validation/package.mo -Buildings/Fluid/FixedResistances/BaseClasses/Validation/package.order Buildings/Fluid/FixedResistances/BaseClasses/package.mo Buildings/Fluid/FixedResistances/BaseClasses/package.order Buildings/Fluid/FixedResistances/CheckValve.mo @@ -1646,7 +1642,6 @@ Buildings/Resources/Scripts/Dymola/Fluid/FMI/Validation/FlowSplitter_u.mos Buildings/Resources/Scripts/Dymola/Fluid/FMI/Validation/HeaterFan.mos Buildings/Resources/Scripts/Dymola/Fluid/FMI/Validation/HeaterFanPressureDriven.mos Buildings/Resources/Scripts/Dymola/Fluid/FMI/Validation/HeaterFan_noReverseFlow.mos -Buildings/Resources/Scripts/Dymola/Fluid/FixedResistances/BaseClasses/Validation/PlugFlowCore.mos Buildings/Resources/Scripts/Dymola/Fluid/FixedResistances/Examples/CheckValve.mos Buildings/Resources/Scripts/Dymola/Fluid/FixedResistances/Examples/FlowJunction.mos Buildings/Resources/Scripts/Dymola/Fluid/FixedResistances/Examples/HydraulicDiameter.mos diff --git a/Buildings/Fluid/FixedResistances/BaseClasses/PlugFlowTransportDelay.mo b/Buildings/Fluid/FixedResistances/BaseClasses/PlugFlowTransportDelay.mo index 52b21535607..6f76df5a680 100644 --- a/Buildings/Fluid/FixedResistances/BaseClasses/PlugFlowTransportDelay.mo +++ b/Buildings/Fluid/FixedResistances/BaseClasses/PlugFlowTransportDelay.mo @@ -23,12 +23,13 @@ model PlugFlowTransportDelay "Delay time for given normalized velocity" if initDelay and (abs(m_flow_start) > 1E-10*m_flow_nominal) then min(-length/m_flow_start*(rho*dh^2/4*Modelica.Constants.pi), 0) else 0 "Initial value of input time at outlet"; - + final parameter Real conUM(unit="1/kg") = 4/rho/dh/dh/Modelica.Constants.pi/length + "Constant to convert mass flow rate into velocity normalized by the pipe length"; Modelica.SIunits.Time time_out_rev "Reverse flow direction output time"; Modelica.SIunits.Time time_out_des "Design flow direction output time"; Real x(start=0) "Spatial coordinate for spatialDistribution operator"; - Modelica.SIunits.Frequency u "Normalized fluid velocity (1/s)"; + Real u(unit="1/s") "Normalized fluid velocity (1/s)"; Modelica.Blocks.Interfaces.RealInput m_flow "Mass flow of fluid" annotation ( Placement(transformation(extent={{-140,-20},{-100,20}}), @@ -48,8 +49,7 @@ initial equation t0 = time; equation - u = m_flow/(rho*(dh^2)/4*Modelica.Constants.pi)/length; - + u = m_flow * conUM; der(x) = u; (time_out_rev, time_out_des) = spatialDistribution( time, @@ -119,17 +119,14 @@ function. This components requires the mass flow through the pipe and the pipe dimensions in order to derive information about the fluid propagation.

-The component calculates the delay time at both in/outlet ports of the pipe -and therefore has two outlets. During forward flow, only the forward - -Buildings.Fluid.FixedResistances.BaseClasses.PlugFlowTransportDelay component in - -Buildings.Fluid.FixedResistances.BaseClasses.PlugFlowCore -will be active and uses the forward output of PlugFlowTransportDelay. -During reverse, the opposite is true and only the reverse output is used. +The component calculates the delay time at the inlet and the outlet port of the pipe. +For the forward flow, the time delay is exposed at the output tau, +and for the backward flow, the time delay is exposed at the output tauRev.

Assumption

-

It is assumed that no axial mixing takes place in the pipe.

+

+No axial mixing takes place in the pipe. +

", revisions="