.
- 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:
- 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:
- 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!!!
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
- 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.
- The build process for macOS has been overhauled and is now performed with the embedded
conda environment. Further, the macOS builds should be more robust wrt. added, surrounding
non-standard Python environments on the target machine.
- GPU support:
- McStas 3.3 enables most components and instruments on GPU. A very limited instruments using
the "scatter logger" mechanism are still only available on 2.x and key components (e.g. Union
and NCrystal) compute only on CPU.
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, available in two variants:
SEARCH "/the/path/to/add/"
SEARCH SHELL "the_executable --and --some --options"
But you may also apply the same two SEARCH
forms in connection with a component instance in TRACE
, e.g.:
TRACE
...
SEARCH SHELL "readout-config --show compdir"
COMPONENT readout = Readout(ring="RING", fen="FEN", tube="TUBE", a="left", b="right", ...)
AT (0, 0, 0) ABSOLUTE
...
- 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!!!
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.
Last Modified: Saturday, 23-Sep-2023 19:38:52 CEST