Reverse Monte Carlo: Difference between revisions

From SklogWiki
Jump to navigation Jump to search
(Added a recent publication)
 
(23 intermediate revisions by 5 users not shown)
Line 1: Line 1:
Reverse Monte Carlo (RMC) [1] 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.).
'''Reverse Monte Carlo''' (RMC) <ref>[http://dx.doi.org/10.1080/08927028808080958 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)]</ref> is a variation of the standard [[Metropolis Monte Carlo]] method. It is used to produce a 3 dimensional atomic [[models |model]] that fits a set of measurements (neutron diffraction, X-ray-diffraction, EXAFS etc.).
In addition to measured data a number of constraints based on prior knowledge of the system (like chemocal bonds etc.) can be applied. Some examples are:
In addition to measured data a number of constraints based on prior knowledge of the system (for example, chemical bonding etc.) can be applied. Some examples are:


#Closest approach between atoms (hard sphere potential)
*Closest approach between atoms ([[hard sphere model |hard sphere potential]])
#Coordination numbers.
*Coordination numbers.
#Angels in triplets of atoms.
*Angles in triplets of atoms.


The algorithm for RMC can be written:
The 3 dimensional structure that is produced by reverse Monte Carlo is not unique; it is a model consistent with the data and constraints provided.


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.
The algorithm for reverse Monte Carlo can be written as follows:
2. Calculate the total radial distribution function <math>g_o^C(r)</math> for this old configuration.
3. Transform to the total structure factor:
<math>S_o^2 (Q)-1=\frac{4\pi\rho}{Q}\int\limits_{0}^{\inf} r(g_o^C(r)-1)sin(Qr)\, dr</math>


where ''Q'' is the momentum transfer <math>\rho</math> and the number density.
#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.
4. Calculate the difference between the measured structure factor <math>S^E(Q)</math> and the one calculated from the configuration <math>S_o^C(Q)</math>:
#Calculate the total [[radial distribution function]] <math>g_o^C(r)</math> for this old configuration (''C''=Calculated, ''o''=Old).
<math>\chi_o^2=\sum_i(S_o^C(Q_i)-S^E(Q_i))^2/\sigma(Q_i)^2</math>
#Transform to the total [[Structure factor | structure factor]]:
 
#:<math>S_o^C (Q)-1=\frac{4\pi\rho}{Q}\int\limits_{0}^{\infty} r(g_o^C(r)-1)\sin(Qr)\, dr</math>
this sum is taken over all experimental points <math>\sigma</math> is the experimental error.
#:where ''Q'' is the momentum transfer and <math>\rho</math> the number density.
5. Select and move one atom at random and calculate the new distribution function, structure factor and:
#Calculate the difference between the measured structure factor <math>S^E(Q)</math> (''E''=Experimental) and the one calculated from the configuration <math>S_o^C(Q)</math>:
<math>\chi_n^2=\sum_i(S_n^C(Q_i)-S^E(Q_i))^2/\sigma(Q_i)^2</math>
#:<math>\chi_o^2=\sum_i(S_o^C(Q_i)-S^E(Q_i))^2/\sigma(Q_i)^2</math>  
6. If <math>\chi_n^2<\chi_o^2</math> accept the move and let the new configuration become the old. If <math>\chi_n^2>\chi_o^2</math> then the move is accepted with probability <math>exp(-(\chi_n^2-\chi_0^2)/2)</math> otherwiase rejected.
#:this sum is taken over all experimental points <math>\sigma</math> is the experimental error.
7. repeat from step 5.
#Select and move one atom at random and calculate the new (''n''=New) distribution function, structure factor and:
#:<math>\chi_n^2=\sum_i(S_n^C(Q_i)-S^E(Q_i))^2/\sigma(Q_i)^2</math>
#If <math>\chi_n^2<\chi_o^2</math> accept the move and let the new configuration become the old. If <math>\chi_n^2 \geq \chi_o^2</math> then the move is accepted with probability <math>\exp(-(\chi_n^2-\chi_0^2)/2)</math> otherwise it is rejected.
#repeat from step 5.
When <math>\chi^2</math> have reached an equilibrium the configuration is saved and can be analysed.
When <math>\chi^2</math> have reached an equilibrium the configuration is saved and can be analysed.
== References ==
<references/>
;Related reading
*[http://dx.doi.org/10.1088/0953-8984/13/46/201 R. L. McGreevy, "Reverse Monte Carlo modelling", Journal of Physics: Condensed Matter '''13''' pp. R877-R913 (2001)]
*[http://dx.doi.org/10.1016/S1359-0286(03)00015-9  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)]
*[http://dx.doi.org/10.1088/0953-8984/17/5/001  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)]
*[http://dx.doi.org/10.1016/j.molliq.2015.02.044    V. Sánchez-Gil, E. G. Noya, L. Temleitner, L. Pusztai "Reverse Monte Carlo modeling: The two distinct routes of calculating the experimental structure factor", Journal of Molecular Liquids '''207''' pp. 211-215 (2015)]


----


== References ==
[[Category:Monte Carlo]]
#[http://dx.doi.org/10.1080/08927028808080958 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)]

Latest revision as of 17:57, 25 May 2015

Reverse Monte Carlo (RMC) [1] is a variation of the standard Metropolis Monte Carlo method. It is used to produce a 3 dimensional atomic model that fits a set of measurements (neutron diffraction, X-ray-diffraction, EXAFS etc.). In addition to measured data a number of constraints based on prior knowledge of the system (for example, chemical bonding 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 reverse Monte Carlo is not unique; it is a model consistent with the data and constraints provided.

The algorithm for reverse Monte Carlo can be written as follows:

  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 (E=Experimental) and the one calculated from the configuration :
    this sum is taken over all experimental points is the experimental error.
  5. Select and move one atom at random and calculate the new (n=New) distribution function, structure factor and:
  6. If accept the move and let the new configuration become the old. If then the move is accepted with probability otherwise it is rejected.
  7. repeat from step 5.

When have reached an equilibrium the configuration is saved and can be analysed.

References[edit]

Related reading