Skip to content

Releases: McStasMcXtrace/McCode

mcxtrace-1.7.1-release

08 Jan 07:40
Compare
Choose a tag to compare

December 16th 2022: McXtrace 1.7.1 and McXtrace 3.1 released

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 and also available for some platforms below.

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:

An overview of differences
A nomenclature list containing short descriptions of new concepts and important keywords in McXtrace 3.x and OpenACC / CUDA code in general.
A document outlining the most importand differences between 1.x and 3.x.
A guide for 1.x -> 3.x instrument conversion.
A guide for 2.x -> 3.x component conversion.

  • If you are still in trouble, please write us a GitHub issue or an email to [email protected]

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

Documentation & guides:
The component pages now include an extra column in the parameter-table. When filling in this column with wanted values, plus filling the entry-boxes for AT, ROTATED and instance name, pressing "Generate" will put a code-snipet for your component instance directly on your computer clipboard, for easy transfer to the mxgui editor or any other editor of choice!
mxdoc has been made "less picky" wrt. component and instrument structure for a more robust experience.
mxgui has a new "Docs" button for easier access to the generated mxdoc pages (that give easy access to components, instruments, manuals, datafiles and more.
Interoperability with other codes:
We have worked on the interface with MCPL (v. 1.6.1 included) and a mechanism was developed to automatically detect its location using the mcpl-config util. In practice this happens prior/during to the code-generation step, see below under mxrun. Thanks to Thomas Kittelmann (ESS) for your help in this area.
Tools:
mxrun has a new solution to support 3 new keywords CMD(), ENV() and GETPATH() through the DEPENDENCY line as collected by the code-generator. (see CHANGES doc for more details)
As mentioned above, mxdoc has been made "less picky" wrt. component and instrument structure and enriched with JavaScript for easy transfer of information to you editor.
mxplot(-pyqtgraph) has received a nice update with an infobar at the bottom of the window. The infobar is updated with coordinates of the cursor on the active plot, meaning that you can easily determine the coordinates of e.g. a peak. The code has also received a number of bugfixes relating to colorbars, the order of monitor output in overviews etc. Thanks to Tobias Weber (ILL) for your work on mxplot.
3.1 only: The new mxdisplay-cad variant has come along, and is currently included in the form of a technology-preview. The code uses the Python module cadquery (https://github.com/CadQuery/cadquery) and is able to write e.g. STEP or STL output. For now, resolving the required dependencies is left to the user, but we foresee that this tool will mature over the coming releases. Thanks to Greg Tyler (ESS) for contributing this tool.
Components and Instruments:
3.1 only: Most of the standard monitors will now fill in their own "instance name" as filename in case a filename was not defined. A small but very useful convenience.
The Isotropic_Sqw sample which can be used to model structure and dynamics in isotropic materials, such as powders and liquids has been added. The component is developed by Emmanuel Farhi and also exists in the McStas code. The component is currently in "Experimental" state in McXtrace.
Multiple new SOLEIL instruments have been added, thanks to lots of work from Antoine Pado, Stephane Bac and Emmanuel Farhi:
SOLEIL_ANATOMIX.instr tomography beam-line
SOLEIL_DISCO.instr in the imaging mode
SOLEIL_MARS.instr in the XRD mode
SOLEIL_PX2a.instr protein crystallography beam-line
The AstroX toolbox for simulating X-ray telescopes has been included as a special component category.3.1 only: GPU support in the related components/instruments is newly developed and likely not perfect in all cases.
Lens_elliptical.comp fixed
Grating_reflect.comp fixed, and created a test for it.
Udated/fixed Mirror_elliptic.comp and created a test for it.
Beamline ssrl 11-2 (in it's unfocused and uncollimated mode) added (related to work done on glitches).
Czerny_Turner instrument created.
Single_crystal component, corrected absorption cross-section.
Core and libs:
3.1 only: Previously, any component present in a McXtrace instrument would trigger the transformation of every photon to its local coordinate system, even in the case of an Arm() (empty TRACE) without an EXTEND block. We now instead detect components with an empty TRACE that have no EXTEND block and are able to completely skip these in the calculation. This results in a speedup in case of instruments with many "empty" components. Thanks to Mads Bertelsen (ESS) for investigating the problem and finding a good solution.
3.1 only: A new syntax called SHELL has been added to the grammar, allowing users to run a system command prior to code-generation. This may for instance be used to generate an instrument-snippet that you may %include in the instrument (think for-loops of an assembly of identical components). One could also imagine compilation of a needed library, wget of a data file etc. The synax is SHELL "command-to-execute" and it should be placed directly after a DEPENDENCY line within an instrument or component. We expect that applications and examples will come in the next couple of releases.
3.1 only: Components may from McXtrace 3.1 request USERVARS that become part of the particle struct. (For the time being only in the form of basic C types like double, int etc. and corresponding arrays / pointers.) This will mean that e.g. the optimisations in Single_crystal and PowderN in SPLIT scenarios can be introduced also in GPU settings.
A flaw was spotted in our NeXus implementation in the case of event lists: A small chunk-size of (1,6) was used, leading to slow I/O and lots of size-overhead. Thanks to Simon Heybrock (ESS) for spotting this!
Platforms:
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!!!

mcstas-3.2-release

13 Dec 08:31
Compare
Choose a tag to compare

December 12th, 2022: McStas 2.7.2 and McStas 3.2 released

Dear all, A new PAIR of releases of McStas:

  • McStas "classic" v. 2.7.2
  • McStas "next-generation", v. 3.2
are both built and ready for download!

Download and installation instructions are available via our GitHub INSTALL-doc pages - and available below as attachments for the most usual platforms.

Selected highligts from the releases are listed below. The full list of changes for both releases is also available in CHANGES_McStas.

Please start your migration to 3.x:

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

Fixes of issues from last releases:
A good number of issues from the earlier 2.7.1 and 3.1 releases were addressed, see the relevant GitHub issues for details:
Full 2.7.1 issue list
Full 3.1 issue list

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

  • Documentation & guides:
    • 3.2 only: All 3.2 component and instrument headers have been given an overhaul and should render correctly in mcdoc / your browser.
    • The component pages now include an extra column in the parameter-table. When filling in this column with wanted values, plus filling the entry-boxes for AT, ROTATED and instance name, pressing "Generate" will put a code-snipet for your component instance directly on your computer clipboard, for easy transfer to the mcgui editor or any other editor of choice!
    • mcdoc has been made "less picky" wrt. component and instrument structure for a more robust experience.
    • mcgui has a new "Docs" button for easier access to the generated mcdoc pages (that give easy access to components, instruments, manuals, datafiles and more.
  • Interoperability with other codes:
    • We have worked on the interfaces with MCPL (v. 1.6.1 included) and NCrystal (v. 3.5.1 included) and a mechanism was developed to automatically detect their location using the mcpl-config and ncrystal-config utils. In practice this happens prior/during to the code-generation step, see below under mcrun. Thanks to Thomas Kittelmann (ESS) for your help in this area.
  • Tools:
    • mcrun has a new solution to support 3 new keywords CMD(), ENV() and GETPATH() through the DEPENDENCY line as collected by the code-generator. (see CHANGES doc for more details)
    • As mentioned above, mcdoc has been made "less picky" wrt. component and instrument structure and enriched with JavaScript for easy transfer of information to you editor.
    • mcplot(-pyqtgraph) has received a nice update with an infobar at the bottom of the window. The infobar is updated with coordinates of the cursor on the active plot, meaning that you can easily determine the coordinates of e.g. a peak. The code has also received a number of bugfixes relating to colorbars, the order of monitor output in overviews etc. Thanks to Tobias Weber (ILL) for your work on mcplot.
    • 3.2 only: The new mcdisplay-cad variant has come along, and is currently included in the form of a technology-preview. The code uses the Python module cadquery (https://github.com/CadQuery/cadquery) and is able to write e.g. STEP or STL output. For now, resolving the required dependencies is left to the user, but we foresee that this tool will mature over the coming releases. Thanks to Greg Tyler (ESS) for contributing this tool.
  • Components and Instruments:
    • The Union framework is now considered a fully "official" part of McStas and is hence now found in the $MCSTAS/union folder. In McStas 3.2 Union_master is a still a NOACC component when running on GPU (i.e. performs its calculations on CPU in FUNNEL mode). We expect Union_master to receive full GPU suport within 2023. The NCrystal_process.comp is back in Union on 3.2 - will work only in a NOACC/CPU COMPONENT setting.
    • By popular demand, the ConicTracer code for simulating Wolter optics from Boris Khaykovich et. al. (MIT) has been included. The main "library" code is conic.h found in $MCSTAS/share and is used from 3 different example Wolter optic components: Conics_EH.comp, Conics_PH.comp, Conics_PP.comp. The illustrate how to mplement Elliptic-Hyperbolic, Parabolic-Hyperbolic and Parabolic-Parabolic Wolter mirrors, and two of these are used in the Test_Conics_pairs.instr instrument.
    • 3.2 only: Most of the standard monitors will now fill in their own "instance name" as filename in case a filename was not defined. A small but very useful convenience.
    • Source_div_quasi.comp allows to sample source phase-space using Halton-sequences, which proves to be a very effective way to ensure an evenly distributed phase space region of interest, e.g. for imaging/SANS settings where a very low-divergent beam is relevant. This contribution is from Mads Carlsen and Erik B. Knudsen (DTU) and was originally developed for McXtrace.
    • PSD_Pol_monitor.comp measures (local) polarisation over the (x,y) cross-section of a beam. Contributed by Alexander Backs (LU/ESS).
    • 3.2 only: Single_crystal_inelastic.comp (NOACC), Single_magnetic_crystal.comp (NOACC), SANS_benchmark2.comp and Guide_multichannel are now all available in the McStas 3 series. Also, the Fermi_chop2a.comp and Vertical_T0a.comp chopppers from Garrett Granroth (SNS) have received a GPU-oriented update.
  • Core and libs:
    • 3.2 only: Previously, any component present in a McStas instrument would trigger the transformation of every neutron to its local coordinate system, even in the case of an Arm() (empty TRACE) without an EXTEND block. We now instead detect components with an empty TRACE that have no EXTEND block and are able to completely skip these in the calculation. This results in a speedup in case of instruments with many "empty" components, such as big Union assemblies. Thanks to Mads Bertelsen (ESS) for investigating the problem and finding a good solution.
    • 3.2 only: A new syntax called SHELL has been added to the grammar, allowing users to run a system command prior to code-generation. This may for instance be used to generate an instrument-snippet that you may %include in the instrument (think for-loops of an assembly of identical components). One could also imagine compilation of a needed library, wget of a data file etc. The synax is SHELL "command-to-execute" and it should be placed directly after a DEPENDENCY line within an instrument or component. We expect that applications and examples will come in the next couple of releases.
    • 3.2 only: Components may from McStas 3.2 request USERVARS that become part of the particle struct. (For the time being only in the form of basic C types like double, int etc. and corresponding arrays / pointers.) This will mean that e.g. the optimisations in Single_crystal and PowderN in SPLIT scenarios can be introduced also in GPU settings. The first component to make use of this mechanism is Res_monitor.comp as used in Test_TasReso.instr.
    • The (r-)interoff-lib.c family of codes have received multiple updates, thanks to McStas users Kyle Grammer (ORNL) and Gaetano Mangiapia (HZH):
      • The intersection routines now work correctly with gravity
      • The r-interoff-lib (and the related Guide_anyshape_r component) now support specifying a "full" reflectivity curve pr. OFF face, columns of m, alpha and W values should be added in this order to the OFF face.
    • A flaw was spotted in our NeXus implementation in the case of event lists: A small chunk-size of (1,6) was used, leading to slow I/O and lots of...
Read more

mcstas-2.7.2-release

13 Dec 08:49
Compare
Choose a tag to compare

December 12th, 2022: McStas 2.7.2 and McStas 3.2 released

Dear all, A new PAIR of releases of McStas:

  • McStas "classic" v. 2.7.2
  • McStas "next-generation", v. 3.2
are both built and ready for download!

Download and installation instructions are available via our GitHub INSTALL-doc pages - and available below as attachments for the most usual platforms.

Selected highligts from the releases are listed below. The full list of changes for both releases is also available in CHANGES_McStas.

Please start your migration to 3.x:

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

Fixes of issues from last releases:
A good number of issues from the earlier 2.7.1 and 3.1 releases were addressed, see the relevant GitHub issues for details:
Full 2.7.1 issue list
Full 3.1 issue list

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

  • Documentation & guides:
    • 3.2 only: All 3.2 component and instrument headers have been given an overhaul and should render correctly in mcdoc / your browser.
    • The component pages now include an extra column in the parameter-table. When filling in this column with wanted values, plus filling the entry-boxes for AT, ROTATED and instance name, pressing "Generate" will put a code-snipet for your component instance directly on your computer clipboard, for easy transfer to the mcgui editor or any other editor of choice!
    • mcdoc has been made "less picky" wrt. component and instrument structure for a more robust experience.
    • mcgui has a new "Docs" button for easier access to the generated mcdoc pages (that give easy access to components, instruments, manuals, datafiles and more.
  • Interoperability with other codes:
    • We have worked on the interfaces with MCPL (v. 1.6.1 included) and NCrystal (v. 3.5.1 included) and a mechanism was developed to automatically detect their location using the mcpl-config and ncrystal-config utils. In practice this happens prior/during to the code-generation step, see below under mcrun. Thanks to Thomas Kittelmann (ESS) for your help in this area.
  • Tools:
    • mcrun has a new solution to support 3 new keywords CMD(), ENV() and GETPATH() through the DEPENDENCY line as collected by the code-generator. (see CHANGES doc for more details)
    • As mentioned above, mcdoc has been made "less picky" wrt. component and instrument structure and enriched with JavaScript for easy transfer of information to you editor.
    • mcplot(-pyqtgraph) has received a nice update with an infobar at the bottom of the window. The infobar is updated with coordinates of the cursor on the active plot, meaning that you can easily determine the coordinates of e.g. a peak. The code has also received a number of bugfixes relating to colorbars, the order of monitor output in overviews etc. Thanks to Tobias Weber (ILL) for your work on mcplot.
    • 3.2 only: The new mcdisplay-cad variant has come along, and is currently included in the form of a technology-preview. The code uses the Python module cadquery (https://github.com/CadQuery/cadquery) and is able to write e.g. STEP or STL output. For now, resolving the required dependencies is left to the user, but we foresee that this tool will mature over the coming releases. Thanks to Greg Tyler (ESS) for contributing this tool.
  • Components and Instruments:
    • The Union framework is now considered a fully "official" part of McStas and is hence now found in the $MCSTAS/union folder. In McStas 3.2 Union_master is a still a NOACC component when running on GPU (i.e. performs its calculations on CPU in FUNNEL mode). We expect Union_master to receive full GPU suport within 2023. The NCrystal_process.comp is back in Union on 3.2 - will work only in a NOACC/CPU COMPONENT setting.
    • By popular demand, the ConicTracer code for simulating Wolter optics from Boris Khaykovich et. al. (MIT) has been included. The main "library" code is conic.h found in $MCSTAS/share and is used from 3 different example Wolter optic components: Conics_EH.comp, Conics_PH.comp, Conics_PP.comp. The illustrate how to mplement Elliptic-Hyperbolic, Parabolic-Hyperbolic and Parabolic-Parabolic Wolter mirrors, and two of these are used in the Test_Conics_pairs.instr instrument.
    • 3.2 only: Most of the standard monitors will now fill in their own "instance name" as filename in case a filename was not defined. A small but very useful convenience.
    • Source_div_quasi.comp allows to sample source phase-space using Halton-sequences, which proves to be a very effective way to ensure an evenly distributed phase space region of interest, e.g. for imaging/SANS settings where a very low-divergent beam is relevant. This contribution is from Mads Carlsen and Erik B. Knudsen (DTU) and was originally developed for McXtrace.
    • PSD_Pol_monitor.comp measures (local) polarisation over the (x,y) cross-section of a beam. Contributed by Alexander Backs (LU/ESS).
    • 3.2 only: Single_crystal_inelastic.comp (NOACC), Single_magnetic_crystal.comp (NOACC), SANS_benchmark2.comp and Guide_multichannel are now all available in the McStas 3 series. Also, the Fermi_chop2a.comp and Vertical_T0a.comp chopppers from Garrett Granroth (SNS) have received a GPU-oriented update.
  • Core and libs:
    • 3.2 only: Previously, any component present in a McStas instrument would trigger the transformation of every neutron to its local coordinate system, even in the case of an Arm() (empty TRACE) without an EXTEND block. We now instead detect components with an empty TRACE that have no EXTEND block and are able to completely skip these in the calculation. This results in a speedup in case of instruments with many "empty" components, such as big Union assemblies. Thanks to Mads Bertelsen (ESS) for investigating the problem and finding a good solution.
    • 3.2 only: A new syntax called SHELL has been added to the grammar, allowing users to run a system command prior to code-generation. This may for instance be used to generate an instrument-snippet that you may %include in the instrument (think for-loops of an assembly of identical components). One could also imagine compilation of a needed library, wget of a data file etc. The synax is SHELL "command-to-execute" and it should be placed directly after a DEPENDENCY line within an instrument or component. We expect that applications and examples will come in the next couple of releases.
    • 3.2 only: Components may from McStas 3.2 request USERVARS that become part of the particle struct. (For the time being only in the form of basic C types like double, int etc. and corresponding arrays / pointers.) This will mean that e.g. the optimisations in Single_crystal and PowderN in SPLIT scenarios can be introduced also in GPU settings. The first component to make use of this mechanism is Res_monitor.comp as used in Test_TasReso.instr.
    • The (r-)interoff-lib.c family of codes have received multiple updates, thanks to McStas users Kyle Grammer (ORNL) and Gaetano Mangiapia (HZH):
      • The intersection routines now work correctly with gravity
      • The r-interoff-lib (and the related Guide_anyshape_r component) now support specifying a "full" reflectivity curve pr. OFF face, columns of m, alpha and W values should be added in this order to the OFF face.
    • A flaw was spotted in our NeXus implementation in the case of event lists: A small chunk-size of (1,6) was used, leading to slow I/O and lots ...
Read more

McXtrace 3.0 is released!

09 Feb 10:22
Compare
Choose a tag to compare

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.

THANKS:

  • Thanks to: all members of the team (and also to the McStas team), for pulling together to make this possible.
  • Thanks to the mentors at the GPU Hackathons that really made this happen
  • Thanks to NVIDIA for making the hackathons happen

INSTALLATION:

  • Installation instructions for McXtrace-3.0 and support libraries may be found on our the McCode github-site:
    https://github.com/McStasMcXtrace/McCode/tree/master/Install_McXtrace-3.x
  • OpenACC acceleration is at present available out of the box on Linux.
  • On windows it is possible to target GPU-acceleration through Windows Subsystem For Linux v2: WSL2.
  • The present McXtrace-3.0 implementation relies the concept managed memory, which
    is at the time of writing only supported by the Linux version of the NVHPC-kit
    (downloadable from https://developer.nvidia.com/hpc-sdk)

For more information on the GPU-features of the release, please consult the CHANGES_McXtrace document on GitHub
(https://github.com/McStasMcXtrace/McCode/blob/mcxtrace-3.0-release/CHANGES_McXtrace) and the section
“Migrating from McStas 2.x to 3.x (and McXtrace 1.x to 3.x)” in our https://github.com/McStasMcXtrace/McCode/wiki

Tools:

  • The perl-suite of tools are no longer actively supported. They may still work.

Platforms:

  • We support the platforms Debian/Ubuntu and Fedora for Linux, 64 bit Windows 10, and recent 64 bit macOS (big Sur and
    newer). For FreeBSD you may build from source, an entry into the ports system is pending.

Components and Instruments:

  • Most components and instruments work out of the box. See https://new-nightly.mcxtrace.org/ for details.
  • Monitor_nD.comp: the uservar utility should now be given a string insted of a token name to measure a USERVAR entity
    tagged onto the photon. The string is used to look-up the name of the variable which should be declared in the USERVARS-section
    of the instrument file.

We provide x86_64 Debian packages here on GitHub. For other platforms, please refer to:

https://github.com/McStasMcXtrace/McCode/tree/master/INSTALL-McXtrace-3.x

McXtrace 1.7 is released !

03 Feb 16:38
Compare
Choose a tag to compare

McXtrace 1.7 is released

Dear simulators, The team is happy to announce that McXtrace 1.7 is out!

1.7 has been focused mainly on stability and bug-fixes, 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 presently custom, see
https://github.com/McStasMcXtrace/McCode/tree/master/INSTALL-McXtrace
for specific 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 1.7

This is mainly a bugfix/update release, but does include the first model
of a beamline at the SOLEIL synchrotron.
It also marks a switch for McXtrace to the the GPLv3 license.

  1. Improved installation scripts
    1. Installs cleanly on Mac silicon
  2. Updated examples:
    1. 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.

We provide Debian packages. For other platforms, refer to:

McStas 3.1 release!

09 Feb 10:34
Compare
Choose a tag to compare

(Uploaded to GitHub in 2022 for completeness, was released November 24th 2021)

A new release of McStas "next-generation", v. 3.1 has been built and is ready for download!

Download and installation instructions are available via our GitHub download pages.

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

Fixes of issues from last release:
A large number of issues from the earlier 3.0 were addressed, see the relevant GitHub issues for details:
https://github.com/McStasMcXtrace/McCode/issues?q=is%3Aissue+is%3Aclosed+label%3Amcstas-3.0
Migration-docs and guides for transitioning between McStas 2.x and 3.x can be found on our GitHub-based Wiki
3.1 can be considered the first "full-quality" production release of McStas with GPU support
Tools
mcgui allows definition of an "external editor", see the configuration menu.
On Linux we preconfigure for gedit (where we now also provide syntax-highlighting, on macOS and Windows we default to use the OS file-type settings, i.e. whatever you get by double-clicking an instr file.) Use ctrl/meta + shift + e to spawn the editor from mcgui.
Platforms:
We still support 64bit Windows 10/11 on Intel, all recent 64bit macOS including 11.x Big Sur and 12.x Monterey on both Intel and Apple Silicon/M1 processors. Debian-based distros on Intel and Arm, RPM-based distros on Intel. (RPMs are built on/for CentOS and Fedora, you may get varying milage elsewhere.)

We provide x86_64 Debian packages here on GitHub. For other platforms, please refer to:

https://github.com/McStasMcXtrace/McCode/tree/master/INSTALL-McStas-3.x

McStas "classic" 2.7.1 release

09 Feb 10:29
Compare
Choose a tag to compare

(Uploaded to GitHub in 2022 for completeness, was released October 5th 2021)

A new release of in the McStas “classic" series, v. 2.7.1 has been built and is ready for download!

Download and installation instructions are available via our GitHub download pages.

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

• Fixes of issues from last release:
• A number of minor issues from 2.7 were addressed, see the relevant GitHub issues for details:
https://github.com/McStasMcXtrace/McCode/issues?q=is%3Aissue+is%3Aclosed+label%3Amcstas-2.7
• Tools
• mcgui allows definition of an "external editor", see the configuration menu.
• On Linux we preconfigure for gedit (where we now also provide syntax-highlighting, on macOS and Windows we default to use the OS file-type settings, i.e. whatever you get by double-clicking an instr file.) Use ctrl/meta + shift + e to spawn the editor from mcgui.
• Platforms:
• We still support 64bit Windows 10/11 on Intel, all recent 64bit macOS including 11.0 Big Sur on both Intel and Apple Silicon/M1 processors. Debian-based distros on Intel and Arm, RPM-based distros on Intel. (RPMs are built on/for CentOS and Fedora, you may get varying milage elsewhere.)

We provide x86_64 Debian packages here on GitHub. For other platforms, please refer to:

https://github.com/McStasMcXtrace/McCode/tree/master/INSTALL-McStas-2.x