McStas is a computer program (written in C) that enables to model very precisely a neutron instrument described as a series of beam-line components. A source component shoots off each neutron randomly (Monte-Carlo), and the particle is then propagated through the different instrument components. These latter act on the neutron characteristics (position, speed, direction, spin, etc...). Usually, one installs some virtual detectors along the neutron path, to monitor the characteristics and flux of the neutron beam at that position.
McStas provides a large set of optical components (choppers, guides, monochromators), as well as sample "kernels" (powders, single-crystals, liquids, ...), and many detectors/monitors.
This project has been continuously funded by the European Union (NMI3, SINE2020, ...). This is an actively developed software package, widely used within neutron facilities.
More details on McStas at the official web site: http://www.mcstas.org.
A major benefit of simulations is that spectrum components can be easily distinguished while this is difficult with real experiments.
At the ILL, most neutron guides and instruments have already been simulated, and the corresponding models are now part of the McStas distribution (see the Examples in the Library). You should start from an existing such model, or a similar instrument description (e.g. a template or from an other facility). Then adapt it to your needs.
We suggest that you learn the basic principles with the McStas tutorial, which explains in details how to build a powder diffractometer, and upgrade it into a triple-axis spectrometer.