Reverse Monte Carlo

From SklogWiki
Jump to navigation Jump to search

Reverse Monte Carlo (RMC) [1-4] is a variation of the standard Metropolis Monte Carlo (MMC) method. It is used to produce a 3 dimensional atomic model that fits a set of measurements (Neutron-, X-ray-diffraction, EXAFS etc.). In addition to measured data a number of constraints based on prior knowledge of the system (like chemical bonds etc.) can be applied. Some examples are:

  • Closest approach between atoms (hard sphere potential)
  • Coordination numbers.
  • Angles in triplets of atoms.

The 3 dimensional structure that is produced by RMC is not unique, it is a model consistent with the data and constraints provided.

The algorithm for RMC can be written:

  1. Start with a configuration of atoms with periodic boundary conditions. This can be a random or a crystalline configuration from a different simulation or model.
  2. Calculate the total radial distribution function for this old configuration (C=Calculated, o=Old).
  3. Transform to the total structure factor:
    where Q is the momentum transfer and the number density.
  4. Calculate the difference between the measured structure factor and the one calculated from the configuration Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle S_o^C(Q)} :
    Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \chi_o^2=\sum_i(S_o^C(Q_i)-S^E(Q_i))^2/\sigma(Q_i)^2}
    this sum is taken over all experimental points Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \sigma} is the experimental error.
  5. Select and move one atom at random and calculate the new (n=New) distribution function, structure factor and:
    Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \chi_n^2=\sum_i(S_n^C(Q_i)-S^E(Q_i))^2/\sigma(Q_i)^2}
  6. If Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \chi_n^2<\chi_o^2} accept the move and let the new configuration become the old. If Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \chi_n^2 \geq \chi_o^2} then the move is accepted with probability Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \exp(-(\chi_n^2-\chi_0^2)/2)} otherwise it is rejected.
  7. repeat from step 5.

When Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \chi^2} have reached an equilibrium the configuration is saved and can be analysed.


References

  1. R. L. McGreevy and L. Pusztai, "Reverse Monte Carlo Simulation: A New Technique for the Determination of Disordered Structures", Molecular Simulation, 1 pp. 359-367 (1988)
  2. R. L. McGreevy, "Reverse Monte Carlo modelling", Journal of Physics: Condensed Matter 13 pp. R877-R913 (2001)
  3. R. L. McGreevy and P. Zetterström, "To RMC or not to RMC? The use of reverse Monte Carlo modelling", Current Opinion in Solid State and Materials Science. 7 pp. 41-47 (2003)
  4. G. Evrard, L. Pusztai, "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 17 pp. S1-S13 (2005)