Motion Module¶
The motion module provides classes for representing and manipulating ground motion data used in site response analysis.
Classes¶
Time-series motion for time series based site response analysis. |
|
RVT motion based on user specified Fourier amplitude spectrum and duration. |
|
RVT motion based on user specified acceleration response spectrum and duration. |
|
RVT motion based on seismological point source model and earthquake scenario parameters. |
Time Series Motions¶
- class pystrata.motion.TimeSeriesMotion(filename: str, description: str, time_step: float, accels, fa_length=None)[source]¶
Bases:
MotionTime-series motion for time series based site response analysis.
- property freqs¶
Return the frequencies.
- property fourier_amps¶
Return the frequencies.
- calc_osc_accels(osc_freqs, osc_damping=0.05, tf=None)[source]¶
Compute the pseudo-acceleration spectral response of an oscillator with a specific frequency and damping.
- Parameters:
osc_freq (float) – Frequency of the oscillator (Hz).
osc_damping (float) – Fractional damping of the oscillator (dec). For example, 0.05 for a damping ratio of 5%.
tf (array_like, optional) – Transfer function to be applied to motion prior calculation of the oscillator response.
- Returns:
spec_accels – Peak pseudo-spectral acceleration of the oscillator
- Return type:
numpy.ndarray
- classmethod load_at2_file(filename, scale=1.0)[source]¶
Read an AT2 formatted time series.
- Parameters:
filename (str) – Filename to open.
scale (float, default: 1.) – Scale factor to apply to the motion.
Random Vibration Theory Motions¶
- class pystrata.motion.RvtMotion(freqs, fourier_amps, duration=None, peak_calculator=None, calc_kwds=None)[source]¶
Bases:
RvtMotion,MotionRVT motion based on user specified Fourier amplitude spectrum and duration.
- class pystrata.motion.CompatibleRvtMotion(osc_freqs, osc_accels_target, duration=None, osc_damping=0.05, event_kwds=None, window_len=None, peak_calculator=None, calc_kwds=None)[source]¶
Bases:
CompatibleRvtMotion,MotionRVT motion based on user specified acceleration response spectrum and duration.
- class pystrata.motion.SourceTheoryRvtMotion(magnitude: float, distance: float, region: str | None = None, depth: float | None = 8, peak_calculator: str | Calculator | None = None, calc_kwds: dict | None = None, freqs: ndarray | None = None, disable_site_amp: bool = False, **kwargs)[source]¶
Bases:
SourceTheoryMotion,MotionRVT motion based on seismological point source model and earthquake scenario parameters.