Particle Size Distributions (fluids.particle_size_distribution)¶
This module contains particle distribution characterization, fitting, interpolating, and manipulation functions. It may be used with discrete particle size distributions, or with statistical ones with parameters specified.
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.
Particle Size Distribution Base Class¶
- class fluids.particle_size_distribution.ParticleSizeDistributionContinuous[source]¶
Base class representing a continuous particle size distribution specified by a mathematical/statistical function. This class holds the common methods only.
Notes
Although the stated units of input are in meters, this class is actually independent of the units provided; all results will be consistent with the provided unit.
References
- 1
ISO 9276-2:2014 - Representation of Results of Particle Size Analysis - Part 2: Calculation of Average Particle Sizes/Diameters and Moments from Particle Size Distributions.
Examples
Example problem from [1].
>>> psd = PSDLognormal(s=0.5, d_characteristic=5E-6)
- Attributes
vssa
The volume-specific surface area of a particle size distribution.
Methods
cdf
(d[, n])Computes the cumulative distribution density function of a continuous particle size distribution at a specified particle diameter, an optionally in a specified basis.
cdf_discrete
(ds[, n])Computes the cumulative distribution functions for a list of specified particle diameters.
delta_cdf
(d_min, d_max[, n])Computes the difference in cumulative distribution function between two particle size diameters.
dn
(fraction[, n])Computes the diameter at which a specified fraction of the distribution falls under.
ds_discrete
([d_min, d_max, pts, limit, method])Create a particle spacing mesh to perform calculations with, according to one of several ways.
fractions_discrete
(ds[, n])Computes the fractions of the cumulative distribution functions which lie between the specified specified particle diameters.
mean_size
(p, q)Calculates the mean particle size according to moment-ratio notation.
mean_size_ISO
(k, r)Calculates the mean particle size according to moment notation (ISO).
pdf
(d[, n])Computes the probability density function of a continuous particle size distribution at a specified particle diameter, an optionally in a specified basis.
plot_cdf
([n, d_min, d_max, pts, method])Plot the cumulative distribution function of the particle size distribution.
plot_pdf
([n, d_min, d_max, pts, normalized, ...])Plot the probability density function of the particle size distribution.
- cdf(d, n=None)[source]¶
Computes the cumulative distribution density function of a continuous particle size distribution at a specified particle diameter, an optionally in a specified basis. The evaluation function varies with the distribution chosen.
- Parameters
- Returns
- cdf
float
The cumulative distribution function at the specified diameter and order, [-]
- cdf
Notes
Analytical integrals can be found for most distributions even when order conversions are necessary.
Examples
>>> psd = PSDLognormal(s=0.5, d_characteristic=5E-6, order=3) >>> [psd.cdf(5e-6, n) for n in range(4)] [0.933192798731, 0.8413447460685, 0.6914624612740, 0.5]
- cdf_discrete(ds, n=None)[source]¶
Computes the cumulative distribution functions for a list of specified particle diameters.
- Parameters
- Returns
- cdfs
float
The cumulative distribution functions at the specified diameters and order, [-]
- cdfs
Examples
>>> psd = PSDLognormal(s=0.5, d_characteristic=5E-6, order=3) >>> psd.cdf_discrete([1e-6, 1e-5, 1e-4, 1e-3]) [0.000643471012913, 0.917171480998, 0.999999998960, 1.0]
- delta_cdf(d_min, d_max, n=None)[source]¶
Computes the difference in cumulative distribution function between two particle size diameters.
- Parameters
- Returns
- delta_cdf
float
The difference in the cumulative distribution function for the two diameters specified, [-]
- delta_cdf
Examples
>>> psd = PSDLognormal(s=0.5, d_characteristic=5E-6, order=3) >>> psd.delta_cdf(1e-6, 1e-5) 0.9165280099853876
- dn(fraction, n=None)[source]¶
Computes the diameter at which a specified fraction of the distribution falls under. Utilizes a bounded solver to search for the desired diameter.
- Parameters
- Returns
- d
float
Particle size diameter, [m]
- d
Examples
>>> psd = PSDLognormal(s=0.5, d_characteristic=5E-6, order=3) >>> psd.dn(.5) 5e-06 >>> psd.dn(1) 0.0002947436533523378 >>> psd.dn(0) 0.0
- ds_discrete(d_min=None, d_max=None, pts=20, limit=1e-09, method='logarithmic')[source]¶
Create a particle spacing mesh to perform calculations with, according to one of several ways. The allowable meshes are ‘linear’, ‘logarithmic’, a geometric series specified by a Renard number such as ‘R10’, or the meshes available in one of several sieve standards.
- Parameters
- d_min
float
,optional
The minimum diameter at which the mesh starts, [m]
- d_max
float
,optional
The maximum diameter at which the mesh ends, [m]
- pts
int
,optional
The number of points to return for the mesh (note this is not respected by sieve meshes), [-]
- limit
float
If d_min or d_max is not specified, it will be calculated as the dn at which this limit or 1-limit exists (this is ignored for Renard numbers), [-]
- method
str
,optional
Either ‘linear’, ‘logarithmic’, a Renard number like ‘R10’ or ‘R5’ or’R2.5’, or one of the sieve standards ‘ISO 3310-1 R40/3’, ‘ISO 3310-1 R20’, ‘ISO 3310-1 R20/3’, ‘ISO 3310-1’, ‘ISO 3310-1 R10’, ‘ASTM E11’, [-]
- d_min
- Returns
Notes
Note that when specifying a Renard series, only one of d_min or d_max can be respected! Provide only one of those numbers.
Note that when specifying a sieve standard the number of points is not respected!
References
- 1
ASTM E11 - 17 - Standard Specification for Woven Wire Test Sieve Cloth and Test Sieves.
- 2
ISO 3310-1:2016 - Test Sieves – Technical Requirements and Testing – Part 1: Test Sieves of Metal Wire Cloth.
- fractions_discrete(ds, n=None)[source]¶
Computes the fractions of the cumulative distribution functions which lie between the specified specified particle diameters. The first diameter contains the cdf from 0 to it.
- Parameters
- Returns
- fractions
float
The differences in the cumulative distribution functions at the specified diameters and order, [-]
- fractions
Examples
>>> psd = PSDLognormal(s=0.5, d_characteristic=5E-6, order=3) >>> psd.fractions_discrete([1e-6, 1e-5, 1e-4, 1e-3]) [0.00064347101291, 0.916528009985, 0.0828285179619, 1.039798e-09]
- mean_size(p, q)[source]¶
Calculates the mean particle size according to moment-ratio notation. This is the more common and often convenient definition.
Note that in the above equation is replaceable with the fraction of particles in that bin.
- Parameters
- Returns
- d_pq
float
Mean particle size according to the specified p and q, [m]
- d_pq
Notes
The following is a list of common names for specific mean diameters.
D[-3, 0]: arithmetic harmonic mean volume diameter
D[-2, 1]: size-weighted harmonic mean volume diameter
D[-1, 2]: area-weighted harmonic mean volume diameter
D[-2, 0]: arithmetic harmonic mean area diameter
D[-1, 1]: size-weighted harmonic mean area diameter
D[-1, 0]: arithmetic harmonic mean diameter
D[0, 0]: arithmetic geometric mean diameter
D[1, 1]: size-weighted geometric mean diameter
D[2, 2]: area-weighted geometric mean diameter
D[3, 3]: volume-weighted geometric mean diameter
D[1, 0]: arithmetic mean diameter
D[2, 1]: size-weighted mean diameter
D[3, 2]: area-weighted mean diameter, Sauter mean diameter
D[4, 3]: volume-weighted mean diameter, De Brouckere diameter
D[2, 0]: arithmetic mean area diameter
D[3, 1]: size-weighted mean area diameter
D[4, 2]: area-weighted mean area diameter
D[5, 3]: volume-weighted mean area diameter
D[3, 0]: arithmetic mean volume diameter
D[4, 1]: size-weighted mean volume diameter
D[5, 2]: area-weighted mean volume diameter
D[6, 3]: volume-weighted mean volume diameter
This notation was first introduced in [1].
The sum of p and q is called the order of the mean size [3].
References
- 1
Mugele, R. A., and H. D. Evans. “Droplet Size Distribution in Sprays.” Industrial & Engineering Chemistry 43, no. 6 (June 1951): 1317-24. https://doi.org/10.1021/ie50498a023.
- 2
ASTM E799 - 03(2015) - Standard Practice for Determining Data Criteria and Processing for Liquid Drop Size Analysis.
- 3
ISO 9276-2:2014 - Representation of Results of Particle Size Analysis - Part 2: Calculation of Average Particle Sizes/Diameters and Moments from Particle Size Distributions.
Examples
>>> psd = PSDLognormal(s=0.5, d_characteristic=5E-6) >>> psd.mean_size(3, 2) 4.412484512922977e-06
Note that for the case where p == q, a different set of formulas are required - which do not have analytical results for many distributions. Therefore, a close numerical approximation is used instead, to perturb the values of p and q so they are 1E-9 away from each other. This leads only to slight errors, as in the example below where the correct answer is 5E-6.
>>> psd.mean_size(3, 3) 4.9999999304923345e-06
- mean_size_ISO(k, r)[source]¶
Calculates the mean particle size according to moment notation (ISO). This system is related to the moment-ratio notation as follows; see the mean_size method for the full formulas.
- Parameters
- Returns
- x_kr
float
Mean particle size according to the specified k and r in the ISO series, [m]
- x_kr
Notes
The following is a list of common names for specific mean diameters in the ISO naming convention.
x[-3, 0]: arithmetic harmonic mean volume diameter
x[-3, 1]: size-weighted harmonic mean volume diameter
x[-3, 2]: area-weighted harmonic mean volume diameter
x[-2, 0]: arithmetic harmonic mean area diameter
x[-2, 1]: size-weighted harmonic mean area diameter
x[-1, 0]: arithmetic harmonic mean diameter
x[0, 0]: arithmetic geometric mean diameter
x[0, 1]: size-weighted geometric mean diameter
x[0, 2]: area-weighted geometric mean diameter
x[0, 3]: volume-weighted geometric mean diameter
x[1, 0]: arithmetic mean diameter
x[1, 1]: size-weighted mean diameter
x[1, 2]: area-weighted mean diameter, Sauter mean diameter
x[1, 3]: volume-weighted mean diameter, De Brouckere diameter
x[2, 0]: arithmetic mean area diameter
x[1, 1]: size-weighted mean area diameter
x[2, 2]: area-weighted mean area diameter
x[2, 3]: volume-weighted mean area diameter
x[3, 0]: arithmetic mean volume diameter
x[3, 1]: size-weighted mean volume diameter
x[3, 2]: area-weighted mean volume diameter
x[3, 3]: volume-weighted mean volume diameter
When working with continuous distributions, the ISO series must be used to perform the actual calculations.
References
- 1
ISO 9276-2:2014 - Representation of Results of Particle Size Analysis - Part 2: Calculation of Average Particle Sizes/Diameters and Moments from Particle Size Distributions.
Examples
>>> psd = PSDLognormal(s=0.5, d_characteristic=5E-6) >>> psd.mean_size_ISO(1, 2) 4.412484512922977e-06
- pdf(d, n=None)[source]¶
Computes the probability density function of a continuous particle size distribution at a specified particle diameter, an optionally in a specified basis. The evaluation function varies with the distribution chosen. The interconversion between distribution orders is performed using the following formula [1]:
- Parameters
- Returns
- pdf
float
The probability density function at the specified diameter and order, [-]
- pdf
Notes
The pdf order conversions are typically available analytically after some work. They have been verified numerically. See the various functions with names ending with ‘basis_integral’ for the formulations. The distributions normally do not have analytical limits for diameters of 0 or infinity, but large values suffice to capture the area of the integral.
References
- 1
Masuda, Hiroaki, Ko Higashitani, and Hideto Yoshida. Powder Technology: Fundamentals of Particles, Powder Beds, and Particle Generation. CRC Press, 2006.
Examples
>>> psd = PSDLognormal(s=0.5, d_characteristic=5E-6, order=3) >>> psd.pdf(1e-5) 30522.765209509154 >>> psd.pdf(1e-5, n=3) 30522.765209509154 >>> psd.pdf(1e-5, n=0) 1238.661379483343
- plot_cdf(n=(0, 1, 2, 3), d_min=None, d_max=None, pts=500, method='logarithmic')[source]¶
Plot the cumulative distribution function of the particle size distribution. The plotted range can be specified using d_min and d_max, or estimated automatically. One or more order can be plotted, by providing an iterable of ints as the value of n or just one int.
- Parameters
- n
tuple
(int
)or
int
,optional
None (for the order specified when the distribution was created), 0 (number), 1 (length), 2 (area), 3 (volume/mass), or any integer; as many as desired may be specified, [-]
- d_min
float
,optional
Lower particle size diameter, [m]
- d_max
float
,optional
Upper particle size diameter, [m]
- pts
int
,optional
The number of points for values to be calculated, [-]
- method
str
,optional
Either ‘linear’, ‘logarithmic’, a Renard number like ‘R10’ or ‘R5’ or’R2.5’, or one of the sieve standards ‘ISO 3310-1 R40/3’, ‘ISO 3310-1 R20’, ‘ISO 3310-1 R20/3’, ‘ISO 3310-1’, ‘ISO 3310-1 R10’, ‘ASTM E11’, [-]
- n
- plot_pdf(n=(0, 1, 2, 3), d_min=None, d_max=None, pts=500, normalized=False, method='linear')[source]¶
Plot the probability density function of the particle size distribution. The plotted range can be specified using d_min and d_max, or estimated automatically. One or more order can be plotted, by providing an iterable of ints as the value of n or just one int.
- Parameters
- n
tuple
(int
)or
int
,optional
None (for the order specified when the distribution was created), 0 (number), 1 (length), 2 (area), 3 (volume/mass), or any integer; as many as desired may be specified, [-]
- d_min
float
,optional
Lower particle size diameter, [m]
- d_max
float
,optional
Upper particle size diameter, [m]
- pts
int
,optional
The number of points for values to be calculated, [-]
- normalizedbool,
optional
Whether to display the actual probability density function, which may have a huge magnitude - or to divide each point by the sum of all the points. Doing this is a common practice, but the values at each point are dependent on the number of points being plotted, and the distribution of the points; [-]
- method
str
,optional
Either ‘linear’, ‘logarithmic’, a Renard number like ‘R10’ or ‘R5’ or’R2.5’, or one of the sieve standards ‘ISO 3310-1 R40/3’, ‘ISO 3310-1 R20’, ‘ISO 3310-1 R20/3’, ‘ISO 3310-1’, ‘ISO 3310-1 R10’, ‘ASTM E11’, [-]
- n
- property vssa¶
The volume-specific surface area of a particle size distribution.
- Returns
- VSSA
float
The volume-specific surface area of the distribution, [m^2/m^3]
- VSSA
References
- 1
ISO 9276-2:2014 - Representation of Results of Particle Size Analysis - Part 2: Calculation of Average Particle Sizes/Diameters and Moments from Particle Size Distributions.
Examples
>>> PSDLognormal(s=0.5, d_characteristic=5E-6).vssa 1359778.1436801916
Discrete Particle Size Distributions¶
- class fluids.particle_size_distribution.ParticleSizeDistribution(ds, fractions, cdf=False, order=3, monotonic=True)[source]¶
Class representing a discrete particle size distribution specified by a series of diameter bins, and the quantity of particles in each bin. The quantities may be specified as either the fraction of particles in each bin, or as cumulative distributions. The input fractions can be specified to be in a mass basis (order=3), number basis (order=0), or the orders in between for length basis or area basis. If the fractions do not sum to 1, and cdf is False, then the fractions are normalized. This allows flow rates or counts of size bins to be given as well.
- Parameters
- ds
list
[float
] Diameter bins; length of the specified quantities, optionally +1 that length to specify a cutoff diameter for the smallest diameter bin, [m]
- fractions
list
[float
],optional
The mass/mole/volume/length/area/count fractions or cumulative distributions or counts of each particle size in each diameter bin (the type is specified by order), [-]
- order
int
,optional
0 for a number distribution as input; 1 for length distribution; 2 for area distribution; 3 for mass, mole, or volume distribution, [-]
- cdfbool,
optional
If the distribution is given as increasing fractions with 1 as the last result, cdf must be set to True, [-]
- monotonicbool,
optional
If True, for interpolated quanties, monotonic splines will be used instead of the standard splines, [-]
- ds
Notes
Although the stated units of input are in meters, this class is actually independent of the units provided; all results will be consistent with the provided unit.
References
- 1
ASTM E799 - 03(2015) - Standard Practice for Determining Data Criteria and Processing for Liquid Drop Size Analysis.
- 2
ISO 9276-2:2014 - Representation of Results of Particle Size Analysis - Part 2: Calculation of Average Particle Sizes/Diameters and Moments from Particle Size Distributions.
Examples
Example problem from [1], calculating several diameters and the cumulative distribution.
>>> import numpy as np >>> ds = 1E-6*np.array([240, 360, 450, 562.5, 703, 878, 1097, 1371, 1713, 2141, 2676, 3345, 4181, 5226, 6532]) >>> numbers = [65, 119, 232, 410, 629, 849, 990, 981, 825, 579, 297, 111, 21, 1] >>> psd = ParticleSizeDistribution(ds=ds, fractions=numbers, order=0) >>> psd <Particle Size Distribution, points=14, D[3, 3]=0.002451 m>
- Attributes
- fractions
list
[float
] The mass/mole/volume basis fractions of particles in each bin, [-]
- area_fractions
list
[float
] The area fractions of particles in each bin, [-]
- length_fractions
list
[float
] The length fractions of particles in each bin, [-]
- number_fractions
list
[float
] The number fractions of particles in each bin, [-]
- fraction_cdf
list
[float
] The cumulative mass/mole/volume basis fractions of particles in each bin, [-]
- area_cdf
list
[float
] The cumulative area fractions of particles in each bin, [-]
- length_cdf
list
[float
] The cumulative length fractions of particles in each bin, [-]
- number_cdf
list
[float
] The cumulative number fractions of particles in each bin, [-]
- size_classesbool
Whether or not the diameter bins were set as size classes (as length of fractions + 1), [-]
- N
int
The number of provided points, [-]
- fractions
Methods
cdf
(d[, n])Computes the cumulative distribution density function of a continuous particle size distribution at a specified particle diameter, an optionally in a specified basis.
cdf_discrete
(ds[, n])Computes the cumulative distribution functions for a list of specified particle diameters.
delta_cdf
(d_min, d_max[, n])Computes the difference in cumulative distribution function between two particle size diameters.
di_power
(i[, power])Method to calculate a power of a particle class/bin in a generic way so as to support when there are as many ds as fractions, or one more diameter spec than fractions.
dn
(fraction[, n])Computes the diameter at which a specified fraction of the distribution falls under.
ds_discrete
([d_min, d_max, pts, limit, method])Create a particle spacing mesh to perform calculations with, according to one of several ways.
fit
([x0, distribution, n])Incomplete method to fit experimental values to a curve.
fractions_discrete
(ds[, n])Computes the fractions of the cumulative distribution functions which lie between the specified specified particle diameters.
mean_size
(p, q)Calculates the mean particle size according to moment-ratio notation.
mean_size_ISO
(k, r)Calculates the mean particle size according to moment notation (ISO).
pdf
(d[, n])Computes the probability density function of a continuous particle size distribution at a specified particle diameter, an optionally in a specified basis.
plot_cdf
([n, d_min, d_max, pts, method])Plot the cumulative distribution function of the particle size distribution.
plot_pdf
([n, d_min, d_max, pts, normalized, ...])Plot the probability density function of the particle size distribution.
- property Dis¶
Representative diameters of each bin.
- di_power(i, power=1)[source]¶
Method to calculate a power of a particle class/bin in a generic way so as to support when there are as many ds as fractions, or one more diameter spec than fractions.
When each bin has a lower and upper bound, the formula is as follows [1].
Where ub represents the upper bound, and lb represents the lower bound. Otherwise, the standard definition is used:
- Parameters
- Returns
- di_power
float
The representative bin diameter raised to power, [m^power]
- di_power
References
- 1
ASTM E799 - 03(2015) - Standard Practice for Determining Data Criteria and Processing for Liquid Drop Size Analysis.
- fit(x0=None, distribution='lognormal', n=None, **kwargs)[source]¶
Incomplete method to fit experimental values to a curve.
It is very hard to get good initial guesses, which are really required for this. Differential evolution is promising. This API is likely to change in the future.
- mean_size(p, q)[source]¶
Calculates the mean particle size according to moment-ratio notation. This is the more common and often convenient definition.
Note that in the above equation is replaceable with the fraction of particles in that bin.
- Parameters
- Returns
- d_pq
float
Mean particle size according to the specified p and q, [m]
- d_pq
Notes
The following is a list of common names for specific mean diameters.
D[-3, 0]: arithmetic harmonic mean volume diameter
D[-2, 1]: size-weighted harmonic mean volume diameter
D[-1, 2]: area-weighted harmonic mean volume diameter
D[-2, 0]: arithmetic harmonic mean area diameter
D[-1, 1]: size-weighted harmonic mean area diameter
D[-1, 0]: arithmetic harmonic mean diameter
D[0, 0]: arithmetic geometric mean diameter
D[1, 1]: size-weighted geometric mean diameter
D[2, 2]: area-weighted geometric mean diameter
D[3, 3]: volume-weighted geometric mean diameter
D[1, 0]: arithmetic mean diameter
D[2, 1]: size-weighted mean diameter
D[3, 2]: area-weighted mean diameter, Sauter mean diameter
D[4, 3]: volume-weighted mean diameter, De Brouckere diameter
D[2, 0]: arithmetic mean area diameter
D[3, 1]: size-weighted mean area diameter
D[4, 2]: area-weighted mean area diameter
D[5, 3]: volume-weighted mean area diameter
D[3, 0]: arithmetic mean volume diameter
D[4, 1]: size-weighted mean volume diameter
D[5, 2]: area-weighted mean volume diameter
D[6, 3]: volume-weighted mean volume diameter
This notation was first introduced in [1].
The sum of p and q is called the order of the mean size [3].
References
- 1
Mugele, R. A., and H. D. Evans. “Droplet Size Distribution in Sprays.” Industrial & Engineering Chemistry 43, no. 6 (June 1951): 1317-24. https://doi.org/10.1021/ie50498a023.
- 2
ASTM E799 - 03(2015) - Standard Practice for Determining Data Criteria and Processing for Liquid Drop Size Analysis.
- 3
ISO 9276-2:2014 - Representation of Results of Particle Size Analysis - Part 2: Calculation of Average Particle Sizes/Diameters and Moments from Particle Size Distributions.
Examples
>>> import numpy as np >>> ds = 1E-6*np.array([240, 360, 450, 562.5, 703, 878, 1097, 1371, 1713, 2141, 2676, 3345, 4181, 5226, 6532]) >>> numbers = [65, 119, 232, 410, 629, 849, 990, 981, 825, 579, 297, 111, 21, 1] >>> psd = ParticleSizeDistribution(ds=ds, fractions=numbers, order=0) >>> psd.mean_size(3, 2) 0.002269321031745045
- mean_size_ISO(k, r)[source]¶
Calculates the mean particle size according to moment notation (ISO). This system is related to the moment-ratio notation as follows; see the mean_size method for the full formulas.
- Parameters
- Returns
- x_kr
float
Mean particle size according to the specified k and r in the ISO series, [m]
- x_kr
Notes
The following is a list of common names for specific mean diameters in the ISO naming convention.
x[-3, 0]: arithmetic harmonic mean volume diameter
x[-3, 1]: size-weighted harmonic mean volume diameter
x[-3, 2]: area-weighted harmonic mean volume diameter
x[-2, 0]: arithmetic harmonic mean area diameter
x[-2, 1]: size-weighted harmonic mean area diameter
x[-1, 0]: arithmetic harmonic mean diameter
x[0, 0]: arithmetic geometric mean diameter
x[0, 1]: size-weighted geometric mean diameter
x[0, 2]: area-weighted geometric mean diameter
x[0, 3]: volume-weighted geometric mean diameter
x[1, 0]: arithmetic mean diameter
x[1, 1]: size-weighted mean diameter
x[1, 2]: area-weighted mean diameter, Sauter mean diameter
x[1, 3]: volume-weighted mean diameter, De Brouckere diameter
x[2, 0]: arithmetic mean area diameter
x[1, 1]: size-weighted mean area diameter
x[2, 2]: area-weighted mean area diameter
x[2, 3]: volume-weighted mean area diameter
x[3, 0]: arithmetic mean volume diameter
x[3, 1]: size-weighted mean volume diameter
x[3, 2]: area-weighted mean volume diameter
x[3, 3]: volume-weighted mean volume diameter
When working with continuous distributions, the ISO series must be used to perform the actual calculations.
References
- 1
ISO 9276-2:2014 - Representation of Results of Particle Size Analysis - Part 2: Calculation of Average Particle Sizes/Diameters and Moments from Particle Size Distributions.
Examples
>>> import numpy as np >>> ds = 1E-6*np.array([240, 360, 450, 562.5, 703, 878, 1097, 1371, 1713, 2141, 2676, 3345, 4181, 5226, 6532]) >>> numbers = [65, 119, 232, 410, 629, 849, 990, 981, 825, 579, 297, 111, 21, 1] >>> psd = ParticleSizeDistribution(ds=ds, fractions=numbers, order=0) >>> psd.mean_size_ISO(1, 2) 0.002269321031745045
- property vssa¶
The volume-specific surface area of a particle size distribution. Note this uses the diameters provided by the method Dis.
- Returns
- VSSA
float
The volume-specific surface area of the distribution, [m^2/m^3]
- VSSA
References
- 1
ISO 9276-2:2014 - Representation of Results of Particle Size Analysis - Part 2: Calculation of Average Particle Sizes/Diameters and Moments from Particle Size Distributions.
- class fluids.particle_size_distribution.PSDInterpolated(ds, fractions, order=3, monotonic=True)[source]¶
- Attributes
vssa
The volume-specific surface area of a particle size distribution.
Methods
cdf
(d[, n])Computes the cumulative distribution density function of a continuous particle size distribution at a specified particle diameter, an optionally in a specified basis.
cdf_discrete
(ds[, n])Computes the cumulative distribution functions for a list of specified particle diameters.
delta_cdf
(d_min, d_max[, n])Computes the difference in cumulative distribution function between two particle size diameters.
dn
(fraction[, n])Computes the diameter at which a specified fraction of the distribution falls under.
ds_discrete
([d_min, d_max, pts, limit, method])Create a particle spacing mesh to perform calculations with, according to one of several ways.
fractions_discrete
(ds[, n])Computes the fractions of the cumulative distribution functions which lie between the specified specified particle diameters.
mean_size
(p, q)Calculates the mean particle size according to moment-ratio notation.
mean_size_ISO
(k, r)Calculates the mean particle size according to moment notation (ISO).
pdf
(d[, n])Computes the probability density function of a continuous particle size distribution at a specified particle diameter, an optionally in a specified basis.
plot_cdf
([n, d_min, d_max, pts, method])Plot the cumulative distribution function of the particle size distribution.
plot_pdf
([n, d_min, d_max, pts, normalized, ...])Plot the probability density function of the particle size distribution.
Statistical Particle Size Distributions¶
- class fluids.particle_size_distribution.PSDLognormal(d_characteristic, s, order=3, d_min=None, d_max=None)[source]¶
- Attributes
vssa
The volume-specific surface area of a particle size distribution.
Methods
cdf
(d[, n])Computes the cumulative distribution density function of a continuous particle size distribution at a specified particle diameter, an optionally in a specified basis.
cdf_discrete
(ds[, n])Computes the cumulative distribution functions for a list of specified particle diameters.
delta_cdf
(d_min, d_max[, n])Computes the difference in cumulative distribution function between two particle size diameters.
dn
(fraction[, n])Computes the diameter at which a specified fraction of the distribution falls under.
ds_discrete
([d_min, d_max, pts, limit, method])Create a particle spacing mesh to perform calculations with, according to one of several ways.
fractions_discrete
(ds[, n])Computes the fractions of the cumulative distribution functions which lie between the specified specified particle diameters.
mean_size
(p, q)Calculates the mean particle size according to moment-ratio notation.
mean_size_ISO
(k, r)Calculates the mean particle size according to moment notation (ISO).
pdf
(d[, n])Computes the probability density function of a continuous particle size distribution at a specified particle diameter, an optionally in a specified basis.
plot_cdf
([n, d_min, d_max, pts, method])Plot the cumulative distribution function of the particle size distribution.
plot_pdf
([n, d_min, d_max, pts, normalized, ...])Plot the probability density function of the particle size distribution.
- class fluids.particle_size_distribution.PSDGatesGaudinSchuhman(d_characteristic, m, order=3, d_min=None, d_max=None)[source]¶
- Attributes
vssa
The volume-specific surface area of a particle size distribution.
Methods
cdf
(d[, n])Computes the cumulative distribution density function of a continuous particle size distribution at a specified particle diameter, an optionally in a specified basis.
cdf_discrete
(ds[, n])Computes the cumulative distribution functions for a list of specified particle diameters.
delta_cdf
(d_min, d_max[, n])Computes the difference in cumulative distribution function between two particle size diameters.
dn
(fraction[, n])Computes the diameter at which a specified fraction of the distribution falls under.
ds_discrete
([d_min, d_max, pts, limit, method])Create a particle spacing mesh to perform calculations with, according to one of several ways.
fractions_discrete
(ds[, n])Computes the fractions of the cumulative distribution functions which lie between the specified specified particle diameters.
mean_size
(p, q)Calculates the mean particle size according to moment-ratio notation.
mean_size_ISO
(k, r)Calculates the mean particle size according to moment notation (ISO).
pdf
(d[, n])Computes the probability density function of a continuous particle size distribution at a specified particle diameter, an optionally in a specified basis.
plot_cdf
([n, d_min, d_max, pts, method])Plot the cumulative distribution function of the particle size distribution.
plot_pdf
([n, d_min, d_max, pts, normalized, ...])Plot the probability density function of the particle size distribution.
- class fluids.particle_size_distribution.PSDRosinRammler(k, m, order=3, d_min=None, d_max=None)[source]¶
- Attributes
vssa
The volume-specific surface area of a particle size distribution.
Methods
cdf
(d[, n])Computes the cumulative distribution density function of a continuous particle size distribution at a specified particle diameter, an optionally in a specified basis.
cdf_discrete
(ds[, n])Computes the cumulative distribution functions for a list of specified particle diameters.
delta_cdf
(d_min, d_max[, n])Computes the difference in cumulative distribution function between two particle size diameters.
dn
(fraction[, n])Computes the diameter at which a specified fraction of the distribution falls under.
ds_discrete
([d_min, d_max, pts, limit, method])Create a particle spacing mesh to perform calculations with, according to one of several ways.
fractions_discrete
(ds[, n])Computes the fractions of the cumulative distribution functions which lie between the specified specified particle diameters.
mean_size
(p, q)Calculates the mean particle size according to moment-ratio notation.
mean_size_ISO
(k, r)Calculates the mean particle size according to moment notation (ISO).
pdf
(d[, n])Computes the probability density function of a continuous particle size distribution at a specified particle diameter, an optionally in a specified basis.
plot_cdf
([n, d_min, d_max, pts, method])Plot the cumulative distribution function of the particle size distribution.
plot_pdf
([n, d_min, d_max, pts, normalized, ...])Plot the probability density function of the particle size distribution.
- class fluids.particle_size_distribution.PSDCustom(distribution, order=3.0, d_excessive=1.0, name=None, d_min=None, d_max=None)[source]¶
- Attributes
vssa
The volume-specific surface area of a particle size distribution.
Methods
cdf
(d[, n])Computes the cumulative distribution density function of a continuous particle size distribution at a specified particle diameter, an optionally in a specified basis.
cdf_discrete
(ds[, n])Computes the cumulative distribution functions for a list of specified particle diameters.
delta_cdf
(d_min, d_max[, n])Computes the difference in cumulative distribution function between two particle size diameters.
dn
(fraction[, n])Computes the diameter at which a specified fraction of the distribution falls under.
ds_discrete
([d_min, d_max, pts, limit, method])Create a particle spacing mesh to perform calculations with, according to one of several ways.
fractions_discrete
(ds[, n])Computes the fractions of the cumulative distribution functions which lie between the specified specified particle diameters.
mean_size
(p, q)Calculates the mean particle size according to moment-ratio notation.
mean_size_ISO
(k, r)Calculates the mean particle size according to moment notation (ISO).
pdf
(d[, n])Computes the probability density function of a continuous particle size distribution at a specified particle diameter, an optionally in a specified basis.
plot_cdf
([n, d_min, d_max, pts, method])Plot the cumulative distribution function of the particle size distribution.
plot_pdf
([n, d_min, d_max, pts, normalized, ...])Plot the probability density function of the particle size distribution.
Helper functions: Lognormal Distribution¶
- fluids.particle_size_distribution.pdf_lognormal(d, d_characteristic, s)[source]¶
Calculates the probability density function of a lognormal particle distribution given a particle diameter d, characteristic particle diameter d_characteristic, and distribution standard deviation s.
- Parameters
- Returns
- pdf
float
Lognormal probability density function, [-]
- pdf
Notes
The characteristic diameter can be in terns of number density (denoted ), length density (), surface area density (), or volume density (). Volume density is most often used. Interconversions among the distributions is possible but tricky.
The standard distribution (i.e. the one used in Scipy) can perform the same computation with d_characteristic as the value of scale.
>>> import scipy.stats >>> scipy.stats.lognorm.pdf(x=1E-4, s=1.1, scale=1E-5) 405.5420921
Scipy’s calculation is over 300 times slower however, and this expression is numerically integrated so speed is required.
References
- 1
ISO 9276-2:2014 - Representation of Results of Particle Size Analysis - Part 2: Calculation of Average Particle Sizes/Diameters and Moments from Particle Size Distributions.
Examples
>>> pdf_lognormal(d=1E-4, d_characteristic=1E-5, s=1.1) 405.5420921
- fluids.particle_size_distribution.cdf_lognormal(d, d_characteristic, s)[source]¶
Calculates the cumulative distribution function of a lognormal particle distribution given a particle diameter d, characteristic particle diameter d_characteristic, and distribution standard deviation s.
- Parameters
- Returns
- cdf
float
Lognormal cumulative density function, [-]
- cdf
Notes
The characteristic diameter can be in terns of number density (denoted ), length density (), surface area density (), or volume density (). Volume density is most often used. Interconversions among the distributions is possible but tricky.
The standard distribution (i.e. the one used in Scipy) can perform the same computation with d_characteristic as the value of scale.
>>> import scipy.stats >>> scipy.stats.lognorm.cdf(x=1E-4, s=1.1, scale=1E-5) 0.9818369875798177
Scipy’s calculation is over 100 times slower however.
References
- 1
ISO 9276-2:2014 - Representation of Results of Particle Size Analysis - Part 2: Calculation of Average Particle Sizes/Diameters and Moments from Particle Size Distributions.
Examples
>>> cdf_lognormal(d=1E-4, d_characteristic=1E-5, s=1.1) 0.9818369875798
- fluids.particle_size_distribution.pdf_lognormal_basis_integral(d, d_characteristic, s, n)[source]¶
Calculates the integral of the multiplication of d^n by the lognormal pdf, given a particle diameter d, characteristic particle diameter d_characteristic, distribution standard deviation s, and exponent n.
This is the crucial integral required for interconversion between different bases such as number density (denoted ), length density (), surface area density (), or volume density ().
- Parameters
- Returns
- pdf_basis_integral
float
Integral of lognormal pdf multiplied by d^n, [-]
- pdf_basis_integral
Notes
This integral has been verified numerically. This integral is itself integrated, so it is crucial to obtain an analytical form for at least this integral.
Note overflow or zero division issues may occur for very large values of s, larger than 10. No mathematical limit was able to be obtained with a CAS.
Examples
>>> pdf_lognormal_basis_integral(d=1E-4, d_characteristic=1E-5, s=1.1, n=-2) 56228306549.26362
Helper functions: Gates Gaudin Schuhman Distribution¶
- fluids.particle_size_distribution.pdf_Gates_Gaudin_Schuhman(d, d_characteristic, m)[source]¶
Calculates the probability density of a particle distribution following the Gates, Gaudin and Schuhman (GGS) model given a particle diameter d, characteristic (maximum) particle diameter d_characteristic, and exponent m.
- Parameters
- Returns
- pdf
float
GGS probability density function, [-]
- pdf
Notes
The characteristic diameter can be in terns of number density (denoted ), length density (), surface area density (), or volume density (). Volume density is most often used. Interconversions among the distributions is possible but tricky.
References
- 1
Schuhmann, R., 1940. Principles of Comminution, I-Size Distribution and Surface Calculations. American Institute of Mining, Metallurgical and Petroleum Engineers Technical Publication 1189. Mining Technology, volume 4, p. 1-11.
- 2
Bayat, Hossein, Mostafa Rastgo, Moharram Mansouri Zadeh, and Harry Vereecken. “Particle Size Distribution Models, Their Characteristics and Fitting Capability.” Journal of Hydrology 529 (October 1, 2015): 872-89.
Examples
>>> pdf_Gates_Gaudin_Schuhman(d=2E-4, d_characteristic=1E-3, m=2.3) 283.8355768512045
- fluids.particle_size_distribution.cdf_Gates_Gaudin_Schuhman(d, d_characteristic, m)[source]¶
Calculates the cumulative distribution function of a particle distribution following the Gates, Gaudin and Schuhman (GGS) model given a particle diameter d, characteristic (maximum) particle diameter d_characteristic, and exponent m.
- Parameters
- Returns
- cdf
float
GGS cumulative density function, [-]
- cdf
Notes
The characteristic diameter can be in terns of number density (denoted ), length density (), surface area density (), or volume density (). Volume density is most often used. Interconversions among the distributions is possible but tricky.
References
- 1
Schuhmann, R., 1940. Principles of Comminution, I-Size Distribution and Surface Calculations. American Institute of Mining, Metallurgical and Petroleum Engineers Technical Publication 1189. Mining Technology, volume 4, p. 1-11.
- 2
Bayat, Hossein, Mostafa Rastgo, Moharram Mansouri Zadeh, and Harry Vereecken. “Particle Size Distribution Models, Their Characteristics and Fitting Capability.” Journal of Hydrology 529 (October 1, 2015): 872-89.
Examples
>>> cdf_Gates_Gaudin_Schuhman(d=2E-4, d_characteristic=1E-3, m=2.3) 0.024681354508800397
- fluids.particle_size_distribution.pdf_Gates_Gaudin_Schuhman_basis_integral(d, d_characteristic, m, n)[source]¶
Calculates the integral of the multiplication of d^n by the Gates, Gaudin and Schuhman (GGS) model given a particle diameter d, characteristic (maximum) particle diameter d_characteristic, and exponent m.
- Parameters
- Returns
- pdf_basis_integral
float
Integral of Rosin Rammler pdf multiplied by d^n, [-]
- pdf_basis_integral
Notes
This integral does not have any numerical issues as d approaches 0.
Examples
>>> pdf_Gates_Gaudin_Schuhman_basis_integral(d=2E-4, d_characteristic=1E-3, m=2.3, n=-3) -10136984887.543015
Helper functions: Rosin Rammler Distribution¶
- fluids.particle_size_distribution.pdf_Rosin_Rammler(d, k, m)[source]¶
Calculates the probability density of a particle distribution following the Rosin-Rammler (RR) model given a particle diameter d, and the two parameters k and m.
- Parameters
- Returns
- pdf
float
RR probability density function, [-]
- pdf
References
- 1
Rosin, P. “The Laws Governing the Fineness of Powdered Coal.” J. Inst. Fuel. 7 (1933): 29-36.
- 2
Bayat, Hossein, Mostafa Rastgo, Moharram Mansouri Zadeh, and Harry Vereecken. “Particle Size Distribution Models, Their Characteristics and Fitting Capability.” Journal of Hydrology 529 (October 1, 2015): 872-89.
Examples
>>> pdf_Rosin_Rammler(1E-3, 200, 2) 0.3999200079994667
- fluids.particle_size_distribution.cdf_Rosin_Rammler(d, k, m)[source]¶
Calculates the cumulative distribution function of a particle distribution following the Rosin-Rammler (RR) model given a particle diameter d, and the two parameters k and m.
- Parameters
- Returns
- cdf
float
RR cumulative density function, [-]
- cdf
Notes
The characteristic diameter can be in terns of number density (denoted ), length density (), surface area density (), or volume density (). Volume density is most often used. Interconversions among the distributions is possible but tricky.
References
- 1
Rosin, P. “The Laws Governing the Fineness of Powdered Coal.” J. Inst. Fuel. 7 (1933): 29-36.
- 2
Bayat, Hossein, Mostafa Rastgo, Moharram Mansouri Zadeh, and Harry Vereecken. “Particle Size Distribution Models, Their Characteristics and Fitting Capability.” Journal of Hydrology 529 (October 1, 2015): 872-89.
Examples
>>> cdf_Rosin_Rammler(5E-2, 200, 2) 0.3934693402873667
- fluids.particle_size_distribution.pdf_Rosin_Rammler_basis_integral(d, k, m, n)[source]¶
Calculates the integral of the multiplication of d^n by the Rosin Rammler (RR) pdf, given a particle diameter d, and the two parameters k and m.
- Parameters
- Returns
- pdf_basis_integral
float
Integral of Rosin Rammler pdf multiplied by d^n, [-]
- pdf_basis_integral
Notes
This integral was derived using a CAS, and verified numerically. The gammaincc function is that from scipy.special, and gamma from the same.
For very high powers of n or m when the diameter is very low, exceptions may occur.
Examples
>>> "{:g}".format(pdf_Rosin_Rammler_basis_integral(5E-2, 200, 2, 3)) '-0.000452399'
Sieves¶
- class fluids.particle_size_distribution.Sieve(designation, old_designation=None, opening=None, opening_inch=None, Y_variation_avg=None, X_variation_max=None, max_opening=None, compliance_samples=None, compliance_sd=None, inspection_samples=None, inspection_sd=None, calibration_samples=None, calibration_sd=None, d_wire=None, d_wire_min=None, d_wire_max=None)[source]¶
Class for storing data on sieves. If a property is not available, it is set to None.
- Attributes
- designation
str
The standard name of the sieve - its opening’s length in units of millimeters
- old_designation
str
The older, imperial-esque name of the sieve; in Numbers, or inches for large sieves
- opening
float
The opening length of the sieve holes, [m]
- opening_inch
float
The opening length of the sieve holes in the rounded inches as stated in common tables (not exactly equal to the opening), [inch]
- Y_variation_avg
float
The allowable average variation in the Y direction of the sieve openings, [m]
- X_variation_max
float
The allowable maximum variation in the X direction of the sieve openings, [m]
- max_opening
float
The maximum allowable opening of the sieve, [m]
- calibration_samples
float
The number of opening sample inspections required for calibration- type sieve openings (per 100 ft^2 of sieve material), [1/(ft^2)]
- compliance_sd
float
The maximum standard deviation of compliance-type sieve openings, [-]
- inspection_samples
float
The number of opening sample inspections required for inspection- type sieve openings (based on an 8-inch sieve), [-]
- inspection_sd
float
The maximum standard deviation of inspection-type sieve openings, [-]
- calibration_samples
float
The number of opening sample inspections required for calibration- type sieve openings (based on an 8-inch sieve), [-]
- calibration_sd
float
The maximum standard deviation of calibration-type sieve openings, [-]
- d_wire
float
Typical wire diameter of the specified sieve size, [m]
- d_wire_min
float
Permissible minimum wire diameter of specified sieve size, [m]
- d_wire_max
float
Permissible maximum wire diameter of specified sieve size, [m]
- designation
- fluids.particle_size_distribution.ASTM_E11_sieves = {'0.02': <Sieve, designation 0.02 mm, opening 2e-05 m>, '0.025': <Sieve, designation 0.025 mm, opening 2.5e-05 m>, '0.032': <Sieve, designation 0.032 mm, opening 3.2e-05 m>, '0.038': <Sieve, designation 0.038 mm, opening 3.8e-05 m>, '0.045': <Sieve, designation 0.045 mm, opening 4.5e-05 m>, '0.053': <Sieve, designation 0.053 mm, opening 5.3e-05 m>, '0.063': <Sieve, designation 0.063 mm, opening 6.3e-05 m>, '0.075': <Sieve, designation 0.075 mm, opening 7.5e-05 m>, '0.09': <Sieve, designation 0.09 mm, opening 9e-05 m>, '0.106': <Sieve, designation 0.106 mm, opening 0.000106 m>, '0.125': <Sieve, designation 0.125 mm, opening 0.000125 m>, '0.15': <Sieve, designation 0.15 mm, opening 0.00015 m>, '0.18': <Sieve, designation 0.18 mm, opening 0.00018 m>, '0.212': <Sieve, designation 0.212 mm, opening 0.000212 m>, '0.25': <Sieve, designation 0.25 mm, opening 0.00025 m>, '0.3': <Sieve, designation 0.3 mm, opening 0.0003 m>, '0.355': <Sieve, designation 0.355 mm, opening 0.000355 m>, '0.425': <Sieve, designation 0.425 mm, opening 0.000425 m>, '0.5': <Sieve, designation 0.5 mm, opening 0.0005 m>, '0.6': <Sieve, designation 0.6 mm, opening 0.0006 m>, '0.71': <Sieve, designation 0.71 mm, opening 0.00071 m>, '0.85': <Sieve, designation 0.85 mm, opening 0.00085 m>, '1': <Sieve, designation 1 mm, opening 0.001 m>, '1.18': <Sieve, designation 1.18 mm, opening 0.00118 m>, '1.4': <Sieve, designation 1.4 mm, opening 0.0014 m>, '1.7': <Sieve, designation 1.7 mm, opening 0.0017 m>, '100': <Sieve, designation 100 mm, opening 0.1 m>, '106': <Sieve, designation 106 mm, opening 0.106 m>, '11.2': <Sieve, designation 11.2 mm, opening 0.0112 m>, '12.5': <Sieve, designation 12.5 mm, opening 0.0125 m>, '125': <Sieve, designation 125 mm, opening 0.125 m>, '13.2': <Sieve, designation 13.2 mm, opening 0.0132 m>, '16': <Sieve, designation 16 mm, opening 0.016 m>, '19': <Sieve, designation 19 mm, opening 0.019 m>, '2': <Sieve, designation 2 mm, opening 0.002 m>, '2.36': <Sieve, designation 2.36 mm, opening 0.00236 m>, '2.8': <Sieve, designation 2.8 mm, opening 0.0028 m>, '22.4': <Sieve, designation 22.4 mm, opening 0.0224 m>, '25': <Sieve, designation 25 mm, opening 0.025 m>, '26.5': <Sieve, designation 26.5 mm, opening 0.0265 m>, '3.35': <Sieve, designation 3.35 mm, opening 0.00335 m>, '31.5': <Sieve, designation 31.5 mm, opening 0.0315 m>, '37.5': <Sieve, designation 37.5 mm, opening 0.0375 m>, '4': <Sieve, designation 4 mm, opening 0.004 m>, '4.75': <Sieve, designation 4.75 mm, opening 0.00475 m>, '45': <Sieve, designation 45 mm, opening 0.045 m>, '5.6': <Sieve, designation 5.6 mm, opening 0.0056 m>, '50': <Sieve, designation 50 mm, opening 0.05 m>, '53': <Sieve, designation 53 mm, opening 0.053 m>, '6.3': <Sieve, designation 6.3 mm, opening 0.0063 m>, '6.7': <Sieve, designation 6.7 mm, opening 0.0067 m>, '63': <Sieve, designation 63 mm, opening 0.063 m>, '75': <Sieve, designation 75 mm, opening 0.075 m>, '8': <Sieve, designation 8 mm, opening 0.008 m>, '9.5': <Sieve, designation 9.5 mm, opening 0.0095 m>, '90': <Sieve, designation 90 mm, opening 0.09 m>}¶
Dictionary containing ASTM E-11 sieve series
Sieve
objects, indexed by their size in mm as a string.References
- 1
ASTM E11 - 17 - Standard Specification for Woven Wire Test Sieve Cloth and Test Sieves.
- fluids.particle_size_distribution.ISO_3310_1_sieves = {'0.02': <Sieve, designation 0.02 mm, opening 2e-05 m>, '0.025': <Sieve, designation 0.025 mm, opening 2.5e-05 m>, '0.032': <Sieve, designation 0.032 mm, opening 3.2e-05 m>, '0.036': <Sieve, designation 0.036 mm, opening 3.6e-05 m>, '0.038': <Sieve, designation 0.038 mm, opening 3.8e-05 m>, '0.04': <Sieve, designation 0.04 mm, opening 4e-05 m>, '0.045': <Sieve, designation 0.045 mm, opening 4.5e-05 m>, '0.05': <Sieve, designation 0.05 mm, opening 5e-05 m>, '0.053': <Sieve, designation 0.053 mm, opening 5.3e-05 m>, '0.056': <Sieve, designation 0.056 mm, opening 5.6e-05 m>, '0.063': <Sieve, designation 0.063 mm, opening 6.3e-05 m>, '0.071': <Sieve, designation 0.071 mm, opening 7.1e-05 m>, '0.075': <Sieve, designation 0.075 mm, opening 7.5e-05 m>, '0.08': <Sieve, designation 0.08 mm, opening 8e-05 m>, '0.09': <Sieve, designation 0.09 mm, opening 9e-05 m>, '0.1': <Sieve, designation 0.1 mm, opening 0.0001 m>, '0.106': <Sieve, designation 0.106 mm, opening 0.000106 m>, '0.112': <Sieve, designation 0.112 mm, opening 0.000112 m>, '0.125': <Sieve, designation 0.125 mm, opening 0.000125 m>, '0.14': <Sieve, designation 0.14 mm, opening 0.00014 m>, '0.15': <Sieve, designation 0.15 mm, opening 0.00015 m>, '0.16': <Sieve, designation 0.16 mm, opening 0.00016 m>, '0.18': <Sieve, designation 0.18 mm, opening 0.00018 m>, '0.2': <Sieve, designation 0.2 mm, opening 0.0002 m>, '0.212': <Sieve, designation 0.212 mm, opening 0.000212 m>, '0.224': <Sieve, designation 0.224 mm, opening 0.000224 m>, '0.25': <Sieve, designation 0.25 mm, opening 0.00025 m>, '0.28': <Sieve, designation 0.28 mm, opening 0.00028 m>, '0.3': <Sieve, designation 0.3 mm, opening 0.0003 m>, '0.315': <Sieve, designation 0.315 mm, opening 0.000315 m>, '0.355': <Sieve, designation 0.355 mm, opening 0.000355 m>, '0.4': <Sieve, designation 0.4 mm, opening 0.0004 m>, '0.425': <Sieve, designation 0.425 mm, opening 0.000425 m>, '0.45': <Sieve, designation 0.45 mm, opening 0.00045 m>, '0.5': <Sieve, designation 0.5 mm, opening 0.0005 m>, '0.56': <Sieve, designation 0.56 mm, opening 0.00056 m>, '0.6': <Sieve, designation 0.6 mm, opening 0.0006 m>, '0.63': <Sieve, designation 0.63 mm, opening 0.00063 m>, '0.71': <Sieve, designation 0.71 mm, opening 0.00071 m>, '0.8': <Sieve, designation 0.8 mm, opening 0.0008 m>, '0.85': <Sieve, designation 0.85 mm, opening 0.00085 m>, '0.9': <Sieve, designation 0.9 mm, opening 0.0009 m>, '1': <Sieve, designation 1 mm, opening 0.001 m>, '1.12': <Sieve, designation 1.12 mm, opening 0.00112 m>, '1.18': <Sieve, designation 1.18 mm, opening 0.00118 m>, '1.25': <Sieve, designation 1.25 mm, opening 0.00125 m>, '1.4': <Sieve, designation 1.4 mm, opening 0.0014 m>, '1.6': <Sieve, designation 1.6 mm, opening 0.0016 m>, '1.7': <Sieve, designation 1.7 mm, opening 0.0017 m>, '1.8': <Sieve, designation 1.8 mm, opening 0.0018 m>, '10': <Sieve, designation 10 mm, opening 0.01 m>, '100': <Sieve, designation 100 mm, opening 0.1 m>, '106': <Sieve, designation 106 mm, opening 0.106 m>, '11.2': <Sieve, designation 11.2 mm, opening 0.0112 m>, '112': <Sieve, designation 112 mm, opening 0.112 m>, '12.5': <Sieve, designation 12.5 mm, opening 0.0125 m>, '125': <Sieve, designation 125 mm, opening 0.125 m>, '13.2': <Sieve, designation 13.2 mm, opening 0.0132 m>, '14': <Sieve, designation 14 mm, opening 0.014 m>, '16': <Sieve, designation 16 mm, opening 0.016 m>, '18': <Sieve, designation 18 mm, opening 0.018 m>, '19': <Sieve, designation 19 mm, opening 0.019 m>, '2': <Sieve, designation 2 mm, opening 0.002 m>, '2.24': <Sieve, designation 2.24 mm, opening 0.00224 m>, '2.36': <Sieve, designation 2.36 mm, opening 0.00236 m>, '2.5': <Sieve, designation 2.5 mm, opening 0.0025 m>, '2.8': <Sieve, designation 2.8 mm, opening 0.0028 m>, '20': <Sieve, designation 20 mm, opening 0.02 m>, '22.4': <Sieve, designation 22.4 mm, opening 0.0224 m>, '25': <Sieve, designation 25 mm, opening 0.025 m>, '26.5': <Sieve, designation 26.5 mm, opening 0.0265 m>, '28': <Sieve, designation 28 mm, opening 0.028 m>, '3.15': <Sieve, designation 3.15 mm, opening 0.00315 m>, '3.35': <Sieve, designation 3.35 mm, opening 0.00335 m>, '3.55': <Sieve, designation 3.55 mm, opening 0.00355 m>, '31.5': <Sieve, designation 31.5 mm, opening 0.0315 m>, '35.5': <Sieve, designation 35.5 mm, opening 0.0355 m>, '37.5': <Sieve, designation 37.5 mm, opening 0.0375 m>, '4': <Sieve, designation 4 mm, opening 0.004 m>, '4.5': <Sieve, designation 4.5 mm, opening 0.0045 m>, '4.75': <Sieve, designation 4.75 mm, opening 0.00475 m>, '40': <Sieve, designation 40 mm, opening 0.04 m>, '45': <Sieve, designation 45 mm, opening 0.045 m>, '5': <Sieve, designation 5 mm, opening 0.005 m>, '5.6': <Sieve, designation 5.6 mm, opening 0.0056 m>, '50': <Sieve, designation 50 mm, opening 0.05 m>, '53': <Sieve, designation 53 mm, opening 0.053 m>, '56': <Sieve, designation 56 mm, opening 0.056 m>, '6.3': <Sieve, designation 6.3 mm, opening 0.0063 m>, '6.7': <Sieve, designation 6.7 mm, opening 0.0067 m>, '63': <Sieve, designation 63 mm, opening 0.063 m>, '7.1': <Sieve, designation 7.1 mm, opening 0.0071 m>, '71': <Sieve, designation 71 mm, opening 0.071 m>, '75': <Sieve, designation 75 mm, opening 0.075 m>, '8': <Sieve, designation 8 mm, opening 0.008 m>, '80': <Sieve, designation 80 mm, opening 0.08 m>, '9': <Sieve, designation 9 mm, opening 0.009 m>, '9.5': <Sieve, designation 9.5 mm, opening 0.0095 m>, '90': <Sieve, designation 90 mm, opening 0.09 m>}¶
Dictionary containing all of the individual
Sieve
objects, on the ISO 3310-1:2016 series, indexed by their size in mm as a string.References
- 1
ISO 3310-1:2016 - Test Sieves – Technical Requirements and Testing – Part 1: Test Sieves of Metal Wire Cloth.
- fluids.particle_size_distribution.ISO_3310_1_R20 = [<Sieve, designation 125 mm, opening 0.125 m>, <Sieve, designation 112 mm, opening 0.112 m>, <Sieve, designation 100 mm, opening 0.1 m>, <Sieve, designation 90 mm, opening 0.09 m>, <Sieve, designation 80 mm, opening 0.08 m>, <Sieve, designation 71 mm, opening 0.071 m>, <Sieve, designation 63 mm, opening 0.063 m>, <Sieve, designation 56 mm, opening 0.056 m>, <Sieve, designation 50 mm, opening 0.05 m>, <Sieve, designation 45 mm, opening 0.045 m>, <Sieve, designation 40 mm, opening 0.04 m>, <Sieve, designation 35.5 mm, opening 0.0355 m>, <Sieve, designation 31.5 mm, opening 0.0315 m>, <Sieve, designation 28 mm, opening 0.028 m>, <Sieve, designation 25 mm, opening 0.025 m>, <Sieve, designation 22.4 mm, opening 0.0224 m>, <Sieve, designation 20 mm, opening 0.02 m>, <Sieve, designation 18 mm, opening 0.018 m>, <Sieve, designation 16 mm, opening 0.016 m>, <Sieve, designation 14 mm, opening 0.014 m>, <Sieve, designation 12.5 mm, opening 0.0125 m>, <Sieve, designation 11.2 mm, opening 0.0112 m>, <Sieve, designation 10 mm, opening 0.01 m>, <Sieve, designation 9 mm, opening 0.009 m>, <Sieve, designation 8 mm, opening 0.008 m>, <Sieve, designation 7.1 mm, opening 0.0071 m>, <Sieve, designation 6.3 mm, opening 0.0063 m>, <Sieve, designation 5.6 mm, opening 0.0056 m>, <Sieve, designation 5 mm, opening 0.005 m>, <Sieve, designation 4.5 mm, opening 0.0045 m>, <Sieve, designation 4 mm, opening 0.004 m>, <Sieve, designation 3.55 mm, opening 0.00355 m>, <Sieve, designation 3.15 mm, opening 0.00315 m>, <Sieve, designation 2.8 mm, opening 0.0028 m>, <Sieve, designation 2.5 mm, opening 0.0025 m>, <Sieve, designation 2.24 mm, opening 0.00224 m>, <Sieve, designation 2 mm, opening 0.002 m>, <Sieve, designation 1.8 mm, opening 0.0018 m>, <Sieve, designation 1.6 mm, opening 0.0016 m>, <Sieve, designation 1.4 mm, opening 0.0014 m>, <Sieve, designation 1.25 mm, opening 0.00125 m>, <Sieve, designation 1.12 mm, opening 0.00112 m>, <Sieve, designation 1 mm, opening 0.001 m>, <Sieve, designation 0.9 mm, opening 0.0009 m>, <Sieve, designation 0.8 mm, opening 0.0008 m>, <Sieve, designation 0.71 mm, opening 0.00071 m>, <Sieve, designation 0.63 mm, opening 0.00063 m>, <Sieve, designation 0.56 mm, opening 0.00056 m>, <Sieve, designation 0.5 mm, opening 0.0005 m>, <Sieve, designation 0.45 mm, opening 0.00045 m>, <Sieve, designation 0.4 mm, opening 0.0004 m>, <Sieve, designation 0.355 mm, opening 0.000355 m>, <Sieve, designation 0.315 mm, opening 0.000315 m>, <Sieve, designation 0.28 mm, opening 0.00028 m>, <Sieve, designation 0.25 mm, opening 0.00025 m>, <Sieve, designation 0.224 mm, opening 0.000224 m>, <Sieve, designation 0.2 mm, opening 0.0002 m>, <Sieve, designation 0.18 mm, opening 0.00018 m>, <Sieve, designation 0.16 mm, opening 0.00016 m>, <Sieve, designation 0.14 mm, opening 0.00014 m>, <Sieve, designation 0.125 mm, opening 0.000125 m>, <Sieve, designation 0.112 mm, opening 0.000112 m>, <Sieve, designation 0.1 mm, opening 0.0001 m>, <Sieve, designation 0.09 mm, opening 9e-05 m>, <Sieve, designation 0.08 mm, opening 8e-05 m>, <Sieve, designation 0.071 mm, opening 7.1e-05 m>, <Sieve, designation 0.063 mm, opening 6.3e-05 m>, <Sieve, designation 0.056 mm, opening 5.6e-05 m>, <Sieve, designation 0.05 mm, opening 5e-05 m>, <Sieve, designation 0.045 mm, opening 4.5e-05 m>, <Sieve, designation 0.04 mm, opening 4e-05 m>, <Sieve, designation 0.036 mm, opening 3.6e-05 m>]¶
List containing all of the individual
Sieve
objects, on the ISO 3310-1:2016 R20 series only, ordered from largest openings to smallest.References
- 1
ISO 3310-1:2016 - Test Sieves – Technical Requirements and Testing – Part 1: Test Sieves of Metal Wire Cloth.
- fluids.particle_size_distribution.ISO_3310_1_R20_3 = [<Sieve, designation 125 mm, opening 0.125 m>, <Sieve, designation 90 mm, opening 0.09 m>, <Sieve, designation 63 mm, opening 0.063 m>, <Sieve, designation 45 mm, opening 0.045 m>, <Sieve, designation 31.5 mm, opening 0.0315 m>, <Sieve, designation 22.4 mm, opening 0.0224 m>, <Sieve, designation 16 mm, opening 0.016 m>, <Sieve, designation 11.2 mm, opening 0.0112 m>, <Sieve, designation 8 mm, opening 0.008 m>, <Sieve, designation 5.6 mm, opening 0.0056 m>, <Sieve, designation 4 mm, opening 0.004 m>, <Sieve, designation 2.8 mm, opening 0.0028 m>, <Sieve, designation 2 mm, opening 0.002 m>, <Sieve, designation 1.4 mm, opening 0.0014 m>, <Sieve, designation 1 mm, opening 0.001 m>, <Sieve, designation 0.71 mm, opening 0.00071 m>, <Sieve, designation 0.5 mm, opening 0.0005 m>, <Sieve, designation 0.355 mm, opening 0.000355 m>, <Sieve, designation 0.25 mm, opening 0.00025 m>, <Sieve, designation 0.18 mm, opening 0.00018 m>, <Sieve, designation 0.125 mm, opening 0.000125 m>, <Sieve, designation 0.09 mm, opening 9e-05 m>, <Sieve, designation 0.063 mm, opening 6.3e-05 m>, <Sieve, designation 0.045 mm, opening 4.5e-05 m>]¶
List containing all of the individual
Sieve
objects, on the ISO 3310-1:2016 R20/3 series only, ordered from largest openings to smallest.References
- 1
ISO 3310-1:2016 - Test Sieves – Technical Requirements and Testing – Part 1: Test Sieves of Metal Wire Cloth.
- fluids.particle_size_distribution.ISO_3310_1_R40_3 = [<Sieve, designation 125 mm, opening 0.125 m>, <Sieve, designation 106 mm, opening 0.106 m>, <Sieve, designation 90 mm, opening 0.09 m>, <Sieve, designation 75 mm, opening 0.075 m>, <Sieve, designation 63 mm, opening 0.063 m>, <Sieve, designation 53 mm, opening 0.053 m>, <Sieve, designation 45 mm, opening 0.045 m>, <Sieve, designation 37.5 mm, opening 0.0375 m>, <Sieve, designation 31.5 mm, opening 0.0315 m>, <Sieve, designation 26.5 mm, opening 0.0265 m>, <Sieve, designation 22.4 mm, opening 0.0224 m>, <Sieve, designation 19 mm, opening 0.019 m>, <Sieve, designation 16 mm, opening 0.016 m>, <Sieve, designation 13.2 mm, opening 0.0132 m>, <Sieve, designation 11.2 mm, opening 0.0112 m>, <Sieve, designation 9.5 mm, opening 0.0095 m>, <Sieve, designation 8 mm, opening 0.008 m>, <Sieve, designation 6.7 mm, opening 0.0067 m>, <Sieve, designation 5.6 mm, opening 0.0056 m>, <Sieve, designation 4.75 mm, opening 0.00475 m>, <Sieve, designation 4 mm, opening 0.004 m>, <Sieve, designation 3.35 mm, opening 0.00335 m>, <Sieve, designation 2.8 mm, opening 0.0028 m>, <Sieve, designation 2.36 mm, opening 0.00236 m>, <Sieve, designation 2 mm, opening 0.002 m>, <Sieve, designation 1.7 mm, opening 0.0017 m>, <Sieve, designation 1.4 mm, opening 0.0014 m>, <Sieve, designation 1.18 mm, opening 0.00118 m>, <Sieve, designation 1 mm, opening 0.001 m>, <Sieve, designation 0.85 mm, opening 0.00085 m>, <Sieve, designation 0.71 mm, opening 0.00071 m>, <Sieve, designation 0.6 mm, opening 0.0006 m>, <Sieve, designation 0.5 mm, opening 0.0005 m>, <Sieve, designation 0.425 mm, opening 0.000425 m>, <Sieve, designation 0.355 mm, opening 0.000355 m>, <Sieve, designation 0.3 mm, opening 0.0003 m>, <Sieve, designation 0.25 mm, opening 0.00025 m>, <Sieve, designation 0.212 mm, opening 0.000212 m>, <Sieve, designation 0.18 mm, opening 0.00018 m>, <Sieve, designation 0.15 mm, opening 0.00015 m>, <Sieve, designation 0.125 mm, opening 0.000125 m>, <Sieve, designation 0.106 mm, opening 0.000106 m>, <Sieve, designation 0.09 mm, opening 9e-05 m>, <Sieve, designation 0.075 mm, opening 7.5e-05 m>, <Sieve, designation 0.063 mm, opening 6.3e-05 m>, <Sieve, designation 0.053 mm, opening 5.3e-05 m>, <Sieve, designation 0.045 mm, opening 4.5e-05 m>, <Sieve, designation 0.038 mm, opening 3.8e-05 m>]¶
List containing all of the individual
Sieve
objects, on the ISO 3310-1:2016 R40/3 series only, ordered from largest openings to smallest.References
- 1
ISO 3310-1:2016 - Test Sieves – Technical Requirements and Testing – Part 1: Test Sieves of Metal Wire Cloth.
- fluids.particle_size_distribution.ISO_3310_1_R10 = [<Sieve, designation 0.036 mm, opening 3.6e-05 m>, <Sieve, designation 0.032 mm, opening 3.2e-05 m>, <Sieve, designation 0.025 mm, opening 2.5e-05 m>, <Sieve, designation 0.02 mm, opening 2e-05 m>]¶
List containing all of the individual
Sieve
objects, on the ISO 3310-1:2016 R10 series only, ordered from largest openings to smallest.References
- 1
ISO 3310-1:2016 - Test Sieves – Technical Requirements and Testing – Part 1: Test Sieves of Metal Wire Cloth.
Point Spacing¶
- fluids.particle_size_distribution.psd_spacing(d_min=None, d_max=None, pts=20, method='logarithmic')[source]¶
Create a particle spacing mesh in one of several ways for use in modeling discrete particle size distributions. The allowable meshes are ‘linear’, ‘logarithmic’, a geometric series specified by a Renard number such as ‘R10’, or the meshes available in one of several sieve standards.
- Parameters
- d_min
float
,optional
The minimum diameter at which the mesh starts, [m]
- d_max
float
,optional
The maximum diameter at which the mesh ends, [m]
- pts
int
,optional
The number of points to return for the mesh (note this is not respected by sieve meshes), [-]
- method
str
,optional
Either ‘linear’, ‘logarithmic’, a Renard number like ‘R10’ or ‘R5’ or ‘R2.5’, or one of the sieve standards ‘ISO 3310-1 R40/3’, ‘ISO 3310-1 R20’, ‘ISO 3310-1 R20/3’, ‘ISO 3310-1’, ‘ISO 3310-1 R10’, ‘ASTM E11’, [-]
- d_min
- Returns
Notes
Note that when specifying a Renard series, only one of d_min or d_max can be respected! Provide only one of those numbers.
Note that when specifying a sieve standard the number of points is not respected!
References
- 1
ASTM E11 - 17 - Standard Specification for Woven Wire Test Sieve Cloth and Test Sieves.
- 2
ISO 3310-1:2016 - Test Sieves – Technical Requirements and Testing – Part 1: Test Sieves of Metal Wire Cloth.
Examples
>>> psd_spacing(d_min=5e-5, d_max=5e-4, method='ISO 3310-1 R20/3') [6.3e-05, 9e-05, 0.000125, 0.00018, 0.00025, 0.000355, 0.0005]