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.