Matter & Interactions

Volume I: Modern Mechanics
Lecture-demonstration software

 

(Home) (Articles) (Contents) (Instructors)

Computer programs for use in lecture

Creative Commons License
The work below is licensed under a Creative Commons Attribution 2.5 License. Please read the license before downloading the software.

The initial number is the chapter of Matter & Interactions (2nd edition) in which the program is most useful.
Read the text at the start of the program for how to use the program.
Install VPython to use these programs.

Here are all of the programs listed below, in one zip file.

02_newton.py (drag an object with a single force illustrating the momentum principle, Newton's 2nd law)

02_newton_grid.py (drag an object across a grid with a single force illustrating the Momentum Principle, Newton's 2nd law)

02_particle_collision.py (click to see a collision)

03_p73_EarthSun_1step.py (one-step integration gives poor result)
03_p77_BlockSpring.py (numerical integration of a block on a spring)
03_p85_EarthSun_3step.py (three-step integration gives better result, a crude orbit)

03_doublependula.py (demonstrate sensitivity to initial conditions with two double pendula)

03_3body_3D.py (3D motion of three stars)

03_threebody.py (three-body motion; the first execution after saving the program generates example files)
The examples include "x=-2.76" and "x=-2.765" which are nearly identical initial conditions
which however have very different trajectories, an example of extreme sensitivity to initial conditions.

04_speed_of_sound.py (model propagation of sound in aluminum and lead)

05_potential_energy_well.py (design a potential energy well and observe motion in the well)

07_Bohr_levels.py (visualization of Bohr model, with accompanying energy diagrams)

07_Franck_Hertz.py (simplified Franck-Hertz experiment; an electron with sufficient energy can raise a mercury atom from its ground state to an excited state)

07_spectrum.py (how a diffraction grating displays emission spectra and dark-line absorption spectra)

07_absorb_emit.py (atoms absorb energy from electron beam, emit photons)

07_quantum_oscillator.py (quantum harmonic oscillator, with classical oscillator display for context)

08_RestFrame.py (one block at rest, another moving, seen from the rest frame of the first block)
08_MovingFrame.py (the two blocks seen from a frame moving with the center of mass)

08_twopucks.py (rotating and nonrotating pucks)

08_translating_oscillator.py (two blocks connected by springs vibrate and translate)

08_RotateVibrateTranslate.py (two balls connected by springs rotate, vibrate, and translate)

10_crossproduct.py (illustrate cross product in 3D)
10_crossproduct_area.py (illustrate cross product in 3D, with parallelogram area shown for magnitude)

10_barbell_ang_mom.py (show translational and rotational angular momentum)

10_wheel_L.py (angular momentum of a rotating wheel)

10_drop_clay.py (drop some clay onto a wheel)

10_ElliptOrbitAngMom.py (click to show angular momentum of a comet at that location)

10_binary_star_ang_mom.py (shows angular momentum of each star, and the sum)

10_gyro.py (gyroscope suspended from a spring)

10_gyro2.py (gyroscope on pedestal, illustrating nutation; uses Lagrangian mechanics)

11_wells_oscillator.py (semiclassical 3D oscillator)

12_gas.py (hard-sphere gas; exhibits Maxwell-Boltzmann speed distribution)

12_path_of_gas_atom.py (watch the path of one atom in a gas)

12_piston.py (move piston up and down, see effects on gas)

12_carnot.py (illustration of Carnot engine and Carnot cycle)