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