Student Work

Computers give students the opportunity to tackle interesting problems early in their undergraduate careers. Not surprisingly, student programs often demonstrate strong design as well as programming skills. We have posted some of these programs on the web as examples for other students.

Follow the links from each student's name to view their computational physics projects. Upper division student names link to an individual's home page on the department's server. Computational Physics, Py 200, student names link to an archive of final projects maintained by the instructor.

Additional student work turned in during the early part of the course as bi-weekly exercises can be viewed on the homework page.

Spring 1996

Py 200
Lee Burnett Owen Cauley
Andy Coates Ryan Conatser
Jesse Ferraro Amanda Fleishman
Ben Kinnaman Mike Lassiter
Mike Lee Doug Meislahn
Natsuki Mochida Meri Mucha
Tommy Wheeler Yang You
Py 396
Andy Borleske Clay Lenhart
Doug Neumann Mike Rogerson

Some of our best students have recently completed honors theses in computational physics. These projects are very professional Windows applications that illustrate current topics in physics research. Some of these projects have won Computers in Physics software awards.

Py 200 Final Projects


This program simulates the motion of a planetary body, such as a moon around a planet or a planet around a sun. Enter the initial conditions and watch the orbit as it evolves in time. Select View|Graphs from the menu to observe other dynamic variables. Author: Andy Coates.

An_Coates.ZIP: Pascal source and Delphi project. An_Coates.EXE: Application only.


Multiple slit interference using Huygens principle. Each point inside the slit can be considered to be a point source. The intensity pattern on the screen is calculated by phasor addition of the field due to these sources. Author: Amanda Fleishman.

Fleishman.ZIP: Pascal source and Delphi project. Fleishman.EXE: Application only.


The motion of ground water through the soil, the strength of a porous network, the spreading of a fire in a forest, are all problems which fall under the general heading of percolation The most basic problem is the one where we consider a square lattice of sites, with each site occupied according to a certain probability, p. Occupied sites are plotted as filled squares, while unoccupied sites are left uncolored. Author: Mike Lee.

Mi_Lee.ZIP: Pascal source and Delphi project. Mi_Lee.EXE: Application only.

Natural Selection

This project simulates natural selection of vision characteristics among the prey in a simple predator-prey system. A number of simplifying assumptions had to be made to obtain meaningful results with limited computational power. These assumptions included non-reproducing predators, no possibility for overcrowding or starvation, and indiscriminate mating. The initial conditions can be changed by the user, thus allowing many conditions for natural selection.

Natural selection can be observed in this program. If the prey are not killed off and a relatively stable population is created, those individuals in the surviving and reproducing population generally can see farther than the predators. Those prey that can see much farther than the predators, however, are killed off as well. This is because they are too skittish and die of exhaustion—they are always running from predators and never let themselves rest. From time to time, a stable prey population is decimated by predators, often resulting in a new breeding pool with even more selected characteristics. Prey only adapt under the influence of predators. If there are few predators and those have poor vision, little change in vision occurs among the prey. If, however, predators are keen-eyed, fast, and numerous, those prey least well suited to the situation are killed very quickly. Author: Lee Burnet.

Le_Burnet.ZIP: Pascal source and Delphi project. Le_Burnet.EXE: Application only.


This program models the rate equations of a two level laser. The user can set the spontaneous emission and collisional relaxation rates using a dialog box. A slider is used to vary the pump rate while the program is running. State populations are displayed as a function of time. Author: Ryan Conatser.

Ry_Conatser.ZIP: Pascal source and Delphi project. Ry_Conatser.EXE: Application only.


This program does many linear algebra calculations including matrix inversion and LU decomposition. The program also includes the power method to find the most dominant eigenvalue and its corresponding eigenvector. One can choose to normalize the process to avoid convergence into zero or divergence to infinity after many iterations. Author: Yang You.

Yang.ZIP: Pascal source and Delphi project. Yang.EXE: Application only.
Departmental page.
WebPhysics page.