On optimal zero-padding of kernel truncation method
The kernel truncation method (KTM) is a commonly-used algorithm to compute the convolution-type nonlocal potential Φ(x)=(U∗ρ)(x), x ∈ℝ^d, where the convolution kernel U(x) might be singular at the origin and/or far-field and the density ρ(x) is smooth and fast-decaying. In KTM, in order to capture the Fourier integrand's oscillations that is brought by the kernel truncation, one needs to carry out a zero-padding of the density, which means a larger physical computation domain and a finer mesh in the Fourier space by duality. The empirical fourfold zero-padding [ Vico et al J. Comput. Phys. (2016) ] puts a heavy burden on memory requirement especially for higher dimension problems. In this paper, we derive the optimal zero-padding factor, that is, √(d)+1, for the first time together with a rigorous proof. The memory cost is greatly reduced to a small fraction, i.e., (√(d)+1/4)^d, of what is needed in the original fourfold algorithm. For example, in the precomputation step, a double-precision computation on a 256^3 grid requires a minimum 3.4 Gb memory with the optimal threefold zero-padding, while the fourfold algorithm requires around 8 Gb where the reduction factor is 37/64≈3/5. Then, we present the error estimates of the potential and density in d dimension. Next, we re-investigate the optimal zero-padding factor for the anisotropic density. Finally, extensive numerical results are provided to confirm the accuracy, efficiency, optimal zero-padding factor for the anisotropic density, together with some applications to different types of nonlocal potential, including the 1D/2D/3D Poisson, 2D Coulomb, quasi-2D/3D Dipole-Dipole Interaction and 3D quadrupolar potential.
READ FULL TEXT