EnviroAutomate
← All validation

Sieve Analysis and PSD validation

Free sieve analysis and particle size distribution: gradation curve with optional hydrometer data, D10/D30/D60, Cu and Cc, and USCS soil classification to ASTM D2487.

Scenarios
11
Values agreeing
171
Values differing
0
Validated against
ASTM D2487 / D6913 (implemented from the published criteria)

Open Sieve Analysis and PSD

There is no industry software equivalent for this tool. The reference is ASTM D2487 and D6913, implemented independently in Python from the published classification and gradation criteria. Percent passing, the D-values, the coefficients of uniformity and curvature, the fraction split and the USCS group symbol are all compared. Fines classifying as CL-ML within the five to twelve per cent dual-symbol band are not compared: ASTM D2487 Table 1 does not enumerate that combination.

Scenarios

Clayey sand, plastic fines

Typical use

Input

Settings: readings = [{"sizeMm":9.5,"value":0},{"sizeMm":4.75,"value":20},{"sizeMm":2,"value":60},{"sizeMm":0.425,"value":300},{"sizeMm":0.15,"value":300},{"sizeMm":0.075,"value":120}], mode = massRetained, panMass = 200, liquidLimit = 38, plasticLimit = 18

Against ASTM D2487 / D6913 (implemented from the published criteria) (classification and gradation criteria; no vendor build)

ValueASTM D2487 / D6913 (implemented from the published criteria)EnviroAutomateDifferenceAgreement bandVerdict
passing.9.5000mm passing.9.5000mm1001000within 0.000001 relativeAgree
passing.4.7500mm passing.4.7500mm98980within 0.000001 relativeAgree
passing.2.0000mm passing.2.0000mm92920within 0.000001 relativeAgree
passing.0.4250mm passing.0.4250mm62620within 0.000001 relativeAgree
passing.0.1500mm passing.0.1500mm3231.9999999999999963.55e-15within 0.000001 relativeAgree
passing.0.0750mm passing.0.0750mm2019.9999999999999963.55e-15within 0.000001 relativeAgree
d30 d300.13363480772105090.13363480772105090within 0.000001 relativeAgree
d50 d500.280201116624511860.280201116624511860within 0.000001 relativeAgree
d60 d600.396493207825884760.396493207825884760within 0.000001 relativeAgree
cobblesPercent cobblesPercent000within 0.000001 relativeAgree
gravelPercent gravelPercent220within 0.000001 relativeAgree
sandPercent sandPercent78780within 0.000001 relativeAgree
finesPercent finesPercent2019.9999999999999963.55e-15within 0.000001 relativeAgree
plasticityIndex plasticityIndex20200within 0.000001 relativeAgree
uscsSymbol uscsSymbolSCSC-within 0.000001 relativeAgree

Fine-grained soil, low plasticity clay

Typical use

Input

Settings: readings = [{"sizeMm":4.75,"value":0},{"sizeMm":2,"value":10},{"sizeMm":0.425,"value":60},{"sizeMm":0.15,"value":80},{"sizeMm":0.075,"value":50}], mode = massRetained, panMass = 800, liquidLimit = 42, plasticLimit = 20

Against ASTM D2487 / D6913 (implemented from the published criteria) (classification and gradation criteria; no vendor build)

ValueASTM D2487 / D6913 (implemented from the published criteria)EnviroAutomateDifferenceAgreement bandVerdict
passing.4.7500mm passing.4.7500mm1001000within 0.000001 relativeAgree
passing.2.0000mm passing.2.0000mm99990within 0.000001 relativeAgree
passing.0.4250mm passing.0.4250mm93930within 0.000001 relativeAgree
passing.0.1500mm passing.0.1500mm85850within 0.000001 relativeAgree
passing.0.0750mm passing.0.0750mm80800within 0.000001 relativeAgree
cobblesPercent cobblesPercent000within 0.000001 relativeAgree
gravelPercent gravelPercent000within 0.000001 relativeAgree
sandPercent sandPercent20200within 0.000001 relativeAgree
finesPercent finesPercent80800within 0.000001 relativeAgree
plasticityIndex plasticityIndex22220within 0.000001 relativeAgree
uscsSymbol uscsSymbolCLCL-within 0.000001 relativeAgree

Poorly graded sand, clean

Typical use

Input

Settings: readings = [{"sizeMm":9.5,"value":0},{"sizeMm":4.75,"value":10},{"sizeMm":2,"value":40},{"sizeMm":0.85,"value":600},{"sizeMm":0.425,"value":280},{"sizeMm":0.15,"value":50},{"sizeMm":0.075,"value":15}], mode = massRetained, panMass = 5

Against ASTM D2487 / D6913 (implemented from the published criteria) (classification and gradation criteria; no vendor build)

ValueASTM D2487 / D6913 (implemented from the published criteria)EnviroAutomateDifferenceAgreement bandVerdict
passing.9.5000mm passing.9.5000mm1001000within 0.000001 relativeAgree
passing.4.7500mm passing.4.7500mm99990within 0.000001 relativeAgree
passing.2.0000mm passing.2.0000mm95950within 0.000001 relativeAgree
passing.0.8500mm passing.0.8500mm35350within 0.000001 relativeAgree
passing.0.4250mm passing.0.4250mm7.0000000000000016.9999999999999956.22e-15within 0.000001 relativeAgree
passing.0.1500mm passing.0.1500mm22.00000000000000181.78e-15within 0.000001 relativeAgree
passing.0.0750mm passing.0.0750mm0.50.50000000000000044.44e-16within 0.000001 relativeAgree
d10 d100.457764535951813770.45776453595181385.55e-17within 0.000001 relativeAgree
d30 d300.75104086713540460.75104086713540471.11e-16within 0.000001 relativeAgree
d50 d501.05274137796728141.05274137796728140within 0.000001 relativeAgree
d60 d601.21410674409147481.21410674409147480within 0.000001 relativeAgree
cu cu2.65225164629021572.65225164629021570within 0.000001 relativeAgree
cc cc1.01491138257179131.01491138257179130within 0.000001 relativeAgree
cobblesPercent cobblesPercent000within 0.000001 relativeAgree
gravelPercent gravelPercent110within 0.000001 relativeAgree
sandPercent sandPercent98.598.50within 0.000001 relativeAgree
finesPercent finesPercent0.50.50000000000000044.44e-16within 0.000001 relativeAgree
uscsSymbol uscsSymbolSPSP-within 0.000001 relativeAgree

Silty sand, fines above twelve percent

Typical use

Input

Settings: readings = [{"sizeMm":9.5,"value":0},{"sizeMm":4.75,"value":20},{"sizeMm":2,"value":60},{"sizeMm":0.425,"value":300},{"sizeMm":0.15,"value":300},{"sizeMm":0.075,"value":120}], mode = massRetained, panMass = 200, liquidLimit = 25, plasticLimit = 22

Against ASTM D2487 / D6913 (implemented from the published criteria) (classification and gradation criteria; no vendor build)

ValueASTM D2487 / D6913 (implemented from the published criteria)EnviroAutomateDifferenceAgreement bandVerdict
passing.9.5000mm passing.9.5000mm1001000within 0.000001 relativeAgree
passing.4.7500mm passing.4.7500mm98980within 0.000001 relativeAgree
passing.2.0000mm passing.2.0000mm92920within 0.000001 relativeAgree
passing.0.4250mm passing.0.4250mm62620within 0.000001 relativeAgree
passing.0.1500mm passing.0.1500mm3231.9999999999999963.55e-15within 0.000001 relativeAgree
passing.0.0750mm passing.0.0750mm2019.9999999999999963.55e-15within 0.000001 relativeAgree
d30 d300.13363480772105090.13363480772105090within 0.000001 relativeAgree
d50 d500.280201116624511860.280201116624511860within 0.000001 relativeAgree
d60 d600.396493207825884760.396493207825884760within 0.000001 relativeAgree
cobblesPercent cobblesPercent000within 0.000001 relativeAgree
gravelPercent gravelPercent220within 0.000001 relativeAgree
sandPercent sandPercent78780within 0.000001 relativeAgree
finesPercent finesPercent2019.9999999999999963.55e-15within 0.000001 relativeAgree
plasticityIndex plasticityIndex330within 0.000001 relativeAgree
uscsSymbol uscsSymbolSMSM-within 0.000001 relativeAgree

Well-graded gravel, clean

Typical use

Input

Settings: readings = [{"sizeMm":75,"value":0},{"sizeMm":19,"value":150},{"sizeMm":9.5,"value":200},{"sizeMm":4.75,"value":180},{"sizeMm":2,"value":150},{"sizeMm":0.425,"value":180},{"sizeMm":0.075,"value":120}], mode = massRetained, panMass = 20

Against ASTM D2487 / D6913 (implemented from the published criteria) (classification and gradation criteria; no vendor build)

ValueASTM D2487 / D6913 (implemented from the published criteria)EnviroAutomateDifferenceAgreement bandVerdict
passing.75.0000mm passing.75.0000mm1001000within 0.000001 relativeAgree
passing.19.0000mm passing.19.0000mm85850within 0.000001 relativeAgree
passing.9.5000mm passing.9.5000mm65650within 0.000001 relativeAgree
passing.4.7500mm passing.4.7500mm47470within 0.000001 relativeAgree
passing.2.0000mm passing.2.0000mm3231.9999999999999963.55e-15within 0.000001 relativeAgree
passing.0.4250mm passing.0.4250mm14.00000000000000214.0000000000000020within 0.000001 relativeAgree
passing.0.0750mm passing.0.0750mm22.00000000000000181.78e-15within 0.000001 relativeAgree
d10 d100.2383854298990780.2383854298990780within 0.000001 relativeAgree
d30 d301.68380618126528051.68380618126528161.11e-15within 0.000001 relativeAgree
d50 d505.3316947294695235.3316947294695230within 0.000001 relativeAgree
d60 d607.8361756461853747.8361756461853740within 0.000001 relativeAgree
cu cu32.8718732915131232.871873291513120within 0.000001 relativeAgree
cc cc1.51775030594693441.51775030594693662.22e-15within 0.000001 relativeAgree
cobblesPercent cobblesPercent000within 0.000001 relativeAgree
gravelPercent gravelPercent53530within 0.000001 relativeAgree
sandPercent sandPercent45450within 0.000001 relativeAgree
finesPercent finesPercent22.00000000000000181.78e-15within 0.000001 relativeAgree
uscsSymbol uscsSymbolGWGW-within 0.000001 relativeAgree

Dual-symbol band with fines on the silt-clay borderline

Boundary case

Input

Settings: readings = [{"sizeMm":9.5,"value":0},{"sizeMm":4.75,"value":50},{"sizeMm":2,"value":150},{"sizeMm":0.85,"value":250},{"sizeMm":0.425,"value":250},{"sizeMm":0.15,"value":220},{"sizeMm":0.075,"value":0}], mode = massRetained, panMass = 80, liquidLimit = 24, plasticLimit = 20

Against ASTM D2487 / D6913 (implemented from the published criteria) (classification and gradation criteria; no vendor build)

ValueASTM D2487 / D6913 (implemented from the published criteria)EnviroAutomateDifferenceAgreement bandVerdict
passing.9.5000mm passing.9.5000mm1001000within 0.000001 relativeAgree
passing.4.7500mm passing.4.7500mm95950within 0.000001 relativeAgree
passing.2.0000mm passing.2.0000mm80800within 0.000001 relativeAgree
passing.0.8500mm passing.0.8500mm55.0000000000000155.000000000000010within 0.000001 relativeAgree
passing.0.4250mm passing.0.4250mm3030.0000000000000043.55e-15within 0.000001 relativeAgree
passing.0.1500mm passing.0.1500mm87.99999999999999643.55e-15within 0.000001 relativeAgree
passing.0.0750mm passing.0.0750mm87.99999999999999643.55e-15within 0.000001 relativeAgree
d10 d100.164895661458111660.164895661458111660within 0.000001 relativeAgree
d30 d300.425000000000000040.4255.55e-17within 0.000001 relativeAgree
d50 d500.73996797880170540.73996797880170540within 0.000001 relativeAgree
d60 d601.00865150230010951.00865150230010950within 0.000001 relativeAgree
cu cu6.11690746367112056.11690746367112050within 0.000001 relativeAgree
cc cc1.08599416359164061.08599416359164014.44e-16within 0.000001 relativeAgree
cobblesPercent cobblesPercent000within 0.000001 relativeAgree
gravelPercent gravelPercent550within 0.000001 relativeAgree
sandPercent sandPercent87870within 0.000001 relativeAgree
finesPercent finesPercent87.99999999999999643.55e-15within 0.000001 relativeAgree
plasticityIndex plasticityIndex440within 0.000001 relativeAgree

Fines at eight percent, inside the dual-symbol band

Boundary case

Input

Settings: readings = [{"sizeMm":9.5,"value":0},{"sizeMm":4.75,"value":50},{"sizeMm":2,"value":150},{"sizeMm":0.85,"value":250},{"sizeMm":0.425,"value":250},{"sizeMm":0.15,"value":220},{"sizeMm":0.075,"value":0}], mode = massRetained, panMass = 80, liquidLimit = 24, plasticLimit = 22

Against ASTM D2487 / D6913 (implemented from the published criteria) (classification and gradation criteria; no vendor build)

ValueASTM D2487 / D6913 (implemented from the published criteria)EnviroAutomateDifferenceAgreement bandVerdict
passing.9.5000mm passing.9.5000mm1001000within 0.000001 relativeAgree
passing.4.7500mm passing.4.7500mm95950within 0.000001 relativeAgree
passing.2.0000mm passing.2.0000mm80800within 0.000001 relativeAgree
passing.0.8500mm passing.0.8500mm55.0000000000000155.000000000000010within 0.000001 relativeAgree
passing.0.4250mm passing.0.4250mm3030.0000000000000043.55e-15within 0.000001 relativeAgree
passing.0.1500mm passing.0.1500mm87.99999999999999643.55e-15within 0.000001 relativeAgree
passing.0.0750mm passing.0.0750mm87.99999999999999643.55e-15within 0.000001 relativeAgree
d10 d100.164895661458111660.164895661458111660within 0.000001 relativeAgree
d30 d300.425000000000000040.4255.55e-17within 0.000001 relativeAgree
d50 d500.73996797880170540.73996797880170540within 0.000001 relativeAgree
d60 d601.00865150230010951.00865150230010950within 0.000001 relativeAgree
cu cu6.11690746367112056.11690746367112050within 0.000001 relativeAgree
cc cc1.08599416359164061.08599416359164014.44e-16within 0.000001 relativeAgree
cobblesPercent cobblesPercent000within 0.000001 relativeAgree
gravelPercent gravelPercent550within 0.000001 relativeAgree
sandPercent sandPercent87870within 0.000001 relativeAgree
finesPercent finesPercent87.99999999999999643.55e-15within 0.000001 relativeAgree
plasticityIndex plasticityIndex220within 0.000001 relativeAgree
uscsSymbol uscsSymbolSW-SMSW-SM-within 0.000001 relativeAgree

Fines at exactly five percent

Boundary case

Input

Settings: readings = [{"sizeMm":9.5,"value":0},{"sizeMm":4.75,"value":50},{"sizeMm":2,"value":200},{"sizeMm":0.85,"value":300},{"sizeMm":0.425,"value":250},{"sizeMm":0.15,"value":150},{"sizeMm":0.075,"value":0}], mode = massRetained, panMass = 50, liquidLimit = 24, plasticLimit = 22

Against ASTM D2487 / D6913 (implemented from the published criteria) (classification and gradation criteria; no vendor build)

ValueASTM D2487 / D6913 (implemented from the published criteria)EnviroAutomateDifferenceAgreement bandVerdict
passing.9.5000mm passing.9.5000mm1001000within 0.000001 relativeAgree
passing.4.7500mm passing.4.7500mm95950within 0.000001 relativeAgree
passing.2.0000mm passing.2.0000mm75750within 0.000001 relativeAgree
passing.0.8500mm passing.0.8500mm4544.999999999999997.11e-15within 0.000001 relativeAgree
passing.0.4250mm passing.0.4250mm2019.9999999999999963.55e-15within 0.000001 relativeAgree
passing.0.1500mm passing.0.1500mm55.0000000000000044.44e-15within 0.000001 relativeAgree
passing.0.0750mm passing.0.0750mm55.0000000000000044.44e-15within 0.000001 relativeAgree
d10 d100.212254618719388670.212254618719388670within 0.000001 relativeAgree
d30 d300.56079086207848010.56079086207848021.11e-16within 0.000001 relativeAgree
d50 d500.98028894282696970.98028894282696992.22e-16within 0.000001 relativeAgree
d60 d601.30384048104052971.30384048104052970within 0.000001 relativeAgree
cu cu6.1428132349113816.1428132349113810within 0.000001 relativeAgree
cc cc1.13637127339843551.13637127339843572.22e-16within 0.000001 relativeAgree
cobblesPercent cobblesPercent000within 0.000001 relativeAgree
gravelPercent gravelPercent550within 0.000001 relativeAgree
sandPercent sandPercent90900within 0.000001 relativeAgree
finesPercent finesPercent55.0000000000000044.44e-15within 0.000001 relativeAgree
plasticityIndex plasticityIndex220within 0.000001 relativeAgree
uscsSymbol uscsSymbolSW-SMSW-SM-within 0.000001 relativeAgree

Fines at exactly twelve percent

Boundary case

Input

Settings: readings = [{"sizeMm":9.5,"value":0},{"sizeMm":4.75,"value":50},{"sizeMm":2,"value":180},{"sizeMm":0.85,"value":280},{"sizeMm":0.425,"value":240},{"sizeMm":0.15,"value":130},{"sizeMm":0.075,"value":0}], mode = massRetained, panMass = 120, liquidLimit = 24, plasticLimit = 22

Against ASTM D2487 / D6913 (implemented from the published criteria) (classification and gradation criteria; no vendor build)

ValueASTM D2487 / D6913 (implemented from the published criteria)EnviroAutomateDifferenceAgreement bandVerdict
passing.9.5000mm passing.9.5000mm1001000within 0.000001 relativeAgree
passing.4.7500mm passing.4.7500mm95950within 0.000001 relativeAgree
passing.2.0000mm passing.2.0000mm77770within 0.000001 relativeAgree
passing.0.8500mm passing.0.8500mm49490within 0.000001 relativeAgree
passing.0.4250mm passing.0.4250mm25250within 0.000001 relativeAgree
passing.0.1500mm passing.0.1500mm12120within 0.000001 relativeAgree
passing.0.0750mm passing.0.0750mm12120within 0.000001 relativeAgree
d30 d300.49102489617071610.49102489617071610within 0.000001 relativeAgree
d50 d500.87637655283960190.87637655283960190within 0.000001 relativeAgree
d60 d601.18962200491918811.18962200491918810within 0.000001 relativeAgree
cobblesPercent cobblesPercent000within 0.000001 relativeAgree
gravelPercent gravelPercent550within 0.000001 relativeAgree
sandPercent sandPercent83830within 0.000001 relativeAgree
finesPercent finesPercent12120within 0.000001 relativeAgree
plasticityIndex plasticityIndex220within 0.000001 relativeAgree
uscsSymbol uscsSymbolSP-SMSP-SM-within 0.000001 relativeAgree

Fines sitting on the A-line

Boundary case

Input

Settings: readings = [{"sizeMm":4.75,"value":0},{"sizeMm":2,"value":10},{"sizeMm":0.425,"value":60},{"sizeMm":0.15,"value":80},{"sizeMm":0.075,"value":50}], mode = massRetained, panMass = 800, liquidLimit = 40, plasticLimit = 25.4

Against ASTM D2487 / D6913 (implemented from the published criteria) (classification and gradation criteria; no vendor build)

ValueASTM D2487 / D6913 (implemented from the published criteria)EnviroAutomateDifferenceAgreement bandVerdict
passing.4.7500mm passing.4.7500mm1001000within 0.000001 relativeAgree
passing.2.0000mm passing.2.0000mm99990within 0.000001 relativeAgree
passing.0.4250mm passing.0.4250mm93930within 0.000001 relativeAgree
passing.0.1500mm passing.0.1500mm85850within 0.000001 relativeAgree
passing.0.0750mm passing.0.0750mm80800within 0.000001 relativeAgree
cobblesPercent cobblesPercent000within 0.000001 relativeAgree
gravelPercent gravelPercent000within 0.000001 relativeAgree
sandPercent sandPercent20200within 0.000001 relativeAgree
finesPercent finesPercent80800within 0.000001 relativeAgree
plasticityIndex plasticityIndex14.60000000000000114.6000000000000010within 0.000001 relativeAgree
uscsSymbol uscsSymbolCLCL-within 0.000001 relativeAgree

Plasticity index between four and seven

Boundary case

Input

Settings: readings = [{"sizeMm":4.75,"value":0},{"sizeMm":2,"value":10},{"sizeMm":0.425,"value":60},{"sizeMm":0.15,"value":80},{"sizeMm":0.075,"value":50}], mode = massRetained, panMass = 800, liquidLimit = 26, plasticLimit = 21

Against ASTM D2487 / D6913 (implemented from the published criteria) (classification and gradation criteria; no vendor build)

ValueASTM D2487 / D6913 (implemented from the published criteria)EnviroAutomateDifferenceAgreement bandVerdict
passing.4.7500mm passing.4.7500mm1001000within 0.000001 relativeAgree
passing.2.0000mm passing.2.0000mm99990within 0.000001 relativeAgree
passing.0.4250mm passing.0.4250mm93930within 0.000001 relativeAgree
passing.0.1500mm passing.0.1500mm85850within 0.000001 relativeAgree
passing.0.0750mm passing.0.0750mm80800within 0.000001 relativeAgree
cobblesPercent cobblesPercent000within 0.000001 relativeAgree
gravelPercent gravelPercent000within 0.000001 relativeAgree
sandPercent sandPercent20200within 0.000001 relativeAgree
finesPercent finesPercent80800within 0.000001 relativeAgree
plasticityIndex plasticityIndex550within 0.000001 relativeAgree
uscsSymbol uscsSymbolCL-MLCL-ML-within 0.000001 relativeAgree

Evidence generated 2026-08-26 from a full comparison run against the versions named above.