pygmm.slope_displacement package¶
Submodules¶
pygmm.slope_displacement.bray_et_al_2017 module¶
Bray et al. (2017) displacement model for subduction-zone events.
- pygmm.slope_displacement.bray_et_al_2017.calc_disp_bea17(yield_coef, period_slide, psa_dts, mag, **kwds)[source]¶
Bray et al. (2017) median non-zero displacement for subduction events.
- Parameters:
yield_coef (float) – Slope yield coefficient [g].
period_slide (float) – Fundamental period of the sliding mass, \(T_s\) [s].
psa_dts (float) – 5%-damped spectral acceleration at the degraded period, \(1.5 T_s\) [g].
mag (float) – Moment magnitude.
stats (bool, default False) – If True, return
(ln_mean, ln_std)instead of the median.
- Returns:
Median displacement [cm], or
(ln_mean, ln_std)if stats is True.- Return type:
- pygmm.slope_displacement.bray_et_al_2017.calc_prob_disp_bea17(yield_coef, period_slide, psa_dts, **kwds)[source]¶
Bray et al. (2017) probability of non-zero displacement.
Parameters are as for
calc_disp_bea17().
pygmm.slope_displacement.bray_travasarou_2007 module¶
Bray and Travasarou (2007) displacement model for shallow crustal events.
- pygmm.slope_displacement.bray_travasarou_2007.calc_disp_bt07(yield_coef, period_slide, psa_dts, **kwds)[source]¶
Bray and Travasarou (2007) median non-zero displacement.
- Parameters:
yield_coef (float) – Slope yield coefficient [g].
period_slide (float) – Fundamental period of the sliding mass, \(T_s\) [s].
psa_dts (float) – 5%-damped spectral acceleration at the degraded period, \(1.5 T_s\) [g].
stats (bool, default False) – If True, return
(ln_mean, ln_std)instead of the median.
- Returns:
Median displacement [cm], or
(ln_mean, ln_std)if stats is True.- Return type:
- pygmm.slope_displacement.bray_travasarou_2007.calc_prob_disp_bt07(yield_coef, period_slide, psa_dts, **kwds)[source]¶
Bray and Travasarou (2007) probability of non-zero displacement.
Parameters are as for
calc_disp_bt07().
pygmm.slope_displacement.cho_rathje_2020 module¶
Cho and Rathje (2020) sliding-mass displacement model.
- pygmm.slope_displacement.cho_rathje_2020.calc_disp_cr20(yield_coef, period_slide, pga=None, mag=None, pgv=None, **kwds)[source]¶
Calculate the displacement predicted by Cho and Rathje (2020).
Two models are provided, selected by the inputs:
PGV model: provide pgv only
PGA and magnitude model: provide pga and mag
The standard deviation is only provided for the PGV model; it is NaN for the PGA model.
- Parameters:
yield_coef (float) – Yield coefficient of the slope [g].
period_slide (float) – Period of the sliding mass [s].
pga (float, optional) – Peak ground acceleration [g].
mag (float, optional) – Moment magnitude.
pgv (float, optional) – Peak ground velocity [cm/s].
stats (bool, default False) – If True, return
(ln_mean, ln_std)instead of the median.
- Returns:
Median displacement [cm], or
(ln_mean, ln_std)if stats is True.- Return type:
pygmm.slope_displacement.cho_rathje_2021 module¶
Cho and Rathje (2021) neural-network sliding-mass displacement model.
pygmm.slope_displacement.cho_rathje_2022 module¶
Cho and Rathje (2022) sliding-mass displacement model.
- pygmm.slope_displacement.cho_rathje_2022.calc_disp_cr22(yield_coef, period_slide, height_ratio, pgv=None, pga=None, mag=None, **kwds)[source]¶
Displacement model from Cho and Rathje (2022).
The PGV model is used unless pga (and mag) are provided.
- Parameters:
yield_coef (float) – Yield coefficient of the slope [g].
period_slide (float) – Period of the sliding mass [s].
height_ratio (float) – Height ratio of the sliding mass.
pgv (float, optional) – Peak ground velocity [cm/s].
pga (float, optional) – Peak ground acceleration [g].
mag (float, optional) – Moment magnitude. Required with pga.
stats (bool, default False) – If True, return
(ln_mean, ln_std)instead of the median.
- Returns:
Median displacement [cm], or
(ln_mean, ln_std)if stats is True.- Return type:
pygmm.slope_displacement.hale_abrahamson_2019 module¶
Hale and Abrahamson (2019) flexible sliding-mass displacement of earth dams.
The model is described in the dissertation of Hale [2019].
Requires pyrotd (pip install pygmm[slope]).
- class pygmm.slope_displacement.hale_abrahamson_2019.HaleTransferFunction(freqs, tf, damping, period_ratio, freq_first, freq_nat_eff)[source]¶
Bases:
objectTransfer function of
HaleAbrahamson19and its parameters.- Variables:
freqs (np.ndarray) – Frequencies [Hz].
tf (np.ndarray) – Complex transfer function from the input motion to the average acceleration of the sliding mass.
damping (float) – Damping ratio of the dam (Eq. 4.9).
period_ratio (float) – Ratio of the first-mode period to the small-strain period (Eq. 4.4).
freq_first (float) – First-mode frequency of the dam [Hz], shortened by nonlinearity.
freq_nat_eff (float) – Natural frequency of the undamped system [Hz] (Eq. 4.2).
- Parameters:
- class pygmm.slope_displacement.hale_abrahamson_2019.HaleAbrahamson19(height, shear_vel=None, freq_nat=None, nl_model='darendeli')[source]¶
Bases:
objectHale and Abrahamson (2019) displacement of a flexible sliding mass.
The model is described in Hale [2019].
The input motion is filtered by a nonlinear transfer function of the dam before a rigid sliding-block analysis is performed.
The model works in feet; use
from_metric()for meters. The transfer function to the average acceleration of the sliding mass istransfer_function().Provide exactly one of shear_vel and freq_nat; the other is computed from \(f_n = V_S / (3 H)\). This is the empirical relation of the model; it differs from the \(V_S / (2.61 H)\) of a homogeneous shear wedge on a rigid base, see
pystrata.dam.analytical.wedge_natural_freqs.- Parameters:
- C = np.record((0.76, 0.35, -0.00049, 0.00329, -0.03558, 0.35297, -0.89726, 1.25375, 0.00024, -1.14426, 0.0009, -1.91824, 0.00145, -0.00993, 0.8656, 0.57934, 0.00172, 0.40392, 0.85), dtype=[('a1', '<f8'), ('a2', '<f8'), ('a3', '<f8'), ('a4', '<f8'), ('a5', '<f8'), ('a6', '<f8'), ('a7', '<f8'), ('a8', '<f8'), ('a9', '<f8'), ('a10', '<f8'), ('a11', '<f8'), ('a12', '<f8'), ('a13', '<f8'), ('a14', '<f8'), ('a15', '<f8'), ('a16', '<f8'), ('a17', '<f8'), ('a18', '<f8'), ('alpha', '<f8')])¶
- NL_MODELS = ('darendeli', 'vucetic_dobry')¶
- classmethod from_metric(height, shear_vel=None, freq_nat=None, nl_model='darendeli')[source]¶
Create the model from a height and velocity in meters.
- Parameters:
- Returns:
Model with the height and velocity converted to feet.
- Return type:
- property period_nl: float¶
Nonlinear period [s] of the dam (Eq. 4.3 of Hale [2019]).
This is the period at which the 5% damped pseudo-spectral acceleration is computed, \(\ln T_{NL} = a_1 \ln T_o + a_2\), where \(T_o = 1 / f_n\) is the small-strain period.
- transfer_function(freqs, spec_accel)[source]¶
Compute the transfer function to the average sliding-mass acceleration.
This is Equation 4.1 of Hale [2019], with the first-mode frequency from Equations 4.2 and 4.4. The transfer function is nonlinear: it depends on the strength of the input motion through its spectral acceleration at the nonlinear period of the dam.
- Parameters:
- Returns:
The transfer function and the parameters that define it.
- Return type:
pygmm.slope_displacement.park_kishida_2019 module¶
Park and Kishida (2019) fundamental period of earth dams.
pygmm.slope_displacement.rathje_antonakos_2011 module¶
Rathje and Antonakos (2011) flexible sliding-mass displacement model.
- pygmm.slope_displacement.rathje_antonakos_2011.calc_disp_ra11(yield_coef, pga, period_slide, period_mean, mag=None, pgv=None, **kwargs)[source]¶
Rathje and Antonakos (2011) slope displacement model.
Extends
calc_disp_rs08()to flexible sliding masses by scaling PGA (and PGV) to the maximum seismic coefficient (and its velocity) of the sliding mass.- Parameters:
yield_coef (float) – Slope yield coefficient [g].
pga (float or array_like) – Peak ground acceleration [g].
period_slide (float) – Fundamental period of the sliding mass [s].
period_mean (float) – Mean period of the ground motion [s].
mag (float, optional) – Moment magnitude. Selects the scalar (PGA, M) model.
pgv (float, optional) – Peak ground velocity [cm/s]. Selects the vector (PGA, PGV) model.
stats (bool, default False) – If True, return
(ln_mean, ln_std)instead of the median.
- Returns:
Median displacement [cm], or
(ln_mean, ln_std)if stats is True.- Return type:
float or
numpy.ndarray
pygmm.slope_displacement.rathje_saygili_2008 module¶
Rathje and Saygili (2008) rigid sliding-block displacement model.
- pygmm.slope_displacement.rathje_saygili_2008.calc_disp_rs08(yield_coef, pga, mag=None, pgv=None, **kwargs)[source]¶
Rathje and Saygili (2008) slope displacement model.
Two models are provided, selected by which of mag and pgv is given:
scalar model: PGA and magnitude
vector model: PGA and PGV
- Parameters:
- Returns:
Median displacement [cm], or
(ln_mean, ln_std)if stats is True.- Return type:
float or
numpy.ndarray
pygmm.slope_displacement.rigid_block module¶
Newmark rigid sliding-block analysis of an acceleration time series.
Uses numba to compile the integration when it is installed
(pip install pygmm[slope]); otherwise a pure-Python loop is used, which
gives the same result more slowly.
- pygmm.slope_displacement.rigid_block.njit(func)[source]¶
Return the function unchanged, as numba is not installed.
- pygmm.slope_displacement.rigid_block.calc_rigid_disp(time_step, accels, yield_coef, invert=False)[source]¶
Compute the displacement and velocity of a rigid sliding mass.
- Parameters:
- Returns:
"disps": displacement time series of the sliding mass [cm], and"vels": velocity time series of the sliding mass [cm/s].- Return type:
pygmm.slope_displacement.watson_lamprey_abrahamson_2006 module¶
Watson-Lamprey and Abrahamson (2006) sliding-block displacement model.
- pygmm.slope_displacement.watson_lamprey_abrahamson_2006.calc_disp_wla06(yield_coef, pga, psa_1s, mag, **kwds)[source]¶
Watson-Lamprey and Abrahamson (2006) slope displacement model.
The model is not valid for PGA less than the yield coefficient, where NaN is returned.
- Parameters:
yield_coef (float) – Slope yield coefficient [g].
pga (float or array_like) – Peak ground acceleration [g].
psa_1s (float or array_like) – 5%-damped spectral acceleration at 1 s [g].
mag (float) – Moment magnitude.
stats (bool, default False) – If True, return
(ln_mean, ln_std)instead of the median.
- Returns:
Median displacement [cm], or
(ln_mean, ln_std)if stats is True.- Return type:
float or
numpy.ndarray