Fast electrostatic solvers for kinetic Monte Carlo simulations

•New electrostatic algorithm for fast kinetic Monte Carlo (KMC) simulations.•Modified Fast Multipole Method scales linearly in number of particles per KMC step.•Performance portable high-level Python user interface uses code generation.•Demonstrated parallel scalability for 1 million charges and 819...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Journal of computational physics 2020-06, Vol.410, p.109379, Article 109379
Hauptverfasser: Saunders, William Robert, Grant, James, Müller, Eike Hermann, Thompson, Ian
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page
container_issue
container_start_page 109379
container_title Journal of computational physics
container_volume 410
creator Saunders, William Robert
Grant, James
Müller, Eike Hermann
Thompson, Ian
description •New electrostatic algorithm for fast kinetic Monte Carlo (KMC) simulations.•Modified Fast Multipole Method scales linearly in number of particles per KMC step.•Performance portable high-level Python user interface uses code generation.•Demonstrated parallel scalability for 1 million charges and 8192 cores. Kinetic Monte Carlo (KMC) is an important computational tool in theoretical physics and chemistry. In contrast to standard Monte Carlo, KMC permits the description of time dependent dynamical processes and is not restricted to systems in equilibrium. Compared to Molecular Dynamics, it allows simulations over significantly longer timescales. Recently KMC has been applied successfully in modelling of novel energy materials such as Lithium-ion batteries and organic/perovskite solar cells. Motivated by this, we consider general solid state systems which contain free, interacting particles which can hop between localised sites in the material. The KMC transition rates for those hops depend on the change in total potential energy of the system. For charged particles this requires the frequent calculation of electrostatic interactions, which is usually the bottleneck of the simulation. To avoid this issue and obtain results in reasonable times, many studies replace the long-range potential by a phenomenological short range approximation. This, however, leads to systematic errors and unphysical results. On the other hand standard electrostatic solvers such as Ewald summation or fast Poisson solvers are highly inefficient in the KMC setup or introduce uncontrollable systematic errors at high resolution. In this paper we describe how the Fast Multipole Method by Greengard and Rokhlin can be adapted to overcome this issue by dramatically reducing computational costs. We exploit the fact that each update in the transition rate calculation corresponds to a single particle move and changes the configuration only by a small amount. This allows us to construct an algorithm which scales linearly in the number of charges for each KMC step, something which had not been deemed to be possible before. We demonstrate the performance and parallel scalability of the method by implementing it in a performance portable software library, which was recently developed in our group. We describe the high-level Python interface of the code which makes it easy to adapt to specific use cases.
doi_str_mv 10.1016/j.jcp.2020.109379
format Article
fullrecord <record><control><sourceid>proquest_webof</sourceid><recordid>TN_cdi_webofscience_primary_000534234000029CitationCount</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><els_id>S0021999120301534</els_id><sourcerecordid>2441886736</sourcerecordid><originalsourceid>FETCH-LOGICAL-c325t-b7ab178fa40ecec1bc77818641ea83249efec926c872dd83c617c57291865bce3</originalsourceid><addsrcrecordid>eNqNkMFKxDAQhoMouK4-gLeCR-mapGmTIAhSXBVWvOg5tOkUUrvNmqQrvr2pFY_iKZPw_ZmZD6FzglcEk-KqW3V6t6KYTneZcXmAFrHAKeWkOEQLjClJpZTkGJ1432GMRc7EAt2sKx8S6EEHZ32ogtGJt_0enE9a65I3M8D09mSHAElZud4m3mzHPpJ28KfoqK16D2c_5xK9ru9eyod083z_WN5uUp3RPKQ1r2rCRVsxDBo0qTXngoiCEahERpmEFrSkhRacNo3IdEG4zjmVkclrDdkSXcz_7px9H8EH1dnRDbGloowRIQqeFZEiM6XjLt5Bq3bObCv3qQhWkybVqahJTZrUrClmxJz5gNq2XhsYNPzmoqc8YzRjscBUliZ8713acQgxevn_aKSvZxqip70Bp34SjXHRvmqs-WPML-vCkDo</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2441886736</pqid></control><display><type>article</type><title>Fast electrostatic solvers for kinetic Monte Carlo simulations</title><source>Web of Science - Science Citation Index Expanded - 2020&lt;img src="https://exlibris-pub.s3.amazonaws.com/fromwos-v2.jpg" /&gt;</source><source>Access via ScienceDirect (Elsevier)</source><creator>Saunders, William Robert ; Grant, James ; Müller, Eike Hermann ; Thompson, Ian</creator><creatorcontrib>Saunders, William Robert ; Grant, James ; Müller, Eike Hermann ; Thompson, Ian</creatorcontrib><description>•New electrostatic algorithm for fast kinetic Monte Carlo (KMC) simulations.•Modified Fast Multipole Method scales linearly in number of particles per KMC step.•Performance portable high-level Python user interface uses code generation.•Demonstrated parallel scalability for 1 million charges and 8192 cores. Kinetic Monte Carlo (KMC) is an important computational tool in theoretical physics and chemistry. In contrast to standard Monte Carlo, KMC permits the description of time dependent dynamical processes and is not restricted to systems in equilibrium. Compared to Molecular Dynamics, it allows simulations over significantly longer timescales. Recently KMC has been applied successfully in modelling of novel energy materials such as Lithium-ion batteries and organic/perovskite solar cells. Motivated by this, we consider general solid state systems which contain free, interacting particles which can hop between localised sites in the material. The KMC transition rates for those hops depend on the change in total potential energy of the system. For charged particles this requires the frequent calculation of electrostatic interactions, which is usually the bottleneck of the simulation. To avoid this issue and obtain results in reasonable times, many studies replace the long-range potential by a phenomenological short range approximation. This, however, leads to systematic errors and unphysical results. On the other hand standard electrostatic solvers such as Ewald summation or fast Poisson solvers are highly inefficient in the KMC setup or introduce uncontrollable systematic errors at high resolution. In this paper we describe how the Fast Multipole Method by Greengard and Rokhlin can be adapted to overcome this issue by dramatically reducing computational costs. We exploit the fact that each update in the transition rate calculation corresponds to a single particle move and changes the configuration only by a small amount. This allows us to construct an algorithm which scales linearly in the number of charges for each KMC step, something which had not been deemed to be possible before. We demonstrate the performance and parallel scalability of the method by implementing it in a performance portable software library, which was recently developed in our group. We describe the high-level Python interface of the code which makes it easy to adapt to specific use cases.</description><identifier>ISSN: 0021-9991</identifier><identifier>EISSN: 1090-2716</identifier><identifier>DOI: 10.1016/j.jcp.2020.109379</identifier><language>eng</language><publisher>SAN DIEGO: Elsevier Inc</publisher><subject>Algorithms ; Charged particles ; Computational physics ; Computer Science ; Computer Science, Interdisciplinary Applications ; Computer simulation ; Computing costs ; Domain specific language ; Electrostatics ; Fast Multipole Method ; Kinetic Monte Carlo ; Lithium-ion batteries ; Molecular dynamics ; Multipoles ; Parallel computing ; Perovskites ; Photovoltaic cells ; Physical Sciences ; Physics ; Physics, Mathematical ; Potential energy ; Rechargeable batteries ; Science &amp; Technology ; Software ; Solar cells ; Solvers ; Systematic errors ; Technology ; Theoretical physics ; Time dependence</subject><ispartof>Journal of computational physics, 2020-06, Vol.410, p.109379, Article 109379</ispartof><rights>2020 Elsevier Inc.</rights><rights>Copyright Elsevier Science Ltd. Jun 1, 2020</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>true</woscitedreferencessubscribed><woscitedreferencescount>0</woscitedreferencescount><woscitedreferencesoriginalsourcerecordid>wos000534234000029</woscitedreferencesoriginalsourcerecordid><citedby>FETCH-LOGICAL-c325t-b7ab178fa40ecec1bc77818641ea83249efec926c872dd83c617c57291865bce3</citedby><cites>FETCH-LOGICAL-c325t-b7ab178fa40ecec1bc77818641ea83249efec926c872dd83c617c57291865bce3</cites><orcidid>0000-0003-3006-3347 ; 0000-0003-1362-2055</orcidid></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://dx.doi.org/10.1016/j.jcp.2020.109379$$EHTML$$P50$$Gelsevier$$H</linktohtml><link.rule.ids>315,782,786,3552,27931,27932,28255,46002</link.rule.ids></links><search><creatorcontrib>Saunders, William Robert</creatorcontrib><creatorcontrib>Grant, James</creatorcontrib><creatorcontrib>Müller, Eike Hermann</creatorcontrib><creatorcontrib>Thompson, Ian</creatorcontrib><title>Fast electrostatic solvers for kinetic Monte Carlo simulations</title><title>Journal of computational physics</title><addtitle>J COMPUT PHYS</addtitle><description>•New electrostatic algorithm for fast kinetic Monte Carlo (KMC) simulations.•Modified Fast Multipole Method scales linearly in number of particles per KMC step.•Performance portable high-level Python user interface uses code generation.•Demonstrated parallel scalability for 1 million charges and 8192 cores. Kinetic Monte Carlo (KMC) is an important computational tool in theoretical physics and chemistry. In contrast to standard Monte Carlo, KMC permits the description of time dependent dynamical processes and is not restricted to systems in equilibrium. Compared to Molecular Dynamics, it allows simulations over significantly longer timescales. Recently KMC has been applied successfully in modelling of novel energy materials such as Lithium-ion batteries and organic/perovskite solar cells. Motivated by this, we consider general solid state systems which contain free, interacting particles which can hop between localised sites in the material. The KMC transition rates for those hops depend on the change in total potential energy of the system. For charged particles this requires the frequent calculation of electrostatic interactions, which is usually the bottleneck of the simulation. To avoid this issue and obtain results in reasonable times, many studies replace the long-range potential by a phenomenological short range approximation. This, however, leads to systematic errors and unphysical results. On the other hand standard electrostatic solvers such as Ewald summation or fast Poisson solvers are highly inefficient in the KMC setup or introduce uncontrollable systematic errors at high resolution. In this paper we describe how the Fast Multipole Method by Greengard and Rokhlin can be adapted to overcome this issue by dramatically reducing computational costs. We exploit the fact that each update in the transition rate calculation corresponds to a single particle move and changes the configuration only by a small amount. This allows us to construct an algorithm which scales linearly in the number of charges for each KMC step, something which had not been deemed to be possible before. We demonstrate the performance and parallel scalability of the method by implementing it in a performance portable software library, which was recently developed in our group. We describe the high-level Python interface of the code which makes it easy to adapt to specific use cases.</description><subject>Algorithms</subject><subject>Charged particles</subject><subject>Computational physics</subject><subject>Computer Science</subject><subject>Computer Science, Interdisciplinary Applications</subject><subject>Computer simulation</subject><subject>Computing costs</subject><subject>Domain specific language</subject><subject>Electrostatics</subject><subject>Fast Multipole Method</subject><subject>Kinetic Monte Carlo</subject><subject>Lithium-ion batteries</subject><subject>Molecular dynamics</subject><subject>Multipoles</subject><subject>Parallel computing</subject><subject>Perovskites</subject><subject>Photovoltaic cells</subject><subject>Physical Sciences</subject><subject>Physics</subject><subject>Physics, Mathematical</subject><subject>Potential energy</subject><subject>Rechargeable batteries</subject><subject>Science &amp; Technology</subject><subject>Software</subject><subject>Solar cells</subject><subject>Solvers</subject><subject>Systematic errors</subject><subject>Technology</subject><subject>Theoretical physics</subject><subject>Time dependence</subject><issn>0021-9991</issn><issn>1090-2716</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2020</creationdate><recordtype>article</recordtype><sourceid>AOWDO</sourceid><recordid>eNqNkMFKxDAQhoMouK4-gLeCR-mapGmTIAhSXBVWvOg5tOkUUrvNmqQrvr2pFY_iKZPw_ZmZD6FzglcEk-KqW3V6t6KYTneZcXmAFrHAKeWkOEQLjClJpZTkGJ1432GMRc7EAt2sKx8S6EEHZ32ogtGJt_0enE9a65I3M8D09mSHAElZud4m3mzHPpJ28KfoqK16D2c_5xK9ru9eyod083z_WN5uUp3RPKQ1r2rCRVsxDBo0qTXngoiCEahERpmEFrSkhRacNo3IdEG4zjmVkclrDdkSXcz_7px9H8EH1dnRDbGloowRIQqeFZEiM6XjLt5Bq3bObCv3qQhWkybVqahJTZrUrClmxJz5gNq2XhsYNPzmoqc8YzRjscBUliZ8713acQgxevn_aKSvZxqip70Bp34SjXHRvmqs-WPML-vCkDo</recordid><startdate>20200601</startdate><enddate>20200601</enddate><creator>Saunders, William Robert</creator><creator>Grant, James</creator><creator>Müller, Eike Hermann</creator><creator>Thompson, Ian</creator><general>Elsevier Inc</general><general>Elsevier</general><general>Elsevier Science Ltd</general><scope>AOWDO</scope><scope>BLEPL</scope><scope>DTL</scope><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>7SP</scope><scope>7U5</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope><orcidid>https://orcid.org/0000-0003-3006-3347</orcidid><orcidid>https://orcid.org/0000-0003-1362-2055</orcidid></search><sort><creationdate>20200601</creationdate><title>Fast electrostatic solvers for kinetic Monte Carlo simulations</title><author>Saunders, William Robert ; Grant, James ; Müller, Eike Hermann ; Thompson, Ian</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c325t-b7ab178fa40ecec1bc77818641ea83249efec926c872dd83c617c57291865bce3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2020</creationdate><topic>Algorithms</topic><topic>Charged particles</topic><topic>Computational physics</topic><topic>Computer Science</topic><topic>Computer Science, Interdisciplinary Applications</topic><topic>Computer simulation</topic><topic>Computing costs</topic><topic>Domain specific language</topic><topic>Electrostatics</topic><topic>Fast Multipole Method</topic><topic>Kinetic Monte Carlo</topic><topic>Lithium-ion batteries</topic><topic>Molecular dynamics</topic><topic>Multipoles</topic><topic>Parallel computing</topic><topic>Perovskites</topic><topic>Photovoltaic cells</topic><topic>Physical Sciences</topic><topic>Physics</topic><topic>Physics, Mathematical</topic><topic>Potential energy</topic><topic>Rechargeable batteries</topic><topic>Science &amp; Technology</topic><topic>Software</topic><topic>Solar cells</topic><topic>Solvers</topic><topic>Systematic errors</topic><topic>Technology</topic><topic>Theoretical physics</topic><topic>Time dependence</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Saunders, William Robert</creatorcontrib><creatorcontrib>Grant, James</creatorcontrib><creatorcontrib>Müller, Eike Hermann</creatorcontrib><creatorcontrib>Thompson, Ian</creatorcontrib><collection>Web of Science - Science Citation Index Expanded - 2020</collection><collection>Web of Science Core Collection</collection><collection>Science Citation Index Expanded</collection><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Electronics &amp; Communications Abstracts</collection><collection>Solid State and Superconductivity Abstracts</collection><collection>Technology Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><jtitle>Journal of computational physics</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Saunders, William Robert</au><au>Grant, James</au><au>Müller, Eike Hermann</au><au>Thompson, Ian</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Fast electrostatic solvers for kinetic Monte Carlo simulations</atitle><jtitle>Journal of computational physics</jtitle><stitle>J COMPUT PHYS</stitle><date>2020-06-01</date><risdate>2020</risdate><volume>410</volume><spage>109379</spage><pages>109379-</pages><artnum>109379</artnum><issn>0021-9991</issn><eissn>1090-2716</eissn><abstract>•New electrostatic algorithm for fast kinetic Monte Carlo (KMC) simulations.•Modified Fast Multipole Method scales linearly in number of particles per KMC step.•Performance portable high-level Python user interface uses code generation.•Demonstrated parallel scalability for 1 million charges and 8192 cores. Kinetic Monte Carlo (KMC) is an important computational tool in theoretical physics and chemistry. In contrast to standard Monte Carlo, KMC permits the description of time dependent dynamical processes and is not restricted to systems in equilibrium. Compared to Molecular Dynamics, it allows simulations over significantly longer timescales. Recently KMC has been applied successfully in modelling of novel energy materials such as Lithium-ion batteries and organic/perovskite solar cells. Motivated by this, we consider general solid state systems which contain free, interacting particles which can hop between localised sites in the material. The KMC transition rates for those hops depend on the change in total potential energy of the system. For charged particles this requires the frequent calculation of electrostatic interactions, which is usually the bottleneck of the simulation. To avoid this issue and obtain results in reasonable times, many studies replace the long-range potential by a phenomenological short range approximation. This, however, leads to systematic errors and unphysical results. On the other hand standard electrostatic solvers such as Ewald summation or fast Poisson solvers are highly inefficient in the KMC setup or introduce uncontrollable systematic errors at high resolution. In this paper we describe how the Fast Multipole Method by Greengard and Rokhlin can be adapted to overcome this issue by dramatically reducing computational costs. We exploit the fact that each update in the transition rate calculation corresponds to a single particle move and changes the configuration only by a small amount. This allows us to construct an algorithm which scales linearly in the number of charges for each KMC step, something which had not been deemed to be possible before. We demonstrate the performance and parallel scalability of the method by implementing it in a performance portable software library, which was recently developed in our group. We describe the high-level Python interface of the code which makes it easy to adapt to specific use cases.</abstract><cop>SAN DIEGO</cop><pub>Elsevier Inc</pub><doi>10.1016/j.jcp.2020.109379</doi><tpages>29</tpages><orcidid>https://orcid.org/0000-0003-3006-3347</orcidid><orcidid>https://orcid.org/0000-0003-1362-2055</orcidid></addata></record>
fulltext fulltext
identifier ISSN: 0021-9991
ispartof Journal of computational physics, 2020-06, Vol.410, p.109379, Article 109379
issn 0021-9991
1090-2716
language eng
recordid cdi_webofscience_primary_000534234000029CitationCount
source Web of Science - Science Citation Index Expanded - 2020<img src="https://exlibris-pub.s3.amazonaws.com/fromwos-v2.jpg" />; Access via ScienceDirect (Elsevier)
subjects Algorithms
Charged particles
Computational physics
Computer Science
Computer Science, Interdisciplinary Applications
Computer simulation
Computing costs
Domain specific language
Electrostatics
Fast Multipole Method
Kinetic Monte Carlo
Lithium-ion batteries
Molecular dynamics
Multipoles
Parallel computing
Perovskites
Photovoltaic cells
Physical Sciences
Physics
Physics, Mathematical
Potential energy
Rechargeable batteries
Science & Technology
Software
Solar cells
Solvers
Systematic errors
Technology
Theoretical physics
Time dependence
title Fast electrostatic solvers for kinetic Monte Carlo simulations
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-05T08%3A55%3A26IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_webof&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Fast%20electrostatic%20solvers%20for%20kinetic%20Monte%20Carlo%20simulations&rft.jtitle=Journal%20of%20computational%20physics&rft.au=Saunders,%20William%20Robert&rft.date=2020-06-01&rft.volume=410&rft.spage=109379&rft.pages=109379-&rft.artnum=109379&rft.issn=0021-9991&rft.eissn=1090-2716&rft_id=info:doi/10.1016/j.jcp.2020.109379&rft_dat=%3Cproquest_webof%3E2441886736%3C/proquest_webof%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=2441886736&rft_id=info:pmid/&rft_els_id=S0021999120301534&rfr_iscdi=true