McStas - A neutron ray-trace simulation package

McStas is a general tool for simulating neutron scattering instruments and experiments. It is actively supported by DTU Physics, NBI KU, ESS, PSI and ILL

Simulated scattering from a hollow-cylinder vanadium sample.

The plot shows the intensity of scattered neutrons (red is highest intensity). The sample is at the center of the sphere with the neutron beam coming from the left. Clearly seen is the shadowing effect of the sample causing a lower intensity opposite the beam. Also seen is the effect of the non-symmetric geometry of the sample, causing lower intensity directly above and to the side of the sample.



Recent news


Migrating from McStas 2.x to 3.x? - Use the wiki-based guides

November 29th, 2023: (experimental) McStas packages have hit conda-forge

Dear all,

Thanks to help from Thomas Kittelmann (ESS DMSC), McStas is now available on conda-forge

Initially we support only support Unix platforms Linux and macOS Intel, but macOS Silicon should come shortly.

The version tag of the packages is "3.4.7" meaning functionality-wise like McStas 3.4 but with minor improvements. For next official McStas release everything should match between our classical binary-distributed platforms and conda-forge.

Should you experience problems, please write up a GitHub Issue.

In preparation for forthcoming McStas 3.5 we are very much open to contributions:
Hence, if you have nice new component developments or new instrument files to contribute, please fork the our repo and open a pull request adding the files!


November 16th, 2023: The McStas project marks 25 year anniversary

The 25th-anniversary celebration of the McStas collaboration took place on the afternoon of November 16th, co-hosted by ESS DMSC and DTU Physics.

Commencing its journey at Risø National Laboratory in the spring of 1997, the McStas software commemorated its 25th year since the release of version 1.0 in October 1998. Over the years, the project expanded into an international collaboration, with notable contributions from institutions such as Institut Laue-Langevin (ILL) and The Paul Scherrer Institute (PSI). In 2007, Risø became part of DTU, and since 2012, the ongoing development of McStas found a new home at DTU Physics, actively collaborating with the Niels Bohr Institute, ILL, PSI, and ESS.

As an open-source software, McStas has benefited from widespread contributions by individual researchers from facilities and universities globally, enriching the codebase with new features and functionality.

McStas has evolved into the leading software globally for neutron scattering simulations, particularly in the realms of instrument design, optimization, and virtual experiments. Notably, the software played a crucial role in designing and optimizing most of the ESS instruments currently under construction in Lund, Sweden.

During the anniversary event, Peter Willendrup, the lead developer and technical-scientific support for the McStas user community since 2002, provided a comprehensive overview of the 25-year development journey, highlighting key contributions from various contributors. Peter is Senior Research Engineer at DTU Physics and ESS DMSC. Mads Bertelsen, the author of McStasScript, guide_bot, and Union presented his work on these significant developments. Mads is recently appointed to a permanent position as Scientist at ESS DMSC.

Several event participants delivered short speeches in honor of the McStas collaboration, including Kurt Clausen, originator of the "simulation framework" idea and grant holder of the first EU funding for McStas, Kim Lefmann founder and member of the McStas team since the start , Kristian Nielsen, the computer scientist who engineered the initial code-generator technology, and Thomas Holm Rod, head of the ESS DMSC. Another important guest was Emmanuel Farhi from Synchrotron SOLEIL, long time contributor to McStas and now the lead on McXtrace.

Pictures from the celebration:




Also, thanks to the colleagues at ORNL who sent us a nice birthday card! :-)


And to José Robledo and Sunyoung Yoo who were behind this lovely greeting and handcraft :-)



November 1st, 2023: Hints to install McStasScript with McStas 3.4 on Linux

Dear all,

As you may have noticed, the McStas installers for Windows and macOS now come with McStasScript embedded.

To achieve the same functionality on Linux (e.g. Debian/Ubunutu), you should perform these few steps

Once these steps are performed you should be able to perform tasks like


September 23rd, 2023: McStas 3.4 Docker and Binder available

Dear all,

A Ubuntu 22.04 + McStas-3.4 + McStasScript image is now uploaded to dockerhub. To run from your local podman / Docker / etc. installation, execute a command along the lines of:

podman run -p 8888:8888 docker.io/mccode/mcstas-3.4

+ follow instructions from podman/Docker

You may also run the same container via binder, please connect via this icon: Binder logo

To start McStas, please issue the command mcgui from a terminal.


September 21st, 2023: McStas 3.4 linux 'meta-packages' respun

Dear all,

A minor hickup was found with our Debian/Fedora metapackages that both had a dependence on mcstas-mcpl-3.4 which is a non-existent package.

Newly built, corrected meta-packages have been uploaded as replacement, so please re-attempt installation if you experienced issues earlier.

Also, please be aware that mcpl and NCrystal now come in separate, non-McStas related packages - and are not included in the "metapackage" on Fedora. To install them, simply execute
sudo dnf install mcpl ncrystal

Sorry for any inconvenience caused!


September 19th, 2023: McStas 3.4 released

Dear all, The new McStas release v. 3.4 "next-generation" is built and ready for download!

McStas 3.4 is the fifth official release in the 3.x series, with a modernised code-generator and support for GPU acceleration on NVIDIA cards.

3.4 is a 'major' update with notable changes, e.g. tighter integration/interoperability with McStasScript, new grammar and further CMake-standardisation which will eventually bring McStas to the conda-forge ecosystem. (And todaay, almost all dependencies for McStas are brought by mamba/conda on macOS and Windows.) Thanks to Thomas Kittelmann (ESS) for lots of help and footwork!

Another notable change is that MCPL and NCrystal are now distributed in stand-alone .deb / .rpm packages that are McStas-release-independent, for convenience still available through the packages.mccode.org repository. Please install using e.g.
apt install mcpl ncrystal

(The MCPL and NCrystal codes have been submitted to the Debian ecosystem by Synchrotron SOLEIL / Emmanuel Farhi / Roland Mas and should make it to the next Debian Stable, the same procedure is also under way for McStas.)

Thanks:
Thanks to all members of the joint McStas-McXtrace team and input from our users via emails and GitHub issues alike!

Download and installation instructions are available via our GitHub INSTALL-doc pages.

Selected highlights from the releass are listed below. The full list changes is also available at https://mcstas.org/CHANGES_McStas.

We hope you will enjoy this new release!!!

March 31st, 2023: McStas 3.3 released

Dear all, The new McStas release v. 3.3 "next-generation" is built and ready for download!

McStas 3.3 is the fourth official release in the 3.x series, with a modernised code-generator and support for GPU acceleration on NVIDIA cards.

3.3 could have been considered a 'minor' update, but new built-in support for NeXus on all platforms and new SEARCH grammar warrant the .x increment.

Thanks:
Thanks to all members of the joint McStas-McXtrace team and input from our users via emails and GitHub issues alike!

Download and installation instructions are available via our GitHub INSTALL-doc pages.

Selected highlights from the releass are listed below. The full list changes is also available at https://mcstas.org/CHANGES_McStas.

If you didn't start already, please start your migration to 3.x:

- If you are still in trouble, please write us a GitHub issue or an email to mcstas-users@mcstas.org

Fixes of issues from last 3.x release:
A number of issues from 3.2 were addressed, see the relevant GitHub issues for details:
3.2 issue list

Release highlights

Our Docker and binder containers will be updated within the following weeks.

We hope you will enjoy this new release!!!


Previous news items: 2022, 2021,2020,2019, 2018, 2017, 2016, 2015, 2014, 2013, 2012, 2011, 2010, 2009, 2008, 2007, 2006, 2005, 2004, 2003, 2002, 2001, 2000, 1999, 1998.