# Shock Response Spectrum

### From Python Wiki

(q) |
|||

(8 intermediate revisions not shown) | |||

Line 6: | Line 6: | ||

- | '''Arbitrary Base Input''' | + | '''Utility''' |

+ | |||

+ | The scripts on this page require the utility module [http://www.vibrationdata.com/python/tompy.py tompy.py] | ||

+ | |||

+ | |||

+ | '''Arbitrary Base Input - SRS Calculation''' | ||

The SRS for an an arbitrary base input can be calculated via a digital recursive filtering relationship, which models the convolution integral. | The SRS for an an arbitrary base input can be calculated via a digital recursive filtering relationship, which models the convolution integral. | ||

Line 18: | Line 23: | ||

A version for calculating and plotting the SRS in tripartite format is given at: [http://www.vibrationdata.com/python/srs_tripartite.py srs_tripartite.py] | A version for calculating and plotting the SRS in tripartite format is given at: [http://www.vibrationdata.com/python/srs_tripartite.py srs_tripartite.py] | ||

- | + | A script for calculating the SRS via a convolution integral is given at: [http://www.vibrationdata.com/python/srs_conv.py srs_conv.py] | |

+ | |||

+ | |||

+ | '''Arbitrary Base Input - Time Domain Response for a given SDOF System''' | ||

+ | |||

+ | Digital recursive filtering relationship method: [http://www.vibrationdata.com/python/arbit.py arbit.py] | ||

+ | |||

+ | Runge-Kutta fourth order method method: [http://www.vibrationdata.com/python/arbit_rk4.py arbit_rk4.py] | ||

Line 35: | Line 47: | ||

A script is given at: [http://www.vibrationdata.com/python/terminal_sawtooth_base.py terminal_sawtooth_base.py] | A script is given at: [http://www.vibrationdata.com/python/terminal_sawtooth_base.py terminal_sawtooth_base.py] | ||

+ | |||

+ | |||

+ | '''Fortran''' | ||

+ | |||

+ | An SRS program is given at: [http://www.vibrationdata.com/tutorials2/QSRS.F QSRS.F] | ||

+ | |||

+ | |||

+ | '''External References''' | ||

+ | |||

+ | [http://www.vibrationdata.com/SRS.htm Vibrationdata SRS Page] | ||

## Revision as of 19:44, 2 January 2012

**Introduction**

Mechanical shock pulses are often analyzed in terms of shock response spectra (SRS). The shock response spectrum assumes that the shock pulse is applied as a common base input to an array of independent single-degree-of-freedom systems. The shock response spectrum gives the peak response of each system with respect to the natural frequency. Damping is typically fixed at a constant value, such as 5%, which is equivalent to an amplification factor of Q=10.

The following tutorial gives further information: srs_intr.pdf

**Utility**

The scripts on this page require the utility module tompy.py

**Arbitrary Base Input - SRS Calculation**

The SRS for an an arbitrary base input can be calculated via a digital recursive filtering relationship, which models the convolution integral.

The filtering relationship can be implemented in Python by importing the lfilter function from scipy.

*from scipy.signal import lfilter*

A script for doing this is given at: srs.py

A version for calculating and plotting the SRS in tripartite format is given at: srs_tripartite.py

A script for calculating the SRS via a convolution integral is given at: srs_conv.py

**Arbitrary Base Input - Time Domain Response for a given SDOF System**

Digital recursive filtering relationship method: arbit.py

Runge-Kutta fourth order method method: arbit_rk4.py

**Half-sine Pulse**

The response of an SDOF system to a half-sine base input can be calculated via a Laplace transform which yields a closed-form solution, as shown in sbase.pdf

A script is given at: half_sine_base.py

Note that the peak response may occur either during or after the half-sine pulse depending on the pulse duration, natural frequency, and damping ratio.

**Terminal Sawtooth Pulse**

The response of an SDOF system to a terminal sawtooth base input can also be calculated via a Laplace transform. terminal_sawtooth.pdf

A script is given at: terminal_sawtooth_base.py

**Fortran**

An SRS program is given at: QSRS.F

**External References**

Return to: Main Page | Vibrationdata Python Scripts