A computational study of oxygen diffusion in olivine