Thursday, March 03, 2005

Structure and Speed

Hit a tuning fork on a table and it will ring -- for a while. Over time, the ringing will gradually decay away, its energy spent. Some of the energy of resonance goes into the air; some of it gets absorbed into motion of defects in the metal; and some of it will be absorbed by the hand that holds the tuning fork. If you have a very tiny tuning fork made out of a nice material like silicon (in which the damping due to defects is low) and you ring it in a vacuum, another source of damping becomes important. Solids, like gases, change temperature when they are expanded or compressed. In a vibrating tuning fork, different parts of the structure are expanded and compressed at different rates; as a result, there are differences in temperature from one part to another. Heat likes to even itself out, so these differences in temperature tend to smooth themselves out over time. Once the heat has diffused, it cannot be turned back into mechanical energy of motion, and so there is a little less energy in the vibrating tuning fork. This mechanism is known as thermoelastic damping; it was explored by Zener (of Zener diode fame) in a long sequence of papers in the late 30s and early 40s, and has more recently been of immense interest to designers of microscopic mechanical resonators that are used for different types of sensors and signal processing components.

The equations for linear elasticity are pretty nice. So are the equations for diffusion of heat. The fully coupled equations of thermoelasticity -- including thermal expansion and temperature variations driven by changes in volume -- are a mess. The coupling terms screw up all the nice structure that makes elasticity problems and heat flow problems so (relatively) easy to solve on their own. But those coupling terms are small, and so it's possible to do something clever: figure out what the mechanical vibrations would be if there were no thermoelastic coupling, and then add a term to correct the shape and frequency of the vibration (to first order).

HiQLab, my latest toy, can calculate the effects of thermoelastic damping by either solving the fully-coupled equations in a brute force fashion (relatively speaking -- even the brute force calculation requires some care), or by using the perturbation technique that I described above. Here's a comparison of the two methods on a sample problem using the stand-alone version of the program (there's also a MATLAB version). Notice the elapsed time lines.

I'm so pleased when things work as they should.

-------------------------------------------------------
HiQlab 0.2
Copyright   : Regents of the University of California
Build system: i686-pc-linux-gnu
Build date  : Thu Mar  3 19:29:03 PST 2005
Bug reports : dbindel@cs.berkeley.edu
 
Lua 5.0.2  Copyright (C) 1994-2004 Tecgraf, PUC-Rio
-------------------------------------------------------
 
> method = 'full'
> dofile('driver_beam.lua')
Shift w0         : 88 MHz
Damped w (real)  : 87.6735 MHz
Damped w (imag)  : 0.00500905 MHz
Q                : 8751.51
Elapsed time     : 87
> method = 'pert'
> dofile('driver_beam.lua')
Shift w0         : 88 MHz
Damped w (real)  : 87.6735 MHz
Damped w (imag)  : 0.00501454 MHz
Q                : 8741.93
Elapsed time     : 7
>
[dbindel@localhost beam]$