Releases: mccode-dev/McCode
Releases · mccode-dev/McCode
v3.5.25 - incremental update before hackathon
What's Changed
- V3.5.24 release doc updates etc by @willend in #1856
- Fix typo by @willend in #1857
- Don't internally build cif2hkl by @willend in #1858
- Correct notes on MCPL and McStasScript by @willend in #1859
- No more McStasScript via pip, dammit by @willend in #1860
- Post 3.5.24 patches by @willend in #1861
- Tool folder spring cleaning by @willend in #1863
- More spring cleaning by @willend in #1864
- Shift org URLs by @willend in #1865
- Update rootmccode to work with new version of ROOT by @ebknudsen in #1862
- Add 'dtruss' on macOS in attempt to get info for #1866 by @willend in #1868
- Use macOS leaks binary for potential debug of #1866 by @willend in #1869
- A few minor commits for Install (sudo -E) and libgsl dependency. by @farhi in #1867
- Expand nighty test suite to macOS and Windows by @willend in #1870
- Fix paths in mcxtrace testsuite script by @willend in #1871
- Try to run the basic test using mpich on macOS by @willend in #1873
- NCrystal default branch was renamed from master to main by @tkittel in #1874
- Enable mpi for windows in test CI by @willend in #1875
- Enable MPI, NCrystal and MCPL in windows-test-CI by @willend in #1876
- Fixes to rectify remaining MCPL, NCrystal, gsl and xraylib by @willend in #1877
- Add libnexus-dev on Ubuntu nightly test by @willend in #1878
- Correct path for mcxtrace nightly testsuite by @willend in #1879
- Cppcheck hints by @willend in #1881
- Return to mpich on basictest by @willend in #1882
- Fix issue 1883 by setting mpirun --mca params by @willend in #1884
- Return None in mctest if no mccode.sim was written by @willend in #1885
- Full adaptation of "spin-component nullification" after "spin up/down measurement" by @willend in #1886
- Add wrapper for mc/mxdisplay-cad on Windows by @willend in #1888
- MacInstall: add comment on forcing open permission with command by @farhi in #1890
- Add component name in "segno" related Exit/Error statement by @willend in #1895
- McXtrace: data: refactor reflec_xraydb.py: refactor by @farhi in #1897
- First stab at adding basic windows MSVC test by @tkittel in #1898
- Doc correction for MCPL install-location in Windows legacy by @willend in #1900
- Restores MPIFLAGS configuration on non-windows platforms. by @willend in #1904
- Disable macos/openmpi in favour of macos/mpich for now by @willend in #1906
- 8GPU box software stack update by @willend in #1912
- Allow further geometries for He3 cell component by @willend in #1915
- McXtrace: work in data/reflec_xraydb script by @farhi in #1916
- Input flag -y / --yes applies all instrument parameter default values by @willend in #1914
Full Changelog: v3.5.24...v3.5.25
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