Reverse Monte Carlo: Difference between revisions

From SklogWiki
Jump to navigation Jump to search
mNo edit summary
(Added a recent publication)
 
(11 intermediate revisions by 4 users not shown)
Line 1: Line 1:
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.).
'''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 chemical 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.
#Angles in triplets of atoms.
*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 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 RMC can be written:
The algorithm for reverse Monte Carlo can be written as follows:


#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.
#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.
#Calculate the total radial distribution function <math>g_o^C(r)</math> for this old configuration (''C''=Calculated, ''o''=Old).
#Calculate the total [[radial distribution function]] <math>g_o^C(r)</math> for this old configuration (''C''=Calculated, ''o''=Old).
#Transform to the total [[Structure factor | structure factor]]:
#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>  
#:<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>  
#:where ''Q'' is the momentum transfer and <math>\rho</math> the number density.
#:where ''Q'' is the momentum transfer and <math>\rho</math> the number density.
#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 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_o^2=\sum_i(S_o^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>  
#:this sum is taken over all experimental points <math>\sigma</math> is the experimental error.
#:this sum is taken over all experimental points <math>\sigma</math> is the experimental error.
Line 23: Line 23:
#repeat from step 5.
#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 ==
#[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)]
#[http://dx.doi.org/10.1088/0953-8984/13/46/201 R. L. McGreevy, "Reverse Monte Carlo modelling", J.Phys.:Cond. 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''' no. 1 (2003) pp. 41-47 Elsevier Science]
#[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++", J.Phys.:Cond. Matter '''17''' pp. S1-S13 (2005)]


[[Category:Monte Carlo]]
[[Category:Monte Carlo]]

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 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 g_o^C(r)} for this old configuration (C=Calculated, o=Old).
  3. Transform to the total structure factor:
    where Q is the momentum transfer 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 \rho} the number density.
  4. Calculate the difference between the measured structure factor 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^E(Q)} (E=Experimental) 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:
  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[edit]

Related reading