Scientific Java simulations

This page contains links to a series of interactive demonstrations, mostly of physics and related subjects.

NOTE: Improved Java-free versions of most of these (and other) examples are now available elsewhere on this site.

Web pages are no longer limited to static material, or even prerecorded image sequences. By embedding a Java "applet" in a web page it is possible to deliver an interactive application to the user's screen. The capabilities of this environment are in a state of flux, but the medium has already reached a stage where it can be put to good use.

The applets that are included here focus on subjects that are likely to interest physicists (and others in overlapping fields); any perceived bias in this collection is personal. The links labeled [3D] point to alternative applet versions that use Java 3D (for improved imagery); in a few cases, only the 3D versions are available.

Basic physics

Masses and springs

Kepler problem

Electric field mapping

Wave tank [3D]

Gyroscopic motion

Quantum wave packet (1d)

Quantum wave packet (2d) [3D]

Granular flow

Granular chute flow

Sheared granular flow

Vibrating granular layer

Granular ratchet

Horizontal size segregation

Balls in rotating cylinder [3D]

Molecular dynamics

Soft disk fluid

Soft sphere fluid [3D]

Rigid body fluid

Elastic ball [3D]

Vector spin model

Self-assembling Soma cube [3D]


Mandelbrot set

Fractal landscapes [3D]


Monte Carlo

Ising model

Traveling salesman problem

Diffusion-limited aggregation


Cellular automaton

Diffusion controlled chemistry

Penrose tiling


Multiple scattering

Lorenz attractor


Balls in a maze [3D]

Hexapod bugs [3D]

Abstract machine [3D]

Spirals [3D]