Reverse Monte Carlo: Difference between revisions
Carl McBride (talk | contribs) m (Changed internal link to boundary conditions.) |
m (Changed an internal link) |
||
| Line 10: | Line 10: | ||
The algorithm for reverse Monte Carlo can be written as follows: | The algorithm for reverse Monte Carlo can be written as follows: | ||
#Start with a configuration of atoms with [[ | #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]]: | ||
Revision as of 14:56, 11 February 2010
Reverse Monte Carlo (RMC) 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:
- 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 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).
- Transform to the total 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_o^C (Q)-1=\frac{4\pi\rho}{Q}\int\limits_{0}^{\infty} r(g_o^C(r)-1)\sin(Qr)\, dr}
- 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.
- Calculate the difference between the measured structure factor (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.
- 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}
- If 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.
- 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
- 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)
- R. L. McGreevy, "Reverse Monte Carlo modelling", Journal of Physics: Condensed Matter 13 pp. R877-R913 (2001)
- 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)
- 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)