Skip to main content

Python package for computing acceleration response spectra.

Project description

Welcome to response_spectrum

response_spectrum computes a psuedo-acceleration response spectrum from an input ground motion or set of ground motions sampled at a constant frequency. Calculates are performed in the frequency domain by

  1. taking the Fourier transform of the input motion(s)
  2. multiplying by the transfer function for computing the motion of a single-degree-of-freedom (SDOF) oscillator with natural period T and damping D
  3. computing the peak acceleration amplitude for the SDOF oscillator
  4. repeating steps 2 and 3 for a range of user-specified periods

Installation

pip install ucla_geotech_tools.response_spectrum

Command

get_response_spectrum(**kwargs)
get_ngawest2_T()

Input parameters.

motion(s) = an M x N list or python array containing acceleration data, where M is the number of motions and N is the number of data points in each motion. All motions must have the same number of data points. (required)  
dt = time step (required)
D = damping (optional, default = 0.05)
T = array of natural periods (optional, default = array used for NGAwest2 project: 
T = [0.01, 0.02, 0.022, 0.025, 0.029, 0.030, 0.035, 0.036, 0.040, 0.042, 0.044, 0.045, 0.046, 0.048, 0.050, 0.055, 0.060, 0.065, 0.067, 0.070, 0.075, 0.080, 0.085, 0.090, 0.095, 0.100, 0.11, 0.12, 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 0.19, 0.20, 0.22, 0.24, 0.25, 0.26, 0.28, 0.29, 0.30, 0.32, 0.34, 0.35, 0.36, 0.38, 0.40, 0.42, 0.44, 0.45, 0.46, 0.48, 0.50, 0.55, 0.60, 0.65, 0.70, 0.75, 0.80, 0.85, 0.90, 0.95, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0, 2.2, 2.4, 2.5, 2.6, 2.8, 3.0, 3.2, 3.4, 3.5, 3.6, 3.8, 4.0, 4.4, 4.6, 4.8, 5.0, 5.5, 6.0, 6.5, 7.0, 7.5, 8.0, 8.5, 9.0, 9.5, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 20.0])
zeropad = 1: apply zero padding to speed up FFT operation, 0: do not pad with zeros (optional, default = 1)
verbose = 1: print output message when default values are being used, 0: suppress output messages (optional, default = 1)

Example

Python script

import numpy as np
import ucla_geotech_tools.response_spectrum as ars
import matplotlib.pyplot as plt

N = 4000               # Number of time steps
M = 3                  # Number of motions
dt = 0.005             # Time step in seconds
D = 0.05               # Damping
freq = [1.0, 3.0, 5.0] # Frequencies for three different harmonic motions

motions = np.empty([M,N],dtype="float64")
for i in range(M):
    for j in range(N):
        motions[i][j] = np.sin(2*np.pi*freq[i]*j*dt)

# Get spectral periods used in NGAWest2 project
T = ars.get_ngawest2_T()

# Get Python array containing pseudo-spectral acceleration values
Sa = ars.get_response_spectrum(motions=motions, dt=dt, D=D, zeropad=0, verbose=0)

for i in range(M):
    plt.loglog(T,Sa[i])
plt.xlabel('Natural Period (s)')
plt.ylabel('Spectral Acceleration (g)')

Output

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ucla_geotech_tools-response_spectrum-1.0.5.tar.gz (135.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ucla_geotech_tools_response_spectrum-1.0.5-cp39-cp39-win_amd64.whl (94.0 kB view details)

Uploaded CPython 3.9Windows x86-64

File details

Details for the file ucla_geotech_tools-response_spectrum-1.0.5.tar.gz.

File metadata

  • Download URL: ucla_geotech_tools-response_spectrum-1.0.5.tar.gz
  • Upload date:
  • Size: 135.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.1 pkginfo/1.8.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.5

File hashes

Hashes for ucla_geotech_tools-response_spectrum-1.0.5.tar.gz
Algorithm Hash digest
SHA256 7f99ec5b3d5764b84905a8718bfdc8631da470a4c2dd3d7c9021367153306cd6
MD5 fe027bbd4924edc9b9cbf4e63c86823e
BLAKE2b-256 0152c1dafb81d9da4f4db4b1b3cf3436323742714a91be4bd3943b1074b1b79f

See more details on using hashes here.

File details

Details for the file ucla_geotech_tools_response_spectrum-1.0.5-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for ucla_geotech_tools_response_spectrum-1.0.5-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 0c5a1f50f2b79201bfbe98f43ec44e3a450d5930ade217808eeb7e861de0fefb
MD5 6fe2762b76d5bfc71a04b113ccaecc27
BLAKE2b-256 38cc5f648f1865425c3a142f59da3068ef524a3343ffe14e1e994035e4ca98cb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page