Shock Response Spectrum

From Python Wiki

(Difference between revisions)
Jump to: navigation, search
(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]
-
The scripts requires the utility module: [http://www.vibrationdata.com/python/tompy.py tompy.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

Vibrationdata SRS Page



Return to: Main Page | Vibrationdata Python Scripts

Personal tools