Releases: mccode-dev/McCode
Releases · mccode-dev/McCode
v3.5.24 Milestone with mcstas-antlr support, NCrystal on Windows
What's Changed
Important note
- McStas and McXtrace will soon change organisation-name on GitHub - from McStasMcXtrace -> mccode-dev
User interfaces and tools
- [Feature]
mcgui/mxgui
Let configuration dialogue spawn yourEDITOR
to edit your localmccode_config.json
by @willend in #1838 (available also by--edit-user-config
frommcrun/mxrun
) - [Feature]
mcrun/mxrun
: New switch --cogen to allow on-demand switch to non-standard code generator.
See also interoperability withmccode-antlr
below
by @willend in #1851 - [Feature]
mcrun/mxrun
Solution for picking up code generator from PATH if not found where expected
by @willend in #1840 - [Feature] pygen minor revision: Build importable make() function and call from generic notebook
by @willend in #1827 - [Fix] Support Scintilla editor on Debian with Qt6
by @willend in #1813 - [Fix] Drop hard-coded check for PyQt5
by @willend in #1814 - [Fix] No more hidden Perl dependencies! (perl -> python 1-liner readlinkf())
by @willend in #1824 - [Fix] too-restrictive
mcdisplay/mxdisplay
instrument line parsing
by @g5t in #1834 - [Fix] Patches for
mcdisplay/mxdisplay
in Windows
from @LelandWH #1853
Components and instruments
- [Fix] McStas
Vertical_bender
: Add max iteration criterion for while loop (default 1000).
by @willend in #1815 - [Fix] McStas
NCrystal_sample
: Remove possible out-of-bounds memory access
by @g5t in #1821 - [Fix] McStas
Elliptic_guide_gravity
andPol_mirror
: Minor comp revisions, suppresses compilation warnings from clang
by @willend in #1826 - [Fix] McStas
SNS_ARCS.instr
edits
by @willend in #1838 - [Fix] McStas
ISIS_IMAT.instr
DEPENDENCY " @NEXUSFLAGS@ " added
by @willend in #1839 - [Fix] McStas
Union_master
Adjustment of default parameter
by @willend in #1840 - [Fix] McStas
Union
-related fixes and imports from DMSC school
by @willend in #1841 - [Fix] McStas
Elliptical_guide_gravity
did not work in GROUPS as it always SCATTERS
by @mads-bertelsen in #1843 - [Fix]
Monitor_nD
on GPU: Adjustments for coherence between CPU and GPU particle lists
by @willend in #1816
Core simulation toolkit
- [Feature] NeXus: sort comp instances by index and include comp parameter information
by @willend in #1828 - [Fix] Increased stability in NeXus x wide MPI
by @willend in #1811 - [Fix] Portability, Windows +
cl.exe
: Remove variable length array allocations for issue #1817
by @g5t in #1819 and
#1818 by @willend in #1822
Interfaces and interoperability with other codes
NCrystal
- Thanks to @tkittel for ping-pong on this :)
- [Feature] McStas 3.5.24 and later now depends on NCrystal 4.0.0 and later. NCrystal is now available also on Windows!
by @willend in #1848 and #1855
mccode-antlr
- Thanks to @g5t for ping-pong on this :)
- [Feature]
mccode-antlr
is an alternative code-generator for McStas and McXtrace - a new development by @g5t and based onANTLR
instead oflex/yacc
. The new tool is mainly written in python and thus has a lower barrier for changes in language syntax and code generation. The tool implementationsmcstas-antlr
andmcxtrace-antlr
are thus a candidate implementations to potentially replace the classicmcstas
andmcxtrace
code generators in the future. Current status is that- McStas:
mcstas-antlr
is fully feature complete wrt.mcstas
for CPU simulations and close to complete for GPU simulations - McXtrace: Not all instruments will compile using
mcxtrace-antlr
but basic functionality is in place - To try:
- Install
mccode-antlr
fromconda-forge
or viapip
- Adapt your configuration to use e.g.
mcstas-antlr
by
- Setting the new
--cogen=mcstas-antlr
option inmcrun
- Enable or edit the
MCCOGEN
field ofmccode_config.json
using the newSave/Edit configuration
inmcgui
- (The antlr tools default to download comps etc. to an internal cache: Add e.g.
-I${MCSTAS}
to prefer ingredients fromyour local library)
- Use the
mcrun-antlr/mxrun-antlr
tools provided directly bymccode-antlr
- Install
- McStas:
Platform support
- Debian/Ubuntu
- Windows
- [Feature] NCrystal is now available with McStas on Windows
- [Info] Windows via cross-compiled
.exe
installer frommccode.org
:
Please place the MCPL-related.bat
files from theextras
folder in e.g.c:\mcstas-3.5.24\bin
to enable MCPL
(May require giving your user 'full access' permissions to the bin folder) - [Info] Windows via conda-forge: MCPL is not yet available but expected during the spring
Full Changelog: v3.5.16...v3.5.24
v3.5.23 February "scoop-up" release
What's Changed
- Post 3.5.16 minor Union fixes + NeXus x wide MPI by @willend in #1811
- Issue 1721 fix: Support Scintilla editor on Debian with Qt6 by @willend in #1813
- Drop hard-coded check for PyQt5 by @willend in #1814
- Add max iteration criterion for while loop (default 1000). by @willend in #1815
- Adjustments for coherence between CPU and GPU particle lists by @willend in #1816
- Remove variable length array allocations for #1817 by @g5t in #1819
- Fix typos in polyhedron.c by @g5t in #1820
- Remove NCrystal_sample.comp possible out-of-bounds memory access by @g5t in #1821
- Fix for #1818 by @willend in #1822
- Sync variants of Monitor_nD acc/noacc McStas, McXtrace by @willend in #1823
- perl -> python 1-liner readlinkf() by @willend in #1824
- Make hidden numpy dependency explicit also on Debian by @willend in #1825
- Minor comp revisions, suppresses compilation warnings from clang by @willend in #1826
- pygen minor revision: Build importable make() function and call from generic notebook by @willend in #1827
- Sync with main by @willend in #1829
- Software stack update for 8-way GPU box by @willend in #1830
- Software stack update by @willend in #1831
- Switch ZLIB FETCH->IFAVAILABLE for cros-platform Windows by @willend in #1832
- [Fix] too-restrictive McDisplay instrument line parsing by @g5t in #1834
- Sync this NeXus dev branch against main by @willend in #1836
- Adapt tooling to edit json config in EDITOR + SNS_ARCS edits by @willend in #1838
- NeXus: sort comp instances by index and include comp parameter information by @willend in #1828
- Enable DEPENDENCY " @NEXUSFLAGS@ " in IMAT instr by @willend in #1839
- Param default adj Union_master + mcrun fallback solution for picking up code generator from PATH by @willend in #1840
- Union-related fixes and imports from DMSC school issue by @willend in #1841
- Elliptical_guide_gravity did not work in GROUPS as it always SCATTERS by @mads-bertelsen in #1843
- Update README.md by @willend in #1845
- Update README.md by @willend in #1846
- Various NCrystal 4.0.0 related patches by @willend in #1848
- Ncrystal 4 patches - remove from cross-compile build by @willend in #1849
- Config fixes openacc by @willend in #1850
- Add switch --cogen to allow on-demand switch betwen mcstas/mcstas-antlr by @willend in #1851
- meta-pkgs:deb:mcxtrace: add libgsl-dev as dependency by @farhi in #1852
- Gzip biggest McXtrace datafiles by @willend in #1847
Full Changelog: v3.5.16...v3.5.23
v3.5.22 minor update
What's Changed
- Post 3.5.16 minor Union fixes + NeXus x wide MPI by @willend in #1811
- Issue 1721 fix: Support Scintilla editor on Debian with Qt6 by @willend in #1813
- Drop hard-coded check for PyQt5 by @willend in #1814
- Add max iteration criterion for while loop (default 1000). by @willend in #1815
- Adjustments for coherence between CPU and GPU particle lists by @willend in #1816
- Remove variable length array allocations for #1817 by @g5t in #1819
- Fix typos in polyhedron.c by @g5t in #1820
- Remove NCrystal_sample.comp possible out-of-bounds memory access by @g5t in #1821
- Fix for #1818 by @willend in #1822
- Sync variants of Monitor_nD acc/noacc McStas, McXtrace by @willend in #1823
- perl -> python 1-liner readlinkf() by @willend in #1824
- Make hidden numpy dependency explicit also on Debian by @willend in #1825
- Minor comp revisions, suppresses compilation warnings from clang by @willend in #1826
- pygen minor revision: Build importable make() function and call from generic notebook by @willend in #1827
- Sync with main by @willend in #1829
- Software stack update for 8-way GPU box by @willend in #1830
- Software stack update by @willend in #1831
- Switch ZLIB FETCH->IFAVAILABLE for cros-platform Windows by @willend in #1832
- [Fix] too-restrictive McDisplay instrument line parsing by @g5t in #1834
- Sync this NeXus dev branch against main by @willend in #1836
- Adapt tooling to edit json config in EDITOR + SNS_ARCS edits by @willend in #1838
- NeXus: sort comp instances by index and include comp parameter information by @willend in #1828
- Enable DEPENDENCY " @NEXUSFLAGS@ " in IMAT instr by @willend in #1839
- Param default adj Union_master + mcrun fallback solution for picking up code generator from PATH by @willend in #1840
- Union-related fixes and imports from DMSC school issue by @willend in #1841
- Elliptical_guide_gravity did not work in GROUPS as it always SCATTERS by @mads-bertelsen in #1843
- Update README.md by @willend in #1845
- Update README.md by @willend in #1846
- Various NCrystal 4.0.0 related patches by @willend in #1848
Full Changelog: v3.5.16...v3.5.22
v3.5.21 minor update
What's Changed
- Post 3.5.16 minor Union fixes + NeXus x wide MPI by @willend in #1811
- Issue 1721 fix: Support Scintilla editor on Debian with Qt6 by @willend in #1813
- Drop hard-coded check for PyQt5 by @willend in #1814
- Add max iteration criterion for while loop (default 1000). by @willend in #1815
- Adjustments for coherence between CPU and GPU particle lists by @willend in #1816
- Remove variable length array allocations for #1817 by @g5t in #1819
- Fix typos in polyhedron.c by @g5t in #1820
- Remove NCrystal_sample.comp possible out-of-bounds memory access by @g5t in #1821
- Fix for #1818 by @willend in #1822
- Sync variants of Monitor_nD acc/noacc McStas, McXtrace by @willend in #1823
- perl -> python 1-liner readlinkf() by @willend in #1824
- Make hidden numpy dependency explicit also on Debian by @willend in #1825
- Minor comp revisions, suppresses compilation warnings from clang by @willend in #1826
- pygen minor revision: Build importable make() function and call from generic notebook by @willend in #1827
- Sync with main by @willend in #1829
- Software stack update for 8-way GPU box by @willend in #1830
- Software stack update by @willend in #1831
- Switch ZLIB FETCH->IFAVAILABLE for cros-platform Windows by @willend in #1832
- [Fix] too-restrictive McDisplay instrument line parsing by @g5t in #1834
- Sync this NeXus dev branch against main by @willend in #1836
- Adapt tooling to edit json config in EDITOR + SNS_ARCS edits by @willend in #1838
- NeXus: sort comp instances by index and include comp parameter information by @willend in #1828
- Enable DEPENDENCY " @NEXUSFLAGS@ " in IMAT instr by @willend in #1839
- Param default adj Union_master + mcrun fallback solution for picking up code generator from PATH by @willend in #1840
- Union-related fixes and imports from DMSC school issue by @willend in #1841
Full Changelog: v3.5.16...v3.5.21
v3.5.20 minor update
What's Changed
- Post 3.5.16 minor Union fixes + NeXus x wide MPI by @willend in #1811
- Issue 1721 fix: Support Scintilla editor on Debian with Qt6 by @willend in #1813
- Drop hard-coded check for PyQt5 by @willend in #1814
- Add max iteration criterion for while loop (default 1000). by @willend in #1815
- Adjustments for coherence between CPU and GPU particle lists by @willend in #1816
- Remove variable length array allocations for #1817 by @g5t in #1819
- Fix typos in polyhedron.c by @g5t in #1820
- Remove NCrystal_sample.comp possible out-of-bounds memory access by @g5t in #1821
- Fix for #1818 by @willend in #1822
- Sync variants of Monitor_nD acc/noacc McStas, McXtrace by @willend in #1823
- perl -> python 1-liner readlinkf() by @willend in #1824
- Make hidden numpy dependency explicit also on Debian by @willend in #1825
- Minor comp revisions, suppresses compilation warnings from clang by @willend in #1826
- pygen minor revision: Build importable make() function and call from generic notebook by @willend in #1827
- Sync with main by @willend in #1829
- Switch ZLIB FETCH->IFAVAILABLE for cros-platform Windows by @willend in #1832
- [Fix] too-restrictive McDisplay instrument line parsing by @g5t in #1834
- Sync this NeXus dev branch against main by @willend in #1836
- Adapt tooling to edit json config in EDITOR + SNS_ARCS edits by @willend in #1838
- NeXus: sort comp instances by index and include comp parameter information by @willend in #1828
Full Changelog: v3.5.16...v3.5.20
v3.5.19 minor update
What's Changed
- Post 3.5.16 minor Union fixes + NeXus x wide MPI by @willend in #1811
- Issue 1721 fix: Support Scintilla editor on Debian with Qt6 by @willend in #1813
- Drop hard-coded check for PyQt5 by @willend in #1814
- Add max iteration criterion for while loop (default 1000). by @willend in #1815
- Adjustments for coherence between CPU and GPU particle lists by @willend in #1816
- Remove variable length array allocations for #1817 by @g5t in #1819
- Fix typos in polyhedron.c by @g5t in #1820
- Remove NCrystal_sample.comp possible out-of-bounds memory access by @g5t in #1821
- Fix for #1818 by @willend in #1822
Full Changelog: v3.5.16...v3.5.19
v3.5.18 New year 2025 minor release
What's Changed
- Post 3.5.16 minor Union fixes + NeXus x wide MPI by @willend in #1811
- Issue 1721 fix: Support Scintilla editor on Debian with Qt6 by @willend in #1813
Full Changelog: v3.5.16...v3.5.18
v3.5.17 Christmas break release 2024
What's Changed
- Release-doc updates etc. for 3.5.16 by @willend in #1800
- Update README.md by @willend in #1801
- Post 3.5.16 minor fixes by @willend in #1802
- Correct dumb typo by @willend in #1803
- Post 3.5.16 minor fixes by @willend in #1804
- Post 3.5.16 minor fixes by @willend in #1805
- Ditch binder links by @willend in #1806
- Align with main by @willend in #1810
- Post 3.5.16 minor Union fixes + NeXus x wide MPI by @willend in #1811
Full Changelog: v3.5.16...v3.5.17
v3.5.16 Update release end of 2024, including Deb packages
What's Changed
-
Tools, McStas and McXtrace:
- m[c,x]gui Reorder m[c,x]gui config dialogue for better visibility on "small screens"
by @willend in #1775 - m[c,x]plot-pyqtgraph Fix to support for all combinations of Qt5, Qt6, PySide6 #1768
by @willend in #1798 and #1797 - m[c,x]test avoid recompile-attempts for already failed instruments by
@willend in #1792
- m[c,x]gui Reorder m[c,x]gui config dialogue for better visibility on "small screens"
-
McStas, McXtrace packaging:
-
McStas and McXtrace components and instruments
-
McStas, increased support for mcstas-antlr code generator:
- Let mcstas-antlr produce output for 1-2 SNS instruments by
@willend in #1776 - Use DECLARE/INIT vars to set up Mono/Ana in templateTAS
@willend in #1778 - Print warning when overwriting COPY EXTEND %{%} block from instance by
@willend in #1786 - Minor fix for I
LL_H22_VIVALDI.instr
by @willend in #1788 - ANTLR-support: Replace nasty type var[] in fact headers by
@willend in #1790 - Various minor comp instr fixes
by @willend in #1795
- Let mcstas-antlr produce output for 1-2 SNS instruments by
-
Important note wrt. Debian packages:
- If you install both of mcstas and mcxtrace on the same Debian/Ubuntu system, you will get a collision for the file
/usr/bin/cif2hkl
. As a workaround you may allow joint installation via overridingcif2hkl
:
sudo apt-get -f install -o Dpkg::Options::="--force-overwrite"
- If you install both of mcstas and mcxtrace on the same Debian/Ubuntu system, you will get a collision for the file
Full Changelog: v3.5.12...v3.5.16
v3.5.15 minor update
What's Changed
- Update CHANGES docs for 3.5.12 by @willend in #1770
- Updates to install-docs for McStas/McXtrace 3.5.12 update by @willend in #1771
- No repo solution for 3.5.12 by @willend in #1772
- Update changelogs with repo situation by @willend in #1773
- Adjust test target value by @willend in #1774
- Reorder config dialogue for "small screens" by @willend in #1775
- Let mcstas-antlr produce output for 1-2 SNS instruments by @willend in #1776
- PowderN: fix warning message repeated for ever by @farhi in #1777
- Use DECLARE/INIT vars to set up Mono/Ana by @willend in #1778
- Update SECURITY.md by @willend in #1779
- Patch "basictest" workflows for use of macOS 14/15 by @willend in #1780
- Patch workflows to re-include macOS 13 by @willend in #1781
- Raise a warning dialogue if pyside6 is found. by @willend in #1782
- PR for cmake deb fix (#1783) by @willend in #1787
- Print warning when overwriting COPY EXTEND %{%} block from instance by @willend in #1786
- Two minor fixes by @willend in #1788
- Ensure the MCCODE_MAJOR/MINOR/PATCH vars always have a meaning by @willend in #1789
- ANTLR-support: Replace nasty type var[] in fact headers by @willend in #1790
- Avoid recompile-attempts for failed instruments by @willend in #1792
- McXtrace fixes nightlies by @willend in #1793
- Various minor comp instr fixes by @willend in #1795
- Fix issue 1794 monitor_nd atomic listmode by @willend in #1796
Full Changelog: v3.5.12...v3.5.15