modelSinglePhase_Developed_2Region_NumStable
Single Phase | Fully Developed | 2 Region - Laminar & Turbulent | Numerically Stable Method
Extends from PartialSinglePhase.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Internal Interface | |||
| Integer | nFM (from PartialDistributedStaggeredFlow) | 1 | Number of discrete flow models |
| Internal Interface › Initialization | |||
| Dynamics | momentumDynamics (from PartialDistributedStaggeredFlow) | Dynamics.DynamicFreeInitial | Formulation of momentum balance |
| SI.PressureDifference | dps_start (from PartialDistributedStaggeredFlow) | Pressure changes {p[2]-p[1],...,p[n+1]-p[n]} | |
| SI.MassFlowRate | m_flows_start (from PartialDistributedStaggeredFlow) | Mass flow rates | |
| Internal Interface › Advanced | |||
| Boolean | allowFlowReversal (from PartialDistributedStaggeredFlow) | true | = true to allow flow reversal, false restricts to design direction (m_flows >= zeros(m)) |
| Advanced | |||
| SI.ReynoldsNumber | Re_lam (from PartialDistributedStaggeredFlow) | 2300 | Laminar transition Reynolds number |
| SI.ReynoldsNumber | Re_turb (from PartialDistributedStaggeredFlow) | 4000 | Turbulent transition Reynolds number |
| Boolean | from_dp (from PartialDistributedStaggeredFlow) | momentumDynamics >= Modelica.Fluid.Types.Dynamics.SteadyStateInitial | = true, use m_flow = f(dp), otherwise dp = f(m_flow) |
| SI.MassFlowRate | m_flow_small (from PartialDistributedStaggeredFlow) | 0.001 | Within regularization if |m_flows| < m_flow_small (may be wider for large discontinuities in static head) |
| SI.AbsolutePressure | dp_small (from PartialDistributedStaggeredFlow) | 1 | Within regularization if |dp| < dp_small (may be wider for large discontinuities in static head) |
| Boolean | use_I_flows (from PartialMomentumBalance) | momentumDynamics <> Dynamics.SteadyState | = true to consider differences in flow of momentum through boundaries |
| SI.Time[2] | taus (from PartialMomentumBalance) | {0.01, 0.01} | Time Constant for first order delay of {dps_K,dps_add} |
| Advanced › Nominal Conditions | |||
| SI.AbsolutePressure | dp_nominal | Nominal pressure loss (only for nominal models) | |
| SI.MassFlowRate | m_flow_nominal | 1e2*m_flow_small | Nominal mass flow rate |
| Boolean | use_d_nominal | false | = true, if d_nominal is used, otherwise computed from medium |
| SI.Density | d_nominal | Medium.density_phX(Medium.p_default, Medium.h_default, Medium.X_default) | Nominal density (e.g., rho_liquidWater = 995, rho_air = 1.2) |
| Boolean | use_mu_nominal | false | = true, if mu_nominal is used, otherwise computed from medium |
| SI.DynamicViscosity | mu_nominal | Medium.dynamicViscosity(Medium.setState_phX(Medium.p_default, Medium.h_default, Medium.X_default)) | Nominal dynamic viscosity (e.g., mu_liquidWater = 1e-3, mu_air = 1.8e-5) |
| Boolean | continuousFlowReversal | if use_d_nominal and use_mu_nominal then true else false | = true if the pressure loss is continuous around zero flow |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| SI.Acceleration | g_n (from PartialDistributedStaggeredFlow) | Modelica.Constants.g_n | Gravitational acceleration |
| Medium.ThermodynamicState[nFM + 1] | states (from PartialDistributedStaggeredFlow) | State at volumes | |
| SI.Velocity | vs (from PartialDistributedStaggeredFlow) | Mean velocities of fluid flow | |
| SI.Temperature | Ts_wall (from PartialDistributedStaggeredFlow) | Mean wall temperatures of heat transfer surface | |
| SI.Length[nFM + 1] | dimensions (from PartialDistributedStaggeredFlow) | Characteristic dimensions (e.g. hydraulic diameter) | |
| SI.Area[nFM + 1] | crossAreas (from PartialDistributedStaggeredFlow) | Cross sectional area | |
| SI.Length[nFM + 1] | perimeters (from PartialDistributedStaggeredFlow) | Wetted perimeter | |
| SI.Length[nFM] | dlengths (from PartialDistributedStaggeredFlow) | Length of flow model | |
| SI.Height | roughnesses (from PartialDistributedStaggeredFlow) | Average height of surface asperities | |
| SI.Length | dheights (from PartialDistributedStaggeredFlow) | Height(states[2:nFM+1]) - Height(states[1:nFM]) | |
| SI.MassFlowRate[nFM] | m_flows (from PartialDistributedStaggeredFlow) | Mass flow rate across interfaces | |
| SI.Momentum | Is (from PartialDistributedStaggeredFlow) | Momenta of flow segments | |
| SI.Force | Ibs (from PartialDistributedStaggeredFlow) | Flow of momentum across boundaries and source/sink in volumes | |
| SI.Temperature | Ts_fluid (from PartialDistributedStaggeredFlow) | Medium.temperature(states) | Fluid temperature |
| SI.ReynoldsNumber | Res (from PartialDistributedStaggeredFlow) | Reynolds number | |
| Units.NonDim[nFM] | Ks_ab (from PartialMomentumBalance) | fill(0, nFM) | Minor loss coefficients. Flow in direction a -> b |
| Units.NonDim[nFM] | Ks_ba (from PartialMomentumBalance) | fill(0, nFM) | Minor loss coefficients. Flow in direction b -> a |
| SI.Force | I_flows (from PartialMomentumBalance) | Flow of momentum across boundaries | |
| SI.Force | Fs_p (from PartialMomentumBalance) | Pressure forces | |
| SI.Force | Fs_fg (from PartialMomentumBalance) | Friction and gravity forces | |
| SI.Pressure | dps_fg (from PartialMomentumBalance) | Pressure drop between states | |
| SI.PressureDifference[nFM] | dps_K (from PartialMomentumBalance) | Minor form-losses (K-loss) | |
| Modelica.Blocks.Continuous.FirstOrder[nFM] | firstOrder_dps_K (from PartialMomentumBalance) | ||
| TRANSFORM.Media.BaseProperties1Phase[nFM + 1] | mediaProps (from PartialSinglePhase) | Bulk fluid properties | |
| TRANSFORM.Fluid.ClosureRelations.PressureLoss.Functions.TubesAndConduits.SinglePhase.LaminarTurbulent_MSLDetailed.dp_IN_con | IN_con | ||
| TRANSFORM.Fluid.ClosureRelations.PressureLoss.Functions.TubesAndConduits.SinglePhase.LaminarTurbulent_MSLDetailed.dp_IN_var | IN_var | ||
| SI.DynamicViscosity[nFM] | mus | ||
| SI.DynamicViscosity[nFM] | mus_a | if use_mu_nominal then fill(mu_nominal, nFM) else mediaProps[1:nFM].mu | |
| SI.DynamicViscosity[nFM] | mus_b | if use_mu_nominal then fill(mu_nominal, nFM) else mediaProps[2:nFM + 1].mu | |
| SI.Density[nFM] | ds | ||
| SI.Density[nFM] | ds_a | if use_d_nominal then fill(d_nominal, nFM) else mediaProps[1:nFM].d | |
| SI.Density[nFM] | ds_b | if use_d_nominal then fill(d_nominal, nFM) else mediaProps[2:nFM + 1].d |