Useful Computer Programs | ||||||||||

Here are some computer programs that you might find useful as you use Six Ideas That Shaped Physics. These programs are freeware and may be freely downloaded and shared with anyone. The programs are available for the Macintosh OS X, Windows, and Linux platforms. Please send me an e-mail message if you discover any bugs. PROGRAM INSTALLATION NOTES: Many of the programs posted here are newly-compiled versions. I have posted vintage versions of some of the programs at the bottom of the page. Versions for all platforms are now posted as compressed .zip archives. WEB-BASED VERSIONS: Web-based versions of some of the programs can be found here.
For All Units:
LinReg 2.06 is a program that for plotting data with uncertainty bars and for calculating linear least-square fits. At Pomona, we use this program in both the laboratory and for displaying data for class demonstrations (it is much easier to use than Excel, particularly when uncertainty bars are involved). One can either plot the raw data or values calculated from that data. Graphs are automatically drawn with appropriate titles, labels, and scales, but features of the graph can also be easily modified. The program also computes the uncertainty of the slope and intercept of a fitted line using the following robust method. It first creates a large number N of hypothetical data sets, where each datum is randomly perturbed from its specified value so as to fit a gaussian distribution with a width consistent with that datum's specified uncertainty (these sets may be displayed to illustrate the process). The program then calculates the least-squares fit to each hypothetical data set, and the uncertainty of the slope and intercept is estimated from the N hypothetical slopes and intercepts thus generated. This method gives a good estimate of the uncertainties (and makes fewer assumptions) in a very broad range of practical circumstances. For Use With Unit N: Newton 2.7 is a program that automates the construction of trajectory diagrams for two-dimensional motion, as discussed in chapter N5. Depending on how one defines the acceleration in the setup dialog, one can draw trajectories for a huge range of physical objects, including projectiles, projectiles with drag, two-dimensional harmonic oscillators, planetary orbits, planetary orbits with drag, planetary orbits with non-inverse-square gravitation, etc. Acceleration arrows are drawn in blue and the intermediate step in the construction of the new displacement is drawn in green. You can zoom in to any part of the graph by selecting the area of interest by dragging. Repeat as many times as you like to zoom in on small features. Then click anywhere in the graph to return to the original size. New in version 2.2: Users now have the ability to use either xy or xz coordinates and can specify the initial velocity as a magnitude and an angle instead of in terms of components. Some Windows bugs have now been squashed, and printing has been made easier. Version 2.3 fixed several bugs. Version 2.4 adds the ability to save a tab-delimited text file with results of the latest run. For Use With Unit R: HypPrint is a program that can be used to print hyperbola graph paper that one can use to generate two-observer spacetime diagrams or energy-momentum diagrams. After students learn how to construct two-observer diagrams, they can use this program to generate two-observer graphs quickly and easily. ( For Use With Unit E: Equipotentials 1.51 is a program that displays equipotential curves for various kinds of charge distributions, including points, lines, planes, rings and pipes. You can easily rearrange the charge distributions and vary their relative charges. If you hold down the control key, you can also display electric field vectors. 3DEField 2.0 This program displays the electric field vectors around charge distributions. One charge distributions by using the buttons on the window's right side. Use the controls on the bottom to change one's view angle, zoom, or the size of the field arrows. This program is useful for illustrating the concepts in chapter E2 and E3. 3DBField 2.0 is program analogous to 3DEField, except that it displays magnetic field vectors around current distributions. Drude 2.01 is animation program that illustrates how electrons move through a conducting metal. For Use With Unit Q: Interference 1.5 is a program that simulates one- and two-slit interference of quantons. Select a slit size and pattern and then press a button to fire a specified number of quantons through the slit. You can display the results either as a display screen showing the positions of hits or as a histogram showing the number of hits per position.
Schrosolver 2.3 is a program that displays bound-state solutions to the one-dimensional time-independent Schrodinger equation for selected potential energy functions and energies that you choose. The solutions are all constrained to go to zero as one goes to negative infinity: you must select the right energy to also make the solution lie down on the positive x-axis. This illustrates that not all mathematical solutions to the Schrodinger equation are physically reasonable and thus illustrates the reason that energy is quantized. You can use the "Find" button to rapidly scan though the quantized energy levels in a given case. This program is linked to the material in chapters Q10 and Q11. You can also vary many aspects of the potential energy curves, and even draw your own! NucInfo 1.1 is a program that displays empirical atomic mass data for various isotopes, and predicts (by comparing the masses to possible daughter isotope masses) whether the nucleus is stable, and if not, how it will decay. This is useful for illustrating ideas in chapters Q12 through Q15. For Use With Unit T: StatMech 2.7 is an updated program described in chapter T5. This program creates macropartition tables for Einstein solids for up to several hundred thousand atoms and roughly as many units of energy. We have found by experience that students understand the statistical concept of entropy much better if they have a chance to play with this program. Equilib 2.1 is a program that animates how random interchanges of energy between two 400-oscillator objects lead to irreversible energy transfer. Each big square is a 20x20 array of oscillators. The color shows the amount of energy in each oscillator (brighter and yellower is higher). Each time step, each oscillator has a 1/9 chance of giving one unit of energy to any of its 8 nearest neighbors or keeping it itself. The two 400-oscillator solids exchange energy across the boundary. Press "Evolve" to see what happens! The solids take about 20,000 steps to come into equilibrium. MBoltz 1.5 numerically evaluates the area under the Maxwell-Boltzmann distribution for any pair of specified endpoints. Express the endpoints as fractions of the most probable speed. The result is the probability that a molecule's speed lies within the regions specified by the endpoints. EBoltz 1.5 numerically evaluates the average energy and heat capacity of a simple quantum system using Boltzmann factors if you can specify how the energy of the system depends on the quantum level n. This program draws a graph of how the energy and heat capacity depend on temperature. This program is useful for explaining why quantum systems get "frozen out" at low temperatures. VINTAGE VERSIONS: Newton 1.5 (Mac OS9), TOGraph (Mac OS9), Schrosolver 1.0 (Mac OS9), StatMech 2 (Mac OS9), StatMech 1.0 (Mac OS9), StatMech 1.0 (Win 95/98) (by Jack Payne).
| ||