modelPlugFlowTransportDelay
Information
Calculates time delay at both sides of the pipe as the difference between the current simulation time and the inlet time of the fluid at both ends of the pipe.
Main equation
∂z(x,t)/∂t + v(t) ∂z(x,t)/∂x = 0,
where z(x,t) is the spatial distribution as a function of time of any property z of the fluid. For the inlet time propagation, z will be replaced by the inlet time of the fluid tin.
Implementation
The inlet time is approached as a fluid property and its propagation follows the one-dimensional wave equation, implemented using the spatialDistribution 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 IBPSA.Fluid.PlugFlowPipes.BaseClasses.HeatLossPipeDelay component in IBPSA.Fluid.PlugFlowPipes.BaseClasses.PipeCore will be active and uses the forward output of PlugFlowTransportDelay. During reverse, the opposite is true and only the reverse output is used.
Assumption
It is assumed that no axial mixing takes place in the pipe.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.SIunits.Length | length | Pipe length | |
| Modelica.SIunits.Length | dh | Hydraulic diameter (assuming a round cross section area) | |
| Modelica.SIunits.Density | rho | Standard density of fluid | |
| Modelica.SIunits.Time | t_in_start | 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 inlet |
| Modelica.SIunits.Time | t_out_start | 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 |
| Initialization | |||
| Boolean | initDelay | false | Initialize delay for a constant m_flow_start if true, otherwise start from 0 |
| Modelica.SIunits.MassFlowRate | m_flow_start | 0 | Initialization of mass flow rate to calculate initial time delay |
| Nominal condition | |||
| Modelica.SIunits.MassFlowRate | m_flow_nominal | Nominal mass flow rate | |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Blocks.Interfaces.RealInput | m_flow | Mass flow of fluid | |
| Modelica.Blocks.Interfaces.RealOutput | tau | Time delay for design flow direction | |
| Modelica.Blocks.Interfaces.RealOutput | tauRev | Time delay for reverse flow |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.SIunits.Time | time_out_rev | Reverse flow direction output time | |
| Modelica.SIunits.Time | time_out_des | Design flow direction output time | |
| Real | x | Spatial coordinate for spatialDistribution operator | |
| Modelica.SIunits.Frequency | u | Normalized fluid velocity (1/s) |
Revisions
-
September 9, 2016 by Bram van der Heijde:
Rename from PDETime_massFlowMod to PlugFlowTransportDelayMod -
December 2015 by Carles Ribas Tugores:
Modification in delay calculation to fix issues. -
November 6, 2015 by Bram van der Heijde:
Adapted flow parameter to mass flow rate instead of velocity. This change should also fix the reverse and zero flow issues. -
October 13, 2015 by Marcus Fuchs:
Useabs()of normalized velocity input in order to avoid negative delay times. -
July 2015 by Arnout Aertgeerts:
First implementation.