Neutron scattering is a powerful experimental technique for characterizing the structure and dynamics of materials on the atomic or molecular scale. However, the interpretation of experimental data from neutron scattering is oftentimes not trivial, partly because scattering methods probe ensemble-averaged information in the reciprocal space. Therefore, computer simulations, such as classical and ab initio molecular dynamics, are frequently used to unravel the time-dependent atomistic configurations that can reproduce the scattering patterns and thus assist in the understanding of the microscopic origin of certain properties of materials. LiquidLib is a post-processing package for analyzing the trajectory of atomistic simulations of liquids and liquid-like matter with application to neutron scattering experiments. From an atomistic simulation, LiquidLib provides the computation of various statistical quantities including the pair distribution function, the weighted and unweighted structure factors, the mean squared displacement, the non-Gaussian parameter, the four-point correlation function, the velocity auto correlation function, the self and collective van Hove correlation functions, the self and collective intermediate scattering functions, and the bond orientational order parameter. LiquidLib analyzes atomistic trajectories generated from packages such as LAMMPS, GROMACS, and VASP. It also offers an extendable platform to conveniently integrate new quantities into the library and integrate simulation trajectories of other file formats for analysis. Weighting the quantities by element-specific neutron-scattering lengths provides results directly comparable to neutron scattering measurements. Lastly, LiquidLib is independent of dimensionality, which allows analysis of trajectories in two, three, and higher dimensions. The code is beginning to find worldwide use. Program summaryProgram Title: LiquidLibProgram Files doi:http://dx.doi.org/10.17632/tyggwp7656.1Licensing provisions: GNU Lesser General Public License v3.0Programming language: C++Supplementary material: User manual of the package.External routines/libraries: BOOST (optional), GSL (optional), xdrfilelib (optional, available at ftp.gromacs.org/pub/contrib/xdrfile-1.1.1.tar.gz)Nature of problem: LiquidLib is a post-processing package for analyzing the trajectory of atomistic simulations of liquids and liquid-like matter with application to neutron scattering experiments.Solution method: We provide a collection of executables to compute statistical quantities relevant to the structure and dynamics of liquids and liquid-like matter from the simulation trajectories. Furthermore, the option to weigh the quantities by element-specific neutron-scattering lengths provides results comparable to neutron scattering measurements. The quantities computable by LiquidLib include the pair distribution function, the weighted and unweighted structure factors, the mean squared displacement, the non-Gaussian parameter, the four-point correlation function, the velocity auto correlation function, the self and collective van Hove correlation functions, the self and collective intermediate scattering functions, and the bond orientational order parameter. LiquidLib can directly read trajectories of file types .xyz, .xtc, .trr, .atom, .dump, .gro, and XDATCAR.Additional comments: Each computable quantity in LiquidLib is defined as a derived class, and has its own respective executable. Thus, LiquidLib is extendable to compute other quantities not already offered in the current version. Similarly, LiquidLib is extendable to handle simulation trajectory files with formats not already offered in the current version.Restrictions: LiquidLib reads in the complete simulation trajectory into the memory at the start of runtime. Thus, if the trajectory size is larger than the available memory of the computer, LiquidLib will fail to execute properly. In this case, the user must reduce the size of the trajectory to be read in before LiquidLib can analyze the trajectory successfully.Unusual features: We provide the option to weigh the computed quantities by the element-specific respective coherent or incoherent scattering lengths. Therefore, LiquidLib allows direct comparisons of the computed quantities to neutron scattering experiments. In addition, the dimension of the simulation trajectories can be any positive integer.
Read full abstract