# grainSize: Grain-Size Distribution Functions In geotech: Geotechnical Engineering

## Description

These functions compute diferent aspects related to grain-size distributions of soil.

## Usage

 ```1 2 3 4 5 6``` ```size.from.sieve(sieve, metric) grainSize.plot(sieve = NA, size = NA, percent, metric) percentComponents(sieve = NA, size = NA, percent, metric) Dsize(N, sieve = NA, size = NA, percent, metric) grainSize.coefs(percent, sieve = NA, size = NA, D10 = NA, D30 = NA, D60 = NA) ```

## Arguments

 `sieve` vector of sieve numbers according to ASTM D422 `size` vector of grain sizes (in or mm) `percent` vector of percent passing `metric` logical variable: TRUE for metric units (mm), FALSE for English units (in) `N` the percent corresponding to the desired D-size `D10` D-size corresponding to 10 percent passing `D30` D-size corresponding to 30 percent passing `D60` D-size corresponding to 60 percent passing

## Details

• Either sieve numbers (`sieve`) OR grain sizes (`size`) must be provided in all functions; however, in grainSize.coefs the user additionally has the option of specifying D10, D30, and D60.

• For sieves larger than the no. 4 sieve, the user should specify the sieve size in inches (e.g., 3/8, 3/4, 1, 1.5, 2, 3, etc.).

• The argument `percent` is required in all functions except size.from.sieve, and the argument `metric` is required in all functions except for grainSize.coefs and Dsize (although it is needed in Dsize if sieve numbers are provided).

• The percentComponents function assumes that the no. 4 and no. 200 sieves have been used.

## Value

• sieve.from.size calculates a set of grain sizes corresponding to a set of sieves (output is vector of grain sizes (in or mm)

• grainSize.plot creates a plot of the soil's grain-size distribution; no numerical values are output

• percentComponents is used to calculate the percent gravel, sand, and fines, and outputs a three-element list:

1. pg = Percent gravel

2. ps = percent sand

3. pf = percent fines

• Dsize outputs the grain size corresponding to a certain percent finer (N), given a grain-size distribution

• grainSize.coefs calculates the coefficients of uniformity and curvature, and outputs a two-element list:

1. Cu = Coefficient of uniformity (D60 / D10)

2. Cc = Coefficient of Curavture (D30^2 / (D10 * D60))

## Note

The Dsize function uses logarithmic interpolation to calculate the D-size from the provided grain-size distribution. Log-linear extrapolation is used for grain sizes beyond the range of the data, and a warning is provided.

## Author(s)

James Kaklamanos <[email protected]> and Kyle Elmy <[email protected]>

`USCS`, `AASHTO`, `Plasticity`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24``` ```## Example 1: Grain-size distribution ## (a) Define data sieve.example <- c(3/8, 4, 10, 20, 40, 140, 200) percent.example <- c(95.72, 90.23, 81.49, 66.36, 50.00, 8.51, 4.82) ## (b) Percent gravel, sand, and fines percentComponents(sieve = sieve.example, percent = percent.example, metric = TRUE) ## (c) Plot grain-size distribution grainSize.plot(sieve = sieve.example, percent = percent.example, metric = TRUE) ## (d) Calculate D50 Dsize(N = 50, sieve = sieve.example, percent = percent.example, metric = TRUE) ## (e) Coefficients of uniformity and curvature grainSize.coefs(sieve = sieve.example, percent = percent.example) ## Example 2: coefficients of uniformity and curvature grainSize.coefs(D60 = 0.10, D30 = 0.03, D10 = 0.002) ```