Reverse Monte Carlo
   HOME

TheInfoList



OR:

The Reverse Monte Carlo (RMC) modelling method is a variation of the standard
Metropolis–Hastings algorithm In statistics and statistical physics, the Metropolis–Hastings algorithm is a Markov chain Monte Carlo (MCMC) method for obtaining a sequence of random samples from a probability distribution from which direct sampling is difficult. New sample ...
to solve an
inverse problem An inverse problem in science is the process of calculating from a set of observations the causal factors that produced them: for example, calculating an image in X-ray computed tomography, sound source reconstruction, source reconstruction in ac ...
whereby a model is adjusted until its parameters have the greatest consistency with experimental data.
Inverse problem An inverse problem in science is the process of calculating from a set of observations the causal factors that produced them: for example, calculating an image in X-ray computed tomography, sound source reconstruction, source reconstruction in ac ...
s are found in many branches of
science Science is a systematic discipline that builds and organises knowledge in the form of testable hypotheses and predictions about the universe. Modern science is typically divided into twoor threemajor branches: the natural sciences, which stu ...
and
mathematics Mathematics is a field of study that discovers and organizes methods, Mathematical theory, theories and theorems that are developed and Mathematical proof, proved for the needs of empirical sciences and mathematics itself. There are many ar ...
, but this approach is probably best known for its applications in
condensed matter physics Condensed matter physics is the field of physics that deals with the macroscopic and microscopic physical properties of matter, especially the solid and liquid State of matter, phases, that arise from electromagnetic forces between atoms and elec ...
and
solid state chemistry Solid-state chemistry, also sometimes referred as materials chemistry, is the study of the synthesis, structure, and properties of solid phase materials. It therefore has a strong overlap with solid-state physics, mineralogy, crystallography, ceram ...
.


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 Experimental data in science and engineering is data produced by a measurement, test method, experimental design or quasi-experimental design. In clinical research any data produced are the result of a clinical trial. Experimental data may be qu ...
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 The pair distribution function describes the distribution of distances between pairs of particles contained within a given volume. Mathematically, if ''a'' and ''b'' are two particles, the pair distribution function of ''b'' with respect to ''a'', ...
and its
Fourier transform In mathematics, the Fourier transform (FT) is an integral transform that takes a function as input then outputs another function that describes the extent to which various frequencies are present in the original function. The output of the tr ...
, the latter of which is derived directly from neutron or x-ray scattering data (see
small-angle neutron scattering Small-angle neutron scattering (SANS) is an experimental technique that uses elastic neutron scattering at small scattering angles to investigate the structure of various substances at a mesoscopic scale of about 1–100 nm. Small angle ...
, wide-angle X-ray scattering, small-angle X-ray scattering, and
X-ray diffraction X-ray diffraction is a generic term for phenomena associated with changes in the direction of X-ray beams due to interactions with the electrons around atoms. It occurs due to elastic scattering, when there is no change in the energy of the waves. ...
). Other data that are used included
Bragg diffraction In many areas of science, Bragg's law — also known as Wulff–Bragg's condition or Laue–Bragg interference — is a special case of Laue diffraction that gives the angles for coherent scattering of waves from a large crystal lattice. It descr ...
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 In common usage, randomness is the apparent or actual lack of definite pattern or predictability in information. A random sequence of events, symbols or steps often has no order and does not follow an intelligible pattern or combination. ...
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 In statistics and statistical physics, the Metropolis–Hastings algorithm is a Markov chain Monte Carlo (MCMC) method for obtaining a sequence of random samples from a probability distribution from which direct sampling is difficult. New sample ...
, 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 in 1988, with application to
liquid Liquid is a state of matter with a definite volume but no fixed shape. Liquids adapt to the shape of their container and are nearly incompressible, maintaining their volume even under pressure. The density of a liquid is usually close to th ...
argon Argon is a chemical element; it has symbol Ar and atomic number 18. It is in group 18 of the periodic table and is a noble gas. Argon is the third most abundant gas in Earth's atmosphere, at 0.934% (9340 ppmv). It is more than twice as abu ...
(Note that there were earlier independent applications of this approach, for example those of Kaplow et al. and Gerold and Kern; 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 Crystallography is the branch of science devoted to the study of molecular and crystalline structure and properties. The word ''crystallography'' is derived from the Ancient Greek word (; "clear ice, rock-crystal"), and (; "to write"). In J ...
has analysis methods for both single crystal and
powder diffraction Powder diffraction is a scientific technique using X-ray, neutron, or electron diffraction on powder or microcrystalline samples for structural characterization of materials. An instrument dedicated to performing such powder measurements is ca ...
data. More recently, it has become clear that RMC can provide important information for disordered crystalline materials also.


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 The pair distribution function describes the distribution of distances between pairs of particles contained within a given volume. Mathematically, if ''a'' and ''b'' are two particles, the pair distribution function of ''b'' with respect to ''a'', ...
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. 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 Entropy is a scientific concept, most commonly associated with states of disorder, randomness, or uncertainty. The term and the concept are used in diverse fields, from classical thermodynamics, where it was first recognized, to the micros ...
) 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. 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 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 Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (prog ...
and can be used as an Ovito modifier.


fullrmc

Fundamental Library Language for Reverse Monte Carlo or fullrmc is a multicore RMC modeling package. fullrmc is a fully object-oriented
python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (prog ...
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 Cython () is a superset of the programming language Python, which allows developers to write Python code (with optional, C-inspired syntax extensions) that yields performance comparable to that of C. Cython is a compiled language that is ty ...
/ 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 Periodic boundary conditions (PBCs) are a set of boundary conditions which are often chosen for approximating a large (infinite) system by using a small part called a ''unit cell''. PBCs are often used in computer simulations and mathematical mod ...
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) The Protein Data Bank (PDB) file format is a textual file format describing the three-dimensional structures of molecules held in the Protein Data Bank, now succeeded by the Macromolecular Crystallographic Information File, mmCIF format. The PDB f ...
atomic configuration files and handles other definitions and attributes. In fullrmc atoms can be grouped into
rigid bodies In physics, a rigid body, also known as a rigid object, is a solid body in which deformation is zero or negligible, when a deforming pressure or deforming force is applied on it. The distance between any two given points on a rigid body rema ...
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 Artificial intelligence (AI) is the capability of computer, computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of re ...
and
Reinforcement learning Reinforcement learning (RL) is an interdisciplinary area of machine learning and optimal control concerned with how an intelligent agent should take actions in a dynamic environment in order to maximize a reward signal. Reinforcement learnin ...
algorithms to improve the ratio of accepted moves.


RMCProfile

RMCProfile 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 The pair distribution function describes the distribution of distances between pairs of particles contained within a given volume. Mathematically, if ''a'' and ''b'' are two particles, the pair distribution function of ''b'' with respect to ''a'', ...
, total scattering and EXAFS data, but also includes the capability of modelling crystalline materials by explicitly using the information contained within the
Bragg diffraction In many areas of science, Bragg's law — also known as Wulff–Bragg's condition or Laue–Bragg interference — is a special case of Laue diffraction that gives the angles for coherent scattering of waves from a large crystal lattice. It descr ...
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 solution A solid solution, a term popularly used for metals, is a homogeneous mixture of two compounds in solid state and having a single crystal structure. Many examples can be found in metallurgy, geology, and solid-state chemistry. The word "solutio ...
s).


RMC++

RMC++ 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 The pair distribution function describes the distribution of distances between pairs of particles contained within a given volume. Mathematically, if ''a'' and ''b'' are two particles, the pair distribution function of ''b'' with respect to ''a'', ...
, total scattering and EXAFS data.


HRMC

Hybrid Reverse Monte Carlo (HRMC) 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 potential Interatomic potentials are mathematical functions to calculate the potential energy of a system of atoms with given positions in space.M. P. Allen and D. J. Tildesley. Computer Simulation of Liquids. Oxford University Press, Oxford, England, 198 ...
s for carbon (EDIP), silicon (EDIP and Stillinger-Weber ) and germanium (Stillinger-Weber). This allows the code to fit experimental data along with minimizing the total system energy.


EvAX

EvAX is a code to perform RMC simulations of EXAFS spectra for crystalline and nanocrystalline materials to extract information on the local structural and thermal disorder. EvAX fits experimental EXAFS data by minimizing the difference between Morlet wavelet transforms 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.{{Cite journal , last1=Jonane , first1=Inga , last2=Anspoks , first2=Andris , last3=Aquilanti , first3=Giuliana , last4=Kuzmin , first4=Alexei , date=2019 , title=High-temperature X-ray absorption spectroscopy study of thermochromic copper molybdate , url=https://linkinghub.elsevier.com/retrieve/pii/S1359645419304070 , journal=Acta Materialia , language=en , volume=179 , pages=26–35 , doi=10.1016/j.actamat.2019.06.034, bibcode=2019AcMat.179...26J , s2cid=197622066 , url-access=subscription 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 fro


References

Monte Carlo methods Inverse problems