Reverse Monte Carlo
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.). 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:
- Closest approach between atoms (hard sphere potential)
- Coordination numbers.
- Angels in triplets of atoms.
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. 3. Transform to the total structure factor: Failed to parse (Conversion error. Server ("https://wikimedia.org/api/rest_") reported: "Cannot get mml. Server problem."): {\displaystyle S_{o}^{2}(Q)-1={\frac {4\pi \rho }{Q}}\int \limits _{0}^{\inf }r(g_{o}^{C}(r)-1)sin(Qr)\,dr}
where Q is the momentum transfer and 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)} 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 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>\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)} otherwiase 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
- R.L.McGreevy and L. Pusztai, Mol. Simulation, 1 359-367 (1988)