Non-Uniform FFT and Its Applications in Particle Simulations