Release notes - nrc-cnrc/EGSnrc GitHub Wiki

Releases

EGSnrc 2023

Listed below are the most notable changes introduced in EGSnrc 2023, released on 15 February 2023 (there was no release in 2022). You can also review the list of all pull requests merged for this release. More fine-grained information about modifications is provided by the commit history (git log v2021..v2023) and the list of all file modifications since the previous release (git log --patch v2021..v2023).

Most notable changes

EGSnrc core
#958 Fix photonuclear cross section biasing when using cross section enhancement
#845 Fix serious bug in MCDF-XCOM photoelectric routine
#705 Fix wrong I-value for aluminum alloys
egs++
#896 Use position/direction from base source for the radionuclide source
#887 Implement EGS_Mesh geometry for simulation inside CAD models
#836 Add generic fluence scoring ausgab object (AO)
#759 Fix egs++ 3ddose output and change getMass to getVolume
BEAMnrc and DOSXYZnrc
#906 Add 3ddose_tools as a third-party submodule
#895 Fix revert egsphant to egs_brachy encoding
#878 Fix BEAMnrc synchdmlc component module bugs

New contributors

All changes

(chronological order, full changelog: https://github.com/nrc-cnrc/EGSnrc/compare/v2021...v2023)

  • Fix g bug: SEGFAULT when using spectrum by @mainegra in #714
  • Fix buffer overflow from scoring bin rounding by @mxxo in #864
  • Check that ir is not -1 for region dose scoring by @mxxo in #829
  • Document NRC brems cross section option by @mxxo in #877
  • Fix buffer overflow from scoring vacuum media dose by @mxxo in #861
  • Fix serious bug in MCDF-XCOM PE routine by @mainegra in #845
  • Increase the list of colours for the BEAMnrc gui by @rtownson in #713
  • Add git hash, branch and compile time to egs++ output by @rtownson in #414
  • Fix #573: wrong I-value for aluminum alloys by @ftessier in #705
  • Guard against more than one track_scoring object in egsinp by @mxxo in #751
  • Fix out-of-bounds read in egs_view by making region arrays the same size by @mxxo in #756
  • Fix a mistake in the getting-started solutions by @rtownson in #787
  • Document egs++ rng definition block by @mxxo in #794
  • Fix #803 a quiksyncdef error from DYNJAWS in BEAMnrc GUI by @rtownson in #806
  • Increase $MIN_GAP from 0.01 cm to 1e-5 cm by @blakewalters in #852
  • Add SAD back to particle Z before DOSXYZnrc phsp scoring by @blakewalters in #854
  • Fix a flurznrc bug reading the SLOTE parameter by @rtownson in #871
  • Add check for maximum number of particles to addphsp by @blakewalters in #729
  • Fix ReadCT_DICOM() to work with slices of arbitrary size by @mpayrits in #717
  • Update compiler flags to require c++14 standard by @ftessier in #703
  • added -mcmodel=medium as a default compiler flag by @crcrewso in #725
  • Fix BEAMnrc synchdmlc component module bugs by @blakewalters in #878
  • Add the dirt density file used by icrm-hpge-example by @rtownson in #721
  • Add checks for gcc version when setting the default c++ standard by @rtownson in #899
  • Fix git branch logging and egs_home vs HEN_HOUSE code comparisons by @rtownson in #898
  • Use position/direction sampling from base source for radionuclide sources by @ftessier in #896
  • Fix #904: avoid gcc -mcmodel flag on macos systems by @ftessier in #905
  • Option: output sparse binary dose file instead of 3ddose in DOSXYZnrc by @marenaud in #405
  • Fix egs++ 3ddose output and change getMass to getVolume by @MartinMartinov in #759
  • Fix mlce comment by @blakewalters in #931
  • Fix logging of git hash and compile time for BEAMnrc by @rtownson in #915
  • Add some minor documentation about input loops by @rtownson in #909
  • Fix configure_c++ on macOS by @mchamberland in #908
  • Fix #894: revert egsphant to egs_brachy encoding by @ftessier in #895
  • Implement EGS_Mesh geometry for simulation inside CAD models by @mxxo in #887
  • Add 3ddose_tools as a third-party submodule by @ftessier in #906
  • Fix various small issues ahead of release by @ftessier in #893
  • Fix #945, #804: egs_chamber examples don't run by default by @rtownson in #952
  • Run astyle on egs++ before release by @ftessier in #954
  • A generic fluence scoring ausgab object (AO) by @mainegra in #836
  • Fix #949: compiler errors of egs_mesh on mac by @rtownson in #950
  • Fix photonuclear cross section biasing when using cross section enhancement by @ftessier in #958
  • Merge branch develop into master for 2023 release by @ftessier in #965
  • Fix egs_cbct and egs_fac compilation errors for v2023 release by @ftessier in #968

EGSnrc 2021

Listed below are the most notable changes introduced in EGSnrc 2021, released on 18 April 2021. For the detailed list of changes, browse the corresponding commit history or use the terminal command git log v2020..v2021. You may also review the full list of preceding closed issues and closed pull requests.

EGSnrc core
#628 Add a new set of egs-parallel scripts to launch jobs on a scheduler or a multi-core computer
#588 Add a uniform run control object to launch parallel jobs without a lock file
#499 Reduce lock file race condition with random delay between parallel jobs
egs++
#683 Add a lattice geometry to effectively tile a region with a sub-geometry.
#645 Fix the dose normalization in egs++ 3ddose output
#622 Add splitting variable in egs_chamber to avoid overloading latch for splitting
#610 Fix egs_kerma (forced-detection bug) and expand its capabilities
#600 Expand environment variables in egs++ strings
#592 Add an egs_circle_perpendicular shape to help model moving collimated sources
#583 Preload include files in egs++ inputs to fix references to included geometries
#492 Add the egs_phd application to compute pulse height distribution
BEAMnrc and DOSXYZnrc
#662 Fix DOSXYZnrc phase space output with photon splitting
#633 Allow up to 95 egsphant media in ctcreate and DOSXYZnrc, using ascii characters
#621 Add sub-threshold fluorescence to DOSRZnrc kerma
#587 Relax leaf cross section dimensions restrictions
#586 Fix CHAMBER component module dose zone numbering
Mortran applications
#620 Fix bug in D/Dmax output of SPRRZnrc
#598 Upgrade the g application and provide documentation for it

EGSnrc 2020

Listed below are the most notable changes introduced in EGSnrc 2020, released on 31 January 2020. For detailed information, browse the corresponding commit history or use the terminal command git log v2020. You may also review the list of preceding closed issues and closed pull requests.

EGSnrc Core
#547 Increase array size defaults, decrease EPSEMFP and EPSGMFP to 1e-8 cm
#503 Fix erroneous medium definitions due to white space
#536 Fix an infinite loop that could occur (rarely) during annihilation
egs++
#550 Add kerma calculating application, egs_kerma
#103 Add new egs++ geometries and shapes (created originally for egs_brachy)
#557 Fix sampling bugs for the alias table and source collections
#531 Fix errors for prism and xyz geometries in a cd geometry
#525 Guard against floating-point errors in identity matrix test
#532, #559 Fix Windows PowerShell issue with .exe extension
BEAMnrc & DOSXYZnrc
#520 Fix check on WRAILBOT for TARGET leaves
#514 Allow odd number of TARGET/ISOCENTER leaves in SYNCHDMLC
#565 Fix compilation error when BEAMnrc is compiled with EEMF macros
#539 Fix string comparison for synchronized CM names
GUIs
#568 Fix egs_view crash when viewing tracks in Windows
#545 Remove IPARALLEL and PARNUM options from dosxyz_gui
Miscellaneous
#570 Add Slurm support in parallel job submission script

EGSnrc 2019a

Below is the change introduced in EGSnrc 2019a, released on 8 May 2019. This release reverts a bug introduced in EGSnrc 2019, which may cause spurious geometry errors inside egs++ conestack geometries. For detailed information, see the corresponding pull request.

egs++
#534 Revert "Avoid infinite loop in conestack geometry"

EGSnrc 2019

Listed below are the most notable changes introduced in EGSnrc 2019, released on 11 April 2019. For detailed information, browse the corresponding commit history or use the terminal command git log v2019. You may also review the list of preceding closed issues and closed pull requests.

EGSnrc Core
#415, #426 Limit vacuum step size in magnetic field
#211 Enhanced EM-field transport (disabled by default)
GUIs
#417 Add Qt5 support to all Qt GUIs
#427, #476 Update the egs_view GUI
egs++
#472 Add radiative splitting ausgab object
#457, #352 Fix egs++ beam source bugs
#454 Fix tutor7pp ausgab and output bugs
#308 Add egs++ dynamic motion of beam source (EGS_DynamicSource)
#418 Add egs++ phase-space scoring, the egs_phsp_scoring ausgab object
#386, #496, #521 Radionuclide source improvements
#481 Add the egs_app template application
#462 Fix a number of geometry errors
BEAMnrc & DOSXYZnrc
#455, #484, #519 Numerous SYNCHDMLC and DYNVMLC improvements
Miscellaneous
#407 Add support for fish shell in linux
#444 Add distribution tools to a new admin branch
#428 Add a getting-started manual
#432 Change -ffast-math to -mtune=native
#508 Fix parallel runs on Windows

EGSnrc 2018

Listed below are the most notable changes introduced in EGSnrc 2018, released on 18 April 2018. For detailed information, browse the corresponding commit history or use the terminal command git log v2018. You may also review the list of preceding closed issues and closed pull requests.

Changes and corresponding commits
Fix electron rest mass bug
1c1cdb2
Implement magnetic field scaling and a source for Fano testing under magnetic fields
3b6b16c
Fix charged particle fluence calculation in cavity
2d35318
Fix energy deposition artifact in the lowest energy bin in FLURZnrc
bdcd55f
Fix EADL atomic relaxations inconsistencies, and improve sub-threshold energy deposition
71c6585, 94ce4b5, c2d8672, ba288e0, 6d487e7, af4a48a
Fix photoelectric cross sections for elements 88 and 90
d6dd633
Fix uncertainty correlations in the g application with multiple energies
babf4de
Resolve infinite values when running EDKnrc with a spectrum source
e763851
Implement a new egs++ source to model radionuclides directly from ENSDF data files
9c3cacf
Fix arrays and latch in egs++ iaea_phsp_source
bab2e86
Add "renormalized" photoelectric cross sections and ICRU90 recommended values for key data (Changes default transport parameters)
fca7801
Fix rest mass and energy in DOSXYZnrc source 20
ca35d90
Fix angular sampling in egs++ isotropic sources
ef7b54c
Fix density for RW-1 material
494daf9
Add .3ddose output to egs++ dose scoring object
7e5bf07
Improve cavity fluence calculation
de1717c
Fix egs++ particle tracks crash on Windows 10
dc5c53c

EGSnrc 2017

Listed below are the most notable changes introduced in EGSnrc 2017, released on 31 January 2017. For detailed information, browse the corresponding commit history or use the terminal command git log v2017. You may also review the list of preceding closed issues and closed pull requests.

Changes and corresponding commits
Fix clockwise rotation around y-axis (egs++ transformations)
0cf6670
Requires a change to egs++ input files
Add particle track clipping in egs_view
ac9661a
Improveegs_view efficiency
7df6720, 3b5d808, 1f98861
Improveegs_view interface
5148293, 6f68950
Update electron rest mass
1eaf898
Fix multiple scattering coefficients
a93c726
Fix kerma calculation in g and DOSRZnrc
5ce91b4
Fix error in fluence in DOSXYZnrc
ae360a8
Fix gas pressure input
5e5bb60, 0520ca4
Add an egs++ rounded rectangle cylinder geometry
b99e3b5
Implement floating-point tolerance in egs++ geometry library
104bdf3
Add elementary examples for egs++ geometries and sources
881924d, c952bce
Add region labels to egs_chamber and egs_dose_scoring
f5a73d3
Fix egs++ geometry bugs
cb71367, 0cf6670, 9ef97f1, 23763c2, 7c5007d, 2d2d41d, c96b43d, 23e4657
Fix IAEA phase space file bugs
214bf92, 6fc6704, 15b2286, 7aba526, d70e11d, cf8b24d
Fix bugs in EGSnrc graphical user interfaces
1824675, c2cb50e, 47e2057, edad0d7
Fix and improve pegs4 and pegsless input
1d0f21a, 4ba117b, 94f66d6, b9d473e, 20ff345

EGSnrc 2016

Listed below are the most notable changes introduced in EGSnrc 2016, released on 21 January 2016. For detailed information, browse the corresponding commit history or use the terminal command git log v2016. You may also review the list of preceding closed issues and closed pull requests.

The commit history of this release only goes back to June 2015, when EGSnrc was ported to the git revision control system.

Change More information
Licence EGSnrc under AGPL 3.0 AGPL licence
Port to git revision control system, and github http://nrc-cnrc.github.io/EGSnrc/
Integrate BEAMnrc into EGSnrc no separate BEAMnrc installer
Add pegsless mode to define materials by input Chapter 7 in the EGSnrc manual
Allow electromagnetic field definition by input Section 3.14.1 in the EGSnrc manual
Add parallel processing to sprrznrc Commit bddd5de
Allow scientific notation for ncase in egs++ input Commit 962f2b5
Implement a style standard for egs++ source code Commit 574f13e
Improve egs_view rendering speed Commit e954105
Update Qt GUIs to Qt4
Simplify the configuration GUI
Update the configuration scripts
⚠️ **GitHub.com Fallback** ⚠️