Skip to content

[WIP] Additional exx kernels: Voxel averaged and Wigner-Seitz truncation#1282

Open
toschaefer wants to merge 3 commits intoJuliaMolSim:masterfrom
toschaefer:exx_kernels
Open

[WIP] Additional exx kernels: Voxel averaged and Wigner-Seitz truncation#1282
toschaefer wants to merge 3 commits intoJuliaMolSim:masterfrom
toschaefer:exx_kernels

Conversation

@toschaefer
Copy link
Copy Markdown
Contributor

@toschaefer toschaefer commented Mar 11, 2026

Two additional useful strategies for the Coulomb kernel for electron repulsion integrals (e.g. for exx).

Wigner-Seitz truncation
R. Sundararaman, T. A. Arias. Phys. Rev. B 87, 165122 (2013)

Voxel averaged (mean potential)
T. Schaefer et al, J. Chem. Phys. 160, 051101 (2024)
This requires Gauss-Legendre quadrature points, hence I added the package FastGaussQuadrature to the dependencies.

@antoine-levitt
Copy link
Copy Markdown
Member

Nice! Particularly interested in the Wigner-Seitz truncation - is there any reason to do anything else? It seems to me this is the superior approach? Do we really want to support the voxel averaged? Also maybe some opportunities to share code with ewald.jl, but I haven't looked too closely.

It'd be nice to have a generalized API for all these functions that return centered functions (we have a couple of those: densities guesses, local pseudos, projectors, coulomb kernels, etc.). I think long-term we want the ability to get their real-space and partial Fourier transforms (wrt 1 or 2 dimensions), so we can do eg 2D materials. But maybe it's not worth unifying since they have quite different requirements (numerical psp vs analytic but singular coulomb really are quite different computationally)

CC @denizunel

@mfherbst
Copy link
Copy Markdown
Member

Also maybe some opportunities to share code with ewald.jl,

I think so, but I'd keep that for later, same as the generalized API. I'm currently looking at this on the side to streamline the code a bit, will hopefully push a review in the next week.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants