Unit conversionTable of contents IntroductionA re-occcuring problem in physics (and in computer simulations of physics) is the correct conversion of one unit (say metre) into another (say yard). Usually, it is just a matter of working out the conversation factor but -- if things go wrong -- it can been the cause for dramatic accidents. A program is available (with the name units) that can be of great assistence in these situations. We describe the very fundamental way of using it but note for completeness that it is a framework that can be extended by providing new definitions of units etc. Some examplesSuppose we need to know how many centimeters there are in one inch. After starting the unit program, it displays: You have: and we complete this by typing inch: You have: inch The unit program then displays the next line: You want: and we enter cm: You want: cm After pressing return, the unit program prints the following answer: * 2.54 / 0.39370079 which tells us that there are 2.54cm in one inch. The second number (0.39370079) can be used for the inverse conversion: there are 0.39370079 inch within one centimetre. We summarise this dialog for the following examples like this (and it will look like this on the screen): You have: inch You want: cm * 2.54 / 0.39370079 The unit program knows many units and constants, and these can be queried. For example, if we need to know what an erg is, we could type erg, and just press return when unit asks You want:: You have: erg You want: Definition: cm dyne = 1e-07 kg m^2 / s^2 This may raise the question what a dyne is: You have: dyne You want: Definition: cm gram / s^2 = 1e-05 kg m / s^2 Alternatively, if we are interested in how this erg energy relates to Joule, we can do this: You have: erg You want: joule * 1e-07 / 10000000 to find that 10 million erg are equivalent to one Joule. We can further provide a number in addition to the units for the conversion process. Here is an example to see what 32 psi are in bar: You have: 32 psi You want: bar * 2.2063223 / 0.45324293 In fact, much more complicated calculations can be carried out (see http://www.gnu.org/software/units/#examples). Finally, we can also provide products and quotients of known units. For example, to convert 70 miles per hour into metre per second: You have: 70 miles/hour You want: m/s * 31.2928 / 0.031956233 Putting all this together, and exploiting one of the many known constants of the unit program, we computer what fraction of the velocity of light (abbreviated c within the units program) the velocity of 70 miles represents: You have: 70 miles / hour You want: c * 1.0438155e-07 / 9580237.6 It is -- as expected -- a somewhat small fraction. It is worth noting that the program will complain if units are inconsistent. For example, magnetic fields and magnetic induction are oft used interchangably in some areas of research (and an implicit multiplication or division with the vacuum permeability is required for the conversion of one into the other). If we try to convert 1 milli Tesla into A/m we get the following message: You have: 1mT You want: A/m conformability error 0.001 kg / A s^2 1 A / m Dividing the milli Tesla by mu0, makes the units equivalent: You have: 1mT/mu0 You want: A/m * 795.77472 / 0.0012566371 where: You have: mu0 You want: Definition: 4 pi 1e-7 H/m = 1.2566371e-06 kg m / A^2 s^2 Further informationThere is much more to say about this useful tool, and further information can be found on the webpage http://www.gnu.org/software/units/. InstallationThe programme is available in all major Linux distributions as a standard package, via Fink for Mac OS X, Cygwin for MS Windows, or can be compiled from source. |
|