Skip to content

Releases: mccode-dev/McCode

v3.5.24 Milestone with mcstas-antlr support, NCrystal on Windows

18 Feb 18:09
b69b417
Compare
Choose a tag to compare

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 your EDITOR to edit your local mccode_config.json
    by @willend in #1838 (available also by --edit-user-config from mcrun/mxrun)
  • [Feature] mcrun/mxrun: New switch --cogen to allow on-demand switch to non-standard code generator.
    See also interoperability with mccode-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 and Pol_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 on ANTLR instead of lex/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 implementations mcstas-antlr and mcxtrace-antlr are thus a candidate implementations to potentially replace the classic mcstas and mcxtrace 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:
      1. Install mccode-antlr from conda-forge or via pip
      2. Adapt your configuration to use e.g. mcstas-antlr by
      • Setting the new --cogen=mcstas-antlr option in mcrun
      • Enable or edit the MCCOGEN field of mccode_config.json using the new Save/Edit configuration in mcgui
      • (The antlr tools default to download comps etc. to an internal cache: Add e.g. -I${MCSTAS} to prefer ingredients fromyour local library)
      1. Use the mcrun-antlr/mxrun-antlr tools provided directly by mccode-antlr

Platform support

  • Debian/Ubuntu
    • [Fix] Make hidden numpy dependency explicit also on Debian by @willend in #1825
    • [Fix] McXtrace meta-pkgs for Debian add libgsl-dev as dependency by @farhi in #185
  • Windows
    • [Feature] NCrystal is now available with McStas on Windows
    • [Info] Windows via cross-compiled .exeinstaller from mccode.org:
      Please place the MCPL-related .bat files from the extras 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

12 Feb 18:56
f723c80
Compare
Choose a tag to compare

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

10 Feb 18:50
04da981
Compare
Choose a tag to compare

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

06 Feb 13:06
d81a002
Compare
Choose a tag to compare

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

31 Jan 17:05
cbbe277
Compare
Choose a tag to compare

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

23 Jan 18:20
bb8fbb6
Compare
Choose a tag to compare

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

03 Jan 11:12
a1524bc
Compare
Choose a tag to compare

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

20 Dec 09:20
8a72403
Compare
Choose a tag to compare

What's Changed

Full Changelog: v3.5.16...v3.5.17

v3.5.16 Update release end of 2024, including Deb packages

12 Dec 17:03
86cf6c8
Compare
Choose a tag to compare

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
  • McStas, McXtrace packaging:

  • McStas and McXtrace components and instruments

    • PowderN: fix warning message repeated for ever by
      @farhi in #1777
    • McXtrace fixes to 3 instrument models (expected values) and one component (compile error) -> "all green" status
      by @willend in #1793
    • Fix issue 1794 monitor_nd to ensure atomic list-mode on GPU
      by @willend in #1796
  • 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 ILL_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
  • 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 overriding cif2hkl:
      sudo apt-get -f install -o Dpkg::Options::="--force-overwrite"

Full Changelog: v3.5.12...v3.5.16

v3.5.15 minor update

12 Dec 07:56
4662602
Compare
Choose a tag to compare

What's Changed

Full Changelog: v3.5.12...v3.5.15