modelNominalTurbulentPipeFlow
Extends from Modelica.Fluid.Pipes.BaseClasses.FlowModels.PartialGenericPipeFlow (GenericPipeFlow: Pipe flow pressure loss and gravity with replaceable WallFriction package).
Information
This model defines the pressure loss assuming turbulent flow for
specified dp_nominal and m_flow_nominal.
It takes into account the fluid density of each flow segment and
obtains appropriate pathLengths_nominal values
for an inverse parameterization of the
TurbulentPipeFlow
model. Per default the upstream and downstream densities are averaged with the setting useUpstreamScheme = false,
in order to avoid discontinuous pathLengths_nominal values in the case of flow reversal.
The geometry parameters crossAreas, diameters and roughnesses do
not effect simulation results of this nominal pressure loss model.
As the geometry is specified however, the optionally calculated Reynolds number as well as
m_flows_turbulent and dps_fg_turbulent become meaningful
and can be related to m_flow_small and dp_small.
Optional Variables if show_Res
| Type | Name | Description |
|---|---|---|
| ReynoldsNumber | Res[n] | Reynolds numbers of pipe flow per flow segment |
| MassFlowRate | m_flows_turbulent[n-1] | mass flow rates at start of turbulent region for Re_turbulent=4000 |
| AbsolutePressure | dps_fg_turbulent[n-1] | pressure losses due to friction and gravity corresponding to m_flows_turbulent |
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) |
| SI.MassFlowRate | m_flow_turbulent | if system.use_eps_Re then 0.1*m_flow_nominal else system.m_flow_small | Turbulent flow starting from |m_flows| > m_flow_turbulent (may be wider for large discontinuities in static head) |
| 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 |
| SI.Length | pathLengths_nominal | pathLengths resulting from nominal pressure loss and geometry | |
| SI.ReynoldsNumber | Res_turbulent_nominal | Re_turbulent resulting from nominal turbulent flow and geometry | |
| Real | ks_inv | Coefficient for quadratic flow | |
| Real | zetas | Coefficient for quadratic flow | |
| Medium.AbsolutePressure | dps_fg_turbulent | {(mus_act[i]*diameters[i]*pi/4)^2*Re_turbulent^2/(ks_inv[i]*rhos_act[i]) for i in 1:n - 1} | Start of turbulent flow in circular tubes |
Revisions
- 6 Dec 2008
by Rüdiger Franke:
Model added to the Fluid library