Skip to contents

Quantiles and mean of the spectral acceleration at a site of velocity VS30, from a rock spectrum given at each oscillator period by its mean and its quantiles, integrating the joint rock demand of PGA and the ordinate and the site factor of evaluateSiteFactor() without random numbers. The site quantiles are reported at the probability levels of the rock spectrum. refineSiteSpectrum() chooses the order; simulateSiteSpectrum() samples the same model; a rock spectrum given only by its means is the conditional case of evaluateSiteSa().

Usage

integrateSiteSpectrum(spectrum, VS30, Vref, model, order)

Arguments

spectrum

A table with columns Tn (s), p ("mean" or a probability label) and Sa (g): exactly one row at Tn == 0 and p == "mean", and at PGA and every period at least three unique, positive, non-decreasing quantiles. Periods without a single mean row are skipped.

VS30

One target velocity in m/s.

Vref

One reference velocity in m/s; 760 or 3000 unless it equals VS30.

model

Site factor model of evaluateSiteFactor(), "ST20" or "ST17".

order

One integer, at least 4: Gauss-Legendre nodes per latent dimension, \(n^2\) joint nodes per period.

Value

A data.table ordered by Tn and p with Tn, p (the labels of the rock spectrum), Sa (the rock ordinate at that level, g) and SaF (the site ordinate at the same level, g), unrounded. Quantile and mean rows are marginal statistics at each period over the population of the rock spectrum and the site-factor residual; the integration error of order is not reported (see refineSiteSpectrum()). The random number stream is not used.

Mathematics

At PGA and at each period the rock quantile function \(Q(u) = \ln S_a\) is the Hyman monotone spline through the tabulated knots \((p_k, \ln S_{a,k})\), continued below the first and above the last knot by the adjacent secant slopes (floored at zero) and clamped to \(u \in [0, 1]\). The Gauss-Legendre rule of order nodes on \((0, 1)\) gives \(u_i\) and \(w_i\) (Golub-Welsch); with \(z_i = \Phi^{-1}(u_i)\) and \(\rho = \rho_{BJ}(T_n, 0)\) of correlateResiduals(), the joint node \((i, j)\) carries $$\ln PGA_i = Q_0(u_i) + c_0, \quad \ln S_{a,ij} = Q_n(\Phi(\rho z_i + \sqrt{1 - \rho^2} z_j)) + c_n, \quad W_{ij} = w_i w_j,$$ a Gaussian copula between PGA and the ordinate, where \(c_0\) and \(c_n\) re-centre each rock marginal on its tabulated mean (\(\sum_i w_i PGA_i = \overline{PGA}\) and \(\sum_{ij} W_{ij} S_{a,ij} = \bar S_a\)). Each joint node is one lognormal component of the site ordinate, \(\mu_{ij} = \ln S_{a,ij} + \mu_F(PGA_i)\) and \(\sigma_{ij} = \max(\sigma_F(PGA_i), 10^{-9})\), the site residual being integrated analytically and taken independent of the rock residual given PGA. The site quantile at a tabulated probability \(p\) solves \(\sum W_{ij} \Phi((x - \mu_{ij})/\sigma_{ij}) = p\) (root to \(10^{-10}\) on \([\min(\mu - 9\sigma), \max(\mu + 9\sigma)]\)) and the site mean is \(\sum W_{ij} e^{\mu_{ij} + \sigma_{ij}^2/2}\). When VS30 equals Vref the site spectrum is the rock spectrum. Each period is integrated with its own copula with PGA; no dependence between periods is implied.

Examples

P <- c("0.05", "0.10", "0.16", "0.50", "0.84", "0.90", "0.95", "mean")
Factor <- c(0.45, 0.60, 0.72, 0.95, 1.30, 1.48, 1.78, 1.00)
Spectrum <- data.table::data.table(Tn = rep(c(0, 0.2, 1), each = 8), p = rep(P, 3),
                                   Sa = rep(c(0.30, 0.45, 0.24), each = 8) * rep(Factor, 3))
integrateSiteSpectrum(Spectrum, VS30 = 270, Vref = 760, model = "ST20", order = 32)
#>        Tn      p     Sa       SaF
#>     <num> <char>  <num>     <num>
#>  1:   0.0   0.05 0.1350 0.1281531
#>  2:   0.0   0.10 0.1800 0.1546421
#>  3:   0.0   0.16 0.2160 0.1781506
#>  4:   0.0   0.50 0.2850 0.2786114
#>  5:   0.0   0.84 0.3900 0.4290290
#>  6:   0.0   0.90 0.4440 0.4878312
#>  7:   0.0   0.95 0.5340 0.5758031
#>  8:   0.0   mean 0.3000 0.3058780
#>  9:   0.2   0.05 0.2025 0.2486906
#> 10:   0.2   0.10 0.2700 0.2989076
#> 11:   0.2   0.16 0.3240 0.3415853
#> 12:   0.2   0.50 0.4275 0.5062826
#> 13:   0.2   0.84 0.5850 0.7354563
#> 14:   0.2   0.90 0.6660 0.8232421
#> 15:   0.2   0.95 0.8010 0.9524287
#> 16:   0.2   mean 0.4500 0.5413845
#> 17:   1.0   0.05 0.1080 0.2121198
#> 18:   1.0   0.10 0.1440 0.2639203
#> 19:   1.0   0.16 0.1728 0.3076237
#> 20:   1.0   0.50 0.2280 0.4651391
#> 21:   1.0   0.84 0.3120 0.6918828
#> 22:   1.0   0.90 0.3552 0.7854078
#> 23:   1.0   0.95 0.4272 0.9252580
#> 24:   1.0   mean 0.2400 0.5030748
#>        Tn      p     Sa       SaF
#>     <num> <char>  <num>     <num>