Mixing (fluids.mixing)¶
This module contains some basic functions for fluid mechanics mixing calculations.
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.
Misc Functions¶
- fluids.mixing.size_tee(Q1, Q2, D, D2, n=1, pipe_diameters=5)[source]¶
Calculates CoV of an optimal or specified tee for mixing at a tee according to [1]. Assumes turbulent flow. The smaller stream in injected into the main pipe, which continues straight. COV calculation is according to [2].
- Parameters:
- Q1
python:float Volumetric flow rate of larger stream [m^3/s]
- Q2
python:float Volumetric flow rate of smaller stream [m^3/s]
- D
python:float Diameter of pipe after tee [m]
- D2
python:float Diameter of mixing inlet, optional (optimally calculated if not specified) [m]
- n
python:float Number of jets, 1 to 4 []
- pipe_diameters
python:float Number of diameters along tail pipe for CoV calculation, 0 to 5 []
- Q1
- Returns:
- CoV
python:float Standard deviation of dimensionless concentration [-]
- CoV
Notes
Not specified if this works for liquid also, though probably not. Example is from example Example 9-6 in [1]. Low precision used in example.
References
[1] (1,2)Paul, Edward L, Victor A Atiemo-Obeng, and Suzanne M Kresta. Handbook of Industrial Mixing: Science and Practice. Hoboken, N.J.: Wiley-Interscience, 2004.
[2]Giorges, Aklilu T. G., Larry J. Forney, and Xiaodong Wang. “Numerical Study of Multi-Jet Mixing.” Chemical Engineering Research and Design, Fluid Flow, 79, no. 5 (July 2001): 515-22. doi:10.1205/02638760152424280.
Examples
>>> size_tee(Q1=11.7, Q2=2.74, D=0.762, D2=None, n=1, pipe_diameters=5) 0.2940930233038544
- fluids.mixing.COV_motionless_mixer(Ki, Q1, Q2, pipe_diameters)[source]¶
Calculates CoV of a motionless mixer with a regression parameter in [1] and originally in [2].
\[\frac{CoV}{CoV_0} = K_i^{L/D}\]- Parameters:
- Ki
python:float Correlation parameter specific to a mixer’s design, [-]
- Q1
python:float Volumetric flow rate of larger stream [m^3/s]
- Q2
python:float Volumetric flow rate of smaller stream [m^3/s]
- pipe_diameters
python:float Number of diameters along tail pipe for CoV calculation, 0 to 5 []
- Ki
- Returns:
- CoV
python:float Standard deviation of dimensionless concentration [-]
- CoV
Notes
Example 7-8.3.2 in [1], solved backwards.
References
[1] (1,2)Paul, Edward L, Victor A Atiemo-Obeng, and Suzanne M Kresta. Handbook of Industrial Mixing: Science and Practice. Hoboken, N.J.: Wiley-Interscience, 2004.
[2]Streiff, F. A., S. Jaffer, and G. Schneider (1999). Design and application of motionless mixer technology, Proc. ISMIP3, Osaka, pp. 107-114.
Examples
>>> COV_motionless_mixer(Ki=.33, Q1=11.7, Q2=2.74, pipe_diameters=4.74/.762) 0.0020900028665727685
- fluids.mixing.K_motionless_mixer(K, L, D, fd)[source]¶
Calculates loss coefficient of a motionless mixer with a regression parameter in [1] and originally in [2].
\[K = K_{L/T}f\frac{L}{D}\]- Parameters:
- K
python:float Correlation parameter specific to a mixer’s design, [-] Also specific to laminar or turbulent regime.
- L
python:float Length of the motionless mixer [m]
- D
python:float Diameter of pipe [m]
- fd
python:float Darcy friction factor [-]
- K
- Returns:
- K
python:float Loss coefficient of mixer [-]
- K
Notes
Related to example 7-8.3.2 in [1].
References
[1] (1,2)Paul, Edward L, Victor A Atiemo-Obeng, and Suzanne M Kresta. Handbook of Industrial Mixing: Science and Practice. Hoboken, N.J.: Wiley-Interscience, 2004.
[2]Streiff, F. A., S. Jaffer, and G. Schneider (1999). Design and application of motionless mixer technology, Proc. ISMIP3, Osaka, pp. 107-114.
Examples
>>> K_motionless_mixer(K=150, L=.762*5, D=.762, fd=.01) 7.5
- fluids.mixing.agitator_time_homogeneous(N, P, T, H, mu, rho, D=None, homogeneity=0.95)[source]¶
Calculates time for a fluid mizing in a tank with an impeller to reach a specified level of homogeneity, according to [1].
\[N_p = \frac{Pg}{\rho N^3 D^5}\]\[Re_{imp} = \frac{\rho D^2 N}{\mu}\]\[\text{constant} = N_p^{1/3} Re_{imp}\]\[Fo = 5.2/\text{constant} \text{for turbulent regime}\]\[Fo = (183/\text{constant})^2 \text{for transition regime}\]- Parameters:
- Nfloat:
Speed of impeller, [revolutions/s]
- P
python:float Actual power required to mix, ignoring mechanical inefficiencies [W]
- T
python:float Tank diameter, [m]
- H
python:float Tank height, [m]
- mu
python:float Mixture viscosity, [Pa*s]
- rho
python:float Mixture density, [kg/m^3]
- D
python:float,optional Impeller diameter [m]
- homogeneity
python:float,optional Fraction completion of mixing, []
- Returns:
- t
python:float Time for specified degree of homogeneity [s]
- t
Notes
If impeller diameter is not specified, assumed to be 0.5 tank diameters.
The first example is solved forward rather than backwards here. A rather different result is obtained, but is accurate.
No check to see if the mixture if laminar is currently implemented. This would under predict the required time.
References
[1]Paul, Edward L, Victor A Atiemo-Obeng, and Suzanne M Kresta. Handbook of Industrial Mixing: Science and Practice. Hoboken, N.J.: Wiley-Interscience, 2004.
Examples
>>> agitator_time_homogeneous(D=36*.0254, N=56/60., P=957., T=1.83, H=1.83, mu=0.018, rho=1020, homogeneity=.995) 15.143198226374668
>>> agitator_time_homogeneous(D=1, N=125/60., P=298., T=3, H=2.5, mu=.5, rho=980, homogeneity=.95) 67.7575069865228
- fluids.mixing.Kp_helical_ribbon_Rieger(D, h, nb, pitch, width, T)[source]¶
Calculates product of power number and Reynolds number for a specified geometry for a heilical ribbon mixer in the laminar regime. One of several correlations listed in [1], it used more data than other listed correlations and was recommended.
\[K_p = 82.8\frac{h}{D}\left(\frac{c}{D}\right)^{-0.38} \left(\frac{p}{D}\right)^{-0.35} \left(\frac{w}{D}\right)^{0.20} n_b^{0.78}\]- Parameters:
- D
python:float Impeller diameter [m]
- h
python:float Ribbon mixer height, [m]
- nbfloat:
Number of blades, [-]
- pitch
python:float Height of one turn around a helix [m]
- width
python:float Width of one blade [m]
- T
python:float Tank diameter, [m]
- D
- Returns:
- Kp
python:float Product of Power number and Reynolds number for laminar regime []
- Kp
Notes
Example is from example 9-6 in [1]. Confirmed.
References
[1] (1,2)Paul, Edward L, Victor A Atiemo-Obeng, and Suzanne M Kresta. Handbook of Industrial Mixing: Science and Practice. Hoboken, N.J.: Wiley-Interscience, 2004.
[2]Rieger, F., V. Novak, and D. Havelkov (1988). The influence of the geometrical shape on the power requirements of ribbon impellers, Int. Chem. Eng., 28, 376-383.
Examples
>>> Kp_helical_ribbon_Rieger(D=1.9, h=1.9, nb=2, pitch=1.9, width=.19, T=2) 357.39749163259256
- fluids.mixing.time_helical_ribbon_Grenville(Kp, N)[source]¶
Calculates product of time required for mixing in a helical ribbon coil in the laminar regime according to the Grenville [2] method recommended in [1].
\[t = 896\times10^3K_p^{-1.69}/N\]- Parameters:
- Kp
python:float Product of power number and Reynolds number for laminar regime []
- N
python:float Speed of impeller, [revolutions/s]
- Kp
- Returns:
- t
python:float Time for homogeneity [s]
- t
Notes
Degree of homogeneity is not specified. Example is from example 9-6 in [1]. Confirmed.
References
[1] (1,2)Paul, Edward L, Victor A Atiemo-Obeng, and Suzanne M Kresta. Handbook of Industrial Mixing: Science and Practice. Hoboken, N.J.: Wiley-Interscience, 2004.
[2]Grenville, R. K., T. M. Hutchinson, and R. W. Higbee (2001). Optimisation of helical ribbon geometry for blending in the laminar regime, presented at MIXING XVIII, NAMF.
Examples
>>> time_helical_ribbon_Grenville(357.4, 4/60.) 650.980654028894