Site_Factors#

class PySeismoSoil.class_site_factors.Site_Factors(Vs30_in_meter_per_sec: float, z1_in_m: float, PGA_in_g: float, lenient: bool = False)[source]#

Bases: object

Class implementation of site response factors proposed by Shi, Asimaki, and Graves (2019).

Parameters:
  • Vs30_in_meter_per_sec (float) – Vs30 values in SI unit.

  • z1_in_m (float) – z1 (basin depth) in meters.

  • PGA_in_g (float) – PGA in g.

  • lenient (bool) – Whether to ensure the given Vs30, z1, and PGA values are within the valid range. If False and the given values fall outside the valid range, the given values (e.g., Vs30 = 170 m/s) will be treated as the closest boundary values (e.g., Vs30 = 175 m/s).

Attributes same as the inputs
Raises:

ValueError – When the combination of Vs30 and z1 values is invalid

Attributes Summary

Methods Summary

get_amplification([method, Fourier, ...])

Get site amplification factors.

get_both_amplf_and_phase([method, ...])

Get both amplification and phase-shift factors

get_phase_shift([method, show_interp_plots])

Get site amplification factors

Attributes Documentation

PGA_array = [0.01, 0.05, 0.1, 0.2, 0.3, 0.4, 0.5, 0.75, 1.0, 1.25, 1.5]#
Vs30_array = [175, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, 750, 800, 850, 900, 950]#
z1_array = [8, 16, 24, 36, 75, 150, 300, 450, 600, 900]#

Methods Documentation

get_amplification(method: Literal['nl_hh', 'eq_hh'] = 'nl_hh', Fourier: bool = True, show_interp_plots: bool = False) Frequency_Spectrum[source]#

Get site amplification factors.

Parameters:
  • method (Literal['nl_hh', 'eq_hh']) – Which site response simulation method was used to calculate the amplification factors. ‘nl_hh’ uses the results from nonlinear site response simulation, which is recommended.

  • Fourier (bool) – Whether to return Fourier-spectra-based amplification factors (True) or response-spectra based factors (False).

  • show_interp_plots (bool) – Whether to plot interpolated curve together with the “reference curves”.

Returns:

amplif – Amplification factors as a function of frequency. (Note: Even if Fourier is set to False, i.e., the user is querying response spectral amplification, the returned result is still (freq, amplif). The user can take the reciprocal of frequency to get period.)

Return type:

Frequency_Spectrum

Raises:

ValueError – When the value of method is not in {‘nl_hh’, ‘eq_hh’}

get_both_amplf_and_phase(method: Literal['nl_hh', 'eq_hh'] = 'nl_hh', show_interp_plots: bool = False) tuple[PySeismoSoil.class_frequency_spectrum.Frequency_Spectrum, PySeismoSoil.class_frequency_spectrum.Frequency_Spectrum][source]#

Get both amplification and phase-shift factors

Parameters:
  • method (Literal['nl_hh', 'eq_hh']) – Which site response simulation method was used to calculate the amplification factors. ‘nl_hh’ is recommended.

  • show_interp_plots (bool) – Whether to plot interpolated curve together with the “reference curves”.

Returns:

Amplification and phase-shift as functions of frequency.

Return type:

tuple[Frequency_Spectrum, Frequency_Spectrum]

get_phase_shift(method: Literal['eq_hh'] = 'eq_hh', show_interp_plots: bool = False) Frequency_Spectrum[source]#

Get site amplification factors

Parameters:
  • method (Literal['eq_hh']) – Which site response simulation method was used to calculate the amplification factors. Currently, only ‘eq_hh’ is valid.

  • show_interp_plots (bool) – Whether to plot interpolated curve together with the “reference curves”.

Returns:

phase – Phase shift as a function of frequency.

Return type:

Frequency_Spectrum

Raises:

ValueError – When the value of method is not ‘eq_hh’