<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">
Hi again,
<div><br>
</div>
<div><br>
</div>
<div>I was just reminded that the SEARCH syntax may also be applied within an instrument TRACE section, e.g.:</div>
<div><br>
</div>
<div><code>TRACE</code><br style="font-family: arial;">
<code>...</code><br style="font-family: arial;">
<code>SEARCH SHELL "readout-config --show compdir"</code><br style="font-family: arial;">
<code>COMPONENT readout = Readout(ring="RING", fen="FEN", tube="TUBE", a="left", b="right", ...)</code><br style="font-family: arial;">
<code>AT (0, 0, 0) ABSOLUTE</code><br style="font-family: arial;">
<code>...</code></div>
<div><br>
</div>
<div>Both of the forms SEARCH “/path/to/add” and SEARCH SHELL "the_executable --and --some —options” may be used in this context also.</div>
<div><br>
</div>
<div><br>
</div>
<div>Best and have a nice weekend,</div>
<div>Peter</div>
<div><br>
<div><br>
<blockquote type="cite">
<div>On 31 Mar 2023, at 11.29, Peter Kjær Willendrup <pkwi@fysik.dtu.dk> wrote:</div>
<br class="Apple-interchange-newline">
<div>
<div style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">
<div>Dear all, </div>
<div><br>
</div>
<div><b>The new McStas release v. 3.3 "next-generation" is built and ready for download!</b></div>
<div><br>
</div>
<div><br>
</div>
<div>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.</div>
<div><br>
</div>
<div>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.</div>
<div><br>
</div>
<div><b>Thanks: </b></div>
<div>Thanks to all members of the joint McStas-McXtrace team and input from our users via emails and GitHub issues alike!</div>
<div><br>
</div>
<div>Download and installation instructions are available via our GitHub INSTALL-doc pages (<a href="https://github.com/McStasMcXtrace/McCode/blob/master/INSTALL-McStas-3.x/README.md">https://github.com/McStasMcXtrace/McCode/blob/master/INSTALL-McStas-3.x/README.md</a>)</div>
<div><br>
</div>
<div>Selected highlights from the releass are listed below. The full list changes is also available at <a href="https://mcstas.org/CHANGES_McStas">https://mcstas.org/CHANGES_McStas</a>.</div>
<div><br>
</div>
<div>If you didn't start already, please start your migration to 3.x!</div>
<div><br>
</div>
<div>The Wiki has a dedicated section on McStas 2.x -> McStas 3.x conversion that includes all the needed information </div>
<div>(<a href="https://github.com/McStasMcXtrace/McCode/wiki#migrating-from-mcstas-2x-to-3x-and-mcxtrace-1x-to-3x">https://github.com/McStasMcXtrace/McCode/wiki#migrating-from-mcstas-2x-to-3x-and-mcxtrace-1x-to-3x</a>)</div>
<div><br>
</div>
<div><b>Release highlights:</b></div>
<div><br>
</div>
<div>
<ul class="MailOutline">
<li>Installation and core packaging:
<ul class="MailOutline">
<li>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.</li></ul>
</li><li>Tools:
<ul class="MailOutline">
<li>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).</li><li>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 <a href="https://github.com/McStasMcXtrace/McCode/wiki/McStas-and-Mantid#mcstas-mantid-workflow">https://github.com/McStasMcXtrace/McCode/wiki/McStas-and-Mantid#mcstas-mantid-workflow</a> to succesfully
generate your IDF. Please also inspire from the example instruments in the Mantid category, see mcgui -> File -> New from template -> Mantid .</li><li>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.)</li><li>The mcgui run dialogue now allows to directly specify --format=NeXus and --format=NeXus --IDF when starting a simulation.</li><li>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.</li><li>mcplot (-pyqtgraph) and numpy related bug was quickly spotted and ironed out with the help of by Rose Robledo FZJ.</li></ul>
</li><li>Components and Instruments:
<ul class="MailOutline">
<li>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)</li><li>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.)</li><li>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.</li><li>The Elliptical_guide_gravity.comp will now complain if you are using arrays for specifying varied coating without setting the nSegments input.</li><li>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.</li><li>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.)</li><li>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.</li></ul>
</li><li>Core simulation framework / code-generator:
<ul class="MailOutline">
<li>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:
<ul class="MailOutline">
<li>SEARCH "/the/path/to/add/"</li><li>SEARCH SHELL "the_executable --and --some --options"</li></ul>
</li><li>Thanks to Gregory S. Tucker (ESS) for contributing this grammar enhancement!</li></ul>
</li><li>Libraries and other runtime code:
<ul class="MailOutline">
<li>The (r-)interoff-lib.c family of codes have again received a couple of updates, thanks to McStas user Richard Wagner (ILL).</li><li>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.)</li><li>MCPL library from the same authors included at v. 1.6.1</li></ul>
</li><li>Platforms:
<ul class="MailOutline">
<li>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.</li><li>On macOS and Windows we bundle a Mambaforge Python with the installation.</li><li>Our Docker and binder containers will be updated within the following weeks.</li></ul>
</li></ul>
</div>
<div><br>
</div>
<div>We hope you will enjoy this new release!!!</div>
<div><br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</body>
</html>