  Empirical potential structure refinement (EPSR) is a neutron scattering data
analysis algorithm and a software package. It was developed by the British
spallation neutron source (ISIS) Disordered Materials Group in 1980s, and aims
to construct the most-probable atomic structures of disordered liquids. It has
been extensively used during the past decades, and has generated reliable
results. However, it is programmed in Fortran and implements a shared-memory
architecture with OpenMP. With the extensive construction of supercomputer
clusters and the widespread use of graphics processing unit (GPU) acceleration
technology, it is now necessary to rebuild the EPSR with these techniques in
the effort to improve its calculation speed. In this study, an open source
framework NeuDATool is proposed. It is programmed in the object-oriented
language C++, can be paralleled across nodes within a computer cluster, and
supports GPU acceleration. The performance of NeuDATool has been tested with
water and amorphous silica neutron scattering data. The test shows that the
software could reconstruct the correct microstructure of the samples, and the
calculation speed with GPU acceleration could increase by more than 400 times
compared with CPU serial algorithm at a simulation box consists about 100
thousand atoms. NeuDATool provides another choice for scientists who are
familiar with C++ programming and want to define specific models and algorithms
for their analyses.
