Crystal plasticity simulations using discrete Fourier transforms