dispersion.py - A Python algorithm for phase angle and amplitude correction of pressure bar signals
DESCRIPTION:
When processing signals from split-Hopkinson pressure bar (SHPB) experiments, it is frequently presumed that longitudinal stress waves in the pressure bars travel one-dimensionally at a common velocity of c0. Hence, measurements recorded at the strain gauges are commonly simply translated to the end of the bar using a suitable time delay. In reality, stress waves travel at a certain phase velocity, cp, which varies with frequency, bar diameter, one-dimensional wave speed and Poisson’s ratio. As the frequency of a wave rises, the phase velocity drops, resulting in signal dispersion as it propagates down the bar. The dispersion of the stress pulse is followed by a frequency-dependent fluctuation in stress and strain throughout the bar cross-section. Therefore, a signal recorded on the surface of the bar at some distance from the specimen will not accurately represent the stresses the specimen was subjected to, and hence cannot be used to objectively measure the specimen response.
FILES INCLUDED:
- dispersion.py: A Python function, with the documentation on the use of the function included in the file as comments. It requires dispersion_factors.py to run.
- dispersion_factors.py: A Python function, with the documentation on the use of the function included in the file as comments. It requires the folder dispersion_factors.
- 'dispersion_factors' zip folder: A folder containing pre-calculated values of normalised frequency, normalised velocity and factors m1 and m2 for a material with a Poisson's ratio of 0.29 (i.e. stainless steel). This was calculated using the algorithm phase_velocity.py (Van Lerberghe, A., Barr, A. D. (2023)), available on GitHub and ORDA, see links below.
REFERENCES:
- Tyas, A., Pope, D.J., (2005). Full correction of first-mode Pochhammer–Chree dispersion effects in experimental pressure bar signals. Measurement science and technology, 16(3), p.642.
MATLAB SOFTWARE:
- Barr, A. D. (2016) dispersion.m - A Matlab script for phase angle and amplitude correction of pressure bar signals. University of Sheffield.
Software ORDA link: [https://doi.org/10.15131/shef.data.3996876.v1]
PYTHON SOFTWARE:
- Van Lerberghe, A., Barr, A. D. (2023) dispersion.py - A Python algorithm for phase angle and amplitude correction of Hopkinson pressure bar signals. University of Sheffield.
Software GitHub link: [https://github.com/ArthurVL-maker/Dispersion.git] - Van Lerberghe, A., Barr, A. D. (2023) phase_velocity.py - A Python algorithm for calculating frequency-dependent phase velocity and radial variation of elastic waves in cylindrical bars. University of Sheffield.
Software ORDA link: [https://doi.org/10.15131/shef.data.22010999]
Software GitHub link: [https://github.com/ArthurVL-maker/Phase_velocity.git]
AUTHORS:
Arthur Van Lerberghe avanlerberghe1@sheffield.ac.uk & Andrew D. Barr a.barr@sheffield.ac.uk.
Funding
EPSRC
DSTL
History
Ethics
- There is no personal data or any that requires ethical approval
Policy
- The data complies with the institution and funders' policies on access and sharing
Sharing and access restrictions
- The data can be shared openly
Data description
- The file formats are open or commonly used
Methodology, headings and units
- Headings and units are explained in the files