Skip to content

Releases: mccode-dev/McCode

v3.5.28 scoop up release - various changes

11 May 18:38
fdfc29c

Choose a tag to compare

What's Changed

Full Changelog: v3.5.27...v3.5.28

v3.5.27 Milestone with NCrystal on Windows and fully conda-forge based Windows solution

28 Apr 18:20
cfb6866

Choose a tag to compare

What's Changed

Common new features and patches for McStas and McXtrace (tools, random numbers etc.)

  • Update of rootmccode to work with new version of ROOT by @ebknudsen in #1862
  • Add wrapper for mc/mxdisplay-cad on Windows by @willend in #1888
  • mcrun/mxrun new input flag -y / --yes applies all instrument parameter default values by @willend in #1914
  • PowderN and SX fixes: cif2hkl now searches correctly files using Open_File/real path, and sets 'barns=1' by @farhi in #1952
  • Correct implementation to use unit64_t (achieves a correct 64bit RNG also on Windows...) by @willend in #1955 and #1966
  • Add simple test of KISS RNG across platforms and compilers by @willend in #1956
  • Suppress const char in the cif2hkl fcts by @willend in #1957
  • Use mcpl 2.0 proper on Windows. by @willend in #1962
  • mcplot/mxplot tools: plotfuncs.py: fix log scale when min(data) by @farhi in #1971
  • Windows batch wrappers mcstas-conda.bat and mcxtrace-conda.bat for easy installation by willend in #1973

New McStas specific features and patches

  • Full adaptation of "spin-component nullification" after "spin up/down measurement" by @willend in #1886 (see also discussion on mcstas-users
  • Add component name in "segno" related Exit/Error statement by @willend in #1895
  • Allow further geometries for He3 cell component by @willend in #1915
  • Contributed component Source_custom by @pablogila in #1911 and #1946
  • Update MCPL_input.comp by @g5t in #1924
  • PowderN: remove a static variable declare from SHARE section by @willend in #1945
  • Comp updates from work on ESS SKADI by @willend in #1948
  • Add COPY SHARE to Diaphragm Slit-alias-comp + add in McXtrace by @willend in #1950

New McXtrace specific features and patches

Platform support and packaging, continuous integration

  • 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
  • Enable mpi for windows in test CI by @willend in #1875
  • Enable MPI, NCrystal and MCPL in windows-test-CI by @willend in #1876
  • 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
  • MacInstall: add comment on forcing open permission with command by @farhi in #1890
  • 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
  • Add Windows / arm64 in CI (only msvc and sans MPI for now) by @willend in #1954
  • Suppess various warnings from msvc on Windows: use %li -> %zi in printfs by @willend in #1958
  • Suppress msvc warnings about implicit mkdir() and getpid() by @willend in #1959
  • mcrun and msvc: drop -lm and -o instr.exe by @willend in #1960
  • More warning suppression msvc by @willend in #1961
  • Minor fixes post 3.5.26 by @willend in #1969

New Contributors

Full Changelog: v3.5.24...v3.5.27

Update-release 3.5.26

25 Apr 14:14
7f77bfb

Choose a tag to compare

What's Changed

Patching

Feature updates

Common:

  • Update rootmccode to work with new version of ROOT by @ebknudsen in #1862
  • Return None in mctest if no mccode.sim was written by @willend in #1885
  • Add wrapper for mc/mxdisplay-cad on Windows by @willend in #1888
  • Input flag -y / --yes applies all instrument parameter default values by @willend in #1914
  • Fix issue 1883 by setting mpirun --mca params by @willend in #1884
  • PowderN: remove a static variable declare from SHARE section by @willend in #1945
  • Add COPY SHARE to Diaphragm Slit-alias-comp + add in McXtrace by @willend in #1950
  • @farhi mcgui tooltip edits from #1952 by @willend in #1953
  • PowderN and SX fixes: cif2hkl now searches correctly files using Open_File/real path, and sets 'barns=1' by @farhi in #1952
  • Correct implementation to use unit64_t (achieves a correct 64bit RNG also on Windows...) by @willend in #1955, #1956, #1966

McStas:

McXtrace:

  • McXtrace: data: refactor reflec_xraydb.py: refactor by @farhi in #1897
  • McXtrace: work in data/reflec_xraydb script by @farhi in #1916
  • mcxtrace:powderN: Update PowderN.comp: reduce nb of printed warnings by @farhi in #1919
  • McXtrace: Fluorescence handling ala PowderN by @willend in #1942
  • McXtrace: samples: add Fluo+PowderN component by @farhi in #1951

CI/testing

Debian packages

  • A few minor commits for Install (sudo -E) and libgsl dependency. by @farhi in #1867

macOS bundle

New Contributors

Full Changelog: v3.5.24...v3.5.26

v3.5.25 - incremental update before hackathon

31 Mar 15:50
182c31e

Choose a tag to compare

What's Changed

Full Changelog: v3.5.24...v3.5.25

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

18 Feb 18:09
b69b417

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

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

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

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

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

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