Simulation of carrier diffusion with random walks