[Neutron] McStas 3.3 release

Peter Kjær Willendrup pkwi at fysik.dtu.dk
Fri Mar 31 11:29:53 CEST 2023


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 (https://github.com/McStasMcXtrace/McCode/blob/master/INSTALL-McStas-3.x/README.md)

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!

The Wiki has a dedicated section on McStas 2.x -> McStas 3.x conversion that includes all the needed information
(https://github.com/McStasMcXtrace/McCode/wiki#migrating-from-mcstas-2x-to-3x-and-mcxtrace-1x-to-3x)

Release highlights:


  *   Installation and core packaging:
     *   McStas 3.3 comes with embedded NeXus support on macOS and on Debian/Ubuntu NeXus is pulled as a package dependency. On Windows, please install NeXus from the extras/ folder alongside your McStas bundle.
  *   Tools:
     *   mcrun now automatically adds NeXus support to your binary if --format=NeXus is given on the commandline (or if DEPENDENCY " @NEXUSFLAGS@ " is included in your instrument or component file).
     *   The new input flag --IDF will run an IDF generator (i.e. mcdisplay-mantid) prior to performing a NeXus-based simulation, i.e. for "one-click" support of output in Mantid-compatible NeXus format with an embedded IDF. Please consult the naming-conventions for sourceMantid, sampleMantid and nD_Mantid_xx found in https://github.com/McStasMcXtrace/McCode/wiki/McStas-and-Mantid#mcstas-mantid-workflow to succesfully generate your IDF. Please also inspire from the example instruments in the Mantid category, see mcgui -> File -> New from template -> Mantid .
     *   mcrun now forwards the -I input to the code-generator, which allows you to add a chosen folder with extra components etc. to your search path. Setting the -I flag implies recompilation (-c). (Please also note the related SEARCH grammar below which allows working on the component search path directly via the instrument or component grammar.)
     *   The mcgui run dialogue now allows to directly specify --format=NeXus and --format=NeXus --IDF when starting a simulation.
     *   mcdisplay-mantid has been given a good overhaul and now works properly with all of the supported mantid-event-detector geometries of Monitor_nD: rectangular, cylindrical/banana and OFF-file based. Thanks to Torben R. Nielsen and Celine Durniak (ESS) for repeated testing.
     *   mcplot (-pyqtgraph) and numpy related bug was quickly spotted and ironed out with the help of by Rose Robledo FZJ.
  *   Components and Instruments:
     *   FZP_simple model.comp of Fresnel Zone-Plate (phenomenologic/closed-form thin-plate approximation) added along with test instrument Test_FZP_simple.instr, work by Anders Komar Ravn (NBI), and Erik B Knudsen (previously DTU, now Copenhagen Atomics)
     *   Test_Monochromators.instr has been updated to include NCrystal_sample as a monochromator, plus includes multiple ways of parametrizing Single_crystal lattice orientation. (Please note that NCrystal support is still not complete on Windows.)
     *   The 3 example ConicTracer interface-component codes Conics_EH.comp, Conics_PH.comp, Conics_PP.comp have been updated to allow specifying non-equidistant radii of the nested optical shells. Please use vector radii={a,b,c,d,e} or initialization via an instrument-based array and use a compatible setting of nshells.
     *   The Elliptical_guide_gravity.comp will now complain if you are using arrays for specifying varied coating without setting the nSegments input.
     *   The multi-v-cavity support from the McStas 2.x version of Pol_guide_vmirror.comp has been ported to 3.3. Thanks to Damian Rodriguez and Hal Lee (ESS) for interactions on this component.
     *   By popular demand, certain characteristics of the ESS_butterfly component may be modified using compile-time re-definition. Defaults are ESS_SOURCE_DURATION0=2.857e-3 s, ESS_SOURCE_FREQUENCY 14 Hz, ESS_SOURCE_POWER 5 MW. (Use e.g. mcrun --D1=ESS_SOURCE_DURATION=1.0e-3 to simulate a 1 ms pulse.)
     *   Similarly, the precession-algorithm constants of pol-lib may also be redefined at compile-time, defaults are: MCMAGNET_STACKSIZE=12, mc_pol_angular_accuracy=(1.0*DEG2RAD) deg, mc_pol_initial_timestep=1e-5 s.
  *   Core simulation framework / code-generator:
     *   A new syntax called SEARCH has been added to the grammar, allowing users to run append a directory to the mcstas search path when looking for components. The syntax may be given in the instrument- or component-header directly after a SHELL token and before the DEPENDENCY, DECLARE tokens. SEARCH comes in two variants:
        *   SEARCH "/the/path/to/add/"
        *   SEARCH SHELL "the_executable --and --some --options"
     *   Thanks to Gregory S. Tucker (ESS) for contributing this grammar enhancement!
  *   Libraries and other runtime code:
     *   The (r-)interoff-lib.c family of codes have again received a couple of updates, thanks to McStas user Richard Wagner (ILL).
     *   NCrystal library version 3.5.1 from T. Kittelmann (ESS) and X.X. Cai (CSNS), distributed with McStas on Unix platforms only. (Cross-compiles for Windows, but still needs work for "production" availability.)
     *   MCPL library from the same authors included at v. 1.6.1
  *   Platforms:
     *   We still support 64bit Windows 10/11 on Intel, three most recent 64bit macOS (11 Big Sur -> 13 Ventura) on both Intel and Apple Silicon/M-series processors. Debian-based distros on Intel and Arm, Fedora on Intel.
     *   On macOS and Windows we bundle a Mambaforge Python with the installation.
     *   Our Docker and binder containers will be updated within the following weeks.

We hope you will enjoy this new release!!!

Best regards on behalf of the McStas team,
Peter Willendrup


Peter Kjær Willendrup
Forskningsingeniør, Specialkonsulent

DTU Physics


[image001.gif]


Technical University of Denmark


[image002.gif]



Department of Physics
Fysikvej
Building 307
DK-2800 Kongens Lyngby
Direct +45 2125 4612
Mobil +45 2125 4612
Fax +45 4593 2399
pkwi at fysik.dtu.dk

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.neutronsources.org/pipermail/neutron/attachments/20230331/41bd899b/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.gif
Type: image/gif
Size: 58 bytes
Desc: image001.gif
URL: <https://lists.neutronsources.org/pipermail/neutron/attachments/20230331/41bd899b/attachment.gif>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image002.gif
Type: image/gif
Size: 1055 bytes
Desc: image002.gif
URL: <https://lists.neutronsources.org/pipermail/neutron/attachments/20230331/41bd899b/attachment-0001.gif>


More information about the Neutron mailing list