Added fixes to 2D FDM diffusion and changed diffusion to use sparse
matrix methods rather than dense. Appears to give a moderate speed increase.