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 toFalse
, 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:
- 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:
- Raises:
ValueError – When the value of
method
is not ‘eq_hh’