ArkansasArkansas Physics

Computer Simulations

 

The person mainly responsible for this ongoing project is Dr. Harter, whose work is covered at length below. Recently, however, Dr. Gea-Banacloche has also joined in this effort by developing a couple of instructional Java applets: a vector addition applet and a Kinetic Theory demo. If your browser supports Java, you can check them out right now!

Over the past ten years Dr. Harter has undertaken two major projects to improve the teaching of physics using computer animations, simulations, and demonstrations. The first project called LearnIt is for non-programmers and computer neophytes, while the second and more recent project CodeIt is for students beginning to learn the art of scientific simulation programming.

LearnIt consists a 'library' of fifteen or twenty 'user-friendly' graphical animation programs. Some of these are described in a feature article in Computers in Physics (Sept 1993). They have been used as classroom demonstrations by instructors and laboratory projects for students in a wide range of classes at a number of universities and colleges in the U.S. and Europe. They contain powerful and intriguing lecture demonstrations but they minimize arcane aspects of computer which would otherwise interfere with teaching or learning.

CodeIt consists of 'trees' of different programming shell projects each with a multitude of powerful simulation tools in the form of C++ source code. They provide students with an 'industrial strength' development environment equal or better than any they will encounter in academic research labs or high tech workplaces. Some of the better results of the CodeIt project become part of the LearnIt library, but the main idea is to let students learn by doing both the physics and the programming.

List of LearnIt Simulations

 WaveIt (Pascal) shows bitmap animation of n-coupled oscillators (n=2,3...25) and 1-dimensional complex wave motion using phasors, waveform, envelope, and space-time diagrams. It is designed to demonstrate dispersion relations, phase velocity, group velocity, node velocity, standing wave ratios, acoustical modes, optical modes, galloping waves, umklapp waves, backward waves, square waves, delta waves, and mechanics of the Brillouin zone. It has a graphical "click&set" phasor control for complex Fourier transform or inverse transform which may be used to set initial conditions of a mode or wave. Spreadsheet transform editing can be done, as well.

 RelativIt (Pascal) features a spaceship freighter passing between two lighthouses to enter a galactic harbor. It produces bitmap animations of space-space and space-time views of ship, lighthouse and expanding light waves in order to help develop relativistic transformations. Minkowski graphs are developed and used in animations of space-time and energy-momentum plots. It shows relativistic geometry of invariants, Lorentz contraction, Doppler shifts, collision 4-vectors, current-charge, and uniformly accelerating frames. Includes a striking description of a super-luminal "butler" who manages to appear briefly in three places at one time! ('Butlers' are realized physically by wave nodes in WaveIt.)

 BandIt (FORTRAN) is a bitmap animation of 1-dimensional wavefunctions propagating through media of variable complex index. It is intended to show either quantum mechanical or optical wavefunctions, resonance, and scattering. A zoom-view spectral plot allows graphical selection of resonant peaks for subsequent wavefunction animation. It demonstrates barrier tunneling, reflection, non-reflecting coating, impedance matching, Ramsauer-Townsend effect, singly or multiply degenerate resonance, absorption, dispersion, and optical amplification.

 BounceIt (FORTRAN) is a bitmap animation of energy and momentum conserving collisions involving multiple (n=2 to 5) masses and a wall. This can accompany a spectacular 'real' demonstration of velocity amplification using superballs. It shows a simple nomogram plot which elucidates the application of conservation laws to kinematics.

 OscillIt (Pascal) is a color XOR animation of forced damped harmonic oscillators which displays time trajectory plot, position and force phasor, force vector, force-distance work plot, Fourier transform, response-frequency plot and Smith diagram.

 AnalyIt (FORTRAN) displays properties of analytic functions of complex variables using color vector fields or complex potential mappings. User driven drawing or underlying grid are transformed and mapped instantly by chosen function f(z). It is intended to show poles, branch cuts, Schwarz-Christoffel transformations, contour integration, and consequences of Cauchy-Riemann conditions.

 MatrIt (Pascal) contains a mouse driven color display of two-dimensional matrix transformations on vectors. It includes two representations of elliptic or hyperbolic quadratic forms which show the mutual tangent relations and the extremal nature of eigensolutions.

 DiffractIt (Pascal) shows multiple slit interference using animated Moire-like wave front patterns superimposed onto diffraction function plots. Also it contains bitmap animation of two-dimensional wave fronts, wave forms, and ray traces for plane waves superimposed in rectangular wave guide and wave cavity which show phase and group velocity.

 ColorU(2) (FORTRAN) is a color XOR and palette animated study of two-dimensional coupled oscillator and two-level quantum systems. It is based upon the R(3)-SU(2) group relation between vector and spinor spaces. It contains a user controlled graphical representation of optical polarization ellipsometry and optical spin space which may be used to set oscillator or two-state initial conditions. The resulting motion in 4-dimensional phase space may be viewed in stereo 3D animated views. Phase trajectories may be colored according to the value of Hamilton's characteristic action function. A complex plot yields a simple color pattern if the action satisfies Bohr quantization conditions. Animating the color palette shows the quantum mechanical wave motion on an invariant toris in phase space.

 CoulIt (Pascal) Simulates classical Coulomb field dynamics for single and double center orbital and scattering problems including perturbations by uniform and harmonic forces. Single particles or swarms of particles can be animated. Color quantization (See ColorU(2)) is available. Lenz vector geometry is displayed for single center Coulomb orbits. Parabolic coordinates are shown for Coulomb-Stark fields. Elliptic-hyperbolic coordinates are shown for 2-center problems.

VaryIt (FCMD utility) allows scientific programmers to rapidly modify and control multiple variables and parameters without using a keyboard. Integer, real, double, or extended precision variables can be input directly or augmented additively or multiplicatively by a single 'mouse click'. Variables and their labels are displayed in a compact control structure which can be made as small as font resolution will allow. The display format (fixed, scientific, etc.) of each variable may be reset independently by mouse pointer. Designed for dynamic simulations and lecture presentation.

 BBVibes (Basic) Displays the classical normal modes of the Buckminsterfullerene (C60) molecule using animated 3D stereoptic views of the vibrating carbon atoms. Sophisticated group theoretical techniques are used to quickly calculate and display any of the 180 genuine and non-genuine modes of vibration labeled by any of the symmetry sub-group chains in the full Yh icosahedral representation space. The rovibrational Coriolis polarization effects of overall molecular rotation are shown by the resulting elliptic orbits of the constituent atoms.

 SpinIt:The Physics of Molecular Rotation (C++) Simulates the classical dynamics of rigid and semi-rigid molecular rotors. Uses animated 3D stereoptic views which show simultaneously the views from the inertial lab-fixed frame and the rotating body-fixed frame. The motion of the rotating body and the vectors of angular momentum or velocity can be animated simultaneously. The Coriolis effects of coupling between molecular rotation and internal spin angular momentum may be simulated, as well.

 DynamIt (ProGraph) Introduces the basic ideas of calculus as they apply to dynamics. Differentiation is introduced as subtraction between neighboring numbers in a list, and integration is introduced as a summation of these numbers. These operations are carried out interactively using three time graphs of number lists belonging to time functions position x(t), velocity v(t), and acceleration a(t). Arbitrary points can be moved in any one of the graphs and the others immediately adjust accordingly. The same type of interactive plots are used to manipulate spatial functions potential V(x) and force F(x), and the resulting time dynamics is stored in the time lists and graphs for x(t), v(t), and a(t). Animations show how slope and area evolves with time while an odometer, speedometer, and accelerometer indicate position, velocity, and acceleration. A menu of standard functions provides other examples of time behavior.

List of CodeIt Projects

HitIt:The Physics of Tennis (C++) Simulates the complex mechanics of a tennis ball in flight and its collision with a moving racquet. The Magnus effects of lift and drag due to high velocity and spin are modeled semi-empirically using published experimental results for varying atmospheric pressure and humidity. The change of spin, velocity, and bounce angle are calculated given known parameters of court-ball coefficients of restitution and friction. Trajectories are initialized by on-screen mouse action which sets initial conditions. Trajectory flight data is animated and saved numerically in a text file window which contains height, speed, angle, and spin before and after net crossing, first bounce, and baseline crossing. Racquet collision simulation shows how initial spin and velocity are produced.

AvoidIt:The Physics of Avoided Two-Level Crossing (C++) Models the quantum dynamics of perturbed two-level atom or NMR spin-resonance subject to Stark effects or related changing external symmetry breaking fields. Interactive animation displays the Hamiltonian matrix, its eigenlevel trajectories, the moving 2-state wave amplitudes (Psi1(t) and Psi2(t)) , and the rotating Rabi spin vector <S(t)> . It allows any of the Hamiltonian parameters to be varied as time passes and demonstrates diabatic or adiabatic crossing or non-crossing found in the Landau-Zenner effect.

CnvModes:Homocyclic Symmetry and Modes (C++) Animates the normal modes of a Cnv symmetric homo-cyclic ring molecule (n=1,2,...24) for arbitrary initial conditions and a variety of inter-atomic force field couplings. Normal modes are symmetry labeled and displayed on one side of the screen . Amplitudes and phases of each mode can be tweaked to see the effect on the superimposed motion of the whole molecule being animated on the other side. Amplitudes of individual atoms can be varied too, and the resulting normal mode amplitudes respond accordingly.

CnvWaves:Homocyclic Bloch Waves (C++) Animates the quantum waves of a Cnv symmetric homo-cyclic potential (n=1,2,...24) for arbitrary initial conditions and a variety of potentials. Eigenfunctions Phin (x) are symmetry labeled and displayed along an energy scale . Amplitudes and phases of each eigenstate can be tweaked to see the effect on the superimposed wave motion while it is being animated . Both the spatial wave amplitudes Psi(x) and the Fourier amplitudes Psi(k) can be varied too, and all the other mode amplitudes respond accordingly.

The Trebuchet (C++) Animated simulation of an ancient and deadly war weapon called the Trebuchet. This fiendishly clever catapult was used to bring down fortified cities from around 1100 AD until about 1450 AD and for hundreds of years was more effective than cannons. The Trebuchet is thought to have hastened the spread of black plague since it was used to heave bodies of plague victims into besieged fortifications.

Cycloids and Pendula (C++) So much of physics owes its development to precise time and frequency devices. The development of the cycloidal pendulum in 1680 by Christian Huygens is therefore as significant as it is beautiful. This animated simulation shows how a pendulum made by wrapping a cord around a cycloid achieves a perfect pitch that is independent of oscillation amplitude. It also shows some little known geometric and dynamic properties of the motion.

 


.backBack to Physics Main Page   backBack to Research Areas

Last Updated: February 15, 1999
Contact the Physics Webmaster::physics@cavern.uark.edu