theochem / grid

Python library for numerical integration, interpolation, and differentiation on (molecular) grids.
https://grid.qcdevs.org/
GNU Lesser General Public License v3.0
46 stars 19 forks source link

Spherical Designs #154

Closed PaulWAyers closed 1 year ago

PaulWAyers commented 2 years ago

I think it may be worth adding spherical designs as an alternative angular quadrature. The rationales are that the fact that Lebedev-Laikov grids sometimes have negative weights gives problems (numerical and practical) and that for very smooth functions, spherical designs have some advantages (they seem competitive with Lebedev quadratures in general; I would speculate that this is because they do a "better job" of approximately integrating higher-degre spherical harmonics (beyond the integration order). Having uniform weights is also convenient, and ensures favorable behavior for, e.g., spherical averages and interpolation.

Other features:

PaulWAyers commented 1 year ago

156 finishes this.

The Wormesley S-codes were added, obtained from https://web.maths.unsw.edu.au/~rsw/Sphere/EffSphDes/ with reference:

[1] R. S. Womersley, Efficient Spherical Designs with Good Geometric Properties. In: Dick J., Kuo F., Wozniakowski H. (eds) Contemporary Computational Mathematics - A Celebration of the 80th Birthday of Ian Sloan. Springer (2018) pp. 1243-1285 https://doi.org/10.1007/978-3-319-72456-0_57