Dimensionless numbers (fluids.core)

This module contains basic fluid mechanics and engineering calculations which have been found useful by the author. The main functionality is calculating dimensionless numbers, interconverting different forms of loss coefficients, and converting temperature units.

For reporting bugs, adding feature requests, or submitting pull requests, please use the GitHub issue tracker or contact the author at Caleb.Andrew.Bell@gmail.com.

Dimensionless Numbers

fluids.core.Archimedes(L, rhof, rhop, mu, g=9.80665)[source]

Calculates Archimedes number, Ar, for a fluid and particle with the given densities, characteristic length, viscosity, and gravity (usually diameter of particle).

Ar=L3ρf(ρpρf)gμ2Ar = \frac{L^3 \rho_f(\rho_p-\rho_f)g}{\mu^2}
Parameters
Lfloat

Characteristic length, typically particle diameter [m]

rhoffloat

Density of fluid, [kg/m^3]

rhopfloat

Density of particle, [kg/m^3]

mufloat

Viscosity of fluid, [N/m]

gfloat, optional

Acceleration due to gravity, [m/s^2]

Returns
Arfloat

Archimedes number []

Notes

Used in fluid-particle interaction calculations.

Ar=Gravitational forceViscous forceAr = \frac{\text{Gravitational force}}{\text{Viscous force}}

References

1

Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Professional, 2007.

2

Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw Hill Higher Education, 2006.

Examples

>>> Archimedes(0.002, 2., 3000, 1E-3)
470.4053872
fluids.core.Bejan_L(dP, L, mu, alpha)[source]

Calculates Bejan number of a length or Be_L for a fluid with the given parameters flowing over a characteristic length L and experiencing a pressure drop dP.

BeL=ΔPL2μαBe_L = \frac{\Delta P L^2}{\mu \alpha}
Parameters
dPfloat

Pressure drop, [Pa]

Lfloat

Characteristic length, [m]

mufloat, optional

Dynamic viscosity, [Pa*s]

alphafloat

Thermal diffusivity, [m^2/s]

Returns
Be_Lfloat

Bejan number with respect to length []

Notes

Termed a dimensionless number by someone in 1988.

References

1

Awad, M. M. “The Science and the History of the Two Bejan Numbers.” International Journal of Heat and Mass Transfer 94 (March 2016): 101-3. doi:10.1016/j.ijheatmasstransfer.2015.11.073.

2

Bejan, Adrian. Convection Heat Transfer. 4E. Hoboken, New Jersey: Wiley, 2013.

Examples

>>> Bejan_L(1E4, 1, 1E-3, 1E-6)
10000000000000.0
fluids.core.Bejan_p(dP, K, mu, alpha)[source]

Calculates Bejan number of a permeability or Be_p for a fluid with the given parameters and a permeability K experiencing a pressure drop dP.

Bep=ΔPKμαBe_p = \frac{\Delta P K}{\mu \alpha}
Parameters
dPfloat

Pressure drop, [Pa]

Kfloat

Permeability, [m^2]

mufloat, optional

Dynamic viscosity, [Pa*s]

alphafloat

Thermal diffusivity, [m^2/s]

Returns
Be_pfloat

Bejan number with respect to pore characteristics []

Notes

Termed a dimensionless number by someone in 1988.

References

1

Awad, M. M. “The Science and the History of the Two Bejan Numbers.” International Journal of Heat and Mass Transfer 94 (March 2016): 101-3. doi:10.1016/j.ijheatmasstransfer.2015.11.073.

2

Bejan, Adrian. Convection Heat Transfer. 4E. Hoboken, New Jersey: Wiley, 2013.

Examples

>>> Bejan_p(1E4, 1, 1E-3, 1E-6)
10000000000000.0
fluids.core.Biot(h, L, k)[source]

Calculates Biot number Br for heat transfer coefficient h, geometric length L, and thermal conductivity k.

Bi=hLkBi=\frac{hL}{k}
Parameters
hfloat

Heat transfer coefficient, [W/m^2/K]

Lfloat

Characteristic length, no typical definition [m]

kfloat

Thermal conductivity, within the object [W/m/K]

Returns
Bifloat

Biot number, [-]

Notes

Do not confuse k, the thermal conductivity within the object, with that of the medium h is calculated with!

Bi=Surface thermal resistanceInternal thermal resistanceBi = \frac{\text{Surface thermal resistance}} {\text{Internal thermal resistance}}

References

1

Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Professional, 2007.

2

Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw Hill Higher Education, 2006.

Examples

>>> Biot(1000., 1.2, 300.)
4.0
>>> Biot(10000., .01, 4000.)
0.025
fluids.core.Boiling(G, q, Hvap)[source]

Calculates Boiling number or Bg using heat flux, two-phase mass flux, and heat of vaporization of the fluid flowing. Used in two-phase heat transfer calculations.

Bg=qGtpΔHvap\text{Bg} = \frac{q}{G_{tp} \Delta H_{vap}}
Parameters
Gfloat

Two-phase mass flux in a channel (combined liquid and vapor) [kg/m^2/s]

qfloat

Heat flux [W/m^2]

Hvapfloat

Heat of vaporization of the fluid [J/kg]

Returns
Bgfloat

Boiling number [-]

Notes

Most often uses the symbol Bo instead of Bg, but this conflicts with Bond number.

Bg=mass liquid evaporated / area heat transfer surfacemass flow rate fluid / flow cross sectional area\text{Bg} = \frac{\text{mass liquid evaporated / area heat transfer surface}}{\text{mass flow rate fluid / flow cross sectional area}}

First defined in [4], though not named.

References

1

Winterton, Richard H.S. BOILING NUMBER. Thermopedia. Hemisphere, 2011. 10.1615/AtoZ.b.boiling_number

2

Collier, John G., and John R. Thome. Convective Boiling and Condensation. 3rd edition. Clarendon Press, 1996.

3

Stephan, Karl. Heat Transfer in Condensation and Boiling. Translated by C. V. Green.. 1992 edition. Berlin; New York: Springer, 2013.

4

W. F. Davidson, P. H. Hardie, C. G. R. Humphreys, A. A. Markson, A. R. Mumford and T. Ravese “Studies of heat transmission through boiler tubing at pressures from 500 to 3300 pounds” Trans. ASME, Vol. 65, 9, February 1943, pp. 553-591.

Examples

>>> Boiling(300, 3000, 800000)
1.25e-05
fluids.core.Bond(rhol, rhog, sigma, L)[source]

Calculates Bond number, Bo also known as Eotvos number, for a fluid with the given liquid and gas densities, surface tension, and geometric parameter (usually length).

Bo=g(ρlρg)L2σBo = \frac{g(\rho_l-\rho_g)L^2}{\sigma}
Parameters
rholfloat

Density of liquid, [kg/m^3]

rhogfloat

Density of gas, [kg/m^3]

sigmafloat

Surface tension, [N/m]

Lfloat

Characteristic length, [m]

Returns
Bofloat

Bond number []

References

1

Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Professional, 2007.

Examples

>>> Bond(1000., 1.2, .0589, 2)
665187.2339558573
fluids.core.Capillary(V, mu, sigma)[source]

Calculates Capillary number Ca for a characteristic velocity V, viscosity mu, and surface tension sigma.

Ca=VμσCa = \frac{V \mu}{\sigma}
Parameters
Vfloat

Characteristic velocity, [m/s]

mufloat

Dynamic viscosity, [Pa*s]

sigmafloat

Surface tension, [N/m]

Returns
Cafloat

Capillary number, [-]

Notes

Used in porous media calculations and film flow calculations. Surface tension may gas-liquid, or liquid-liquid.

Ca=Viscous forcesSurface forcesCa = \frac{\text{Viscous forces}} {\text{Surface forces}}

References

1

Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Professional, 2007.

2

Kundu, Pijush K., Ira M. Cohen, and David R. Dowling. Fluid Mechanics. Academic Press, 2012.

Examples

>>> Capillary(1.2, 0.01, .1)
0.12
fluids.core.Cavitation(P, Psat, rho, V)[source]

Calculates Cavitation number or Ca for a fluid of velocity V with a pressure P, vapor pressure Psat, and density rho.

Ca=σc=σ=PPsat12ρV2Ca = \sigma_c = \sigma = \frac{P-P_{sat}}{\frac{1}{2}\rho V^2}
Parameters
Pfloat

Internal pressure of the fluid, [Pa]

Psatfloat

Vapor pressure of the fluid, [Pa]

rhofloat

Density of the fluid, [kg/m^3]

Vfloat

Velocity of fluid, [m/s]

Returns
Cafloat

Cavitation number []

Notes

Used in determining if a flow through a restriction will cavitate. Sometimes, the multiplication by 2 will be omitted;

Ca=Pressure - Vapor pressureInertial pressureCa = \frac{\text{Pressure - Vapor pressure}} {\text{Inertial pressure}}

References

1

Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Professional, 2007.

2

Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw Hill Higher Education, 2006.

Examples

>>> Cavitation(2E5, 1E4, 1000, 10)
3.8
fluids.core.Confinement(D, rhol, rhog, sigma, g=9.80665)[source]

Calculates Confinement number or Co for a fluid in a channel of diameter D with liquid and gas densities rhol and rhog and surface tension sigma, under the influence of gravitational force g.

Co=[σg(ρlρg)]0.5D\text{Co}=\frac{\left[\frac{\sigma}{g(\rho_l-\rho_g)}\right]^{0.5}}{D}
Parameters
Dfloat

Diameter of channel, [m]

rholfloat

Density of liquid phase, [kg/m^3]

rhogfloat

Density of gas phase, [kg/m^3]

sigmafloat

Surface tension between liquid-gas phase, [N/m]

gfloat, optional

Acceleration due to gravity, [m/s^2]

Returns
Cofloat

Confinement number [-]

Notes

Used in two-phase pressure drop and heat transfer correlations. First used in [1] according to [3].

Co=surface tension forcebuoyancy forceChannel area\text{Co} = \frac{\frac{\text{surface tension force}} {\text{buoyancy force}}}{\text{Channel area}}

References

1

Cornwell, Keith, and Peter A. Kew. “Boiling in Small Parallel Channels.” In Energy Efficiency in Process Technology, edited by Dr P. A. Pilavachi, 624-638. Springer Netherlands, 1993. doi:10.1007/978-94-011-1454-7_56.

2

Kandlikar, Satish G. Heat Transfer and Fluid Flow in Minichannels and Microchannels. Elsevier, 2006.

3

Tran, T. N, M. -C Chyu, M. W Wambsganss, and D. M France. Two-Phase Pressure Drop of Refrigerants during Flow Boiling in Small Channels: An Experimental Investigation and Correlation Development.” International Journal of Multiphase Flow 26, no. 11 (November 1, 2000): 1739-54. doi:10.1016/S0301-9322(99)00119-6.

Examples

>>> Confinement(0.001, 1077, 76.5, 4.27E-3)
0.6596978265315191
fluids.core.Dean(Re, Di, D)[source]

Calculates Dean number, De, for a fluid with the Reynolds number Re, inner diameter Di, and a secondary diameter D. D may be the diameter of curvature, the diameter of a spiral, or some other dimension.

De=DiDRe=DiDρvDμ\text{De} = \sqrt{\frac{D_i}{D}} \text{Re} = \sqrt{\frac{D_i}{D}} \frac{\rho v D}{\mu}
Parameters
Refloat

Reynolds number []

Difloat

Inner diameter []

Dfloat

Diameter of curvature or outer spiral or other dimension []

Returns
Defloat

Dean number [-]

Notes

Used in flow in curved geometry.

De=centripetal forcesinertial forcesviscous forces\text{De} = \frac{\sqrt{\text{centripetal forces}\cdot \text{inertial forces}}}{\text{viscous forces}}

References

1

Catchpole, John P., and George. Fulford. “DIMENSIONLESS GROUPS.” Industrial & Engineering Chemistry 58, no. 3 (March 1, 1966): 46-60. doi:10.1021/ie50675a012.

Examples

>>> Dean(10000, 0.1, 0.4)
5000.0
fluids.core.Drag(F, A, V, rho)[source]

Calculates drag coefficient Cd for a given drag force F, projected area A, characteristic velocity V, and density rho.

CD=FdA12ρV2C_D = \frac{F_d}{A\cdot\frac{1}{2}\rho V^2}
Parameters
Ffloat

Drag force, [N]

Afloat

Projected area, [m^2]

Vfloat

Characteristic velocity, [m/s]

rhofloat

Density, [kg/m^3]

Returns
Cdfloat

Drag coefficient, [-]

Notes

Used in flow around objects, or objects flowing within a fluid.

CD=Drag forcesProjected areaVelocity headC_D = \frac{\text{Drag forces}}{\text{Projected area}\cdot \text{Velocity head}}

References

1

Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Professional, 2007.

2

Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw Hill Higher Education, 2006.

Examples

>>> Drag(1000, 0.0001, 5, 2000)
400.0
fluids.core.Eckert(V, Cp, dT)[source]

Calculates Eckert number or Ec for a fluid of velocity V with a heat capacity Cp, between two temperature given as dT.

Ec=V2CpΔTEc = \frac{V^2}{C_p \Delta T}
Parameters
Vfloat

Velocity of fluid, [m/s]

Cpfloat

Heat capacity of the fluid, [J/kg/K]

dTfloat

Temperature difference, [K]

Returns
Ecfloat

Eckert number []

Notes

Used in certain heat transfer calculations. Fairly rare.

Ec=Kinetic energyEnthalpy differenceEc = \frac{\text{Kinetic energy} }{ \text{Enthalpy difference}}

References

1

Goldstein, Richard J. ECKERT NUMBER. Thermopedia. Hemisphere, 2011. 10.1615/AtoZ.e.eckert_number

Examples

>>> Eckert(10, 2000., 25.)
0.002
fluids.core.Euler(dP, rho, V)[source]

Calculates Euler number or Eu for a fluid of velocity V and density rho experiencing a pressure drop dP.

Eu=ΔPρV2Eu = \frac{\Delta P}{\rho V^2}
Parameters
dPfloat

Pressure drop experience by the fluid, [Pa]

rhofloat

Density of the fluid, [kg/m^3]

Vfloat

Velocity of fluid, [m/s]

Returns
Eufloat

Euler number []

Notes

Used in pressure drop calculations. Rarely, this number is divided by two. Named after Leonhard Euler applied calculus to fluid dynamics.

Eu=Pressure drop2velocity headEu = \frac{\text{Pressure drop}}{2\cdot \text{velocity head}}

References

1

Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Professional, 2007.

2

Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw Hill Higher Education, 2006.

Examples

>>> Euler(1E5, 1000., 4)
6.25
fluids.core.Fourier_heat(t, L, rho=None, Cp=None, k=None, alpha=None)[source]

Calculates heat transfer Fourier number or Fo for a specified time t, characteristic length L, and specified properties for the given fluid.

Fo=ktCpρL2=αtL2Fo = \frac{k t}{C_p \rho L^2} = \frac{\alpha t}{L^2}

Inputs either of any of the following sets:

  • t, L, density rho, heat capacity Cp, and thermal conductivity k

  • t, L, and thermal diffusivity alpha

Parameters
tfloat

time [s]

Lfloat

Characteristic length [m]

rhofloat, optional

Density, [kg/m^3]

Cpfloat, optional

Heat capacity, [J/kg/K]

kfloat, optional

Thermal conductivity, [W/m/K]

alphafloat, optional

Thermal diffusivity, [m^2/s]

Returns
Fofloat

Fourier number (heat) []

Notes

Fo=Heat conduction rateRate of thermal energy storage in a solidFo = \frac{\text{Heat conduction rate}} {\text{Rate of thermal energy storage in a solid}}

An error is raised if none of the required input sets are provided.

References

1

Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Professional, 2007.

2

Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw Hill Higher Education, 2006.

Examples

>>> Fourier_heat(t=1.5, L=2, rho=1000., Cp=4000., k=0.6)
5.625e-08
>>> Fourier_heat(1.5, 2, alpha=1E-7)
3.75e-08
fluids.core.Fourier_mass(t, L, D)[source]

Calculates mass transfer Fourier number or Fo for a specified time t, characteristic length L, and diffusion coefficient D.

Fo=DtL2Fo = \frac{D t}{L^2}
Parameters
tfloat

time [s]

Lfloat

Characteristic length [m]

Dfloat

Diffusivity of a species, [m^2/s]

Returns
Fofloat

Fourier number (mass) []

Notes

Fo=Diffusive transport rateStorage rateFo = \frac{\text{Diffusive transport rate}}{\text{Storage rate}}

References

1

Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Professional, 2007.

Examples

>>> Fourier_mass(t=1.5, L=2, D=1E-9)
3.7500000000000005e-10
fluids.core.Froude(V, L, g=9.80665, squared=False)[source]

Calculates Froude number Fr for velocity V and geometric length L. If desired, gravity can be specified as well. Normally the function returns the result of the equation below; Froude number is also often said to be defined as the square of the equation below.

Fr=VgLFr = \frac{V}{\sqrt{gL}}
Parameters
Vfloat

Velocity of the particle or fluid, [m/s]

Lfloat

Characteristic length, no typical definition [m]

gfloat, optional

Acceleration due to gravity, [m/s^2]

squaredbool, optional

Whether to return the squared form of Froude number

Returns
Frfloat

Froude number, [-]

Notes

Many alternate definitions including density ratios have been used.

Fr=Inertial ForceGravity ForceFr = \frac{\text{Inertial Force}}{\text{Gravity Force}}

References

1

Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Professional, 2007.

2

Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw Hill Higher Education, 2006.

Examples

>>> Froude(1.83, L=2., g=1.63)
1.0135432593877318
>>> Froude(1.83, L=2., squared=True)
0.17074638128208924
fluids.core.Froude_densimetric(V, L, rho1, rho2, heavy=True, g=9.80665)[source]

Calculates the densimetric Froude number FrdenFr_{den} for velocity V geometric length L, heavier fluid density rho1, and lighter fluid density rho2. If desired, gravity can be specified as well. Depending on the application, this dimensionless number may be defined with the heavy phase or the light phase density in the numerator of the square root. For some applications, both need to be calculated. The default is to calculate with the heavy liquid ensity on top; set heavy to False to reverse this.

Fr=VgLρ(1 or 2)ρ1ρ2Fr = \frac{V}{\sqrt{gL}} \sqrt{\frac{\rho_\text{(1 or 2)}} {\rho_1 - \rho_2}}
Parameters
Vfloat

Velocity of the specified phase, [m/s]

Lfloat

Characteristic length, no typical definition [m]

rho1float

Density of the heavier phase, [kg/m^3]

rho2float

Density of the lighter phase, [kg/m^3]

heavybool, optional

Whether or not the density used in the numerator is the heavy phase or the light phase, [-]

gfloat, optional

Acceleration due to gravity, [m/s^2]

Returns
Fr_denfloat

Densimetric Froude number, [-]

Notes

Many alternate definitions including density ratios have been used.

Fr=Inertial ForceGravity ForceFr = \frac{\text{Inertial Force}}{\text{Gravity Force}}

Where the gravity force is reduced by the relative densities of one fluid in another.

Note that an Exception will be raised if rho1 > rho2, as the square root becomes negative.

References

1

Hall, A, G Stobie, and R Steven. “Further Evaluation of the Performance of Horizontally Installed Orifice Plate and Cone Differential Pressure Meters with Wet Gas Flows.” In International SouthEast Asia Hydrocarbon Flow Measurement Workshop, KualaLumpur, Malaysia, 2008.

Examples

>>> Froude_densimetric(1.83, L=2., rho1=800, rho2=1.2, g=9.81)
0.4134543386272418
>>> Froude_densimetric(1.83, L=2., rho1=800, rho2=1.2, g=9.81, heavy=False)
0.016013017679205096
fluids.core.Graetz_heat(V, D, x, rho=None, Cp=None, k=None, alpha=None)[source]

Calculates Graetz number or Gz for a specified velocity V, diameter D, axial distance x, and specified properties for the given fluid.

Gz=VD2Cpρxk=VD2xαGz = \frac{VD^2\cdot C_p \rho}{x\cdot k} = \frac{VD^2}{x \alpha}

Inputs either of any of the following sets:

  • V, D, x, density rho, heat capacity Cp, and thermal conductivity k

  • V, D, x, and thermal diffusivity alpha

Parameters
Vfloat

Velocity, [m/s]

Dfloat

Diameter [m]

xfloat

Axial distance [m]

rhofloat, optional

Density, [kg/m^3]

Cpfloat, optional

Heat capacity, [J/kg/K]

kfloat, optional

Thermal conductivity, [W/m/K]

alphafloat, optional

Thermal diffusivity, [m^2/s]

Returns
Gzfloat

Graetz number []

Notes

Gz=Time for radial heat diffusion in a fluid by conductionTime taken by fluid to reach distance xGz = \frac{\text{Time for radial heat diffusion in a fluid by conduction}} {\text{Time taken by fluid to reach distance x}}
Gz=DxRePrGz = \frac{D}{x}RePr

An error is raised if none of the required input sets are provided.

References

1

Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to Heat Transfer. 6E. Hoboken, NJ: Wiley, 2011.

Examples

>>> Graetz_heat(1.5, 0.25, 5, 800., 2200., 0.6)
55000.0
>>> Graetz_heat(1.5, 0.25, 5, alpha=1E-7)
187500.0
fluids.core.Grashof(L, beta, T1, T2=0, rho=None, mu=None, nu=None, g=9.80665)[source]

Calculates Grashof number or Gr for a fluid with the given properties, temperature difference, and characteristic length.

Gr=gβ(TsT)L3ν2=gβ(TsT)L3ρ2μ2Gr = \frac{g\beta (T_s-T_\infty)L^3}{\nu^2} = \frac{g\beta (T_s-T_\infty)L^3\rho^2}{\mu^2}

Inputs either of any of the following sets:

  • L, beta, T1 and T2, and density rho and kinematic viscosity mu

  • L, beta, T1 and T2, and dynamic viscosity nu

Parameters
Lfloat

Characteristic length [m]

betafloat

Volumetric thermal expansion coefficient [1/K]

T1float

Temperature 1, usually a film temperature [K]

T2float, optional

Temperature 2, usually a bulk temperature (or 0 if only a difference is provided to the function) [K]

rhofloat, optional

Density, [kg/m^3]

mufloat, optional

Dynamic viscosity, [Pa*s]

nufloat, optional

Kinematic viscosity, [m^2/s]

gfloat, optional

Acceleration due to gravity, [m/s^2]

Returns
Grfloat

Grashof number []

Notes

Gr=Buoyancy forcesViscous forcesGr = \frac{\text{Buoyancy forces}}{\text{Viscous forces}}

An error is raised if none of the required input sets are provided. Used in free convection problems only.

References

1

Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Professional, 2007.

2

Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw Hill Higher Education, 2006.

Examples

Example 4 of [1], p. 1-21 (matches):

>>> Grashof(L=0.9144, beta=0.000933, T1=178.2, rho=1.1613, mu=1.9E-5)
4656936556.178915
>>> Grashof(L=0.9144, beta=0.000933, T1=378.2, T2=200, nu=1.636e-05)
4657491516.530312
fluids.core.Hagen(Re, fd)[source]

Calculates Hagen number, Hg, for a fluid with the given Reynolds number and friction factor.

Hg=fd2Re2=1ρΔPΔzD3ν2=ρΔPD3μ2Δz\text{Hg} = \frac{f_d}{2} Re^2 = \frac{1}{\rho} \frac{\Delta P}{\Delta z} \frac{D^3}{\nu^2} = \frac{\rho\Delta P D^3}{\mu^2 \Delta z}
Parameters
Refloat

Reynolds number [-]

fdfloat, optional

Darcy friction factor, [-]

Returns
Hgfloat

Hagen number, [-]

Notes

Introduced in [1]; further use of it is mostly of the correlations introduced in [1].

Notable for use use in correlations, because it does not have any dependence on velocity.

This expression is useful when designing backwards with a pressure drop spec already known.

References

1(1,2)

Martin, Holger. “The Generalized Lévêque Equation and Its Practical Use for the Prediction of Heat and Mass Transfer Rates from Pressure Drop.” Chemical Engineering Science, Jean-Claude Charpentier Festschrift Issue, 57, no. 16 (August 1, 2002): 3217-23. https://doi.org/10.1016/S0009-2509(02)00194-X.

2

Shah, Ramesh K., and Dusan P. Sekulic. Fundamentals of Heat Exchanger Design. 1st edition. Hoboken, NJ: Wiley, 2002.

3

Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.

Examples

Example from [3]:

>>> Hagen(Re=2610, fd=1.935235)
6591507.17175
fluids.core.Jakob(Cp, Hvap, Te)[source]

Calculates Jakob number or Ja for a boiling fluid with sensible heat capacity Cp, enthalpy of vaporization Hvap, and boiling at Te degrees above its saturation boiling point.

Ja=CPΔTeΔHvapJa = \frac{C_{P}\Delta T_e}{\Delta H_{vap}}
Parameters
Cpfloat

Heat capacity of the fluid, [J/kg/K]

Hvapfloat

Enthalpy of vaporization of the fluid at its saturation temperature [J/kg]

Tefloat

Temperature difference above the fluid’s saturation boiling temperature, [K]

Returns
Jafloat

Jakob number []

Notes

Used in boiling heat transfer analysis. Fairly rare.

Ja=ΔSensible heatΔLatent heatJa = \frac{\Delta \text{Sensible heat}}{\Delta \text{Latent heat}}

References

1

Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to Heat Transfer. 6E. Hoboken, NJ: Wiley, 2011.

2

Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw Hill Higher Education, 2006.

Examples

>>> Jakob(4000., 2E6, 10.)
0.02
fluids.core.Knudsen(path, L)[source]

Calculates Knudsen number or Kn for a fluid with mean free path path and for a characteristic length L.

Kn=λLKn = \frac{\lambda}{L}
Parameters
pathfloat

Mean free path between molecular collisions, [m]

Lfloat

Characteristic length, [m]

Returns
Knfloat

Knudsen number []

Notes

Used in mass transfer calculations.

Kn=Mean free path lengthCharacteristic lengthKn = \frac{\text{Mean free path length}}{\text{Characteristic length}}

References

1

Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Professional, 2007.

2

Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw Hill Higher Education, 2006.

Examples

>>> Knudsen(1e-10, .001)
1e-07
fluids.core.Lewis(D=None, alpha=None, Cp=None, k=None, rho=None)[source]

Calculates Lewis number or Le for a fluid with the given parameters.

Le=kρCpD=αDLe = \frac{k}{\rho C_p D} = \frac{\alpha}{D}

Inputs can be either of the following sets:

  • Diffusivity and Thermal diffusivity

  • Diffusivity, heat capacity, thermal conductivity, and density

Parameters
Dfloat

Diffusivity of a species, [m^2/s]

alphafloat, optional

Thermal diffusivity, [m^2/s]

Cpfloat, optional

Heat capacity, [J/kg/K]

kfloat, optional

Thermal conductivity, [W/m/K]

rhofloat, optional

Density, [kg/m^3]

Returns
Lefloat

Lewis number []

Notes

Le=Thermal diffusivityMass diffusivity=ScPrLe=\frac{\text{Thermal diffusivity}}{\text{Mass diffusivity}} = \frac{Sc}{Pr}

An error is raised if none of the required input sets are provided.

References

1

Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Professional, 2007.

2

Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw Hill Higher Education, 2006.

3

Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.

Examples

>>> Lewis(D=22.6E-6, alpha=19.1E-6)
0.8451327433628318
>>> Lewis(D=22.6E-6, rho=800., k=.2, Cp=2200)
0.00502815768302494
fluids.core.Mach(V, c)[source]

Calculates Mach number or Ma for a fluid of velocity V with speed of sound c.

Ma=VcMa = \frac{V}{c}
Parameters
Vfloat

Velocity of fluid, [m/s]

cfloat

Speed of sound in fluid, [m/s]

Returns
Mafloat

Mach number []

Notes

Used in compressible flow calculations.

Ma=fluid velocitysonic velocityMa = \frac{\text{fluid velocity}}{\text{sonic velocity}}

References

1

Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Professional, 2007.

2

Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw Hill Higher Education, 2006.

Examples

>>> Mach(33., 330)
0.1
fluids.core.Morton(rhol, rhog, mul, sigma, g=9.80665)[source]

Calculates Morton number or Mo for a liquid and vapor with the specified properties, under the influence of gravitational force g.

Mo=gμl4(ρlρg)ρl2σ3Mo = \frac{g \mu_l^4(\rho_l - \rho_g)}{\rho_l^2 \sigma^3}
Parameters
rholfloat

Density of liquid phase, [kg/m^3]

rhogfloat

Density of gas phase, [kg/m^3]

mulfloat

Viscosity of liquid phase, [Pa*s]

sigmafloat

Surface tension between liquid-gas phase, [N/m]

gfloat, optional

Acceleration due to gravity, [m/s^2]

Returns
Mofloat

Morton number, [-]

Notes

Used in modeling bubbles in liquid.

References

1

Kunes, Josef. Dimensionless Physical Quantities in Science and Engineering. Elsevier, 2012.

2

Yan, Xiaokang, Kaixin Zheng, Yan Jia, Zhenyong Miao, Lijun Wang, Yijun Cao, and Jiongtian Liu. “Drag Coefficient Prediction of a Single Bubble Rising in Liquids.” Industrial & Engineering Chemistry Research, April 2, 2018. https://doi.org/10.1021/acs.iecr.7b04743.

Examples

>>> Morton(1077.0, 76.5, 4.27E-3, 0.023)
2.311183104430743e-07
fluids.core.Nusselt(h, L, k)[source]

Calculates Nusselt number Nu for a heat transfer coefficient h, characteristic length L, and thermal conductivity k.

Nu=hLkNu = \frac{hL}{k}
Parameters
hfloat

Heat transfer coefficient, [W/m^2/K]

Lfloat

Characteristic length, no typical definition [m]

kfloat

Thermal conductivity of fluid [W/m/K]

Returns
Nufloat

Nusselt number, [-]

Notes

Do not confuse k, the thermal conductivity of the fluid, with that of within a solid object associated with!

Nu=Convective heat transferConductive heat transferNu = \frac{\text{Convective heat transfer}} {\text{Conductive heat transfer}}

References

1

Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Professional, 2007.

2

Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to Heat Transfer. 6E. Hoboken, NJ: Wiley, 2011.

Examples

>>> Nusselt(1000., 1.2, 300.)
4.0
>>> Nusselt(10000., .01, 4000.)
0.025
fluids.core.Ohnesorge(L, rho, mu, sigma)[source]

Calculates Ohnesorge number, Oh, for a fluid with the given characteristic length, density, viscosity, and surface tension.

Oh=μρσL\text{Oh} = \frac{\mu}{\sqrt{\rho \sigma L }}
Parameters
Lfloat

Characteristic length [m]

rhofloat

Density of fluid, [kg/m^3]

mufloat

Viscosity of fluid, [Pa*s]

sigmafloat

Surface tension, [N/m]

Returns
Ohfloat

Ohnesorge number []

Notes

Often used in spray calculations. Sometimes given the symbol Z.

Oh=WeRe=viscous forcesInertiaSurface tensionOh = \frac{\sqrt{\text{We}}}{\text{Re}}= \frac{\text{viscous forces}} {\sqrt{\text{Inertia}\cdot\text{Surface tension}} }

References

1

Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Professional, 2007.

Examples

>>> Ohnesorge(1E-4, 1000., 1E-3, 1E-1)
0.01
fluids.core.Peclet_heat(V, L, rho=None, Cp=None, k=None, alpha=None)[source]

Calculates heat transfer Peclet number or Pe for a specified velocity V, characteristic length L, and specified properties for the given fluid.

Pe=VLρCpk=LVαPe = \frac{VL\rho C_p}{k} = \frac{LV}{\alpha}

Inputs either of any of the following sets:

  • V, L, density rho, heat capacity Cp, and thermal conductivity k

  • V, L, and thermal diffusivity alpha

Parameters
Vfloat

Velocity [m/s]

Lfloat

Characteristic length [m]

rhofloat, optional

Density, [kg/m^3]

Cpfloat, optional

Heat capacity, [J/kg/K]

kfloat, optional

Thermal conductivity, [W/m/K]

alphafloat, optional

Thermal diffusivity, [m^2/s]

Returns
Pefloat

Peclet number (heat) []

Notes

Pe=Bulk heat transferConduction heat transferPe = \frac{\text{Bulk heat transfer}}{\text{Conduction heat transfer}}

An error is raised if none of the required input sets are provided.

References

1

Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Professional, 2007.

2

Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw Hill Higher Education, 2006.

Examples

>>> Peclet_heat(1.5, 2, 1000., 4000., 0.6)
20000000.0
>>> Peclet_heat(1.5, 2, alpha=1E-7)
30000000.0
fluids.core.Peclet_mass(V, L, D)[source]

Calculates mass transfer Peclet number or Pe for a specified velocity V, characteristic length L, and diffusion coefficient D.

Pe=LVDPe = \frac{L V}{D}
Parameters
Vfloat

Velocity [m/s]

Lfloat

Characteristic length [m]

Dfloat

Diffusivity of a species, [m^2/s]

Returns
Pefloat

Peclet number (mass) []

Notes

Pe=Advective transport rateDiffusive transport ratePe = \frac{\text{Advective transport rate}}{\text{Diffusive transport rate}}

References

1

Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Professional, 2007.

Examples

>>> Peclet_mass(1.5, 2, 1E-9)
3000000000.0
fluids.core.Power_number(P, L, N, rho)[source]

Calculates power number, Po, for an agitator applying a specified power P with a characteristic length L, rotational speed N, to a fluid with a specified density rho.

Po=PρN3D5Po = \frac{P}{\rho N^3 D^5}
Parameters
Pfloat

Power applied, [W]

Lfloat

Characteristic length, typically agitator diameter [m]

Nfloat

Speed [revolutions/second]

rhofloat

Density of fluid, [kg/m^3]

Returns
Pofloat

Power number []

Notes

Used in mixing calculations.

Po=PowerRotational inertiaPo = \frac{\text{Power}}{\text{Rotational inertia}}

References

1

Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Professional, 2007.

2

Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw Hill Higher Education, 2006.

Examples

>>> Power_number(P=180, L=0.01, N=2.5, rho=800.)
144000000.0
fluids.core.Prandtl(Cp=None, k=None, mu=None, nu=None, rho=None, alpha=None)[source]

Calculates Prandtl number or Pr for a fluid with the given parameters.

Pr=Cpμk=να=CpρνkPr = \frac{C_p \mu}{k} = \frac{\nu}{\alpha} = \frac{C_p \rho \nu}{k}

Inputs can be any of the following sets:

  • Heat capacity, dynamic viscosity, and thermal conductivity

  • Thermal diffusivity and kinematic viscosity

  • Heat capacity, kinematic viscosity, thermal conductivity, and density

Parameters
Cpfloat

Heat capacity, [J/kg/K]

kfloat

Thermal conductivity, [W/m/K]

mufloat, optional

Dynamic viscosity, [Pa*s]

nufloat, optional

Kinematic viscosity, [m^2/s]

rhofloat

Density, [kg/m^3]

alphafloat

Thermal diffusivity, [m^2/s]

Returns
Prfloat

Prandtl number []

Notes

Pr=kinematic viscositythermal diffusivity=momentum diffusivitythermal diffusivityPr=\frac{\text{kinematic viscosity}}{\text{thermal diffusivity}} = \frac{\text{momentum diffusivity}}{\text{thermal diffusivity}}

An error is raised if none of the required input sets are provided.

References

1

Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Professional, 2007.

2

Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw Hill Higher Education, 2006.

3

Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.

Examples

>>> Prandtl(Cp=1637., k=0.010, mu=4.61E-6)
0.754657
>>> Prandtl(Cp=1637., k=0.010, nu=6.4E-7, rho=7.1)
0.7438528
>>> Prandtl(nu=6.3E-7, alpha=9E-7)
0.7000000000000001
fluids.core.Rayleigh(Pr, Gr)[source]

Calculates Rayleigh number or Ra using Prandtl number Pr and Grashof number Gr for a fluid with the given properties, temperature difference, and characteristic length used to calculate Gr and Pr.

Ra=PrGrRa = PrGr
Parameters
Prfloat

Prandtl number []

Grfloat

Grashof number []

Returns
Rafloat

Rayleigh number []

Notes

Used in free convection problems only.

References

1

Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Professional, 2007.

2

Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw Hill Higher Education, 2006.

Examples

>>> Rayleigh(1.2, 4.6E9)
5520000000.0
fluids.core.relative_roughness(D, roughness=1.52e-06)[source]

Calculates relative roughness eD using a diameter and the roughness of the material of the wall. Default roughness is that of steel.

eD=ϵDeD=\frac{\epsilon}{D}
Parameters
Dfloat

Diameter of pipe, [m]

roughnessfloat, optional

Roughness of pipe wall [m]

Returns
eDfloat

Relative Roughness, [-]

References

1

Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Professional, 2007.

2

Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw Hill Higher Education, 2006.

Examples

>>> relative_roughness(0.5, 1E-4)
0.0002
fluids.core.Reynolds(V, D, rho=None, mu=None, nu=None)[source]

Calculates Reynolds number or Re for a fluid with the given properties for the specified velocity and diameter.

Re=DVν=ρVDμRe = \frac{D \cdot V}{\nu} = \frac{\rho V D}{\mu}

Inputs either of any of the following sets:

  • V, D, density rho and dynamic viscosity mu

  • V, D, and kinematic viscosity nu

Parameters
Vfloat

Velocity [m/s]

Dfloat

Diameter [m]

rhofloat, optional

Density, [kg/m^3]

mufloat, optional

Dynamic viscosity, [Pa*s]

nufloat, optional

Kinematic viscosity, [m^2/s]

Returns
Refloat

Reynolds number []

Notes

Re=MomentumViscosityRe = \frac{\text{Momentum}}{\text{Viscosity}}

An error is raised if none of the required input sets are provided.

References

1

Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Professional, 2007.

2

Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw Hill Higher Education, 2006.

Examples

>>> Reynolds(2.5, 0.25, 1.1613, 1.9E-5)
38200.65789473684
>>> Reynolds(2.5, 0.25, nu=1.636e-05)
38202.93398533008
fluids.core.Schmidt(D, mu=None, nu=None, rho=None)[source]

Calculates Schmidt number or Sc for a fluid with the given parameters.

Sc=μDρ=νDSc = \frac{\mu}{D\rho} = \frac{\nu}{D}

Inputs can be any of the following sets:

  • Diffusivity, dynamic viscosity, and density

  • Diffusivity and kinematic viscosity

Parameters
Dfloat

Diffusivity of a species, [m^2/s]

mufloat, optional

Dynamic viscosity, [Pa*s]

nufloat, optional

Kinematic viscosity, [m^2/s]

rhofloat, optional

Density, [kg/m^3]

Returns
Scfloat

Schmidt number []

Notes

Sc=kinematic viscositymolecular diffusivity=viscous diffusivityspecies diffusivitySc =\frac{\text{kinematic viscosity}}{\text{molecular diffusivity}} = \frac{\text{viscous diffusivity}}{\text{species diffusivity}}

An error is raised if none of the required input sets are provided.

References

1

Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Professional, 2007.

2

Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw Hill Higher Education, 2006.

Examples

>>> Schmidt(D=2E-6, mu=4.61E-6, rho=800)
0.00288125
>>> Schmidt(D=1E-9, nu=6E-7)
599.9999999999999
fluids.core.Sherwood(K, L, D)[source]

Calculates Sherwood number Sh for a mass transfer coefficient K, characteristic length L, and diffusivity D.

Sh=KLDSh = \frac{KL}{D}
Parameters
Kfloat

Mass transfer coefficient, [m/s]

Lfloat

Characteristic length, no typical definition [m]

Dfloat

Diffusivity of a species [m/s^2]

Returns
Shfloat

Sherwood number, [-]

Notes

Sh=Mass transfer by convectionMass transfer by diffusion=KD/LSh = \frac{\text{Mass transfer by convection}} {\text{Mass transfer by diffusion}} = \frac{K}{D/L}

References

1

Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Professional, 2007.

Examples

>>> Sherwood(1000., 1.2, 300.)
4.0
fluids.core.Stanton(h, V, rho, Cp)[source]

Calculates Stanton number or St for a specified heat transfer coefficient h, velocity V, density rho, and heat capacity Cp [1] [2].

St=hVρCpSt = \frac{h}{V\rho Cp}
Parameters
hfloat

Heat transfer coefficient, [W/m^2/K]

Vfloat

Velocity, [m/s]

rhofloat

Density, [kg/m^3]

Cpfloat

Heat capacity, [J/kg/K]

Returns
Stfloat

Stanton number []

Notes

St=Heat transfer coefficientThermal capacitySt = \frac{\text{Heat transfer coefficient}}{\text{Thermal capacity}}

References

1

Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Professional, 2007.

2

Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to Heat Transfer. 6E. Hoboken, NJ: Wiley, 2011.

Examples

>>> Stanton(5000, 5, 800, 2000.)
0.000625
fluids.core.Stokes_number(V, Dp, D, rhop, mu)[source]

Calculates Stokes Number for a given characteristic velocity V, particle diameter Dp, characteristic diameter D, particle density rhop, and fluid viscosity mu.

Stk=ρpVDp218μfD\text{Stk} = \frac{\rho_p V D_p^2}{18\mu_f D}
Parameters
Vfloat

Characteristic velocity (often superficial), [m/s]

Dpfloat

Particle diameter, [m]

Dfloat

Characteristic diameter (ex demister wire diameter or cyclone diameter), [m]

rhopfloat

Particle density, [kg/m^3]

mufloat

Fluid viscosity, [Pa*s]

Returns
Stkfloat

Stokes numer, [-]

Notes

Used in droplet impaction or collection studies.

References

1

Rhodes, Martin J. Introduction to Particle Technology. Wiley, 2013.

2

Al-Dughaither, Abdullah S., Ahmed A. Ibrahim, and Waheed A. Al-Masry. “Investigating Droplet Separation Efficiency in Wire-Mesh Mist Eliminators in Bubble Column.” Journal of Saudi Chemical Society 14, no. 4 (October 1, 2010): 331-39. https://doi.org/10.1016/j.jscs.2010.04.001.

Examples

>>> Stokes_number(V=0.9, Dp=1E-5, D=1E-3, rhop=1000, mu=1E-5)
0.5
fluids.core.Strouhal(f, L, V)[source]

Calculates Strouhal number St for a characteristic frequency f, characteristic length L, and velocity V.

St=fLVSt = \frac{fL}{V}
Parameters
ffloat

Characteristic frequency, usually that of vortex shedding, [Hz]

Lfloat

Characteristic length, [m]

Vfloat

Velocity of the fluid, [m/s]

Returns
Stfloat

Strouhal number, [-]

Notes

Sometimes abbreviated to S or Sr.

St=Characteristic flow timePeriod of oscillationSt = \frac{\text{Characteristic flow time}} {\text{Period of oscillation}}

References

1

Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Professional, 2007.

2

Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw Hill Higher Education, 2006.

Examples

>>> Strouhal(8, 2., 4.)
4.0
fluids.core.Suratman(L, rho, mu, sigma)[source]

Calculates Suratman number, Su, for a fluid with the given characteristic length, density, viscosity, and surface tension.

Su=ρσLμ2\text{Su} = \frac{\rho\sigma L}{\mu^2}
Parameters
Lfloat

Characteristic length [m]

rhofloat

Density of fluid, [kg/m^3]

mufloat

Viscosity of fluid, [Pa*s]

sigmafloat

Surface tension, [N/m]

Returns
Sufloat

Suratman number []

Notes

Also known as Laplace number. Used in two-phase flow, especially the bubbly-slug regime. No confusion regarding the definition of this group has been observed.

Su=Re2We=InertiaSurface tension(viscous forces)2\text{Su} = \frac{\text{Re}^2}{\text{We}} =\frac{\text{Inertia}\cdot \text{Surface tension} }{\text{(viscous forces)}^2}

The oldest reference to this group found by the author is in 1963, from [2].

References

1

Sen, Nilava. “Suratman Number in Bubble-to-Slug Flow Pattern Transition under Microgravity.” Acta Astronautica 65, no. 3-4 (August 2009): 423-28. doi:10.1016/j.actaastro.2009.02.013.

2

Catchpole, John P., and George. Fulford. “DIMENSIONLESS GROUPS.” Industrial & Engineering Chemistry 58, no. 3 (March 1, 1966): 46-60. doi:10.1021/ie50675a012.

Examples

>>> Suratman(1E-4, 1000., 1E-3, 1E-1)
10000.0
fluids.core.Weber(V, L, rho, sigma)[source]

Calculates Weber number, We, for a fluid with the given density, surface tension, velocity, and geometric parameter (usually diameter of bubble).

We=V2LρσWe = \frac{V^2 L\rho}{\sigma}
Parameters
Vfloat

Velocity of fluid, [m/s]

Lfloat

Characteristic length, typically bubble diameter [m]

rhofloat

Density of fluid, [kg/m^3]

sigmafloat

Surface tension, [N/m]

Returns
Wefloat

Weber number []

Notes

Used in bubble calculations.

We=inertial forcesurface tension forceWe = \frac{\text{inertial force}}{\text{surface tension force}}

References

1

Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Professional, 2007.

2

Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw Hill Higher Education, 2006.

3

Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.

Examples

>>> Weber(V=0.18, L=0.001, rho=900., sigma=0.01)
2.916

Loss Coefficient Converters

fluids.core.K_from_f(fd, L, D)[source]

Calculates loss coefficient, K, for a given section of pipe at a specified friction factor.

K=fdL/DK = f_dL/D
Parameters
fdfloat

friction factor of pipe, []

Lfloat

Length of pipe, [m]

Dfloat

Inner diameter of pipe, [m]

Returns
Kfloat

Loss coefficient, []

Notes

For fittings with a specified L/D ratio, use D = 1 and set L to specified L/D ratio.

Examples

>>> K_from_f(fd=0.018, L=100., D=.3)
6.0
fluids.core.K_from_L_equiv(L_D, fd=0.015)[source]

Calculates loss coefficient, for a given equivalent length (L/D).

K=fdLDK = f_d \frac{L}{D}
Parameters
L_Dfloat

Length over diameter, []

fdfloat, optional

Darcy friction factor, [-]

Returns
Kfloat

Loss coefficient, []

Notes

Almost identical to K_from_f, but with a default friction factor for fully turbulent flow in steel pipes.

Examples

>>> K_from_L_equiv(240)
3.5999999999999996
fluids.core.L_equiv_from_K(K, fd=0.015)[source]

Calculates equivalent length of pipe (L/D), for a given loss coefficient.

LD=Kfd\frac{L}{D} = \frac{K}{f_d}
Parameters
Kfloat

Loss coefficient, [-]

fdfloat, optional

Darcy friction factor, [-]

Returns
L_Dfloat

Length over diameter, [-]

Notes

Assumes a default friction factor for fully turbulent flow in steel pipes.

Examples

>>> L_equiv_from_K(3.6)
240.00000000000003
fluids.core.L_from_K(K, D, fd=0.015)[source]

Calculates the length of straight pipe at a specified friction factor required to produce a given loss coefficient K.

L=KDfdL = \frac{K D}{f_d}
Parameters
Kfloat

Loss coefficient, []

Dfloat

Inner diameter of pipe, [m]

fdfloat

friction factor of pipe, []

Returns
Lfloat

Length of pipe, [m]

Examples

>>> L_from_K(K=6, D=.3, fd=0.018)
100.0
fluids.core.dP_from_K(K, rho, V)[source]

Calculates pressure drop, for a given loss coefficient, at a specified density and velocity.

dP=0.5KρV2dP = 0.5K\rho V^2
Parameters
Kfloat

Loss coefficient, []

rhofloat

Density of fluid, [kg/m^3]

Vfloat

Velocity of fluid in pipe, [m/s]

Returns
dPfloat

Pressure drop, [Pa]

Notes

Loss coefficient K is usually the sum of several factors, including the friction factor.

Examples

>>> dP_from_K(K=10, rho=1000, V=3)
45000.0
fluids.core.head_from_K(K, V, g=9.80665)[source]

Calculates head loss, for a given loss coefficient, at a specified velocity.

head=KV22g\text{head} = \frac{K V^2}{2g}
Parameters
Kfloat

Loss coefficient, []

Vfloat

Velocity of fluid in pipe, [m/s]

gfloat, optional

Acceleration due to gravity, [m/s^2]

Returns
headfloat

Head loss, [m]

Notes

Loss coefficient K is usually the sum of several factors, including the friction factor.

Examples

>>> head_from_K(K=10, V=1.5)
1.1471807396001694
fluids.core.head_from_P(P, rho, g=9.80665)[source]

Calculates head for a fluid of specified density at specified pressure.

head=Pρg\text{head} = {P\over{\rho g}}
Parameters
Pfloat

Pressure fluid in pipe, [Pa]

rhofloat

Density of fluid, [kg/m^3]

gfloat, optional

Acceleration due to gravity, [m/s^2]

Returns
headfloat

Head, [m]

Notes

By definition. Head varies with location, inversely proportional to the increase in gravitational constant.

Examples

>>> head_from_P(P=98066.5, rho=1000)
10.000000000000002
fluids.core.f_from_K(K, L, D)[source]

Calculates friction factor, fd, from a loss coefficient, K, for a given section of pipe.

fd=KDLf_d = \frac{K D}{L}
Parameters
Kfloat

Loss coefficient, []

Lfloat

Length of pipe, [m]

Dfloat

Inner diameter of pipe, [m]

Returns
fdfloat

Darcy friction factor of pipe, [-]

Notes

This can be useful to blend fittings at specific locations in a pipe into a pressure drop which is evenly distributed along a pipe.

Examples

>>> f_from_K(K=0.6, L=100., D=.3)
0.0018
fluids.core.P_from_head(head, rho, g=9.80665)[source]

Calculates head for a fluid of specified density at specified pressure.

P=ρgheadP = \rho g \cdot \text{head}
Parameters
headfloat

Head, [m]

rhofloat

Density of fluid, [kg/m^3]

gfloat, optional

Acceleration due to gravity, [m/s^2]

Returns
Pfloat

Pressure fluid in pipe, [Pa]

Examples

>>> P_from_head(head=5., rho=800.)
39226.6

Temperature Conversions

These functions used to be part of SciPy, but were removed in favor of a slower function convert_temperature which removes code duplication but doesn’t have the same convenience or easy to remember signature.

fluids.core.C2K(C)[source]

Convert Celsius to Kelvin.

Parameters
Cfloat

Celsius temperature to be converted, [degC]

Returns
Kfloat

Equivalent Kelvin temperature, [K]

Notes

Computes K = C + zero_Celsius where zero_Celsius = 273.15, i.e., (the absolute value of) temperature “absolute zero” as measured in Celsius.

Examples

>>> C2K(-40)
233.14999999999998
fluids.core.K2C(K)[source]

Convert Kelvin to Celsius.

Parameters
Kfloat

Kelvin temperature to be converted.

Returns
Cfloat

Equivalent Celsius temperature.

Notes

Computes C = K - zero_Celsius where zero_Celsius = 273.15, i.e., (the absolute value of) temperature “absolute zero” as measured in Celsius.

Examples

>>> K2C(233.15)
-39.99999999999997
fluids.core.F2C(F)[source]

Convert Fahrenheit to Celsius.

Parameters
Ffloat

Fahrenheit temperature to be converted.

Returns
Cfloat

Equivalent Celsius temperature.

Notes

Computes C = (F - 32) / 1.8.

Examples

>>> F2C(-40.0)
-40.0
fluids.core.C2F(C)[source]

Convert Celsius to Fahrenheit.

Parameters
Cfloat

Celsius temperature to be converted.

Returns
Ffloat

Equivalent Fahrenheit temperature.

Notes

Computes F = 1.8 * C + 32.

Examples

>>> C2F(-40.0)
-40.0
fluids.core.F2K(F)[source]

Convert Fahrenheit to Kelvin.

Parameters
Ffloat

Fahrenheit temperature to be converted.

Returns
Kfloat

Equivalent Kelvin temperature.

Notes

Computes K = (F - 32)/1.8 + zero_Celsius where zero_Celsius = 273.15, i.e., (the absolute value of) temperature “absolute zero” as measured in Celsius.

Examples

>>> F2K(-40)
233.14999999999998
fluids.core.K2F(K)[source]

Convert Kelvin to Fahrenheit.

Parameters
Kfloat

Kelvin temperature to be converted.

Returns
Ffloat

Equivalent Fahrenheit temperature.

Notes

Computes F = 1.8 * (K - zero_Celsius) + 32 where zero_Celsius = 273.15, i.e., (the absolute value of) temperature “absolute zero” as measured in Celsius.

Examples

>>> K2F(233.15)
-39.99999999999996
fluids.core.C2R(C)[source]

Convert Celsius to Rankine.

Parameters
Cfloat

Celsius temperature to be converted.

Returns
Rafloat

Equivalent Rankine temperature.

Notes

Computes Ra = 1.8 * (C + zero_Celsius) where zero_Celsius = 273.15, i.e., (the absolute value of) temperature “absolute zero” as measured in Celsius.

Examples

>>> C2R(-40)
419.66999999999996
fluids.core.K2R(K)[source]

Convert Kelvin to Rankine.

Parameters
Kfloat

Kelvin temperature to be converted.

Returns
Rafloat

Equivalent Rankine temperature.

Notes

Computes Ra = 1.8 * K.

Examples

>>> K2R(273.15)
491.66999999999996
fluids.core.F2R(F)[source]

Convert Fahrenheit to Rankine.

Parameters
Ffloat

Fahrenheit temperature to be converted.

Returns
Rafloat

Equivalent Rankine temperature.

Notes

Computes Ra = F - 32 + 1.8 * zero_Celsius where zero_Celsius = 273.15, i.e., (the absolute value of) temperature “absolute zero” as measured in Celsius.

Examples

>>> F2R(100)
559.67
fluids.core.R2C(Ra)[source]

Convert Rankine to Celsius.

Parameters
Rafloat

Rankine temperature to be converted.

Returns
Cfloat

Equivalent Celsius temperature.

Notes

Computes C = Ra / 1.8 - zero_Celsius where zero_Celsius = 273.15, i.e., (the absolute value of) temperature “absolute zero” as measured in Celsius.

Examples

>>> R2C(459.67)
-17.777777777777743
fluids.core.R2K(Ra)[source]

Convert Rankine to Kelvin.

Parameters
Rafloat

Rankine temperature to be converted.

Returns
Kfloat

Equivalent Kelvin temperature.

Notes

Computes K = Ra / 1.8.

Examples

>>> R2K(491.67)
273.15
fluids.core.R2F(Ra)[source]

Convert Rankine to Fahrenheit.

Parameters
Rafloat

Rankine temperature to be converted.

Returns
Ffloat

Equivalent Fahrenheit temperature.

Notes

Computes F = Ra + 32 - 1.8 * zero_Celsius where zero_Celsius = 273.15, i.e., (the absolute value of) temperature “absolute zero” as measured in Celsius.

Examples

>>> R2F(491.67)
32.00000000000006

Miscellaneous Functions

fluids.core.thermal_diffusivity(k, rho, Cp)[source]

Calculates thermal diffusivity or alpha for a fluid with the given parameters.

α=kρCp\alpha = \frac{k}{\rho Cp}
Parameters
kfloat

Thermal conductivity, [W/m/K]

rhofloat

Density, [kg/m^3]

Cpfloat

Heat capacity, [J/kg/K]

Returns
alphafloat

Thermal diffusivity, [m^2/s]

References

1

Blevins, Robert D. Applied Fluid Dynamics Handbook. New York, N.Y.: Van Nostrand Reinhold Co., 1984.

Examples

>>> thermal_diffusivity(k=0.02, rho=1., Cp=1000.)
2e-05
fluids.core.c_ideal_gas(T, k, MW)[source]

Calculates speed of sound c in an ideal gas at temperature T.

c=kRspecificTc = \sqrt{kR_{specific}T}
Parameters
Tfloat

Temperature of fluid, [K]

kfloat

Isentropic exponent of fluid, [-]

MWfloat

Molecular weight of fluid, [g/mol]

Returns
cfloat

Speed of sound in fluid, [m/s]

Notes

Used in compressible flow calculations. Note that the gas constant used is the specific gas constant:

Rspecific=R1000MWR_{specific} = R\frac{1000}{MW}

References

1

Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Professional, 2007.

2

Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw Hill Higher Education, 2006.

Examples

>>> c_ideal_gas(T=303, k=1.4, MW=28.96)
348.9820953185441
fluids.core.nu_mu_converter(rho, mu=None, nu=None)[source]

Calculates either kinematic or dynamic viscosity, depending on inputs. Used when one type of viscosity is known as well as density, to obtain the other type. Raises an error if both types of viscosity or neither type of viscosity is provided.

ν=μρ\nu = \frac{\mu}{\rho}
μ=νρ\mu = \nu\rho
Parameters
rhofloat

Density, [kg/m^3]

mufloat, optional

Dynamic viscosity, [Pa*s]

nufloat, optional

Kinematic viscosity, [m^2/s]

Returns
mu or nufloat

Dynamic viscosity, Pa*s or Kinematic viscosity, m^2/s

References

1

Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw Hill Higher Education, 2006.

Examples

>>> nu_mu_converter(998., nu=1.0E-6)
0.000998
fluids.core.gravity(latitude, H)[source]

Calculates local acceleration due to gravity g according to [1]. Uses latitude and height to calculate g.

g=9.780356(1+0.0052885sin2ϕ0.000005922ϕ)3.086×106Hg = 9.780356(1 + 0.0052885\sin^2\phi - 0.0000059^22\phi) - 3.086\times 10^{-6} H
Parameters
latitudefloat

Degrees, [degrees]

Hfloat

Height above earth’s surface [m]

Returns
gfloat

Acceleration due to gravity, [m/s^2]

Notes

Better models, such as EGM2008 exist.

References

1

Haynes, W.M., Thomas J. Bruno, and David R. Lide. CRC Handbook of Chemistry and Physics. [Boca Raton, FL]: CRC press, 2014.

Examples

>>> gravity(55, 1E4)
9.784151976863571