Diffusion engine