3.4. Average Spectral Acceleration

imcalculator.get_saavg(period)[source]

Computes the geometric mean of spectral accelerations over a range of periods centred on a conditioning period.

The period range spans from 0.2 * period to 1.5 * period, sampled at 10 equally spaced points.

Parameters:

period (float) – Conditioning period (s).

Returns:

psa_avg – Geometric mean of pseudo-spectral accelerations (g) over the defined period range.

Return type:

float

References

Cordova, P., Deierlein, G., Mehanny, S., and Cornell, A., 2000.

Development of a two-parameter seismic intensity measure and probabilistic assessment procedure. 2nd US–Japan Workshop on Performance-Based Earthquake Engineering Methodology for RC Building Structures.

Eads, L., Miranda, E., and Lignos, D. G., 2015. Average spectral

acceleration as an intensity measure for collapse risk assessment. Earthquake Engineering & Structural Dynamics, 44(12), 2057–2073. DOI: 10.1002/eqe.2575

Theoretical Background

The Average Spectral Acceleration (AvgSA) is the geometric mean of spectral accelerations over a period range centred on the fundamental period of the structure (Cordova et al., 2000; Eads et al., 2015).

Definition

For a structure with fundamental period \(T_1\), AvgSA is computed over the range \([0.2\,T_1,\, 1.5\,T_1]\) at \(N\) equally spaced periods:

\[\text{AvgSA}(T_1) = \exp\!\left( \frac{1}{N} \sum_{j=1}^{N} \ln S_a(T_j) \right)\]

This is equivalent to the geometric mean of the spectral ordinates \(S_a(T_1), S_a(T_2), \ldots, S_a(T_N)\).

Motivation

AvgSA captures the spectral shape over the range of periods most relevant to structural response, making it a more efficient and sufficient intensity measure than single-period Sa for structures that exhibit period elongation (e.g. during inelastic response).

Example

import numpy as np
from openquake.vmtk.imcalculator import imcalculator

acc = np.loadtxt("openquake/vmtk/tests/test_data/acceleration.txt")
im = imcalculator(acc, dt=0.005)

avg_sa = im.get_saavg(period=0.6)
print(f"AvgSa(T1=0.6s) = {avg_sa:.4f} g")