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.
+