Completed diffusion simulation. TODO: Figure out why the damn thing
diverges when the boundary values are nonzero.