modelPlugFlowAIT
Extends from Modelica.Icons.Example (Icon for runnable examples).
Information
The example contains experimental data from a real district heating network.
The pipes' temperatures are not initialized. Therefore, results of outflow temperature before approximately the first 10000 seconds should not be considered.
Note that these three models are identical, except for the pipe model that is used:
-
The model
Buildings.Fluid.FixedResistances.Validation.PlugFlowPipes.MSLAIT
uses the pipe model from the Modelica Standard Library, with a fine discretization.
See the parameter
nNodes. -
The model
Buildings.Fluid.FixedResistances.Validation.PlugFlowPipes.MSLAIT2Nodes
uses the same model as above, but sets
nNodes=2. - The model Buildings.Fluid.FixedResistances.Validation.PlugFlowPipes.PlugFlowAIT uses the plug flow model Buildings.Fluid.FixedResistances.PlugFlowPipe.
This comparison between different discretization levels and pipe models is made to check the influence of the discretization and pipe model on computation time and simulation accuracy.
Test bench schematic
Calibration
To calculate the length specific thermal resistance R of the pipe,
the thermal resistance of the surrounding ground is added, which yields
R=1/(0.208)+1/(2 lambda_g Modelica.Constants.pi) log(1/0.18),
where the thermal conductivity of the ground lambda_g = 2.4 W/(m K).
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Units.SI.Length | Lcap | 1 | Length over which transient effects typically take place |
| Real | R80 | 1/(2*0.024*Modelica.Constants.pi)*log(0.07/0.0337) + 1/(2*2.4*Modelica.Constants.pi)*log(2/0.07) | Thermal resistance per unit length of service pipes |
| Boolean | pipVol | true | Flag to decide whether volumes are included at the end points of the pipe |
| Boolean | allowFlowReversal | true | = true to allow flow reversal, false restricts to design direction (port_a -> port_b) |
| Modelica.Units.SI.MassFlowRate | m_flow_nominal | 1 | Nominal mass flow rate, used for regularization near zero flow |
| Modelica.Units.SI.Time | tauHeaTra | 6500 | Time constant for heat transfer, default 20 minutes |
| Modelica.Units.SI.Length | thickness | 0.0032 | Pipe wall thickness |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Fluid.Sources.MassFlowSource_T | Point1 | Mass flow source | |
| Fluid.Sources.MassFlowSource_T | Point4 | Substation 4 | |
| Fluid.Sources.MassFlowSource_T | Point3 | Subsation 3 | |
| Fluid.Sources.MassFlowSource_T | Point2 | Subtation 2 | |
| PlugFlowPipe | pip1 | Pipe 1 | |
| PlugFlowPipe | pip4 | Pipe 4 | |
| PlugFlowPipe | pip5 | Pipe 5 | |
| PlugFlowPipe | pip2 | Pipe 2 | |
| PlugFlowPipe | pip3 | Pipe 3 | |
| Modelica.Blocks.Sources.CombiTimeTable | DataReader | Read measurement data | |
| Data.PipeDataAIT151218 | pipeDataAIT151218 | Measurement data from AIT network | |
| Modelica.Blocks.Sources.RealExpression | m_flow_p3 | Mass flow rate for substation 3 | |
| Modelica.Blocks.Sources.RealExpression | m_flow_p4 | Mass flow rate of substation 4 | |
| Modelica.Blocks.Sources.RealExpression | m_flow_p2 | ||
| Modelica.Blocks.Sources.RealExpression | T_p1 | Inlet temperature | |
| Fluid.Sensors.TemperatureTwoPort | senTem_p3 | Temperature sensor | |
| Fluid.Sensors.TemperatureTwoPort | senTem_p2 | Temperature sensor | |
| Fluid.Sensors.TemperatureTwoPort | senTem_p4 | Temperature sensor | |
| Fluid.Sensors.TemperatureTwoPort | senTem_p1 | Temperature sensor | |
| PlugFlowPipe | pip0 | Pipe 0 | |
| Buildings.Fluid.Sources.Boundary_pT | ExcludedBranch | Mass flow sink for excluded branch | |
| Buildings.HeatTransfer.Sources.PrescribedTemperature | prescribedTemperature | Variable environment temperature | |
| Fluid.Sensors.TemperatureTwoPort | senTemIn_p2 | Temperature sensor | |
| Modelica.Blocks.Logical.Switch | switch | Decide if mass flow rate is below measurement noise threshold or not | |
| Modelica.Blocks.Sources.RealExpression | m_flow_zero | Default value if mass flow rate is below measurement noise threshold | |
| Modelica.Blocks.Logical.LessThreshold | lessThreshold | Measurement noise threshold | |
| Modelica.Blocks.Logical.Switch | switch1 | Decide if mass flow rate is below measurement noise threshold or not | |
| Fluid.Sources.MassFlowSource_T | Point5 | Bypass temperature sensor when flow rate is below measurement threshold | |
| Buildings.Fluid.FixedResistances.Junction | splPip1 | Splitter coming out of pip1 | |
| Buildings.Fluid.FixedResistances.Junction | splPip2 | Splitter coming out of pip5 |
Contents
| Name | Description |
|---|---|
Revisions
-
April 29, 2026, by Michael Wetter:
Changed configuration of table to cause the parameters to be evaluated, as this leads to more efficient code.
This is for IBPSA, #2111. -
March 7, 2020, by Michael Wetter:
Replaced measured data from specification in Modelica file to external table, as this reduces the computing time.
This is for #1289. -
May 15, 2019, by Jianjun Hu:
Replaced fluid source. This is for #1072. - July 4, 2016 by Bram van der Heijde:
Added parameters to test the influence of allowFlowReversal and the presence of explicit volumes in the pipe. - January 26, 2016 by Carles Ribas:
First implementation.