Pipe with heat loss using the time delay based heat losses and transport of the fluid using a plug flow model, applicable for simulation of long pipes such as in district heating and cooling systems.
This model takes into account transport delay along the pipe length idealized as a plug flow. The model also includes thermal inertia of the pipe wall.
The
spatialDistribution
operator is used for the temperature wave propagation
through the length of the pipe. This operator is contained in
BuildingSystems.Fluid.FixedResistances.BaseClasses.PlugFlow.
The model BuildingSystems.Fluid.FixedResistances.BaseClasses.PlugFlowHeatLoss implements a heat loss in design direction, but leaves the enthalpy unchanged in opposite flow direction. Therefore it is used in front of and behind the time delay.
The pressure drop is implemented using BuildingSystems.Fluid.FixedResistances.HydraulicDiameter. This instance is replaceable to allow BuildingSystems.Fluid.FixedResistances.PlugFlowPipeDiscretized to compute the pressure drop only once rather than for each segment.
The thermal capacity of the pipe wall is implemented as a mixing volume
of the fluid in the pipe, of which the thermal capacity is equal to that
of the pipe wall material.
In addition, this mixing volume allows the hydraulic separation of subsequent pipes.
The mixing volume is either split between the inlet and outlet ports
(port_a and port_b) or lumped in at the outlet (port_b)
if have_symmetry
is set to false.
This mixing volume can be removed from this model with the Boolean parameter
have_pipCap
, in cases where the pipe wall heat capacity
is negligible and a state is not needed at the pipe outlet
(see the note below about numerical Jacobians).
Note that in order to model a branched network it is recommended to use
BuildingSystems.Fluid.FixedResistances.Junction at each junction and to configure
that junction model with a state
(energyDynamics <> Modelica.Fluid.Types.Dynamics.SteadyState
),
see for instance
BuildingSystems.Fluid.FixedResistances.Validation.PlugFlowPipes.PlugFlowAIT.
This will avoid the numerical Jacobian that is otherwise created when
the inlet ports of two instances of the plug flow model are connected together.
port_b
.
Full details on the model implementation and experimental validation can be found in:
van der Heijde, B., Fuchs, M., Ribas Tugores, C., Schweiger, G., Sartor, K.,
Basciotti, D., Müller, D., Nytsch-Geusen, C., Wetter, M. and Helsen, L.
(2017).
Dynamic equation-based thermo-hydraulic pipe model for district heating and
cooling systems.
Energy Conversion and Management, vol. 151, p. 158-169.
doi:
10.1016/j.enconman.2017.08.072.
BaseClasses
. This allows
BuildingSystems.Fluid.FixedResistances.PlugFlowPipe
to redeclare the resistance as final, thereby avoiding that a GUI presents this instance
to users as a replaceable class.
ports_b
with
a single outlet port port_b
.homotopyInitialization
to a constant.R
by using correct radiuses.
See #1310.
pipVol
.