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
Last modified 04/03/2023) by Orsolya Gereben
(comments welcome!)