modelDetailedPipeFlow

DetailedPipeFlow: Detailed characteristic for laminar and turbulent flow

Extends from Modelica.Fluid.Pipes.BaseClasses.FlowModels.PartialGenericPipeFlow (GenericPipeFlow: Pipe flow pressure loss and gravity with replaceable WallFriction package).

Information

This component defines the complete regime of wall friction. The details are described in the UsersGuide. The functional relationship of the friction loss factor λ is displayed in the next figure. Function massFlowRate_dp() defines the "red curve" ("Swamee and Jain"), where as function pressureLoss_m_flow() defines the "blue curve" ("Colebrook-White"). The two functions are inverses from each other and give slightly different results in the transition region between Re = 1500 .. 4000, in order to get explicit equations without solving a non-linear equation.

PipeFriction1.png

Additionally to wall friction, this component properly implements static head. With respect to the latter, two cases can be distinguished. In the case shown next, the change of elevation with the path from a to b has the opposite sign of the change of density.

PipeFrictionStaticHead_case-a.png

In the case illustrated second, the change of elevation with the path from a to b has the same sign of the change of density.

PipeFrictionStaticHead_case-b.png

Parameters

TypeNameDefaultDescription
Integerm (from PartialDistributedFlow)1Number of flow segments
SI.ReynoldsNumberRe_turbulent (from PartialStaggeredFlowModel)4000Start of turbulent regime, depending on type of flow device
SI.AbsolutePressuredp_nominal (from PartialGenericPipeFlow)Nominal pressure loss (only for nominal models)
SI.MassFlowRatem_flow_nominal (from PartialGenericPipeFlow)Nominal mass flow rate
SI.MassFlowRatem_flow_small (from PartialGenericPipeFlow)if system.use_eps_Re then system.eps_m_flow*m_flow_nominal else system.m_flow_smallWithin regularization if |m_flows| < m_flow_small (may be wider for large discontinuities in static head)
Advanced
Booleanfrom_dp (from PartialGenericPipeFlow)momentumDynamics >= Types.Dynamics.SteadyStateInitial= true, use m_flow = f(dp), otherwise dp = f(m_flow)
BooleanuseUpstreamScheme (from PartialStaggeredFlowModel)true= false to average upstream and downstream properties across flow segments
Booleanuse_Ib_flows (from PartialStaggeredFlowModel)momentumDynamics <> Types.Dynamics.SteadyState= true to consider differences in flow of momentum through boundaries
Internal interface
Integern (from PartialStaggeredFlowModel)2Number of discrete flow volumes
Internal interface › Geometry
RealnParallel (from PartialStaggeredFlowModel)Number of identical parallel flow devices
Internal interface › Static head
SI.Accelerationg (from PartialStaggeredFlowModel)system.gConstant gravity acceleration
Internal interface › Assumptions
BooleanallowFlowReversal (from PartialStaggeredFlowModel)system.allowFlowReversal= true, if flow reversal is enabled, otherwise restrict flow to design direction (states[1] -> states[n+1])
Modelica.Fluid.Types.DynamicsmomentumDynamics (from PartialStaggeredFlowModel)system.momentumDynamicsFormulation of momentum balance
Internal interface › Initialization
Medium.MassFlowRatem_flow_start (from PartialStaggeredFlowModel)system.m_flow_startStart value of mass flow rates
Medium.AbsolutePressurep_a_start (from PartialStaggeredFlowModel)Start value for p[1] at design inflow
Medium.AbsolutePressurep_b_start (from PartialStaggeredFlowModel)Start value for p[n+1] at design outflow
Diagnostics
Booleanshow_Res (from PartialStaggeredFlowModel)false= true, if Reynolds numbers are included for plotting

Components

TypeNameDefaultDescription
Medium.ThermodynamicStatestates (from PartialStaggeredFlowModel)Thermodynamic states along design flow
SI.Velocityvs (from PartialStaggeredFlowModel)Mean velocities of fluid flow
SI.AreacrossAreas (from PartialStaggeredFlowModel)Cross flow areas at segment boundaries
SI.Lengthdimensions (from PartialStaggeredFlowModel)Characteristic dimensions for fluid flow (diameters for pipe flow)
Modelica.Fluid.Types.Roughnessroughnesses (from PartialStaggeredFlowModel)Average height of surface asperities
SI.Lengthdheights (from PartialStaggeredFlowModel)Height(states[2:n]) - Height(states[1:n-1])
Modelica.Fluid.Systemsystem (from PartialDistributedFlow)System properties
SI.LengthpathLengths (from PartialDistributedFlow)Lengths along flow path
Medium.MassFlowRatem_flows (from PartialDistributedFlow)Mass flow rates between states
SI.MomentumIs (from PartialDistributedFlow)Momenta of flow segments
SI.ForceIb_flows (from PartialDistributedFlow)Flow of momentum across boundaries
SI.ForceFs_p (from PartialDistributedFlow)Pressure forces
SI.ForceFs_fg (from PartialDistributedFlow)Friction and gravity forces
Medium.Densityrhos (from PartialStaggeredFlowModel)if use_rho_nominal then fill(rho_nominal, n) else Medium.density(states)
Medium.Densityrhos_act (from PartialStaggeredFlowModel)Actual density per segment
Medium.DynamicViscositymus (from PartialStaggeredFlowModel)if use_mu_nominal then fill(mu_nominal, n) else Medium.dynamicViscosity(states)
Medium.DynamicViscositymus_act (from PartialStaggeredFlowModel)Actual viscosity per segment
SI.Pressuredps_fg (from PartialStaggeredFlowModel)Pressure drop between states
SI.ReynoldsNumberRes (from PartialStaggeredFlowModel)Modelica.Fluid.Pipes.BaseClasses.CharacteristicNumbers.ReynoldsNumber(vs, rhos, mus, dimensions)Reynolds numbers
Medium.MassFlowRatem_flows_turbulent (from PartialStaggeredFlowModel){nParallel*(crossAreas[i] + crossAreas[i + 1])/(dimensions[i] + dimensions[i + 1])*mus_act[i]*Re_turbulent for i in 1:n - 1}Start of turbulent flow
SI.LengthpathLengths_internal (from PartialGenericPipeFlow)pathLengths used internally; to be defined by extending class
SI.ReynoldsNumberRes_turbulent_internal (from PartialGenericPipeFlow)Re_turbulent*ones(n - 1)Re_turbulent used internally; to be defined by extending class