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
Q1float

Volumetric flow rate of larger stream [m^3/s]

Q2float

Volumetric flow rate of smaller stream [m^3/s]

Dfloat

Diameter of pipe after tee [m]

D2float

Diameter of mixing inlet, optional (optimally calculated if not specified) [m]

nfloat

Number of jets, 1 to 4 []

pipe_diametersfloat

Number of diameters along tail pipe for CoV calculation, 0 to 5 []

Returns
CoVfloat

Standard deviation of dimensionless concentration [-]

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].

CoVCoV0=KiL/D\frac{CoV}{CoV_0} = K_i^{L/D}
Parameters
Kifloat

Correlation parameter specific to a mixer’s design, [-]

Q1float

Volumetric flow rate of larger stream [m^3/s]

Q2float

Volumetric flow rate of smaller stream [m^3/s]

pipe_diametersfloat

Number of diameters along tail pipe for CoV calculation, 0 to 5 []

Returns
CoVfloat

Standard deviation of dimensionless concentration [-]

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=KL/TfLDK = K_{L/T}f\frac{L}{D}
Parameters
Kfloat

Correlation parameter specific to a mixer’s design, [-] Also specific to laminar or turbulent regime.

Lfloat

Length of the motionless mixer [m]

Dfloat

Diameter of pipe [m]

fdfloat

Darcy friction factor [-]

Returns
Kfloat

Loss coefficient of mixer [-]

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].

Np=PgρN3D5N_p = \frac{Pg}{\rho N^3 D^5}
Reimp=ρD2NμRe_{imp} = \frac{\rho D^2 N}{\mu}
constant=Np1/3Reimp\text{constant} = N_p^{1/3} Re_{imp}
Fo=5.2/constantfor turbulent regimeFo = 5.2/\text{constant} \text{for turbulent regime}
Fo=(183/constant)2for transition regimeFo = (183/\text{constant})^2 \text{for transition regime}
Parameters
Nfloat:

Speed of impeller, [revolutions/s]

Pfloat

Actual power required to mix, ignoring mechanical inefficiencies [W]

Tfloat

Tank diameter, [m]

Hfloat

Tank height, [m]

mufloat

Mixture viscosity, [Pa*s]

rhofloat

Mixture density, [kg/m^3]

Dfloat, optional

Impeller diameter [m]

homogeneityfloat, optional

Fraction completion of mixing, []

Returns
tfloat

Time for specified degree of homogeneity [s]

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.

Kp=82.8hD(cD)0.38(pD)0.35(wD)0.20nb0.78K_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
Dfloat

Impeller diameter [m]

hfloat

Ribbon mixer height, [m]

nbfloat:

Number of blades, [-]

pitchfloat

Height of one turn around a helix [m]

widthfloat

Width of one blade [m]

Tfloat

Tank diameter, [m]

Returns
Kpfloat

Product of Power number and Reynolds number for laminar regime []

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×103Kp1.69/Nt = 896\times10^3K_p^{-1.69}/N
Parameters
Kpfloat

Product of power number and Reynolds number for laminar regime []

Nfloat

Speed of impeller, [revolutions/s]

Returns
tfloat

Time for homogeneity [s]

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