Fullrmc, a rigid body reverse monte carlo modeling package enabled with machine learning and artificial intelligence

A new Reverse Monte Carlo (RMC) package “fullrmc” for atomic or rigid body and molecular, amorphous, or crystalline materials is presented. fullrmc main purpose is to provide a fully modular, fast and flexible software, thoroughly documented, complex molecules enabled, written in a modern programming language (python, cython, C and C++ when performance is needed) and complying to modern programming practices. fullrmc approach in solving an atomic or molecular structure is different from existing RMC algorithms and software. In a nutshell, traditional RMC methods and software randomly adjust atom positions until the whole system has the greatest consistency with a set of experimental data. In contrast, fullrmc applies smart moves endorsed with reinforcement machine learning to groups of atoms. While fullrmc allows running traditional RMC modeling, the uniqueness of this approach resides in its ability to customize grouping atoms in any convenient way with no additional programming efforts and to apply smart and more physically meaningful moves to the defined groups of atoms. In addition, fullrmc provides a unique way with almost no additional computational cost to recur a group's selection, allowing the system to go out of local minimas by refining a group's position or exploring through and beyond not allowed positions and energy barriers the unrestricted three dimensional space around a group. © 2016 Wiley Periodicals, Inc.

[1]  László Pusztai,et al.  Reverse Monte Carlo modelling of the structure of disordered materials with RMC++ : a new implementation of the algorithm in C++ , 2005 .

[2]  R. L. McGreevy,et al.  Reverse Monte Carlo Simulation: A New Technique for the Determination of Disordered Structures , 1988 .

[3]  R. Mcgreevy,et al.  Determination of disordered magnetic structures by RMC modelling of neutron diffraction data , 1991 .

[4]  Sotiris B. Kotsiantis,et al.  Supervised Machine Learning: A Review of Classification Techniques , 2007, Informatica.

[5]  Anil K. Jain,et al.  Data clustering: a review , 1999, CSUR.

[6]  Eduardo F. Morales,et al.  An Introduction to Reinforcement Learning , 2011 .

[7]  R. Mcgreevy,et al.  The interpretation of single‐crystal diffuse scattering using reverse Monte Carlo modelling , 1995 .

[8]  D. Aurbach,et al.  Electrolyte Solutions with a Wide Electrochemical Window for Rechargeable Magnesium Batteries , 2008 .

[9]  George Opletal,et al.  HRMC_2.1: Hybrid Reverse Monte Carlo method with silicon, carbon, germanium and silicon carbide potentials , 2014, Comput. Phys. Commun..

[10]  R. Mcgreevy,et al.  Reverse Monte Carlo modelling , 2001 .

[11]  Gaël Varoquaux,et al.  Proceedings of the 20th Python in Science Conference 2021 (SciPy 2021), Virtual Conference, July 12 - July 18, 2021 , 2008, SciPy.

[12]  Qun Hui,et al.  RMCProfile: reverse Monte Carlo for polycrystalline materials , 2007, Journal of physics. Condensed matter : an Institute of Physics journal.

[13]  Stefan Behnel,et al.  Cython: The Best of Both Worlds , 2011, Computing in Science & Engineering.

[14]  Gaël Varoquaux,et al.  The NumPy Array: A Structure for Efficient Numerical Computation , 2011, Computing in Science & Engineering.

[15]  N. Metropolis,et al.  Equation of State Calculations by Fast Computing Machines , 1953, Resonance.

[16]  R. Mcgreevy,et al.  RMC: MODELING DISORDERED STRUCTURES , 1992 .

[17]  Other Contributors Are Indicated Where They Contribute Python Software Foundation , 2017 .

[18]  Martin T. Dove,et al.  Reverse Monte Carlo modelling of crystalline disorder , 2005 .

[19]  R. Mcgreevy,et al.  Reverse Monte Carlo simulation for the analysis of EXAFS data , 1990 .