This process, dubbed resonant ultrasound spectroscopy, or RUS, provides the highest absolute accuracy of any routine elastic modulus measurement technique, and it does it quickly on small samples.
The MagLab RUS group, led by Albert Migliori, develops this content to make RUS tools and information easily available to the general science community. On these pages, you will find the code as well as additional resources to get started.
Included in the .zip files (about 210 KB) with the code are sample input, output, and interim files. Separate links are provided to only view the sample input/output files without downloading the code.
Debye Temperature Elastic Moduli Calculator
This calculator takes the crystal structure, atomic volume, density, and a number of cij elastic moduli depending on the crystal structure of your material as input. It calculates the Debye Temperature of the material, as well as the mean velocities and several other elastic moduli. Download executable (22,013 KB).
Kroner Elastic Moduli Calculator
This calculator takes the c11, c12 and c44 of a cubic material as input, and calculates multiple shear moduli, as well as the bulk and Young moduli and Poisson ratio of the material. Download executable (22,000 KB).
Voigt-Reuss Elastic Moduli Calculator
This calculator takes the crystal structure and a number of cij elastic moduli depending on the crystal structure of your material as input. It calculates the Voigt, Reuss, and "true" values for the shear and bulk moduli, as well as the Young modulus and Poisson Ratio. Download executable (22,008 KB).
Brief user manual describing the input and output files. Download user manual.
The input file has the same name for all three codes, rusin.dat, and must be in the same directory as the executable. Hover over the underscored areas for annotations.
0.089937 0.089644 1.00
0.122485 0.122442 0.00
0.123037 0.122853 1.00
0.133300 0.133410 1.00
0.136562 0.136824 1.00
0.140502 0.140655 1.00
0.144324 0.144500 1.00
0.150841 0.150807 1.00
0.150964 0.151307 1.00
0.162553 0.162583 1.00
0.163018 0.163080 1.00
0.164211 0.164315 1.00
0.171321 0.171765 1.00
0.190858 0.190915 1.00
0.191871 0.191882 1.00
0.194339 0.194282 1.00
0.197951 0.197932 1.00
0.198913 0.198763 1.00
0.200511 0.200243 1.00
0.203233 0.203574 1.00
0.207026 0.206455 1.00
0.207831 0.207621 1.00
0.209198 0.209179 1.00
0.209741 0.209528 1.00
After at least one iteration two output files will be produced: rusout.dat and rusio.dat. The rusio.dat file is a modified copy of the input file. The initial guesses of the moduli and dimensions are replaced by the fitted values and the fitted frequencies replace the columns of zeros. The rusio.dat file can be renamed rusin.dat and a new run can be started where the previous pass finished. Hitting any key will stop iteration and will generate an orderly exit with the interim outputs in rusio.dat and rusout.dat. The rusout.dat contains the results. Download output file.
For a useful fit, the following must be true:
- The fit must be predictive – if a mode is missing, and the code predicts it is there, one may be able to find it by re-measuring, or remounting the sample.
- The RMS error should be below 0.8%, often below 0.2% – sometimes as low as 0.03%.
- "chisquare increased 2% by the..." must be small – the largest number in the first column below "chisquare..." is computed from the effective curvature of the minimum in elastic-modulus space for c11, the next column for the next free modulus (in this case c44) etc. The largest number in each column represents a real-world measure of the accuracy of the measurement tested by much experience – the accuracy is very definitely not the rms error.
- There must be many modes that are not pure shear. Note that the first mode is pure shear (df/dmoduli is 0. for c11 and 1.00 for c44 – again, these derivatives are in order of the free moduli, just as are the chisquare columns). But the 7th mode is 41% c11, so it provides a strong constraint for c11. Typically, one must use 40 modes for orthorhombic symmetry, but maybe only 15 for isotropic.
- The Q of the modes must be high-of order a few hundred and up – we have observed a Q of 1.5x106 for diamond.
The fits produced by the codes require knowledge of both crystallographic axes and dimensions. The RPR code can adjust the dimensions for a better fit while maintaining the mass of the sample fixed. The Sphere code and the Cylinder code do not fit dimensions. The first, second, and third dimensions entered in the input file (d1, d2, and d3) must correspond, respectively, to the a, b, and c crystallographic axis. If any of these dimensions are swapped, the code will fit, but the results will not be correct.
- Cylinder: The base of the cylinder is an ellipse. The dimensions that are used by the code are the height and the two major axes of the ellipse.
- Parallelepiped: The dimensions used by the code are the length, width and height.
- Sphere: The sphere is in fact an ellipsoid. The dimensions that are used by the code are the full diameters: east-west, north-south, up-down.
Click on images to view a larger version or to download.
- Parallelepiped. Parallelepiped.
- Cylinder. Cylinder.
- A test sample (transparent cylinder) is mounted between two piezoelectric transducers on a sample holder... Click for full details. A test sample (transparent cylinder) is mounted between two piezoelectric transducers on a sample holder... Click for full details.
- Up to 15T, 300mK to 650K. Up to 15T, 300mK to 650K.
- Room temperature RUS system. Room temperature RUS system.
- Sphere. Sphere.
A. Migliori, et al, Implementation of a modern resonant ultrasound spectroscopy system for the measurement of the elastic moduli of small solid specimens, Review of Scientific Instruments (2005) Read online
A. Migliori, et al, Resonant ultrasound spectroscopic techniques for measurement of the elastic moduli of solids, Physica B (1992) Read online