Reverse Monte Carlo Explained

The Reverse Monte Carlo (RMC) modelling method is a variation of the standard Metropolis–Hastings algorithm to solve an inverse problem whereby a model is adjusted until its parameters have the greatest consistency with experimental data. Inverse problems are found in many branches of science and mathematics, but this approach is probably best known for its applications in condensed matter physics and solid state chemistry.

Applications in condensed matter sciences

Basic method

This method is often used in condensed matter sciences to produce atom-based structural models that are consistent with experimental data and subject to a set of constraints.

An initial configuration is constructed by placing atoms in a periodic boundary cell, and one or more measurable quantities are calculated based on the current configuration. Commonly used data include the pair distribution function and its Fourier transform, the latter of which is derived directly from neutron or x-ray scattering data (see small-angle neutron scattering, wide-angle X-ray scattering, small-angle X-ray scattering, and X-ray diffraction). Other data that are used included Bragg diffraction data for crystalline materials, and EXAFS data. The comparison with experiment is quantified using a function of the form

where and are the observed (measured) and calculated quantities respectively, and is a measure of the accuracy of the measurement. The sum is over all independent measurements, which will include the sum over all points in a function such as the pair distribution function.

An iterative procedure is run where one randomly chosen atom is moved a random amount, followed by a new calculation of the measurable quantities. Such a process will cause to either increase or decrease in value by an amount . The move is accepted with the probability according to the normal Metropolis–Hastings algorithm, ensuring that moves that give better agreement with experimental data are accepted, and moves that worsen agreement with experimental data can be accepted to a greater or lesser extent corresponding to how much the agreement has worsened. Moreover, the move may also be rejected if it breaks certain constraints, even if the agreement with data is improved. An example would be to reject a move which brings two atoms closer than a preset limit, to prevent overlap or collision between the two atoms.

Following the acceptance/rejection test, the procedure is repeated. As the number of accepted atom moves increases, the calculated quantities will become closer to the experimental values until they reach an equilibrium state. From then onward the RMC algorithm will simply generate a small oscillation in the value of . The resulting atomic configuration should be a structure that is consistent with the experimental data within its errors.

Applications

The RMC method for condensed matter problems was initially developed by McGreevy and Pusztai[1] in 1988, with application to liquid argon (Note that there were earlier independent applications of this approach, for example those of Kaplow et al.[2] and Gerold and Kern;[3] it is, however, the McGreevy and Pusztai implementation that is best known). For several years the primary application was for liquids and amorphous materials, particularly because this provides the only means to obtain structural models from data, whereas crystallography has analysis methods for both single crystal and powder diffraction data. More recently, it has become clear that RMC can provide important information for disordered crystalline materials also.[4]

Issues with the RMC method

The RMC method suffers from a number of potential problems. The most notable problem is that often more than one qualitatively different model will give similar agreement with experimental data. For example, in the case of amorphous silicon, the integral of the first peak in the pair distribution function may imply an average atomic coordination number of 4. This might reflect the fact that all atoms have coordination number of 4, but similarly having half the atoms with coordination number of 3 and half with 5 will also be consistent with this data. Unless a constraint on the coordination number is employed, the RMC method will have no means of generating a unique coordination number and most likely a spread of coordination numbers will result. Using amorphous silicon as an example, Biswas, Atta-Fynn and Drabold were the first to elucidate the importance of including constraints in RMC modeling.[5] Since the RMC method follows the normal rules of statistical mechanics, its final solution will be the one with the highest degree of disorder (entropy) possible. A second problem comes from the fact that without constraints the RMC method will typically have more variables than observables. One result from this will be that the final atomic configuration may have artifacts that arise from the method attempting to fit noise in the data.

One should remark, however, that most applications of the RMC approach today take account of these problems by appropriate use of implicit or explicit constraints. By including appropriate number of constraints, Limbu et al.[6] confirms the effectiveness of RMC as a multi-objective optimization approach to the structural determination of complex materials, and resolves a long-standing dispute concerning the uniqueness of a model of tetrahedral amorphous semiconductors obtained via inversion of diffraction data.

Implementations of the RMC method

There are five publicly available implementations of the RMC method.

AtomisticReverseMonteCarlo

AtomisticReverseMonteCarlo [7] [8] is a code to generate bulk crystal structures with target parameters (e.g., atomic systems with specific Warren-Cowley short-range order parameters). It is implemented in python and can be used as an Ovito[9] modifier.

fullrmc

Fundamental Library Language for Reverse Monte Carlo or fullrmc [10] [11] [12] [13] [14] is a multicore RMC modeling package. fullrmc is a fully object-oriented python interfaced package where every definition can be overloaded allowing easy development, implementation and maintenance of the code. fullrmc's computation blocks and modules are optimized written in cython/C. fullrmc is not a standard RMC package but it is rather unique in its approach to solving an atomic or molecular structure. fullrmc supports atomic and molecular systems, all types (not limited to cubic) of periodic boundary conditions systems as well as the so-called infinite boundary conditions to model nanoparticles or isolated systems. fullrmc's Engine is defined and used to launch a RMC calculation. By definition, Engine reads only Protein Data Bank (file format) atomic configuration files and handles other definitions and attributes. In fullrmc atoms can be grouped into rigid bodies or semi-rigid bodies called groups so the system can evolve atomically, clusterly, molecularly or any combination of those. Every group can be assigned a different and customizable move generator (translation, rotation, a combination of moves generators, etc.). Groups selection by the fitting engine can also be customizable. Also fullrmc uses Artificial intelligence and Reinforcement learning algorithms to improve the ratio of accepted moves.

RMCProfile

RMCProfile[15] [16] is a significantly developed version of the original RMC code written by McGreevy and Pusztai. It is written in Fortran 95 with some Fortran 2003 features. It has maintained the ability to model liquids and amorphous materials using the pair distribution function, total scattering and EXAFS data, but also includes the capability of modelling crystalline materials by explicitly using the information contained within the Bragg diffraction data. RMCProfile gives users a range of constraints, including the inclusion of molecular potentials and distance windows, which exploit possibilities afforded by the lack of significant diffusion in crystalline materials. RMCProfile allows simulation of magnetic materials, using the magnetic component of total scattering data, and also allows simulation of materials where atoms are allowed to swap positions (as found in many solid solutions).

RMC++

RMC++[17] [18] a rewritten, C++ version of the original RMC code developed by McGreevy and Pusztain. RMC++ is designed specifically for the study of liquids and amorphous materials, using pair distribution function, total scattering and EXAFS data.

HRMC

Hybrid Reverse Monte Carlo (HRMC)[19] [20] is a code capable of fitting both the pair correlation function and structure factor along with bond angle and coordination distributions. Unique to this code is the implementation of a number of empirical interatomic potentials for carbon (EDIP), silicon (EDIP[21] and Stillinger-Weber[22]) and germanium (Stillinger-Weber). This allows the code to fit experimental data along with minimizing the total system energy.

EvAX

EvAX[23] [24] is a code to perform RMC simulations of EXAFS spectra for crystalline[25] [26] and nanocrystalline[27] [28] materials to extract information on the local structural and thermal disorder. EvAX fits experimental EXAFS data by minimizing the difference between Morlet wavelet transforms[29] thus taking into account the representation of EXAFS spectra in k- and R-spaces simultaneously. The code accounts all important multiple-scattering paths with user-specified precision and is able to fit a single structure model to a set of EXAFS spectra, acquired at several absorption edges.[30] [31] [32] The evolutionary algorithm is used for optimization allowing more efficient exploration of the possible configuration space with only decent computational resources available. The EvAX code and examples of applications are available from http://www.dragon.lv/evax/.

References

  1. McGreevy . R. L. . Pusztai . L. . Reverse Monte Carlo Simulation: A New Technique for the Determination of Disordered Structures . Molecular Simulation . Informa UK Limited . 1 . 6 . 1988 . 0892-7022 . 10.1080/08927028808080958 . 359–367.
  2. Kaplow . Roy . Rowe . T. A. . Averbach . B. L. . Atomic Arrangement in Vitreous Selenium . Physical Review . American Physical Society (APS) . 168 . 3 . 1968-04-15 . 0031-899X . 10.1103/physrev.168.1068 . 1068–1079. 1968PhRv..168.1068K .
  3. Gerold . V. . Kern . J. . The determination of atomic interaction energies in solid solutions from short range order coefficients—an inverse monte-carlo method . Acta Metallurgica . Elsevier BV . 35 . 2 . 1987 . 0001-6160 . 10.1016/0001-6160(87)90246-x . 393–399.
  4. Keen . D A . Tucker . M G . Dove . M T . Reverse Monte Carlo modelling of crystalline disorder . Journal of Physics: Condensed Matter . IOP Publishing . 17 . 5 . 2005-01-22 . 0953-8984 . 10.1088/0953-8984/17/5/002 . S15–S22. 2005JPCM...17S..15K . 122639154 .
  5. Biswas . Parthapratim . Atta-Fynn . Raymond . Drabold . D. A. . Reverse Monte Carlo modeling of amorphous silicon . Physical Review B . American Physical Society (APS) . 69 . 19 . 2004-05-28 . 1098-0121 . 10.1103/physrevb.69.195207 . 195207. cond-mat/0401205 . 2004PhRvB..69s5207B . 15595771 .
  6. Limbu . Dil K. . Elliott . Stephen R.. Atta-Fynn . Raymond . Biswas . Parthapratim . Disorder by design: A data-driven approach to amorphous semiconductors without total-energy functionals. Scientific Reports . Nature Publishing Group . 10 . 1 . 2020-05-08 . 2045-2322 . 10.1038/s41598-020-64327-3. 7210951 . 7742. 32385360 . 1912.02329 . 2020NatSR..10.7742L . free .
  7. ((Sheriff, K.)), ((Cao, Y.)), ((Smidt, T.)), ((Freitas, R.)) . 2023 . Quantifying chemical short-range order in metallic alloys . cond-mat.mtrl-sci . 2311.01545.
  8. https://github.com/killiansheriff/AtomisticReverseMonteCarlo AtomisticReverseMonteCarlo GitHub, visited 16 January 2024
  9. https://ovito.org Ovito homepage, visited 16 January 2024
  10. Aoun . Bachir . Fullrmc, a rigid body reverse monte carlo modeling package enabled with machine learning and artificial intelligence . Journal of Computational Chemistry . Wiley . 37 . 12 . 2016-01-22 . 0192-8651 . 10.1002/jcc.24304 . 1102–1111. 26800289 . 22560450 .
  11. https://bachiraoun.github.io/fullrmc/ fullrmc online documentation
  12. https://github.com/bachiraoun/fullrmc fullrmc github account
  13. https://pypi.python.org/pypi/fullrmc fullrmc pypi account
  14. https://groups.google.com/forum/#!forum/fullrmc fullrmc public Q&A forum
  15. Tucker . Matthew G . Keen . David A . Dove . Martin T . Goodwin . Andrew L . Hui . Qun . RMCProfile: reverse Monte Carlo for polycrystalline materials . Journal of Physics: Condensed Matter . IOP Publishing . 19 . 33 . 2007-07-04 . 0953-8984 . 10.1088/0953-8984/19/33/335218 . 335218. 21694141 . 2007JPCM...19G5218T . 206025891 .
  16. http://www.rmcprofile.org RMCProfile home page, visited 22 June 2010
  17. Evrard . Guillaume . Pusztai . László . Reverse Monte Carlo modelling of the structure of disordered materials with RMC++ : a new implementation of the algorithm in C++ . Journal of Physics: Condensed Matter . IOP Publishing . 17 . 5 . 2005-01-22 . 0953-8984 . 10.1088/0953-8984/17/5/001 . S1–S13. 2005JPCM...17S...1E . 119977273 .
  18. http://www.szfki.hu/~nphys/rmc++/opening.html RMC++ homepage, visited 22 June 2010
  19. Opletal . G. . Petersen . T.C. . Russo . S.P. . HRMC_2.1: Hybrid Reverse Monte Carlo method with silicon, carbon, germanium and silicon carbide potentials . Computer Physics Communications . Elsevier BV . 185 . 6 . 2014 . 0010-4655 . 10.1016/j.cpc.2014.02.025 . 1854–1855. 2014CoPhC.185.1854O .
  20. https://research.csiro.au/mst/tools/hrmc/ HRMC homepage
  21. Justo. J. F.. Bazant. M. K.. Kaxiras. E.. Bulatov. V. V.. Yip. S.. Interatomic potential for silicon defects and disordered phases. Phys. Rev. B. 1998. 58. 5. 2539. 10.1103/PhysRevB.58.2539. cond-mat/9712058 . 1998PhRvB..58.2539J . 14585375.
  22. Stillinger. F. H.. Computer simulation of local order in condensed phases of silicon. Weber. T. A.. Phys. Rev. B. 1985. 31. 8. 5262–5271. 10.1103/PhysRevB.31.5262. 9936488. 1985PhRvB..31.5262S .
  23. Timoshenko . Janis . Kuzmin . Alexei . Purans . Juris . 2012 . Reverse Monte Carlo modeling of thermal disorder in crystalline materials from EXAFS spectra . Computer Physics Communications . en . 183 . 6 . 1237–1245 . 10.1016/j.cpc.2012.02.002. 2012CoPhC.183.1237T .
  24. Timoshenko . J . Kuzmin . A . Purans . J . 2014 . EXAFS study of hydrogen intercalation into ReO3 using the evolutionary algorithm . Journal of Physics: Condensed Matter . 26 . 5 . 055401 . 10.1088/0953-8984/26/5/055401 . 24440877 . 15076532 . 0953-8984.
  25. Kuzmin . Alexei . Timoshenko . Janis . Kalinko . Aleksandr . Jonane . Inga . Anspoks . Andris . 2020 . Treatment of disorder effects in X-ray absorption spectra beyond the conventional approach . Radiation Physics and Chemistry . en . 175 . S0969806X1830759X . 10.1016/j.radphyschem.2018.12.032. 2002.10406 . 104364499 .
  26. Timoshenko . J. . Anspoks . A. . Kalinko . A. . Kuzmin . A. . 2014 . Temperature dependence of the local structure and lattice dynamics of wurtzite-type ZnO . Acta Materialia . en . 79 . 194–202 . 10.1016/j.actamat.2014.07.029. 2014AcMat..79..194T .
  27. Timoshenko . J. . Duan . Z. . Henkelman . G. . Crooks . R.M. . Frenkel . A.I. . 2019 . Solving the Structure and Dynamics of Metal Nanoparticles by Combining X-Ray Absorption Fine Structure Spectroscopy and Atomistic Structure Simulations . Annual Review of Analytical Chemistry . en . 12 . 1 . 501–522 . 10.1146/annurev-anchem-061318-114929 . 30699037 . 2019ARAC...12..501T . 1617137 . 73412436 . 1936-1327. free .
  28. Timoshenko . Janis . Roldan Cuenya . Beatriz . 2021 . In Situ / Operando Electrocatalyst Characterization by X-ray Absorption Spectroscopy . Chemical Reviews . en . 121 . 2 . 882–961 . 10.1021/acs.chemrev.0c00396 . 0009-2665 . 7844833 . 32986414.
  29. Timoshenko . J. . Kuzmin . A. . 2009 . Wavelet data analysis of EXAFS spectra . Computer Physics Communications . en . 180 . 6 . 920–925 . 10.1016/j.cpc.2008.12.020. 2009CoPhC.180..920T .
  30. Timoshenko . Janis . Anspoks . Andris . Kalinko . Aleksandr . Kuzmin . Alexei . 2014 . Analysis of extended x-ray absorption fine structure data from copper tungstate by the reverse Monte Carlo method . Physica Scripta . 89 . 4 . 044006 . 10.1088/0031-8949/89/04/044006 . 2014PhyS...89d4006T . 123066488 . 0031-8949.
  31. Smekhova . Alevtina . Kuzmin . Alexei . Siemensmeyer . Konrad . Luo . Chen . Chen . Kai . Radu . Florin . Weschke . Eugen . Reinholz . Uwe . Buzanich . Ana Guilherme . Yusenko . Kirill V. . 2022 . Al-driven peculiarities of local coordination and magnetic properties in single-phase Alx-CrFeCoNi high-entropy alloys . Nano Research . en . 15 . 6 . 4845–4858 . 10.1007/s12274-021-3704-5 . 2022NaRes..15.4845S . 236204059 . 1998-0124. free .
  32. Jonane . Inga . Anspoks . Andris . Aquilanti . Giuliana . Kuzmin . Alexei . 2019 . High-temperature X-ray absorption spectroscopy study of thermochromic copper molybdate . Acta Materialia . en . 179 . 26–35 . 10.1016/j.actamat.2019.06.034. 2019AcMat.179...26J . 197622066 .