3.2. Response Spectrum

imcalculator.get_spectrum(periods=np.linspace(1e-5, 4.0, 500), damping_ratio=0.05)[source]

Computes the response spectrum using the Newmark-beta method.

The method performs Newmark constant-average-acceleration time integration (gamma = 0.5, beta = 0.25) for a unit-mass single-degree-of-freedom oscillator at each requested period, returning the spectral displacement, pseudo-velocity, and pseudo-acceleration.

Parameters:
  • periods (numpy.ndarray, optional) – Array of periods at which to compute the spectral response (s). Default is 500 points linearly spaced from 1e-5 to 4.0 s.

  • damping_ratio (float, optional) – Damping ratio for the SDOF oscillator. Default is 0.05 (5%).

Returns:

  • periods (numpy.ndarray) – Periods of the response spectrum (s).

  • sd (numpy.ndarray) – Spectral displacement (m).

  • sv (numpy.ndarray) – Pseudo spectral velocity (m/s).

  • sa (numpy.ndarray) – Pseudo spectral acceleration (g).

Notes

The Newmark-beta parameters used are gamma = 0.5 and beta = 0.25, which correspond to the constant average acceleration method (unconditionally stable).

Theoretical Background

The response spectrum is computed by solving the equation of motion of an undamped single-degree-of-freedom (SDOF) oscillator subjected to a base acceleration \(\ddot{u}_g(t)\), for a range of natural periods \(T\).

Equation of motion

\[m\,\ddot{u}(t) + c\,\dot{u}(t) + k\,u(t) = -m\,\ddot{u}_g(t)\]

where \(m = 1\) kg (unit mass), \(k = m\omega^2\), \(c = 2\xi m\omega\), \(\omega = 2\pi/T\), and \(\xi\) is the damping ratio.

Newmark-beta integration

The equation of motion is integrated numerically using the Newmark constant average acceleration method (\(\gamma = 0.5\), \(\beta = 0.25\)), which is unconditionally stable. At each time step \(n\):

\[\tilde{k}\,\Delta u_n = \Delta p_n + A\,\dot{u}_{n-1} + B\,a_{n-1}\]

where \(\tilde{k} = k + \tfrac{\gamma}{\beta\,\Delta t}c + \tfrac{m}{\beta\,\Delta t^2}\) is the effective stiffness, and \(A\), \(B\) are auxiliary coefficients derived from the Newmark parameters.

Spectral quantities

The peak responses over the record duration yield the spectral values at period \(T\):

\[S_d(T) = \max_t |u(t)|, \qquad S_v(T) = \omega\,S_d(T), \qquad S_a(T) = \omega^2 S_d(T) / g\]

where \(S_d\), \(S_v\), and \(S_a\) are the spectral displacement, pseudo-velocity, and pseudo-acceleration respectively.