RMC

 RMC++ Development history

The Reverse Monte Carlo technique was published in 1988 by Robert McGreevy and László Pusztai.

1992: RMCA
The original code was written in Fortran by Malcolm Howe and Jim Wicks in Oxford in 1992.

1996: RMCA+FNC=rmc_fi
László Pusztai introduced the fixed neighbours constraints (FNC) to the code in NFL – Studsvik Neutron Research Laboratory in 1996. Unfortunately, the FNC option of the rmc_fi code is not documented.

2003: RMC++
The first C++ version, RMC++ with more features  (FNC, molecular move) has been written by Guillaume Evrard, (guillaume.evrard@synchrotron-soleil.fr ) with the help of László Pusztai (pusztai.laszlo@wigner.mta.hu) at the Research Institute for Solid State Physics and Optics, Hungarian academy of Sciences with the support from the European Commission Fifth RTD Framework Programme (FP5). The RMC++ implementation has been designed to get rid of some outdated features of the Fortran code (noticeably the creation of a large array designed for minimizing memory usage). Special care has been taken in order to optimize the speed of execution. Additional priorities in the programme design were the upgradability and the documentation. For comparison purposes, RMCA has been used as a standard.

2007: RMC++_new and RMC++_multi
RMC++_new is the upgraded consecutive version of RMC++, where structural changes was made to increase speed, new features (for example additional constraints) are implemented. RMC++_multi has the same in functionality as RMC++_new, but designed for multi-processor computers using multi-threading implemented according to POSIX standard. It was written by Orsolya Gereben at the Research Institute for Solid State Physics and Optics, Hungarian academy of Sciences.

2010: RMC++_combined
The consecutive and parallel versions were combined into RMC++_combined by Orsolya Gereben at the Research Institute for Solid State Physics and Optics, Hungarian academy of Sciences.

2010: RMC_POT
Addition of handling bonded and non-bonded potential resulted in RMC_POT written by Orsolya Gereben at the Research Institute for Solid State Physics and Optics, Hungarian academy of Sciences.

Later a lot of additional features were included for example:

·         vibrational amplitude calculation

·         electron diffraction data set usage

·         tabulated potential

·         RW factor calculation and alternative usage instead of c2

·         possibility of non-periodic boundary conditions

·         automatic cutoff determination

·         fitting rN[g(r)-1] instead of g(r)

·         cubic renormalization

·         local invariance

·         free format dat file introduction (László Temleitner)

·         geometric constraints: Second Neighbour Constraint, Common Neighbour Constraint

·         virtual sites for molecular potential runs

·         inclusion of the surface factor table, the sfactorcube file no longer needed

·         X-ray intensity fitting

·         custom bins size for the data sets

·         scalable background correction for X-ray intensity fit

·         using the fixed f’(E) for X-ray data sets

·         inclusion of several

·         anomalous X-ray diffraction

·         X-ray coefficient calculation

·         default values for the neutron scattering lengthes

·         EXAFS shift

·         Artificial Neural Network potential usage

·         Bond Valence Sum constraint with default bond valence parameters for a lot of atom pairs

 

 

Top of page


Last modified 04/03/2023) by Orsolya Gereben
(comments welcome!)