The University of Sheffield
2 files

phasevelocity.m - A Matlab script to calculate the frequency-dependent phase velocity and radial variation of elastic waves in cylindrical bars

posted on 2023-02-02, 08:48 authored by Andrew BarrAndrew Barr


The relationships between normalised frequency and phase velocity, M1 and M2 can be used to account for first-mode dispersion effects in pressure bar measurements using programs such as dispersion.m. These relationships are dependent on the Poisson's ratio of the bar material, and so can be generated for any Poisson's ratio using this script, and saved in the file format used by dispersion.m.

The phasevelocity.m script finds the first root of Bancroft's (1941) equation using the bisection method, for a defined Poisson's ratio, and over a defined range of normalised wavelength (d/L). The result is the normalised phase velocity, cp/c0, which corresponds to the first mode of propagation for longitudinal waves in an elastic cylindrical bar. Normalised wavelengths are also converted to normalised frequency, fa/c0.

Normalised phase velocities are then used to calucate Tyas and Wilson's (2001) factors M1 and M2, which account for wavelength-dependent radial variations in strain and Young's modulus, respectively. All values are recorded in .mat format.


  • Bancroft, D. (1941) The Velocity of Longitudinal Waves in Cylindrical Bars. Physical Review, 59, 588-593.
  • Barr, A. D. (2016) dispersion.m - A MatLab script for phase angle and amplitude correction of pressure bar signals. The University of Sheffield. Software. 
  • Tyas, A., Wilson, A. J. (2001) An investigation of frequency domain dispersion correction of pressure bar signals. International Journal of Impact Engineering, 25, 87-101.



  • There is no personal data or any that requires ethical approval


  • 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