modelTurbulentPipeFlow
TurbulentPipeFlow: Quadratic turbulent flow in circular tubes (using mu to regularize laminar region)
Extends from Modelica.Fluid.Pipes.BaseClasses.FlowModels.PartialGenericPipeFlow (GenericPipeFlow: Pipe flow pressure loss and gravity with replaceable WallFriction package).
Information
This model defines only the quadratic turbulent regime of wall friction: dp = k*m_flow*|m_flow|, where "k" depends on density and the roughness of the pipe and is not a function of the Reynolds number. This relationship is only valid for large Reynolds numbers. The turbulent pressure loss correlation might be useful to optimize models that are only facing turbulent flow.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Integer | m (from PartialDistributedFlow) | 1 | Number of flow segments |
| SI.ReynoldsNumber | Re_turbulent (from PartialStaggeredFlowModel) | 4000 | Start of turbulent regime, depending on type of flow device |
| SI.AbsolutePressure | dp_nominal (from PartialGenericPipeFlow) | Nominal pressure loss (only for nominal models) | |
| SI.MassFlowRate | m_flow_nominal (from PartialGenericPipeFlow) | Nominal mass flow rate | |
| SI.MassFlowRate | m_flow_small (from PartialGenericPipeFlow) | if system.use_eps_Re then system.eps_m_flow*m_flow_nominal else system.m_flow_small | Within regularization if |m_flows| < m_flow_small (may be wider for large discontinuities in static head) |
| Boolean | use_Re | system.use_eps_Re | = true, if turbulent region is defined by Re, otherwise by m_flow_small |
| Advanced | |||
| Boolean | from_dp (from PartialGenericPipeFlow) | momentumDynamics >= Types.Dynamics.SteadyStateInitial | = true, use m_flow = f(dp), otherwise dp = f(m_flow) |
| Boolean | useUpstreamScheme (from PartialStaggeredFlowModel) | true | = false to average upstream and downstream properties across flow segments |
| Boolean | use_Ib_flows (from PartialStaggeredFlowModel) | momentumDynamics <> Types.Dynamics.SteadyState | = true to consider differences in flow of momentum through boundaries |
| Internal interface | |||
| Integer | n (from PartialStaggeredFlowModel) | 2 | Number of discrete flow volumes |
| Internal interface › Geometry | |||
| Real | nParallel (from PartialStaggeredFlowModel) | Number of identical parallel flow devices | |
| Internal interface › Static head | |||
| SI.Acceleration | g (from PartialStaggeredFlowModel) | system.g | Constant gravity acceleration |
| Internal interface › Assumptions | |||
| Boolean | allowFlowReversal (from PartialStaggeredFlowModel) | system.allowFlowReversal | = true, if flow reversal is enabled, otherwise restrict flow to design direction (states[1] -> states[n+1]) |
| Modelica.Fluid.Types.Dynamics | momentumDynamics (from PartialStaggeredFlowModel) | system.momentumDynamics | Formulation of momentum balance |
| Internal interface › Initialization | |||
| Medium.MassFlowRate | m_flow_start (from PartialStaggeredFlowModel) | system.m_flow_start | Start value of mass flow rates |
| Medium.AbsolutePressure | p_a_start (from PartialStaggeredFlowModel) | Start value for p[1] at design inflow | |
| Medium.AbsolutePressure | p_b_start (from PartialStaggeredFlowModel) | Start value for p[n+1] at design outflow | |
| Diagnostics | |||
| Boolean | show_Res (from PartialStaggeredFlowModel) | false | = true, if Reynolds numbers are included for plotting |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Medium.ThermodynamicState | states (from PartialStaggeredFlowModel) | Thermodynamic states along design flow | |
| SI.Velocity | vs (from PartialStaggeredFlowModel) | Mean velocities of fluid flow | |
| SI.Area | crossAreas (from PartialStaggeredFlowModel) | Cross flow areas at segment boundaries | |
| SI.Length | dimensions (from PartialStaggeredFlowModel) | Characteristic dimensions for fluid flow (diameters for pipe flow) | |
| Modelica.Fluid.Types.Roughness | roughnesses (from PartialStaggeredFlowModel) | Average height of surface asperities | |
| SI.Length | dheights (from PartialStaggeredFlowModel) | Height(states[2:n]) - Height(states[1:n-1]) | |
| Modelica.Fluid.System | system (from PartialDistributedFlow) | System properties | |
| SI.Length | pathLengths (from PartialDistributedFlow) | Lengths along flow path | |
| Medium.MassFlowRate | m_flows (from PartialDistributedFlow) | Mass flow rates between states | |
| SI.Momentum | Is (from PartialDistributedFlow) | Momenta of flow segments | |
| SI.Force | Ib_flows (from PartialDistributedFlow) | Flow of momentum across boundaries | |
| SI.Force | Fs_p (from PartialDistributedFlow) | Pressure forces | |
| SI.Force | Fs_fg (from PartialDistributedFlow) | Friction and gravity forces | |
| Medium.Density | rhos (from PartialStaggeredFlowModel) | if use_rho_nominal then fill(rho_nominal, n) else Medium.density(states) | |
| Medium.Density | rhos_act (from PartialStaggeredFlowModel) | Actual density per segment | |
| Medium.DynamicViscosity | mus (from PartialStaggeredFlowModel) | if use_mu_nominal then fill(mu_nominal, n) else Medium.dynamicViscosity(states) | |
| Medium.DynamicViscosity | mus_act (from PartialStaggeredFlowModel) | Actual viscosity per segment | |
| SI.Pressure | dps_fg (from PartialStaggeredFlowModel) | Pressure drop between states | |
| SI.ReynoldsNumber | Res (from PartialStaggeredFlowModel) | Modelica.Fluid.Pipes.BaseClasses.CharacteristicNumbers.ReynoldsNumber(vs, rhos, mus, dimensions) | Reynolds numbers |
| Medium.MassFlowRate | m_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.Length | pathLengths_internal (from PartialGenericPipeFlow) | pathLengths used internally; to be defined by extending class | |
| SI.ReynoldsNumber | Res_turbulent_internal (from PartialGenericPipeFlow) | Re_turbulent*ones(n - 1) | Re_turbulent used internally; to be defined by extending class |