Two-dimensional pattern reverse Monte Carlo analysis of nanoparticles in polymer matrices using a combination of OpenACC and cuFFT
We propose a program code for reverse Monte Carlo (RMC) modeling of two-dimensional scattering patterns using a combination of OpenACC and cuFFT. The RMC method estimates the three-dimensional positions of nanoparticles (NPs) in polymer matrices to fit scattering data of NPs observed in X-ray and neutron experiments. The scattering data can be calculated as the convolution sum of the three-dimensional Fourier transform of the three-dimensional density distributions of NPs using the particle-mesh approach. To speed up the graphics processing unit (GPU) calculations, we implement a code by combining the OpenACC standard and cuFFT library and minimize the data transfer between the GPU and host. This program is publicly available and can facilitate RMC analysis of two-dimensional scattering patterns to model NP morphologies in various polymer materials.