What is EGSnrc?
EGSnrc is a software toolkit to perform Monte Carlo simulation of ionizing radiation transport through matter. It models the propagation of photons, electrons and positrons with kinetic energies between 1 keV and 10 GeV, in homogeneous materials. EGSnrc was originally released in 2000, as a complete overhaul of the Electron Gamma Shower (EGS) software package originally developed at the Stanford Linear Accelerator Center (SLAC) in the 1970s. Most notably, EGSnrc incorporates crucial refinements in charged particle transport, better low energy cross sections, and the egs++ class library to model elaborate geometries and particle sources.
Documentation
- Citing EGSnrc
- Getting Started with guided tutorials
- EGSnrc core manual (PIRS-701)
- BEAMnrc accelerators (PIRS-509a)
- DOSXYZnrc voxel dose (PIRS-794)
- egs++ geometries, sources and applications (PIRS-898)
- g application reference manual (PIRS-3100) (pdf)
- RZ and SPH apps user manual (PIRS-702)
- RZ GUI egs_inprz (PIRS-801)
- BEAMDP basic manual (PIRS-509e)
- BEAMDP advanced manual (PIRS-509c)
- STATDOSE 3D dose processor (PIRS-509f)
Licence
EGSnrc is distributed as free software under the terms of the GNU Affero General Public Licence. Please review the LICENCE document before downloading the software. In practice, this licence imposes no restriction on using EGSnrc. However, if you want to further convey verbatim or modified versions of the code, or any work based on any EGSnrc component (including any such work operated remotely over a network), you must do so under the same licence terms. Contact us if you wish to licence EGSnrc under different terms.
Prerequisites
EGSnrc can be installed on computers running Linux, macOS or Windows operating systems. As a general-purpose Monte Carlo toolkit, EGSnrc provides source code and utilities to build and run your own radiation transport simulation applications. To use EGSnrc on any platform you need:
- a Fortran compiler
- a C compiler
- a C++ compiler
- the GNU
make
utility - the Tcl/Tk interpreter and widget toolkit (optional, for GUIs)
- the Grace plotting tool (optional, for plotting data)
Please read the installation instructions in the wiki for more details about these software components.
Installation
Installation involves downloading the EGSnrc source code, and then configuring
EGSnrc for your computer. We recommend using the git
version control
system to obtain the source code. The following shell command will clone the
EGSnrc repository to your current working directory:
git clone https://github.com/nrc-cnrc/EGSnrc.git
Alternatively, you can download a zip archive of the EGSnrc directory. Once you have downloaded the source code, you need to run a configuration GUI or script to set up and compile EGSnrc software components for your computer. Please read the full installation instructions for more details on how to download and configure EGSnrc.
Support
For technical support, consider the EGSnrc Discussions, or contact us.
Issues
Post Issues to report genuine bugs, mistakes or even small typos in the EGSnrc project files. The tracker lets you browse and search all documented issues, comment on open issues, and track their progress. Note that issues are not meant for technical support; open an issue only for an error which is specific and reproducible.
Contributing
You can contribute to the EGSnrc project by implementing new features, creating new data sets, correcting errors, or improving documentation. Feel free to submit small corrections and contributions as Issues, and propose new features in Discussions. For more extensive contributions, familiarize yourself with git and github, work on your own EGSnrc fork and submit your changes via Pull requests.