Crank-Nicholson solution to the equation du/dt = d2u/dx2 + d2u/dy2. The initial conditions were a localized product of sine functions centered in the domain with all edges (north, south, east, west) u = 0. The north boundary holds u = 0 (Dirichlet), while the south, east, and west boundaries have du/dt = 0 (Neumann).
Source code diffusion2dsurf.m is configurable for x and y dimension, type of solution (Crank-Nicholson, implicit, or explicit) scheme, and saves the plots as EPS files to be made into a movie. This code was written as part of a self-study program using the materials provided by MIT's 18.086 Mathematical Methods for Engineers II course. This course is part of MIT's Open Courseware project, which provides high quality educational materials for free over the web.
Produced by Octave and Gnuplot on a Mac Powerbook!