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).

Vs30_array#

Valid Vs30 values (class attribute).

Type:

list[int]

z1_array#

Valid z1 values (class attribute).

Type:

list[int]

PGA_array#

Valid PGA values (class attribute).

Type:

list[float]

Vs30#

Same as the input parameter Vs30_in_meter_per_sec.

Type:

float

z1#

Same as the input parameter z1_in_m.

Type:

float

PGA#

Same as the input parameter PGA_in_g.

Type:

float

dir_amplif#

Directory path for amplification data files.

Type:

str

dir_phase#

Directory path for phase data files.

Type:

str

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: list[float] = [0.01, 0.05, 0.1, 0.2, 0.3, 0.4, 0.5, 0.75, 1.0, 1.25, 1.5]#
Vs30_array: list[int] = [175, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, 750, 800, 850, 900, 950]#
z1_array: list[int] = [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’