Neutron-acceptance diagram shading

Neutron-acceptance diagram shading (NADS) is a beam simulation technique. Unlike Monte-Carlo simulation codes like McStas, NADS does not trace individual neutrons but traces linearly-related bunches in a reduced-dimensionality phase space. Bunches are subdivided where necessary to follow accurately a simplified surface reflectivity model. This makes jnads results equivalent to Monte-Carlo simulations but about 5 orders of magnitude faster for difficult modelling tasks.

Speed
The raw speed of NADS makes it a particularly attractive tool for beam modelling where evolutionary algorithms are used. Tests on the C++ prototype engine could calculate the on-sample flux of a SANS instrument in 55 milliseconds on a single 2 GHz intel core 2 core. The java release (jnads) performs the same calculation in 0.8 seconds on the same hardware. A Monte-Carlo simulation of the same instrument would take 25 hours to complete with 1% statistical errors.

Performing the same, unoptimised SANS simulation with full beam monitors in jnads (i.e. not just calculating the on-sample flux) takes about 45 seconds on the same hardware and gives you an idea of the beam divergence and homogeneity at the same time.

Reliability
NADS results are generally in excellent agreement with Monte-Carlo calculations. In strictly controlled tests, NADS and Monte-Carlo both produced identical results when simulating a SANS instrument. To date, no discrepancy has been found.

Limitations

 * It's strictly monochromatic (but you can get away with a 15% spread typical of velocity selectors)
 * Your instrument must have independent horizontal and vertical planes. No crosstalk.
 * Polarisation and time-of-flight are further complications that users have to consider manually. It's not a black box technique

NADS provides the neutron flux. To calculate the neutron beam current NADS result must be multiplied by the wavelength band width.

History
NADS was born out of necessity. If simulating an instrument takes more than one CPU-day, then performing a full optimisation of a neutron guide hall requires more than two CPU-decades. NADS was designed with the goal of reducing the CPU time to less than one minute for all instrument geometries, making an optimisation of a neutron guide hall feasible within a week on a single desktop computer.

The name NADS arose partly due to referee comments on the original article (ADS is already used widely in Astronomy, the authors should use a different acronym), and partly due to tongue-in-cheek discussions over coffee.

NADS was used with particle-swarm optimisation to design a guide system for the ILL. The new guide system will feed two neutron spin echo instruments, a SANS instrument, a new three-axis spectrometer, a new reflectometer and fundamental physics beamlines at the ILL.