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 chemical bonds etc.) can be applied. Some examples are:
- Closest approach between atoms (hard sphere potential)
- Coordination numbers.
- Angles in triplets of atoms.
The algorithm for RMC can be written:
- 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 for this old configuration.
- Transform to the total structure factor:
- where Q is the momentum transfer and the number density.
- Calculate the difference between the measured structure factor and the one calculated from the configuration :
- this sum is taken over all experimental points is the experimental error.
- Select and move one atom at random and calculate the new distribution function, structure factor and:
- If accept the move and let the new configuration become the old. If then the move is accepted with probability otherwise rejected.
- repeat from step 5.
When have reached an equilibrium the configuration is saved and can be analysed.