modelMSLAIT
Extends from Modelica.Icons.Example.
Information
The example contains experimental data from a real district heating network. This data is used to validate this library's IDEAS.Fluid.FixedResistances.PlugFlowPipe in IDEAS.Fluid.FixedResistances.Validation.PlugFlowPipes.PlugFlowAIT. This model compares its performance with the original Modelica Standard Library pipes, using one discretization element per unit length of pipe. For a coarser discretization, please refer to MSLAIT2Nodes.
Note that these three models are identical, except for the pipe model that is used:
-
The model
IDEAS.Fluid.FixedResistances.Validation.PlugFlowPipes.MSLAIT
uses the pipe model from the Modelica Standard Library, with a fine discretization.
See the parameter
nNodes. -
The model
IDEAS.Fluid.FixedResistances.Validation.PlugFlowPipes.MSLAIT2Nodes
uses the same model as above, but sets
nNodes=2. - The model IDEAS.Fluid.FixedResistances.Validation.PlugFlowPipes.PlugFlowAIT uses the plug flow model IDEAS.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.
The pipes' temperatures are not initialized, thus results of outflow temperature before approximately the first 10000 seconds should not be considered.
Test bench schematic
Calibration
To calculate the length specific thermal resistance R of the
pipe, the thermal resistance of the surrounding ground is added.
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 |
|---|---|---|---|
| Boolean | allowFlowReversal | false | = true to allow flow reversal, false restricts to design direction (port_a -> port_b) |
| Modelica.Units.SI.ThermalResistance | R | 1/(2*kIns*Modelica.Constants.pi)*log(0.18/0.0899) + 1/(2*2.4*Modelica.Constants.pi)*log(2/0.18) | Thermal resistance of main pipes |
| Modelica.Units.SI.ThermalResistance | 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 of service pipes |
| Modelica.Units.SI.ThermalConductivity | kIns | 0.024 | Heat conductivity of pipe insulation material |
| Modelica.Units.SI.Length | dIns | 0.045 | Thickness of pipe insulation |
| Modelica.Units.SI.Diameter | diameter | 0.089 | Outer diameter of pipe |
| 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 |
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 | Substation 3 | |
| Fluid.Sources.MassFlowSource_T | Point2 | Substation 2 | |
| Modelica.Blocks.Sources.CombiTimeTable | DataReader | Read measurement data | |
| Data.PipeDataAIT151218 | pipeDataAIT151218 | Record with measurement data | |
| Modelica.Blocks.Sources.RealExpression | m_flow_p3 | Mass flow rate for substation 3 | |
| Modelica.Blocks.Sources.RealExpression | m_flow_p2 | Mass flow rate for substation 2 | |
| Modelica.Blocks.Sources.RealExpression | T_p1 | Inlet temperature | |
| IDEAS.Fluid.Sources.Boundary_pT | ExcludedBranch | Mass flow sink for excluded branch | |
| Modelica.Thermal.HeatTransfer.Sources.PrescribedTemperature | prescribedTemperature | Variable environment temperature | |
| Modelica.Fluid.Pipes.DynamicPipe | pip0 | Pipe 0 | |
| Modelica.Fluid.System | system | ||
| Modelica.Thermal.HeatTransfer.Components.ThermalResistor[pip0.nNodes] | res0 | Thermal resistances for pipe 0 | |
| Modelica.Thermal.HeatTransfer.Components.ThermalCollector | col0 | Combine heat flows to one | |
| Modelica.Fluid.Pipes.DynamicPipe | pip1 | Pipe 1 | |
| Modelica.Thermal.HeatTransfer.Components.ThermalCollector | col1 | Combine heat flows to one | |
| Modelica.Thermal.HeatTransfer.Components.ThermalResistor[pip1.nNodes] | res1 | Thermal resistances for pipe 1 | |
| Modelica.Fluid.Pipes.DynamicPipe | pip2 | Pipe 2 | |
| Modelica.Thermal.HeatTransfer.Components.ThermalCollector | col2 | Combine heat flows to one | |
| Modelica.Thermal.HeatTransfer.Components.ThermalResistor[pip2.nNodes] | res2 | Thermal resistances for pipe 2 | |
| Modelica.Fluid.Pipes.DynamicPipe | pip3 | Pipe 3 | |
| Modelica.Thermal.HeatTransfer.Components.ThermalCollector | col3 | Combine heat flows to one | |
| Modelica.Thermal.HeatTransfer.Components.ThermalResistor[pip3.nNodes] | res3 | Thermal resistances for pipe 3 | |
| Modelica.Fluid.Pipes.DynamicPipe | pip4 | Pipe 4 | |
| Modelica.Thermal.HeatTransfer.Components.ThermalCollector | col4 | Combine heat flows to one | |
| Modelica.Thermal.HeatTransfer.Components.ThermalResistor[pip4.nNodes] | res4 | Thermal resistances for pipe 4 | |
| Modelica.Fluid.Pipes.DynamicPipe | pip5 | Pipe 5 | |
| Modelica.Thermal.HeatTransfer.Components.ThermalCollector | col5 | Combine heat flows to one | |
| Modelica.Thermal.HeatTransfer.Components.ThermalResistor[pip5.nNodes] | res5 | Thermal resistances for pipe 5 | |
| Fluid.Sensors.TemperatureTwoPort | senTem_p2 | Temperature sensor | |
| Fluid.Sensors.TemperatureTwoPort | senTem_p3 | Temperature sensor | |
| Fluid.Sensors.TemperatureTwoPort | senTemIn_p2 | Temperature sensor | |
| Fluid.Sensors.TemperatureTwoPort | senTem_p1 | Temperature sensor | |
| Fluid.Sensors.TemperatureTwoPort | senTem_p4 | Temperature sensor | |
| Fluid.Sources.MassFlowSource_T | Point5 | Mass flow sink for substation 4 in case of low flow rates | |
| Modelica.Blocks.Sources.RealExpression | m_flow_p4 | Measured mass flow rate for substation 4 | |
| Modelica.Blocks.Logical.Switch | switch | Switch to avoid mass flow rate measurement noise on substation with flow standstill. | |
| Modelica.Blocks.Sources.RealExpression | m_flow_zero | Default value when mass flow rate is below noise threshold | |
| Modelica.Blocks.Logical.LessThreshold | lessThreshold | Check if mass flow rate is lower than 0.001 | |
| Modelica.Blocks.Logical.Switch | switch1 | If flow is lower than measurement noise threshold, bypass temperature sensor |
Contents
| Name | Description |
|---|---|
| Medium |
Revisions
-
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. - November 28, 2016 by Bram van der Heijde:
RemovepipVol. - August 24, 2016 by Bram van der Heijde:
Implement validation with MSL pipes for comparison, based on AIT validation. -
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.