Description
In recent years, Monte Carlo particle transport simulations have become available that make it possible to simulate neutron interaction in samples and surrounding environments in neutron scattering instruments. Compared to previous raytracing approaches, neutrons that enter the sample environment area are followed, collision by collision, and all interactions are simulated. This allows for computation of components of the signal that were previously considered “background” such as inelastic scattering and multiple scattering in diffraction experiments.
In this work we present an analysis routine developed at the European Spallation Source ERIC which combines the neutron transport code OpenMC with the NCrystal toolkit. This routine incorporates a detailed simulation of measurements and a post-processing step to account for effects not included in the neutron transport simulations, such as instrument resolution. The combination of OpenMC and NCrystal provides access to built-in neutron-nucleus scattering physics for an extensive range of materials over a wide range of energies (10$\times$10$^{-6}$ to 20$\times$10$^6$ eV), and supports the implementation of custom physical models via the NCrystal plugin functionality. Applications of this routine include modeling magnetic neutron scattering in O$_2$-containing clathrate hydrate and C$_{60}$ observed in inelastic neutron scattering experiments, investigating extinction effects in beryllium in diffraction measurements, and revealing the impact of multiple scattering due to sample-detector distance on transmission measurements. These examples highlight the routine's utility in exploring physical phenomena and optimizing experimental setups.