{"title":"自由空间中径向对称核的非周期粒子网格Ewald法","authors":"Dennis M. Elking","doi":"10.1016/j.cpc.2025.109739","DOIUrl":null,"url":null,"abstract":"<div><div>The FFT-based smooth particle mesh Ewald (PME) method is extended to non-periodic charge systems interacting via a radially symmetric kernel <span><math><mi>f</mi><mo>(</mo><mi>r</mi><mo>)</mo></math></span>. The proposed non-periodic PME (NPME) method begins by splitting the kernel <span><math><mi>f</mi><mo>(</mo><mi>r</mi><mo>)</mo></math></span> into a short-range component <span><math><msub><mrow><mi>f</mi></mrow><mrow><mi>s</mi></mrow></msub><mo>(</mo><mi>r</mi><mo>)</mo></math></span> and a smooth long-range component <span><math><msub><mrow><mi>f</mi></mrow><mrow><mi>l</mi></mrow></msub><mo>(</mo><mi>r</mi><mo>)</mo></math></span>. A Fourier extension for <span><math><msub><mrow><mi>f</mi></mrow><mrow><mi>l</mi></mrow></msub><mo>(</mo><mi>r</mi><mo>)</mo></math></span> is computed numerically using discrete Fourier transform interpolation, enabling efficient treatment of anisotropic rectangular charge volume and offering additional flexibility in the choice of kernel splitting. A derivative-matched (DM) splitting is introduced for general radially symmetric kernels <span><math><mi>f</mi><mo>(</mo><mi>r</mi><mo>)</mo></math></span>, improving computational performance over traditional Ewald splitting methods. An optimized grid storage algorithm for NPME is proposed, reducing total grid memory by a factor of four. The NPME algorithm is implemented in a C++ library, <span>npme</span>, which supports both pre-defined kernels (e.g. <span><math><mn>1</mn><mo>/</mo><mi>r</mi><mo>,</mo><msup><mrow><mi>r</mi></mrow><mrow><mi>α</mi></mrow></msup><mo>,</mo><mi>exp</mi><mo></mo><mo>(</mo><mi>i</mi><msub><mrow><mi>k</mi></mrow><mrow><mn>0</mn></mrow></msub><mi>r</mi><mo>)</mo><mo>/</mo><mi>r</mi></math></span>) and user-defined kernels via C++ classes. <span>npme</span> is benchmarked and compared to <span>fmm3D</span> on test systems in computational chemistry and computational electromagnetics. As a practical application, NPME is combined with Method of Moments (MoM) to form a hybrid MoM-NPME algorithm for calculating the radar cross section (RCS) of a perfect electric conductor (PEC). The MoM–NPME method is used to compute the bistatic RCS of a 1-meter PEC sphere at 37.8 GHz and the monostatic RCS of the NASA almond at 75 GHz.</div></div><div><h3>Program summary</h3><div><em>Program Title:</em> <span>npme</span></div><div><em>CPC Library link to program files:</em> <span><span><span>https://doi.org/10.17632/vs86pk3dpt.1</span></span><svg><path></path></svg></span></div><div><em>Developer's repository link:</em> <span><span><span>https://github.com/ElkingD/npme</span></span><svg><path></path></svg></span></div><div><em>Licensing provisions:</em> Apache 2.0</div><div><em>Programming language:</em> C++</div><div><em>Supplementary material:</em> A supplementary material containing additional technical details and results is provided.</div><div><em>Nature of problem:</em> <span>npme</span> computes the potential and its gradient of <em>N</em> non-periodic charges contained within a 3D rectangular volume interacting through a radially symmetric kernel. The charges, kernel, potential, and its gradient can be real or complex. Pre-defined kernels are given by <span><math><mn>1</mn><mo>/</mo><mi>r</mi><mo>,</mo><msup><mrow><mi>r</mi></mrow><mrow><mi>α</mi></mrow></msup><mo>,</mo><mi>exp</mi><mo></mo><mo>(</mo><mi>i</mi><msub><mrow><mi>k</mi></mrow><mrow><mn>0</mn></mrow></msub><mi>r</mi><mo>)</mo><mo>/</mo><mi>r</mi></math></span> where <em>α</em> is real and <span><math><msub><mrow><mi>k</mi></mrow><mrow><mn>0</mn></mrow></msub></math></span> is complex. In addition, users can implement their own radially symmetric kernel with C++ classes.</div><div><em>Solution method:</em> <span>npme</span> computes the potential and its gradient using the non-periodic particle mesh Ewald (NPME) method proposed here in <span><math><mi>O</mi><mo>(</mo><mi>N</mi><mi>log</mi><mo></mo><mi>N</mi><mo>)</mo></math></span> operations. <span>npme</span> is optimized for variable charge and static geometry inputs using vector intrinsic functions and OpenMP.</div><div><em>Additional comments including restrictions and unusual features:</em> <span>npme</span> requires the Intel® C/C++ compiler with Math Kernel Library.</div></div>","PeriodicalId":285,"journal":{"name":"Computer Physics Communications","volume":"315 ","pages":"Article 109739"},"PeriodicalIF":3.4000,"publicationDate":"2025-07-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"A non-periodic particle mesh Ewald method for radially symmetric kernels in free space\",\"authors\":\"Dennis M. Elking\",\"doi\":\"10.1016/j.cpc.2025.109739\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<div><div>The FFT-based smooth particle mesh Ewald (PME) method is extended to non-periodic charge systems interacting via a radially symmetric kernel <span><math><mi>f</mi><mo>(</mo><mi>r</mi><mo>)</mo></math></span>. The proposed non-periodic PME (NPME) method begins by splitting the kernel <span><math><mi>f</mi><mo>(</mo><mi>r</mi><mo>)</mo></math></span> into a short-range component <span><math><msub><mrow><mi>f</mi></mrow><mrow><mi>s</mi></mrow></msub><mo>(</mo><mi>r</mi><mo>)</mo></math></span> and a smooth long-range component <span><math><msub><mrow><mi>f</mi></mrow><mrow><mi>l</mi></mrow></msub><mo>(</mo><mi>r</mi><mo>)</mo></math></span>. A Fourier extension for <span><math><msub><mrow><mi>f</mi></mrow><mrow><mi>l</mi></mrow></msub><mo>(</mo><mi>r</mi><mo>)</mo></math></span> is computed numerically using discrete Fourier transform interpolation, enabling efficient treatment of anisotropic rectangular charge volume and offering additional flexibility in the choice of kernel splitting. A derivative-matched (DM) splitting is introduced for general radially symmetric kernels <span><math><mi>f</mi><mo>(</mo><mi>r</mi><mo>)</mo></math></span>, improving computational performance over traditional Ewald splitting methods. An optimized grid storage algorithm for NPME is proposed, reducing total grid memory by a factor of four. The NPME algorithm is implemented in a C++ library, <span>npme</span>, which supports both pre-defined kernels (e.g. <span><math><mn>1</mn><mo>/</mo><mi>r</mi><mo>,</mo><msup><mrow><mi>r</mi></mrow><mrow><mi>α</mi></mrow></msup><mo>,</mo><mi>exp</mi><mo></mo><mo>(</mo><mi>i</mi><msub><mrow><mi>k</mi></mrow><mrow><mn>0</mn></mrow></msub><mi>r</mi><mo>)</mo><mo>/</mo><mi>r</mi></math></span>) and user-defined kernels via C++ classes. <span>npme</span> is benchmarked and compared to <span>fmm3D</span> on test systems in computational chemistry and computational electromagnetics. As a practical application, NPME is combined with Method of Moments (MoM) to form a hybrid MoM-NPME algorithm for calculating the radar cross section (RCS) of a perfect electric conductor (PEC). The MoM–NPME method is used to compute the bistatic RCS of a 1-meter PEC sphere at 37.8 GHz and the monostatic RCS of the NASA almond at 75 GHz.</div></div><div><h3>Program summary</h3><div><em>Program Title:</em> <span>npme</span></div><div><em>CPC Library link to program files:</em> <span><span><span>https://doi.org/10.17632/vs86pk3dpt.1</span></span><svg><path></path></svg></span></div><div><em>Developer's repository link:</em> <span><span><span>https://github.com/ElkingD/npme</span></span><svg><path></path></svg></span></div><div><em>Licensing provisions:</em> Apache 2.0</div><div><em>Programming language:</em> C++</div><div><em>Supplementary material:</em> A supplementary material containing additional technical details and results is provided.</div><div><em>Nature of problem:</em> <span>npme</span> computes the potential and its gradient of <em>N</em> non-periodic charges contained within a 3D rectangular volume interacting through a radially symmetric kernel. The charges, kernel, potential, and its gradient can be real or complex. Pre-defined kernels are given by <span><math><mn>1</mn><mo>/</mo><mi>r</mi><mo>,</mo><msup><mrow><mi>r</mi></mrow><mrow><mi>α</mi></mrow></msup><mo>,</mo><mi>exp</mi><mo></mo><mo>(</mo><mi>i</mi><msub><mrow><mi>k</mi></mrow><mrow><mn>0</mn></mrow></msub><mi>r</mi><mo>)</mo><mo>/</mo><mi>r</mi></math></span> where <em>α</em> is real and <span><math><msub><mrow><mi>k</mi></mrow><mrow><mn>0</mn></mrow></msub></math></span> is complex. In addition, users can implement their own radially symmetric kernel with C++ classes.</div><div><em>Solution method:</em> <span>npme</span> computes the potential and its gradient using the non-periodic particle mesh Ewald (NPME) method proposed here in <span><math><mi>O</mi><mo>(</mo><mi>N</mi><mi>log</mi><mo></mo><mi>N</mi><mo>)</mo></math></span> operations. <span>npme</span> is optimized for variable charge and static geometry inputs using vector intrinsic functions and OpenMP.</div><div><em>Additional comments including restrictions and unusual features:</em> <span>npme</span> requires the Intel® C/C++ compiler with Math Kernel Library.</div></div>\",\"PeriodicalId\":285,\"journal\":{\"name\":\"Computer Physics Communications\",\"volume\":\"315 \",\"pages\":\"Article 109739\"},\"PeriodicalIF\":3.4000,\"publicationDate\":\"2025-07-07\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Computer Physics Communications\",\"FirstCategoryId\":\"101\",\"ListUrlMain\":\"https://www.sciencedirect.com/science/article/pii/S0010465525002413\",\"RegionNum\":2,\"RegionCategory\":\"物理与天体物理\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q1\",\"JCRName\":\"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computer Physics Communications","FirstCategoryId":"101","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0010465525002413","RegionNum":2,"RegionCategory":"物理与天体物理","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS","Score":null,"Total":0}
A non-periodic particle mesh Ewald method for radially symmetric kernels in free space
The FFT-based smooth particle mesh Ewald (PME) method is extended to non-periodic charge systems interacting via a radially symmetric kernel . The proposed non-periodic PME (NPME) method begins by splitting the kernel into a short-range component and a smooth long-range component . A Fourier extension for is computed numerically using discrete Fourier transform interpolation, enabling efficient treatment of anisotropic rectangular charge volume and offering additional flexibility in the choice of kernel splitting. A derivative-matched (DM) splitting is introduced for general radially symmetric kernels , improving computational performance over traditional Ewald splitting methods. An optimized grid storage algorithm for NPME is proposed, reducing total grid memory by a factor of four. The NPME algorithm is implemented in a C++ library, npme, which supports both pre-defined kernels (e.g. ) and user-defined kernels via C++ classes. npme is benchmarked and compared to fmm3D on test systems in computational chemistry and computational electromagnetics. As a practical application, NPME is combined with Method of Moments (MoM) to form a hybrid MoM-NPME algorithm for calculating the radar cross section (RCS) of a perfect electric conductor (PEC). The MoM–NPME method is used to compute the bistatic RCS of a 1-meter PEC sphere at 37.8 GHz and the monostatic RCS of the NASA almond at 75 GHz.
Program summary
Program Title:npme
CPC Library link to program files:https://doi.org/10.17632/vs86pk3dpt.1
Supplementary material: A supplementary material containing additional technical details and results is provided.
Nature of problem:npme computes the potential and its gradient of N non-periodic charges contained within a 3D rectangular volume interacting through a radially symmetric kernel. The charges, kernel, potential, and its gradient can be real or complex. Pre-defined kernels are given by where α is real and is complex. In addition, users can implement their own radially symmetric kernel with C++ classes.
Solution method:npme computes the potential and its gradient using the non-periodic particle mesh Ewald (NPME) method proposed here in operations. npme is optimized for variable charge and static geometry inputs using vector intrinsic functions and OpenMP.
Additional comments including restrictions and unusual features:npme requires the Intel® C/C++ compiler with Math Kernel Library.
期刊介绍:
The focus of CPC is on contemporary computational methods and techniques and their implementation, the effectiveness of which will normally be evidenced by the author(s) within the context of a substantive problem in physics. Within this setting CPC publishes two types of paper.
Computer Programs in Physics (CPiP)
These papers describe significant computer programs to be archived in the CPC Program Library which is held in the Mendeley Data repository. The submitted software must be covered by an approved open source licence. Papers and associated computer programs that address a problem of contemporary interest in physics that cannot be solved by current software are particularly encouraged.
Computational Physics Papers (CP)
These are research papers in, but are not limited to, the following themes across computational physics and related disciplines.
mathematical and numerical methods and algorithms;
computational models including those associated with the design, control and analysis of experiments; and
algebraic computation.
Each will normally include software implementation and performance details. The software implementation should, ideally, be available via GitHub, Zenodo or an institutional repository.In addition, research papers on the impact of advanced computer architecture and special purpose computers on computing in the physical sciences and software topics related to, and of importance in, the physical sciences may be considered.