/EGSnrc-1

EGSnrc toolkit for Monte Carlo simulation of ionizing radiation transport

Primary LanguageC++GNU Affero General Public License v3.0AGPL-3.0

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.

doi:10.4224/40001303

Documentation

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 reddit community, 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.