Water Flow Resistance
Flow resistance, based on Handbook of Hydraulic Resistance, I.E. Idelchik [1]
Description
Equations
Variables
Connections
Parameters
See Also
The Water Flow Resistance component models a flow resistance which is caused by bending of flow for the lumped thermal fluid simulation of Water. This component calculates mainly pressure difference and mass flow rate.
The calculation is changed based on parameter values of Type of Resistance and Dynamics of mass in the Water Settings component.
The definition of Inner hydraulic diameter and Flow area and Geometrical coefficient for laminar flow, and the heat transfer coefficient calculation are explained in the following:
Reynolds number for Friction factor calculation is defined with:
Re__target=max{ρ__adp≥0ρ__bothers⋅v⋅D__h_act{μ__adp≥0μ__bothers,0.1
ⅆReⅆt=Re__target−ReT__const
Type of Resistance = General
Inner hydraulic diameter is defined with:
D__h_act=D__h
Flow area is defined with:
A__act=A__cir
Geometrical coefficient for laminar flow is defined with:
Geo__act=1
Geometrical length for Bend to get the values from tables:
D0__Bend=0
Total loss coefficient:
zeta__act=zeta__inUse ζ as input=truezetaothers
Type of Resistance = Elbow with sharp corner (Circular) : 0<θ<π, LD__h≥10
(*) Reference[1] : page.365-366.
D0__Bend=D__h
Local resistance is defined with:
zeta__loc=A__loc_Elbow⋅C__loc⋅max10−8,0.95⋅sinθ22+2.05⋅sinθ24
Correction factor C is defined with:
C__loc=1
Correction factor A is defined with:
A__loc_Elbow=`MapleSim.Interpolate1D`data,θ
(*) `MapleSim.Interpolate1D` is the function of Lookup table of 1D.
(*) data is specified with:
- If data_source = inline, parameter table__A_Elbow.
- If data_source = attachment, an attached file (.csv and .xls, .xlsx) is used.
- If data_source = file, need to specify the path of file (.csv and .xls, .xlsx).
Friction resistance is defined with:
zeta__fri=k__δ⋅k__Re⋅zeta__loc
Correction factor k_delta (Roughness dependency) is defined with:
k__δ=min1.5,max1.0,1.0+500⋅roughnessD__h_act
Correction factor k_Re (Reynolds number dependency) is defined with:
k__Re=`MapleSim.Interpolate1D`data,Re
- If data_source = inline, parameter table__k_Re_Elbow.
Total resistance is defined with:
zeta__act=zeta__fri
Type of Resistance = Elbow with sharp corner (Rectangular): 0<θ<π, LD__h≥10
(*) Reference: page.365-366 in [1].
D__h_act=21a__rec+1b__rec
A__act=A__rec
Geo__act=MapleSim.Interpolate1D`data,b__reca__rec
- If data_source = inline, parameter table__geo_rec.
D0__Bend=a__rec
C__loc=`MapleSim.Interpolate1D`data,b__reca__rec
- If data_source = inline, parameter table__C_Elbow.
Type of Resistance = Bend (Circular) : R0D__h<3.0, 0<θ<π, LD__h≥10
The following diagram shows...
(*) Reference[1] : page.357-339.
zeta__loc={k__Re⋅k__δ⋅A1__loc_Bend⋅B__loc_Bend⋅C__locRe>10000A2__loc_Bendmax3000,Re+A1__loc_Bend⋅B__loc_Bend⋅C__locRe≤10000
Correction factor A1 is defined with:
A1__loc_Bend=`MapleSim.Interpolate1D`data,θ
- If data_source = inline, parameter table__A1_Bend.
Correction factor A2 is defined with:
A2__loc_Bend=`MapleSim.Interpolate1D`data,R0D0__Bend
- If data_source = inline, parameter table__A2_Bend.
Correction factor B is defined with:
B__loc_Bend=`MapleSim.Interpolate1D`data,R0D0__Bend
- If data_source = inline, parameter table__B_Bend.
k__δ={min1.5,1.0+0.001⋅roughnessD__h_actR0D0__Bend≤0.55min2.0,max1.0,λ__tur_roughnessλ__tur_smoothR0D0__Bend>0.55
Friction coefficient of smooth pipe for k_Re calculation is defined with:
λ__tur_smooth=0.25⋅1log105.74maxRe,1.00.92
Friction coefficient of rough pipe for k_Re calculation is defined with (Swamee and Jain's approximation[2]):
λ__tur_roughness=0.25⋅1log10roughnessD__h_act3.7+5.74maxRe,1.00.92
- If data_source = inline, parameter table__k_Re_Bend.
zeta__fri=θ⋅λ⋅R0D__h_act
The friction factor of flow is calculated with:
λ=`HeatTransfer.Functions.lambda_Re`Re,roughness,D__h_act,Re__CoT,IF__speed,Geo__act
(*) The above function `HeatTransfer.Functions.lambda_Re` is to calculated friction factor for Laminar and Turbulent flow.
Regarding the implementation of the friction factor calculation, see the reference section below.
zeta__act=zeta__loc+zeta__fri
Type of Resistance = Bend (Rectangular): R0D__h<3.0, 0<θ<π, LD__h≥10
(*) Reference[1]: page.357-339.
D0__bend=a__rec
- If data_source = inline, parameter table__C_Bend.
(Reference) Detailed implementation of Friction factor calculation
Friction factor of Laminar flow is calculated with:
λ__lam=Geo__act⋅64Re
And, Turbulent flow's friction factor is defined with (Swamee and Jain's approximation[2]):
λ__tur=0.25logroughnessD__h_act3.7+5.74Re0.92
Intermittency is defined with:
κ=tanhIF__speed⋅Re−Re__CoT2+12
So, the friction factor is calculated with:
λ=1−κ⋅λ__lam+κ⋅λ__tur
The following plot is Reynolds number vs Friction factor, and roughnessD__h_act=0.001, IF__speed=0.007, Re__CoT=3500, Geo__act=1.
The definition of Flow calculation is the following and:
Dynamics of mass = Static
Pressure difference is calculated with Darcy–Weisbach equation:
dp=12⋅zeta__act⋅1A__act2⋅{ρ__adp≥0ρ__bothers⋅mflow2⋅signmflow
Dynamics of mass = Dynamic
In theory, Mass flow rate is calculated with Darcy–Weisbach equation:
mflow=2⋅A__act2zeta__act⋅{ρ__adp≥0ρ__bothers⋅dp⋅signdp
In the Heat Transfer Library, the following equation is used to resolve difficulties of the numerical calculation:
mflow=2⋅A__act2zeta__act⋅`HeatTransfer.Functions.regRoot2`dp,dp_small,ρ__a,ρ__b,true,sharpness
(*) `HeatTransfer.Functions.regRoot2` is the same function as `Modelica.Fluid.Utilities.regRoot2`. To check the details of the package and view the original documentation, which includes author and copyright information, click here.
Definitions related to Mass flow rate and pressure:
dp=`port_a.p`−`port_b.p`
v=mflow{ρ__adp≥0ρ__bothers⋅A__act
`port_a.mflow`=mflow
`port_b.mflow`=−mflow
Specific enthalpy is defined with:
`port_a.hflow`=inStream`port_b.hflow`
`port_b.hflow`=inStream`port_a.hflow`
Density is calculated with:
ρ__a=inStream`port_a.rho`
ρ__b=inStream`port_b.rho`
If Fidelity of properties = Constant, properties μ and c__p and k are constants and properties at each ports are:
μ__a=μ
μ__b=μ
(*) Regarding the value of properties for Constant, see more in Air Settings.
If Fidelity of properties = Ideal Gas (NASA Polynomial), properties are calculated with:
μ__a=Function__visinStream`port_a.T`
μ__b=Function__visinStream`port_b.T`
(*) The properties are defined with NASA polynomials and coefficients, see more in Air Settings.
Port's variables are defined with:
`port_a.rho`=inStream`port_b.rho`
`port_b.rho`=inStream`port_a.rho`
`port_a.T`=inStream`port_b.T`
`port_b.T`=inStream`port_a.T`
References
[1] : Idelchik,I.E.: Handbook of hydraulic resistance. Jaico Publishing House, Mumbai, 3rd edition, 2006.
[2] : Swamee P.K., Jain A.K. (1976): Explicit equations for pipe-flow problems. Proc. ASCE, J.Hydraul. Div., 102 (HY5), pp. 657-664.
Symbol
Units
Modelica ID
dp
Pa
Pressure difference
p
mflow
kgs
Mass flow rate
ρ__a
kgm3
Density at port_a
rho_a
ρ__b
Density at port_b
rho_b
μ__a
Pa⋅s
Dynamic viscosity at port_a
vis_a
μ__b
Dynamic viscosity at port_b
vis_b
v
ms
Velocity of flow
Re
−
Reynolds number for Friction factor calculation
Re__target
Targeted Reynolds number for Friction factor calculation
Re_target
λ
Friction factor
lambda
zeta__loc
Local resistance
zeta_loc
zeta__fri
Friction resistance
zeta_fri
zeta__act
Actual loss coefficient
zeta_act
C__loc
Correction factor C for Elbow and Bend
C_loc
A__loc_Elbow
Correction factor A for Elbow
A_loc_Elbow
A1__loc_Bend
Correction factor A1 for Bend
A1_loc_Bend
A2__loc_Bend
Correction factor A2 for Bend
A3_loc_Bend
B__loc_Bend
Correction factor B for Bend
B_loc_Bend
k__Re
Correction factor k_Re, Reynolds number dependency
k_Re
k__δ
Correction factor k_delta, Roughness dependency
K_delta
λ__tur_smooth
Friction coefficient of smooth pipe for k_Re calculation
lambda_tur_smooth
λ__tur_roughness
Friction coefficient of rough pipe for k_Re calculation
lambda_tur_roughness
D__h_act
m
Inner hydraulic diameter used for Fluid simulation
Dh_act
A__act
m2
Flow area used for Fluid simulation
A_act
Geo__act
Geometrical coefficient used for Fluid simulation
Geo_act
D0__Bend
Geometrical length for Bend to get values from tables
D0_Bend
Name
Condition
port__a
Air Port
port_a
port__b
port_b
zeta_in
if Use zeta as input = true
Resistance coefficient input
Default
Watersimulationsettings
WaterSettings1
Specify a component of Water simulation settings
Settings
Type ofResistance
General
Select pipe type
- General
- Elbow with sharp corner (Circular)
- Elbow with sharp corner (Rectangular)
- Bend (Circular)
- Bend (Rectangular)
TypeOfResistance
D__h
0.1
Internal hydraulic diameter if Type of Resistance is General or Elbow with sharp corner (Circular) or Bend (Circular).
Dh
a__rec
0.2
Horizontal length if Type of Resistance = Elbow with sharp corner (Rectangular) or Bend (Rectangular).
a_rec
b__rec
Vertical length if Type of Resistance = Elbow with sharp corner (Rectangular) or Bend (Rectangular).
b_rec
A__cir
14⋅Pi__⋅D__h2
Flow area if Type of Resistance is General or Elbow with sharp corner (Circular) or Bend (Circular).
A_cir
A__rec
a__rec⋅b__rec
Flow area if Type of Resistance = Elbow with sharp corner (Rectangular) or Bend (Rectangular).
A_rec
R0
Radius of Neutral axis.
θ
30180⋅Pi
rad
Angle of elbow/bend.
theta
roughness
0.000025
Absolute roughness of pipe, with a default for a smooth steel pipe
Use ζ as input
false
If true, use input for Resistance coefficient only if Type of Resistance is General.
use_in_zeta
zeta
0.15
Resistance coefficient only if Type of Resistance is General and Use zeta as input = true
datasource__rec
inline
-
See Data Source Options section above.
DSM_geo_rec
table__rec
01.50.11.3230.21.1920.31.0940.41.0230.50.97160.60.93600.70.91200.80.89830.90.89091.00.8887
Geometrical coefficient for Rectangular pipe, if data source__rec = inline.
[1] : b_rec / a_rec
[2] : Geometrical coefficient
table_geo_rec
data__rec
2
Geometrical coefficient for Rectangular pipe, if data source__rec =file or attachment. You can specify data by using an attached file or specifying the path of file (.csv and .xls, .xlsx)
data_geo_rec
columns__rec
Determines which columns of the data table will be used to interpolate.
For example, in an Excel spreadsheet, column A corresponds with 1, column B corresponds with 2, and so on.
columns_geo_rec
skip rows__rec
0
Number of rows that are skipped from the top of the data table.
skiprows_geo_rec
smoothness__rec
Table points are linearly interpolated
Determines whether the data points will be interpolated linearly or with a cubic spline.
smoothness_geo_rec
datasource__C_Elbow
DSM_C_Elbow
table__C_Elbow
0.251.100.501.070.751.041.001.001.500.951.000.903.000.834.000.785.000.756.000.727.000.718.000.70
Correction factor C for Elbow, if data source__C_Elbow = inline.
[2] : Correction factor C
table_C_Elbow
data__C_Elbow
Geometrical coefficient for Rectangular pipe, if data source__C_Elbow =file or attachment. You can specify data by using an attached file or specifying the path of file (.csv and .xls, .xlsx)
data_C_Elbow
columns__C_Elbow
columns_C_Elbow
skiprows__C_Elbow
skiprows_C_Elbow
smoothness__C_Elbow__
smoothness_C_Elbow
datasource__A_Elbow
DSM_A_Elbow
table__A_Elbow
02.5020180⋅Pi2.5030180⋅Pi2.2245180⋅Pi2.8760180⋅Pi1.5075180⋅Pi1.2890180⋅Pi1.2110180⋅Pi1.2130180⋅Pi1.250180⋅Pi1.2Pi1.2
Correction factor A for Elbow, if data source__A_Elbow = inline.
[1] : theta[rad]
[2] : Correction factor A
table_A_Elbow
data__A_Elbow
Geometrical coefficient for Rectangular pipe, if data source__A_Elbow =file or attachment. You can specify data by using an attached file or specifying the path of file (.csv and .xls, .xlsx)
data_A_Elbow
columns__A_Elbow
columns_A_Elbow
skiprows__A_Elbow
skiprows_A_Elbow
smoothness__A_Elbow__
smoothness_A_Elbow
datasource__k_Re_Elbow
DSM_k_Re_Elbow
table__k_Re_Elbow
100001.4140001.33200001.26300001.19400001.14600001.09800001.061000001.041400001.002000001.00
Correction factor k_Re for Elbow, if data source__k_Re_Elbow = inline.
[1] : Reynolds number
[2] : Correction factor k_Re
table_k_Re_Elbow
data__k_Re_Elbow
Geometrical coefficient for Rectangular pipe, if data source__k_Re_Elbow =file or attachment. You can specify data by using an attached file or specifying the path of file (.csv and .xls, .xlsx)
data_k_Re_Elbow
columns__k_Re_Elbow
columns_k_Re_Elbow
skiprows__k_Re_Elbow
skiprows_k_Re_Elbow
smoothness__k_Re_Elbow__
smoothness_k_Re_Elbow
datasource__C_Bend
DSM_C_Bend
table__C_Bend
0.251.300.501.170.751.091.001.001.500.901.000.853.000.854.000.905.000.956.000.987.001.008.001.00
Correction factor C for Bend, if data source__C_Bend = inline.
table_C_Bend
data__C_Bend
Geometrical coefficient for Rectangular pipe, if data source__C_Bend =file or attachment. You can specify data by using an attached file or specifying the path of file (.csv and .xls, .xlsx)
data_C_Bend
columns__C_Bend
columns_C_Bend
skiprows__C_Bend
skiprows_C_Bend
smoothness__C_Bend__
smoothness_C_Bend
datasource__A1_Bend
DSM_A1_Bend
table__A1_Bend
0020180⋅Pi0.3130180⋅Pi0.4545180⋅Pi0.6060180⋅Pi0.7875180⋅Pi0.9090180⋅Pi1.00110180⋅Pi1.13130180⋅Pi1.2050180⋅Pi1.28Pi1.40
Correction factor A1 for Bend, if data source__A1_Bend = inline.
[2] : Correction factor A1
table_A1_Bend
data__A1_Bend
Geometrical coefficient for Rectangular pipe, if data source__A1_Bend =file or attachment. You can specify data by using an attached file or specifying the path of file (.csv and .xls, .xlsx)
data_A1_Bend
columns__A1_Bend
columns_A_1Bend
skiprows__A1_Bend
skiprows_A1_Bend
smoothness__A1_Bend__
smoothness_A1_Bend
datasource__A2_Bend
DSM_A2_Bend
table__A2_Bend
0.5000040000.5500040000.5500160000.7000060000.7000140001.0000020001.0000110002.0000010002.000016002.50000600
Correction factor A2 for Bend, if data source__A2_Bend = inline.
[1] : R0 / Dh
[2] : Correction factor A2
table_A2_Bend
data__A2_Bend
Geometrical coefficient for Rectangular pipe, if data source__A2_Bend =file or attachment. You can specify data by using an attached file or specifying the path of file (.csv and .xls, .xlsx)
data_A2_Bend
columns__A2_Bend
columns_A2_Bend
skiprows__A2_Bend
skiprows_A2_Bend
smoothness__A2_Bend__
smoothness_A2_Bend
datasource__B_Bend
DSM_B_Bend
table__B_Bend
0.501.180.600.770.700.510.800.370.900.281.000.211.250.191.500.172.000.154.000.116.000.098.000.0710.000.07
Correction factor B for Bend, if data source__B_Bend = inline.
[2] : Correction factor B
table_B_Bend
data__B_Bend
Geometrical coefficient for Rectangular pipe, if data source__B_Bend =file or attachment. You can specify data by using an attached file or specifying the path of file (.csv and .xls, .xlsx)
data_B_Bend
columns__B_Bend
columns_B_Bend
skiprows__B_Bend
skiprows_B_Bend
smoothness__B_Bend__
smoothness_B_Bend
0.0000099910001400200030004000600080001000014000200003000040000400010.500001.401.401.331.261.191.141.091.061.041.001.001.001.001.000.550001.401.401.331.261.191.141.091.061.041.001.001.001.001.000.550011.671.671.581.491.401.341.261.211.191.171.141.061.001.000.700001.671.671.581.491.401.341.261.211.191.171.141.061.001.000.700012.002.001.891.771.641.561.461.381.301.151.021.001.001.000.700022.002.001.891.771.641.561.461.381.301.151.021.001.001.00
[u:column] :R0 / Dh
[v:row] : Reynolds number
[value] : Correction factor k_Re
dp__small
Approximation of function for |dp| <= dp_small
dp_small
sharpness
1.0
Sharpness of approximation for sqrt(dp) and sqrt(rho * dp)
T__const
0.001
s
Time constant for Reynolds number calculation
T_const
Re__CoT
3500
Reynolds number of the center of Transition zone
Re_CoT
Spread ofIntermittencyfactor
0.007
Changing rate of Intermittency factor
IF_spread
Heat Transfer Library Overview
Water Overview
Water Shapes Overview
Download Help Document