| | | | | | | webmail : intra-extra| Accès VPN| Accès IST| Contact | Français
The new McStas release v. 3.4 "next-generation" is built and ready for download  


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.).

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.).

and should make it to the next Debian Stable, the same procedure is also under way for McStas.)

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.

  • Fixes of issues from last 3.x release:
  • Installation:
    • As usual, our install docs are available on the McCode GitHub pages
    • The meta-packages for Debian/Ubuntu and RedHat/Centos/Fedora are named e.g. mcstas-suite-python-ng for 'next generation' for coexistance with the 2.x series packages. 
      (!!! Please note that there will be no future 2.x releases !!!)
  • Tools:
    • We are no longer supporting / distributing the Perl-based tool set as all functionality has finally been ported to the Python tool set (which has been default since v. 2.4)
    • mcrun now supports an set of "optimisation" switches to allow evaluating an instrument as "object function". Thanks to Emmanuel Farhi for working on this. Please use 
      mcrun --help
      in your McStas terminal to learn about details of switches and parameters or see the the changelog for a full description.
    • McStas now ships with a "python-aware" code generator for generating "McStasScript" code, example:  
      • mcstas-pygen Instrument.instr generates the .py script Instrument_generated.py
    • Using 'jupytext' this file may easily be converted to a notebook:
      • jupytext --to ipynb Instrument_generated.py generates notebook file Instrument_generated.ipynb
    • See https://github.com/PaNOSC-ViNYL/McStasScript and https://mads-bertelsen.github.io for more information on McStasScript.
    • McStasScript is included with McStas 3.4 on macOS and Windows and readily configured for use with McStas 3.4 and its embedded Python version. For sake of user convenience, Jupyterlab is also included on these platforms, use 'jupyter lab' from within the McStas 'environment' to work with a McStasScript notebook.
  • Components and Instruments:
    • In relation to the HighNESS project, the Wolter-optic components Conics_* have been given an overhaul by Mads Bertelsen. New related instrument WOFSANS is included with McStas 3.4.
    • Thanks to the work of José Robledo (FZJ), we now have a better interface to the Small-Angle Scattering models from SASview, aka. SASmodels. Due to the big number of included models that each correspond to a McStas component (94 in total!), these are now found in the "sasmodels" folder of your McStas installation. Two example instruments are also included: Test_SasView_bcc_paracrystal_aniso.instr and Test_SasView_guinier.instr.
    • The strain-scanning instrument ILL_SALSA.instr was contributed by Daniel Lomholt Christensen, Uni Copenhagen and ILL.
  • Core simulation framework / code-generator:
    • As mentioned above, mcstas-pygen can generate a McStasScript notebook from you existing .instr file.
    • New "unit" grammar for defining physcical units for instrument parameters from Greg Taylor (ESS), example: 
      DEFINE INSTRUMENT template(lambda / "Aa" = 2.36)
      for a full description, see the changelog 
    • New METADATA grammar from Greg Taylor (ESS), can be used to attach verbatim code/information to one or more component instances. See the changelog for full description
  • START your migration to 3.x
    • Following the release of 3.4, we will no longer systematically be releasing updates to the 2.x series.
    • The Wiki has a dedicated section on McStas 2.x -> McStas 3.x conversion. Please use it!
    • If you are in trouble converting your instrument, please write us a GitHub issue or an email to mcstas-users@mcstas.org

We hope you will enjoy this new release!!!


A. Menelle, 2023-09-20 10:54:00


Retour en haut