linear_tf#
- PySeismoSoil.helper_site_response.linear_tf(vs_profile: ndarray, show_fig: bool = True, freq_resolution: float = 0.05, fmax: float = 30.0) tuple[numpy.ndarray, numpy.ndarray, numpy.ndarray, float, numpy.ndarray, numpy.ndarray, numpy.ndarray, numpy.ndarray, float] [source]#
Compute linear elastic transfer function from a given Vs profile.
- Parameters:
vs_profile (np.ndarray) – Shear wave velocity profile. Can have 2 or 5 columns. If only 2 columns (no damping and density info), then damping and density are calculated automatically using
get_xi_rho()
.show_fig (bool) – Whether to show figures of the amplification function.
freq_resolution (float) – Frequency resolution of the frequency spectrum.
fmax (float) – Maximum frequency of interest.
- Returns:
freq_array (np.ndarray) – Frequency array, in linear scale.
AF_ro (np.ndarray) – Amplification with respect to rock outcrop.
TF_ro (np.ndarray) – Transfer function (complex-valued) with respect to rock outcrop.
f0_ro (float) – Fundamental frequency of rock outcrop amplification.
AF_in (np.ndarray) – Amplification with respect to incident motion.
TF_in (np.ndarray) – Transfer function (complex-valued) with respect to incident motion.
AF_bh (np.ndarray) – Amplification with respect to borehole motion.
TF_bh (np.ndarray) – Transfer function (complex-valued) with respect to borehole motion.
f0_bh (float) – Fundamental frequency of rock outcrop amplification.
Notes
Vs profile can either include a “zero thickness” layer at last or not.
Rewritten into Python between the winter of 2016 and the spring of 2017.