Skip to contents

Discretizes a column of height Hs into layers of thickness h and draws the index properties of each layer from the ranges tabulated by USCS class. This is the stochastic step of the synthetic route; the physics of the sampled layers is evaluated afterwards by evaluateSoilLayers().

Usage

sampleSoilLayers(Hs, USCS, h)

Arguments

Hs

One positive height of the column in metres.

USCS

Character vector of USCS codes forming the material pool; each layer draws its class from this vector.

h

One positive layer thickness in metres.

Value

A data.table with one row per layer, from the surface down: layer, USCS, hs (thickness, m), zo, zi, zm (top, bottom and midpoint depth, m), emin, eo, emax (void ratios), gsat (saturated unit weight, kN/m3), LL and IP (percent; NA for coarse classes, LL also NA for peat, IP 0 where the A line is null). Every value is one realization, not a statistic.

Mathematics

The column has \(N_L = \lceil H_s / h \rceil\) layers of thickness h, so its depth \(N_L h\) can exceed Hs when Hs is not a multiple of h; layer k spans \([(k-1)h, kh]\) with midpoint \(z_m\). The class of every layer is drawn uniformly, with replacement, from USCS. For a layer of class c, with the intervals of VoidRatiosUSCS and UnitWeightRanges, $$e_{min} \sim U(e_{min}^{lo}, e_{min}^{hi}),\quad e_{max} \sim U(e_{max}^{lo}, e_{max}^{hi}),\quad e_o \sim U(e_{min}, e_{max}),\quad \gamma_{sat} \sim U(\gamma_{sat}^{lo}, \gamma_{sat}^{hi}).$$ Fine soils also draw their Atterberg limits: the liquid limit \(LL \sim U(50, 100)\) for CH, MH and OH and \(LL \sim U(8, 50)\) for CL, ML and OL; peat (PT) draws no liquid limit. With the Casagrande lines \(U = 0.9 (LL - 8)\) and \(A = 0.73 (LL - 20)\) for \(LL \ge 20\) (else \(A = 0\)), the plasticity index is \(IP \sim U(A, U)\) for clays and \(IP \sim U(0, A)\) for silts and organic soils; when the A line is null (peat, or a liquid limit below 20) that draw is the degenerate \(U(0, 0)\), so IP is 0 and the random stream is not consumed, as in newmark 1.7.1.

Random stream

The draws consume the caller's random stream in the order class vector, then for each layer in depth order \(e_{min}\), \(e_{max}\), \(e_o\), \(\gamma_{sat}\), and for fine soils LL then IP. This is the order of the newmark 1.7.1 generator, so a seeded stream reproduces its columns.

Examples

set.seed(1)
sampleSoilLayers(Hs = 5, USCS = c("ML", "MH"), h = 1)
#>    layer   USCS    hs    zo    zi    zm      emin        eo     emax     gsat
#>    <int> <char> <num> <num> <num> <num>     <num>     <num>    <num>    <num>
#> 1:     1     ML     1     0     1   0.5 0.6347585 1.0670369 1.288935 19.51646
#> 2:     2     MH     1     1     2   1.5 0.5808962 1.0426242 1.252967 18.53641
#> 3:     3     ML     1     2     3   2.5 0.6076428 0.8701477 1.298381 20.10978
#> 4:     4     ML     1     3     4   3.5 0.5977511 0.7386725 1.125111 18.54446
#> 5:     5     MH     1     4     5   4.5 0.6073582 0.8978628 1.460907 18.92832
#>           LL        IP
#>        <num>     <num>
#> 1: 10.595023  0.000000
#> 2: 88.492071 24.884570
#> 3: 47.257620  4.221225
#> 4:  8.562394  0.000000
#> 5: 79.978291 21.609288