Skip to contents

Draws NS synthetic columns with sampleSoilLayers(), evaluates each with evaluateSoilLayers() and characterizes it with characterizeProfile(). Every realization is kept with its layers, so the profile quantities stay paired: the Go, mo, VSo, VS30 and TrRayleigh of one row belong to the same column. summarizeProfiles() reduces this population to marginal statistics; propagateSitePeriod() and propagateBeamPeriod() solve the fundamental periods of the soil profile and truncated shear beam on each row before any reduction.

Usage

simulateSoilProfiles(Hs, USCS, NS, h, water, POP, Vref, m1 = HardinExponent)

Arguments

Hs

One positive height in metres.

USCS

Character vector of USCS codes forming the material pool.

NS

Number of realizations, a positive integer.

h

One positive layer thickness in metres.

water

Water-table height as a fraction of Hs.

POP

Preconsolidation pressure in kPa.

Vref

One positive reference velocity in m/s, see estimateVS30().

m1

Nodes of the plasticity exponent, see evaluateSoilLayers(), whose published table is also the default here.

Value

A data.table with one row per realization: realization, Hs, Hw (water-table height, m), POP, Vref, the columns of characterizeProfile() and layers, a list column holding the evaluated layer table of the row. The rows are the population generated by the pool under the caller's random stream.

Examples

set.seed(20260915)
simulateSoilProfiles(Hs = 10, USCS = c("ML", "MH"), NS = 3, h = 1,
                     water = 0, POP = 100, Vref = 760)
#>    realization    Hs    Hw   POP  Vref    NL       Go        mo      VSo
#>          <int> <num> <num> <num> <num> <int>    <num>     <num>    <num>
#> 1:           1    10     0   100   760    10 59.62915 0.2980117 178.0648
#> 2:           2    10     0   100   760    10 76.30413 0.5459589 195.3620
#> 3:           3    10     0   100   760    10 69.44542 0.5433113 186.2848
#>        VS30    SID TrRayleigh Gravels Sands Fines Clays Silts Organic   USCS
#>       <num> <char>      <num>   <num> <num> <num> <num> <num>   <num> <char>
#> 1: 322.7362     CD  0.2411996       0     0   100     0   100       0  MH.ML
#> 2: 317.2137     CD  0.2354715       0     0   100     0   100       0  MH.ML
#> 3: 306.6465     CD  0.2414145       0     0   100     0   100       0  MH.ML
#>     fitSigma fitLayers              layers
#>        <num>     <int>              <list>
#> 1: 0.3309554        10 <data.table[10x19]>
#> 2: 0.4070521        10 <data.table[10x19]>
#> 3: 0.3098340        10 <data.table[10x19]>