McXtrace 1.7.1 and McXtrace 3.1 released

[16/12/2022]Dear all, A new PAIR of releases of McXtrace:

McXtrace "classic" v. 1.7.1
McXtrace "next-generation", v. 3.1
are both built and ready for download!

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

Selected highligts from the releases are listed below. The full list of changes for both releases is also available at our CHANGES_McXtrace document

Please start your migration to 3.x:

McXtrace 1.7.1 is very likely the "last update" to the 1.x series, sharing a subset of tool features with McXtrace 3.1. The Wiki has a dedicated section on McXtrace 1.x -> McXtrace 3.x conversion that includes:

- If you are still in trouble, please write us a GitHub issue or an email to

Release highligts
(!!3.1 only denotes features or improvements that are 3.1 specific!!)

  • Core and libs:

    We still support 64bit Windows 10/11 on Intel, all recent 64bit macOS including 11.x - 13.x Monterey on both Intel and Apple Silicon/M1 processors. Debian/Ubuntu-based distros on Intel and Arm, our RPM-based distro is Fedora on Intel. (Official support for CentOS has been dropped, but you should be able to "roll your own" from the src packages.)

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

    We hope you will enjoy these new releases!!!

    macOS 13 Ventura

    Dear all,

    If you upgrade to macOS 13 Ventura (intel/x86_64), your already installed Python tools of McXtrace 1.7 / 3.0 and /Application bundles may not work after the upgrade.

    A workaround is to:

    New releases 1.7.1 and 3.1 are in preparation and should be released during November or December.

    another Python 3.10 / pyqtgraph issue in current releases

    [01/11/2022] Dear all,

    Several users have reported "yet another Python issue" that arise in current releases of McXtrace (1.7 / 3.0). After following the advice from September 23rd to replace mxgui/ and mccodelib/, mxplot-pyqtgraph fails with

    mxplot error: scale(self): too many arguments
    Traceback (most recent call last):
    File "C:\mcxtrace-1.7\lib\tools\Python\mxplot\pyqtgraph\", line 67, in 
    File "C:\mcxtrace-1.7\lib\tools\Python\mxplot\pyqtgraph\", line 57, in main
    raise e
    File "C:\mcxtrace-1.7\lib\tools\Python\mxplot\pyqtgraph\", line 51, in main
    File "C:\mcxtrace-1.7\lib\tools\Python\mcplot\pyqtgraph....\mccodelib\", line 62, in runplot
    plot_node(node, self.plot_func, plt_layout, viewmodel)
    File "C:\mcxtrace-1.7\lib\tools\Python\mcplot\pyqtgraph....\mccodelib\", line 144, in plot_node
    viewbox_lst.append(add_plot(layout, node, plot_func, i, n, viewmodel))
    File "C:\mcxtrace-1.7\lib\tools\Python\mcplot\pyqtgraph....\mccodelib\", line 382, in add_plot
    view_box, plt_itm = plot_node_func(node, i, plt, options)
    File "C:\mcxtrace-1.7\lib\tools\Python\mcplot\pyqtgraph\", line 33, in plot
    view_box, lyt = plot_Data2D(data, plt, log=opts['log'], legend=opts['legend'], icolormap=opts['icolormap'],
    File "C:\mcxtrace-1.7\lib\tools\Python\mcplot\pyqtgraph\", line 203, in plot_Data2D
    TypeError: scale(self): too many arguments'
    To fix this issue, please replace your

    New releases 1.7.1 and 3.1 are in preparation and should be released during November or December.

    Python 3.10 issues in current releases

    [23/09/2022] Dear all,

    We have recently become aware of a couple of issues that arise with all current releases of McXtrace (1.7 / 3.0)

    On system with the newest Python versions (3.10 and beyond) you may experience that

    In case you experience these problems you may replace the following files within your installation folder:

    New stable releases of McXtrace should be released during November/December this year.

    Best and sorry for the inconvenience,

    Peter Willendrup

    New ready-to-run McXtrace box in a browser

    [18/02/2022] Dear all, we are happy to provide a ready-to-run system with McXtrace pre-installed. It typically pulls-out an 8-cores computer running at Binder, for free, with both McXtrace 1.7 and 3.0 (with MPI multi-core support but no GPU). Perfect for running McXtrace from anywhere, for training/schools/workshops.

    Start it in a single click here:

    (Please note that load-time can be a couple of minutes.)



    The above docker image has been pushed to dockerhub and can also be run locally at your machine using docker:

    Updated RPM metapackages for McXtrace 3.0

    [09/02/2022] Dear all,

    If you were fast enough to try out installing McXtrace 3.0 already yesterday on your CentOS or Fedora system, you may have come across some installation issues, as the mcxtrace-suite-python-ng packages had a couple of shortcomings.

    Updated packages have now been uploaded, please use yum clean and yum reinstall to have access to the updates.

    McXtrace 3.0 is released

    [08/02/2022] Dear all,

    The McXtrace team is happy to announce that our McXtrace 3.0 "next generation" release is now available.

    McXtrace 3.0 is the first release in the 3.0 series with a completely rewritten code-generator and thereby support for GPU-acceleration through the OpenACC programming model.

    We have seen speedups of 1-2 orders of magnitude over the CPU version, depending on the computational Problem / complexity.



    For more information on the GPU-features of the release, please consult the CHANGES_McXtrace document on GitHub and the section "Migrating from McStas 2.x to 3.x (and McXtrace 1.x to 3.x)" in our McCode wiki

    Happy simulation!

    McXtrace 1.7 is released

    [25/01/2022] Dear simulators, The team is happy to announce that McXtrace 1.7 is out!

    1.7 has been focused mainly on stability and bugfixes, but also provides a set of new features. Binary packages are provided for the main platforms: Debian /Ubuntu, Fedora, Windows 10, Mac OSX (arm and intel based). As is the presenty custom, see for speecific installation instructions for you platform.

    Please also keep an eye out for the for upcoming release of McXtrace 3.0, which is a technology preview release of an improved code-generator enabling McXtrace to run on GPUs.

    Happy simulation!

    CHANGES in McXtrace 1.7

    1. Improved installation scripts
      1. Installs cleanly on Mac silicon
    2. Updated examples:
      1. MAXIV_DanMAX_pxrd1d.instr
      2. MAXIV_DanMAX_pxrd2d.instr
    3. New examples:
      1. SOLEIL ROCK beamline.
      2. ESRF BM29 skeleton beamline.
      3. Example of Air-scattering block.
      4. Test example for the GROUP langnuage feature
      5. Union demo test example
      6. New Example of Compton scattering union process.
    4. Updated Components
      1. PowderN.comp: Fix bug with faulty packing factor logic, which lead to wrong intensities when used with SPLIT.
      2. Lens_parab_Cyl_rough.comp, Lens_parab_rough.comp, Lens_Kinoform.comp: documentation issues
      3. Mirror.comp: documentation update
      4. Mirror_curved.comp, Mirror_elliptic.comp: Use reflectivity library
      5. Mirror_toroid.comp: Fix for stable handling of reflectivity file
      6. Absorption_sample.comp: Fix inner/outer volume logic
      7. Source_genesis13.comp, Source_simplex.comp: Documentation issues.
      8. Air.comp: Correct scattering amplitude.
      9. New: Laue_crystal_BC.comp: experimental model of a Laue crystal available for testing.
    5. Updated libraries:
      1. Reflectivity-lib has a series of bugfixes.
    6. New tools:
      1. Test tool for component writers' convenience.
      2. Scripts for generating reflectivity files.
    7. License change: The release includes a switch to the GPLv3-license for McXtrace. The underlying reason for this is to help collaboration wih the Debian project.

    2020 and older News