Displacement realizations of the models of a scenario
evaluateDisplacements.RdEvaluates, for every requested displacement model, yield acceleration and realization of a scenario, the Newmark displacement of that realization. One standard normal deviate per realization is shared by every model and every yield acceleration, so each realization traces one coherent displacement curve \(D_{n,s}(k_y)\) per model and the models stay paired realization by realization.
Arguments
- intensities
Paired realizations of one scenario with columns
realization,PGA,Sa13,Sa15,PGVandAI, assampleIntensities()returns;realizationidentifies each realization and must be non-missing and unique.- eps
Standard normal deviates of the displacement models, one per row of
intensities, finite.- ky
Yield accelerations in g, finite and positive.
- Ts
One initial fundamental period of the sliding mass in seconds, the one the intensities were sampled for.
- Mw
One moment magnitude of the scenario, read by the flexible models.
- models
Distinct model identifiers among
AM88,JB07,SR08,BT07,BM17andBM19.- NFC, pulse
Near-fault component and pulse declaration of the
BM19model, seeevaluateFlexibleDisplacement(); read only whenmodelsincludesBM19.
Value
A data.table with IDn, ky (g), realization and Dn (cm), one row per
model, yield acceleration and realization, ordered by the order of
models, then ky, then the rows of intensities. Each Dn is one
realization, not a statistic: the population is the realizations of
the scenario, identified by the caller's realization and paired across models
and yield accelerations, conditional on a nonzero displacement for the
flexible models; summarizeDisplacements() and summarizeEnsemble()
reduce it to quantiles and means.
Mathematics
$$D_{n,s}(k_y) = \exp\left(\mu_{\ln D}(k_y, IM_s) + \sigma_{\ln D}(k_y, IM_s)\, \varepsilon_s\right)$$
in cm, where \(IM_s\) are the intensity measures of realization
\(s\) (sampleIntensities()), \(\varepsilon_s\) its deviate, and
\(\mu_{\ln D}\), \(\sigma_{\ln D}\) the conditional lognormal
parameters of each model: evaluateRigidDisplacement() for AM88
(PGA), JB07 and SR08 (PGA, \(I_a\)), and
evaluateFlexibleDisplacement() for BT07 and BM17
(\(S_a(1.5 T_s)\)) and BM19 (\(S_a(1.3 T_s)\), PGV).
The calculation is deterministic; the caller supplies the deviates.
For BT07, BM17 and BM19 these are the parameters of the nonzero
branch of the published models (evaluateFlexibleDisplacement()): their
probability of zero or negligible displacement is omitted, so every
realization of those models is a positive displacement drawn conditional
on a nonzero displacement.
Examples
Sigma <- c(0.2, 0.45, 0.75)
Spectrum <- data.frame(Tn = c(0, 0.4, 1), k = "oq", muLn = log(c(0.8, 0.55, 0.42)) - Sigma^2 / 2,
sigmaLn = Sigma, w = 1)
set.seed(46)
Intensities <- sampleIntensities(Spectrum, Ts = 0.4, NS = 5, zTrunc = NA)
evaluateDisplacements(Intensities, eps = stats::rnorm(5), ky = c(0.05, 0.1), Ts = 0.4, Mw = 7,
models = c("AM88", "BM19"), NFC = "D100", pulse = FALSE)
#> IDn ky realization Dn
#> <char> <num> <int> <num>
#> 1: AM88 0.05 1 53.494255
#> 2: AM88 0.05 2 187.033698
#> 3: AM88 0.05 3 249.301880
#> 4: AM88 0.05 4 127.878050
#> 5: AM88 0.05 5 104.112031
#> 6: AM88 0.10 1 19.965571
#> 7: AM88 0.10 2 76.444315
#> 8: AM88 0.10 3 101.172150
#> 9: AM88 0.10 4 51.860659
#> 10: AM88 0.10 5 36.675576
#> 11: BM19 0.05 1 4.272949
#> 12: BM19 0.05 2 35.564618
#> 13: BM19 0.05 3 95.294735
#> 14: BM19 0.05 4 58.934537
#> 15: BM19 0.05 5 6.852124
#> 16: BM19 0.10 1 1.330683
#> 17: BM19 0.10 2 13.344128
#> 18: BM19 0.10 3 39.037404
#> 19: BM19 0.10 4 24.881919
#> 20: BM19 0.10 5 2.006158
#> IDn ky realization Dn
#> <char> <num> <int> <num>