bugfix: diffusion is now symmetrical and the energy and neighbours are no longer double counted.