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 = \frac{L^3 \rho_f(\rho_p-\rho_f)g}{\mu^2}\]- Parameters:
- L
python:float Characteristic length, typically particle diameter [m]
- rhof
python:float Density of fluid, [kg/m^3]
- rhop
python:float Density of particle, [kg/m^3]
- mu
python:float Viscosity of fluid, [N/m]
- g
python:float,optional Acceleration due to gravity, [m/s^2]
- L
- Returns:
- Ar
python:float Archimedes number []
- Ar
Notes
Used in fluid-particle interaction calculations.
\[Ar = \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.
\[Be_L = \frac{\Delta P L^2}{\mu \alpha}\]- Parameters:
- dP
python:float Pressure drop, [Pa]
- L
python:float Characteristic length, [m]
- mu
python:float,optional Dynamic viscosity, [Pa*s]
- alpha
python:float Thermal diffusivity, [m^2/s]
- dP
- Returns:
- Be_L
python:float Bejan number with respect to length []
- Be_L
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.
\[Be_p = \frac{\Delta P K}{\mu \alpha}\]- Parameters:
- dP
python:float Pressure drop, [Pa]
- K
python:float Permeability, [m^2]
- mu
python:float Dynamic viscosity, [Pa*s]
- alpha
python:float Thermal diffusivity, [m^2/s]
- dP
- Returns:
- Be_p
python:float Bejan number with respect to pore characteristics []
- Be_p
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=\frac{hL}{k}\]- Parameters:
- h
python:float Heat transfer coefficient, [W/m^2/K]
- L
python:float Characteristic length, no typical definition [m]
- k
python:float Thermal conductivity, within the object [W/m/K]
- h
- Returns:
- Bi
python:float Biot number, [-]
- Bi
Notes
Do not confuse k, the thermal conductivity within the object, with that of the medium h is calculated with!
\[Bi = \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.
\[\text{Bg} = \frac{q}{G_{tp} \Delta H_{vap}}\]- Parameters:
- G
python:float Two-phase mass flux in a channel (combined liquid and vapor) [kg/m^2/s]
- q
python:float Heat flux [W/m^2]
- Hvap
python:float Heat of vaporization of the fluid [J/kg]
- G
- Returns:
- Bg
python:float Boiling number [-]
- Bg
Notes
Most often uses the symbol Bo instead of Bg, but this conflicts with Bond number.
\[\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 = \frac{g(\rho_l-\rho_g)L^2}{\sigma}\]- Parameters:
- rhol
python:float Density of liquid, [kg/m^3]
- rhog
python:float Density of gas, [kg/m^3]
- sigma
python:float Surface tension, [N/m]
- L
python:float Characteristic length, [m]
- rhol
- Returns:
- Bo
python:float Bond number []
- Bo
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 = \frac{V \mu}{\sigma}\]- Parameters:
- V
python:float Characteristic velocity, [m/s]
- mu
python:float Dynamic viscosity, [Pa*s]
- sigma
python:float Surface tension, [N/m]
- V
- Returns:
- Ca
python:float Capillary number, [-]
- Ca
Notes
Used in porous media calculations and film flow calculations. Surface tension may gas-liquid, or liquid-liquid.
\[Ca = \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 = \sigma_c = \sigma = \frac{P-P_{sat}}{\frac{1}{2}\rho V^2}\]- Parameters:
- P
python:float Internal pressure of the fluid, [Pa]
- Psat
python:float Vapor pressure of the fluid, [Pa]
- rho
python:float Density of the fluid, [kg/m^3]
- V
python:float Velocity of fluid, [m/s]
- P
- Returns:
- Ca
python:float Cavitation number []
- Ca
Notes
Used in determining if a flow through a restriction will cavitate. Sometimes, the multiplication by 2 will be omitted;
\[Ca = \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.
\[\text{Co}=\frac{\left[\frac{\sigma}{g(\rho_l-\rho_g)}\right]^{0.5}}{D}\]- Parameters:
- D
python:float Diameter of channel, [m]
- rhol
python:float Density of liquid phase, [kg/m^3]
- rhog
python:float Density of gas phase, [kg/m^3]
- sigma
python:float Surface tension between liquid-gas phase, [N/m]
- g
python:float,optional Acceleration due to gravity, [m/s^2]
- D
- Returns:
- Co
python:float Confinement number [-]
- Co
Notes
Used in two-phase pressure drop and heat transfer correlations. First used in [1] according to [3].
\[\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.
\[\text{De} = \sqrt{\frac{D_i}{D}} \text{Re} = \sqrt{\frac{D_i}{D}} \frac{\rho v D}{\mu}\]- Parameters:
- Re
python:float Reynolds number []
- Di
python:float Inner diameter []
- D
python:float Diameter of curvature or outer spiral or other dimension []
- Re
- Returns:
- De
python:float Dean number [-]
- De
Notes
Used in flow in curved geometry.
\[\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.
\[C_D = \frac{F_d}{A\cdot\frac{1}{2}\rho V^2}\]- Parameters:
- F
python:float Drag force, [N]
- A
python:float Projected area, [m^2]
- V
python:float Characteristic velocity, [m/s]
- rho
python:float Density, [kg/m^3]
- F
- Returns:
- Cd
python:float Drag coefficient, [-]
- Cd
Notes
Used in flow around objects, or objects flowing within a fluid.
\[C_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 = \frac{V^2}{C_p \Delta T}\]- Parameters:
- V
python:float Velocity of fluid, [m/s]
- Cp
python:float Heat capacity of the fluid, [J/kg/K]
- dT
python:float Temperature difference, [K]
- V
- Returns:
- Ec
python:float Eckert number []
- Ec
Notes
Used in certain heat transfer calculations. Fairly rare.
\[Ec = \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 = \frac{\Delta P}{\rho V^2}\]- Parameters:
- dP
python:float Pressure drop experience by the fluid, [Pa]
- rho
python:float Density of the fluid, [kg/m^3]
- V
python:float Velocity of fluid, [m/s]
- dP
- Returns:
- Eu
python:float Euler number []
- Eu
Notes
Used in pressure drop calculations. Rarely, this number is divided by two. Named after Leonhard Euler applied calculus to fluid dynamics.
\[Eu = \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 = \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:
- t
python:float time [s]
- L
python:float Characteristic length [m]
- rho
python:float,optional Density, [kg/m^3]
- Cp
python:float,optional Heat capacity, [J/kg/K]
- k
python:float,optional Thermal conductivity, [W/m/K]
- alpha
python:float,optional Thermal diffusivity, [m^2/s]
- t
- Returns:
- Fo
python:float Fourier number (heat) []
- Fo
Notes
\[Fo = \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 = \frac{D t}{L^2}\]- Parameters:
- t
python:float time [s]
- L
python:float Characteristic length [m]
- D
python:float Diffusivity of a species, [m^2/s]
- t
- Returns:
- Fo
python:float Fourier number (mass) []
- Fo
Notes
\[Fo = \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 = \frac{V}{\sqrt{gL}}\]- Parameters:
- V
python:float Velocity of the particle or fluid, [m/s]
- L
python:float Characteristic length, no typical definition [m]
- g
python:float,optional Acceleration due to gravity, [m/s^2]
- squaredbool,
optional Whether to return the squared form of Froude number
- V
- Returns:
- Fr
python:float Froude number, [-]
- Fr
Notes
Many alternate definitions including density ratios have been used.
\[Fr = \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 \(Fr_{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 = \frac{V}{\sqrt{gL}} \sqrt{\frac{\rho_\text{(1 or 2)}} {\rho_1 - \rho_2}}\]- Parameters:
- V
python:float Velocity of the specified phase, [m/s]
- L
python:float Characteristic length, no typical definition [m]
- rho1
python:float Density of the heavier phase, [kg/m^3]
- rho2
python:float 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, [-]
- g
python:float,optional Acceleration due to gravity, [m/s^2]
- V
- Returns:
- Fr_den
python:float Densimetric Froude number, [-]
- Fr_den
Notes
Many alternate definitions including density ratios have been used.
\[Fr = \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 = \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:
- V
python:float Velocity, [m/s]
- D
python:float Diameter [m]
- x
python:float Axial distance [m]
- rho
python:float,optional Density, [kg/m^3]
- Cp
python:float,optional Heat capacity, [J/kg/K]
- k
python:float,optional Thermal conductivity, [W/m/K]
- alpha
python:float,optional Thermal diffusivity, [m^2/s]
- V
- Returns:
- Gz
python:float Graetz number []
- Gz
Notes
\[Gz = \frac{\text{Time for radial heat diffusion in a fluid by conduction}} {\text{Time taken by fluid to reach distance x}}\]\[Gz = \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 = \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:
- L
python:float Characteristic length [m]
- beta
python:float Volumetric thermal expansion coefficient [1/K]
- T1
python:float Temperature 1, usually a film temperature [K]
- T2
python:float,optional Temperature 2, usually a bulk temperature (or 0 if only a difference is provided to the function) [K]
- rho
python:float,optional Density, [kg/m^3]
- mu
python:float,optional Dynamic viscosity, [Pa*s]
- nu
python:float,optional Kinematic viscosity, [m^2/s]
- g
python:float,optional Acceleration due to gravity, [m/s^2]
- L
- Returns:
- Gr
python:float Grashof number []
- Gr
Notes
\[Gr = \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.
\[\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:
- Re
python:float Reynolds number [-]
- fd
python:float,optional Darcy friction factor, [-]
- Re
- Returns:
- Hg
python:float Hagen number, [-]
- Hg
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 = \frac{C_{P}\Delta T_e}{\Delta H_{vap}}\]- Parameters:
- Cp
python:float Heat capacity of the fluid, [J/kg/K]
- Hvap
python:float Enthalpy of vaporization of the fluid at its saturation temperature [J/kg]
- Te
python:float Temperature difference above the fluid’s saturation boiling temperature, [K]
- Cp
- Returns:
- Ja
python:float Jakob number []
- Ja
Notes
Used in boiling heat transfer analysis. Fairly rare.
\[Ja = \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 = \frac{\lambda}{L}\]- Parameters:
- path
python:float Mean free path between molecular collisions, [m]
- L
python:float Characteristic length, [m]
- path
- Returns:
- Kn
python:float Knudsen number []
- Kn
Notes
Used in mass transfer calculations.
\[Kn = \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 = \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:
- D
python:float Diffusivity of a species, [m^2/s]
- alpha
python:float,optional Thermal diffusivity, [m^2/s]
- Cp
python:float,optional Heat capacity, [J/kg/K]
- k
python:float,optional Thermal conductivity, [W/m/K]
- rho
python:float,optional Density, [kg/m^3]
- D
- Returns:
- Le
python:float Lewis number []
- Le
Notes
\[Le=\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 = \frac{V}{c}\]- Parameters:
- V
python:float Velocity of fluid, [m/s]
- c
python:float Speed of sound in fluid, [m/s]
- V
- Returns:
- Ma
python:float Mach number []
- Ma
Notes
Used in compressible flow calculations.
\[Ma = \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 = \frac{g \mu_l^4(\rho_l - \rho_g)}{\rho_l^2 \sigma^3}\]- Parameters:
- rhol
python:float Density of liquid phase, [kg/m^3]
- rhog
python:float Density of gas phase, [kg/m^3]
- mul
python:float Viscosity of liquid phase, [Pa*s]
- sigma
python:float Surface tension between liquid-gas phase, [N/m]
- g
python:float,optional Acceleration due to gravity, [m/s^2]
- rhol
- Returns:
- Mo
python:float Morton number, [-]
- Mo
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 = \frac{hL}{k}\]- Parameters:
- h
python:float Heat transfer coefficient, [W/m^2/K]
- L
python:float Characteristic length, no typical definition [m]
- k
python:float Thermal conductivity of fluid [W/m/K]
- h
- Returns:
- Nu
python:float Nusselt number, [-]
- Nu
Notes
Do not confuse k, the thermal conductivity of the fluid, with that of within a solid object associated with!
\[Nu = \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.
\[\text{Oh} = \frac{\mu}{\sqrt{\rho \sigma L }}\]- Parameters:
- L
python:float Characteristic length [m]
- rho
python:float Density of fluid, [kg/m^3]
- mu
python:float Viscosity of fluid, [Pa*s]
- sigma
python:float Surface tension, [N/m]
- L
- Returns:
- Oh
python:float Ohnesorge number []
- Oh
Notes
Often used in spray calculations. Sometimes given the symbol Z.
\[Oh = \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 = \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:
- V
python:float Velocity [m/s]
- L
python:float Characteristic length [m]
- rho
python:float,optional Density, [kg/m^3]
- Cp
python:float,optional Heat capacity, [J/kg/K]
- k
python:float,optional Thermal conductivity, [W/m/K]
- alpha
python:float,optional Thermal diffusivity, [m^2/s]
- V
- Returns:
- Pe
python:float Peclet number (heat) []
- Pe
Notes
\[Pe = \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 = \frac{L V}{D}\]- Parameters:
- V
python:float Velocity [m/s]
- L
python:float Characteristic length [m]
- D
python:float Diffusivity of a species, [m^2/s]
- V
- Returns:
- Pe
python:float Peclet number (mass) []
- Pe
Notes
\[Pe = \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 = \frac{P}{\rho N^3 D^5}\]- Parameters:
- P
python:float Power applied, [W]
- L
python:float Characteristic length, typically agitator diameter [m]
- N
python:float Speed [revolutions/second]
- rho
python:float Density of fluid, [kg/m^3]
- P
- Returns:
- Po
python:float Power number []
- Po
Notes
Used in mixing calculations.
\[Po = \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 = \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:
- Cp
python:float Heat capacity, [J/kg/K]
- k
python:float Thermal conductivity, [W/m/K]
- mu
python:float,optional Dynamic viscosity, [Pa*s]
- nu
python:float,optional Kinematic viscosity, [m^2/s]
- rho
python:float Density, [kg/m^3]
- alpha
python:float Thermal diffusivity, [m^2/s]
- Cp
- Returns:
- Pr
python:float Prandtl number []
- Pr
Notes
\[Pr=\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 = PrGr\]- Parameters:
- Pr
python:float Prandtl number []
- Gr
python:float Grashof number []
- Pr
- Returns:
- Ra
python:float Rayleigh number []
- Ra
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=\frac{\epsilon}{D}\]- Parameters:
- D
python:float Diameter of pipe, [m]
- roughness
python:float,optional Roughness of pipe wall [m]
- D
- Returns:
- eD
python:float Relative Roughness, [-]
- eD
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 = \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:
- V
python:float Velocity [m/s]
- D
python:float Diameter [m]
- rho
python:float,optional Density, [kg/m^3]
- mu
python:float,optional Dynamic viscosity, [Pa*s]
- nu
python:float,optional Kinematic viscosity, [m^2/s]
- V
- Returns:
- Re
python:float Reynolds number []
- Re
Notes
\[Re = \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 = \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:
- D
python:float Diffusivity of a species, [m^2/s]
- mu
python:float,optional Dynamic viscosity, [Pa*s]
- nu
python:float,optional Kinematic viscosity, [m^2/s]
- rho
python:float,optional Density, [kg/m^3]
- D
- Returns:
- Sc
python:float Schmidt number []
- Sc
Notes
\[Sc =\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 = \frac{KL}{D}\]- Parameters:
- K
python:float Mass transfer coefficient, [m/s]
- L
python:float Characteristic length, no typical definition [m]
- D
python:float Diffusivity of a species [m/s^2]
- K
- Returns:
- Sh
python:float Sherwood number, [-]
- Sh
Notes
\[Sh = \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 = \frac{h}{V\rho Cp}\]- Parameters:
- h
python:float Heat transfer coefficient, [W/m^2/K]
- V
python:float Velocity, [m/s]
- rho
python:float Density, [kg/m^3]
- Cp
python:float Heat capacity, [J/kg/K]
- h
- Returns:
- St
python:float Stanton number []
- St
Notes
\[St = \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.
\[\text{Stk} = \frac{\rho_p V D_p^2}{18\mu_f D}\]- Parameters:
- V
python:float Characteristic velocity (often superficial), [m/s]
- Dp
python:float Particle diameter, [m]
- D
python:float Characteristic diameter (ex demister wire diameter or cyclone diameter), [m]
- rhop
python:float Particle density, [kg/m^3]
- mu
python:float Fluid viscosity, [Pa*s]
- V
- Returns:
- Stk
python:float Stokes numer, [-]
- Stk
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 = \frac{fL}{V}\]- Parameters:
- f
python:float Characteristic frequency, usually that of vortex shedding, [Hz]
- L
python:float Characteristic length, [m]
- V
python:float Velocity of the fluid, [m/s]
- f
- Returns:
- St
python:float Strouhal number, [-]
- St
Notes
Sometimes abbreviated to S or Sr.
\[St = \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.
\[\text{Su} = \frac{\rho\sigma L}{\mu^2}\]- Parameters:
- L
python:float Characteristic length [m]
- rho
python:float Density of fluid, [kg/m^3]
- mu
python:float Viscosity of fluid, [Pa*s]
- sigma
python:float Surface tension, [N/m]
- L
- Returns:
- Su
python:float Suratman number []
- Su
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.
\[\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 = \frac{V^2 L\rho}{\sigma}\]- Parameters:
- V
python:float Velocity of fluid, [m/s]
- L
python:float Characteristic length, typically bubble diameter [m]
- rho
python:float Density of fluid, [kg/m^3]
- sigma
python:float Surface tension, [N/m]
- V
- Returns:
- We
python:float Weber number []
- We
Notes
Used in bubble calculations.
\[We = \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 = f_dL/D\]- Parameters:
- fd
python:float friction factor of pipe, []
- L
python:float Length of pipe, [m]
- D
python:float Inner diameter of pipe, [m]
- fd
- Returns:
- K
python:float Loss coefficient, []
- K
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 = f_d \frac{L}{D}\]- Parameters:
- L_D
python:float Length over diameter, []
- fd
python:float,optional Darcy friction factor, [-]
- L_D
- Returns:
- K
python:float Loss coefficient, []
- K
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.
\[\frac{L}{D} = \frac{K}{f_d}\]- Parameters:
- K
python:float Loss coefficient, [-]
- fd
python:float,optional Darcy friction factor, [-]
- K
- Returns:
- L_D
python:float Length over diameter, [-]
- L_D
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 = \frac{K D}{f_d}\]- Parameters:
- K
python:float Loss coefficient, []
- D
python:float Inner diameter of pipe, [m]
- fd
python:float friction factor of pipe, []
- K
- Returns:
- L
python:float Length of pipe, [m]
- L
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\rho V^2\]- Parameters:
- K
python:float Loss coefficient, []
- rho
python:float Density of fluid, [kg/m^3]
- V
python:float Velocity of fluid in pipe, [m/s]
- K
- Returns:
- dP
python:float Pressure drop, [Pa]
- dP
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.
\[\text{head} = \frac{K V^2}{2g}\]- Parameters:
- K
python:float Loss coefficient, []
- V
python:float Velocity of fluid in pipe, [m/s]
- g
python:float,optional Acceleration due to gravity, [m/s^2]
- K
- Returns:
- head
python:float Head loss, [m]
- head
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.
\[\text{head} = {P\over{\rho g}}\]- Parameters:
- P
python:float Pressure fluid in pipe, [Pa]
- rho
python:float Density of fluid, [kg/m^3]
- g
python:float,optional Acceleration due to gravity, [m/s^2]
- P
- Returns:
- head
python:float Head, [m]
- head
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.
\[f_d = \frac{K D}{L}\]- Parameters:
- K
python:float Loss coefficient, []
- L
python:float Length of pipe, [m]
- D
python:float Inner diameter of pipe, [m]
- K
- Returns:
- fd
python:float Darcy friction factor of pipe, [-]
- fd
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 = \rho g \cdot \text{head}\]- Parameters:
- head
python:float Head, [m]
- rho
python:float Density of fluid, [kg/m^3]
- g
python:float,optional Acceleration due to gravity, [m/s^2]
- head
- Returns:
- P
python:float Pressure fluid in pipe, [Pa]
- P
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:
- C
python:float Celsius temperature to be converted, [degC]
- C
- Returns:
- K
python:float Equivalent Kelvin temperature, [K]
- K
Notes
Computes
K = C + zero_Celsiuswhere 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:
- K
python:float Kelvin temperature to be converted.
- K
- Returns:
- C
python:float Equivalent Celsius temperature.
- C
Notes
Computes
C = K - zero_Celsiuswhere 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:
- F
python:float Fahrenheit temperature to be converted.
- F
- Returns:
- C
python:float Equivalent Celsius temperature.
- C
Notes
Computes
C = (F - 32) / 1.8.Examples
>>> F2C(-40.0) -40.0
- fluids.core.C2F(C)[source]¶
Convert Celsius to Fahrenheit.
- Parameters:
- C
python:float Celsius temperature to be converted.
- C
- Returns:
- F
python:float Equivalent Fahrenheit temperature.
- F
Notes
Computes
F = 1.8 * C + 32.Examples
>>> C2F(-40.0) -40.0
- fluids.core.F2K(F)[source]¶
Convert Fahrenheit to Kelvin.
- Parameters:
- F
python:float Fahrenheit temperature to be converted.
- F
- Returns:
- K
python:float Equivalent Kelvin temperature.
- K
Notes
Computes
K = (F - 32)/1.8 + zero_Celsiuswhere 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:
- K
python:float Kelvin temperature to be converted.
- K
- Returns:
- F
python:float Equivalent Fahrenheit temperature.
- F
Notes
Computes
F = 1.8 * (K - zero_Celsius) + 32where 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:
- C
python:float Celsius temperature to be converted.
- C
- Returns:
- Ra
python:float Equivalent Rankine temperature.
- Ra
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:
- K
python:float Kelvin temperature to be converted.
- K
- Returns:
- Ra
python:float Equivalent Rankine temperature.
- Ra
Notes
Computes
Ra = 1.8 * K.Examples
>>> K2R(273.15) 491.66999999999996
- fluids.core.F2R(F)[source]¶
Convert Fahrenheit to Rankine.
- Parameters:
- F
python:float Fahrenheit temperature to be converted.
- F
- Returns:
- Ra
python:float Equivalent Rankine temperature.
- Ra
Notes
Computes
Ra = F - 32 + 1.8 * zero_Celsiuswhere 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:
- Ra
python:float Rankine temperature to be converted.
- Ra
- Returns:
- C
python:float Equivalent Celsius temperature.
- C
Notes
Computes
C = Ra / 1.8 - zero_Celsiuswhere 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:
- Ra
python:float Rankine temperature to be converted.
- Ra
- Returns:
- K
python:float Equivalent Kelvin temperature.
- K
Notes
Computes
K = Ra / 1.8.Examples
>>> R2K(491.67) 273.15
- fluids.core.R2F(Ra)[source]¶
Convert Rankine to Fahrenheit.
- Parameters:
- Ra
python:float Rankine temperature to be converted.
- Ra
- Returns:
- F
python:float Equivalent Fahrenheit temperature.
- F
Notes
Computes
F = Ra + 32 - 1.8 * zero_Celsiuswhere 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.
\[\alpha = \frac{k}{\rho Cp}\]- Parameters:
- k
python:float Thermal conductivity, [W/m/K]
- rho
python:float Density, [kg/m^3]
- Cp
python:float Heat capacity, [J/kg/K]
- k
- Returns:
- alpha
python:float Thermal diffusivity, [m^2/s]
- alpha
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 = \sqrt{kR_{specific}T}\]- Parameters:
- T
python:float Temperature of fluid, [K]
- k
python:float Isentropic exponent of fluid, [-]
- MW
python:float Molecular weight of fluid, [g/mol]
- T
- Returns:
- c
python:float Speed of sound in fluid, [m/s]
- c
Notes
Used in compressible flow calculations. Note that the gas constant used is the specific gas constant:
\[R_{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:
- rho
python:float Density, [kg/m^3]
- mu
python:float,optional Dynamic viscosity, [Pa*s]
- nu
python:float,optional Kinematic viscosity, [m^2/s]
- rho
- Returns:
- mu or nu
python:float Dynamic viscosity, Pa*s or Kinematic viscosity, m^2/s
- mu or nu
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.0052885\sin^2\phi - 0.0000059^22\phi) - 3.086\times 10^{-6} H\]- Parameters:
- latitude
python:float Degrees, [degrees]
- H
python:float Height above earth’s surface [m]
- latitude
- Returns:
- g
python:float Acceleration due to gravity, [m/s^2]
- g
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