Example: air traffic controller

Getting Started with EGSnrc

Getting Started with EGSnrcR. Townson, F. Tessier, E. Mainegra, B. WaltersIonizing Radiation StandardsNational Research Council of Canada, OttawaPrinted: April 15, 2021 AbstractThis manual is a quick start guide to help new users get familiar with EGSnrc . A numberof complete tutorials are presented along with general guidance intended both for new usersand for those looking to update their EGSnrc skills. It is suggested that the reader followsthe document from top to bottom, as concepts are introduced gradually and through appliedexamples. The expected outcome is to provide the reader with some practical skills, alongwith a broader understanding of the capabilities of EGSnrc and the included tools. However,the information provided here is not complete: it will be necessary to refer to the relevantmanuals for full technical What is EGSnrc ?

EGSnrc is a software toolkit used 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 is an extended and improved version of the Electron Gamma Shower (EGS) software package

Tags:

  Simulation, Oracl, Monte, Monte carlo simulation

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Advertisement

Transcription of Getting Started with EGSnrc

1 Getting Started with EGSnrcR. Townson, F. Tessier, E. Mainegra, B. WaltersIonizing Radiation StandardsNational Research Council of Canada, OttawaPrinted: April 15, 2021 AbstractThis manual is a quick start guide to help new users get familiar with EGSnrc . A numberof complete tutorials are presented along with general guidance intended both for new usersand for those looking to update their EGSnrc skills. It is suggested that the reader followsthe document from top to bottom, as concepts are introduced gradually and through appliedexamples. The expected outcome is to provide the reader with some practical skills, alongwith a broader understanding of the capabilities of EGSnrc and the included tools. However,the information provided here is not complete: it will be necessary to refer to the relevantmanuals for full technical What is EGSnrc ?

2 42 Installation43 EGSnrc overview: the BEAMnrc .. DOSXYZnrc .. The RZ applications (cylindrical symmetry) .. The SPH applications (spherical symmetry) .. g .. egschamber .. egscbct .. egsfac .. cavity .. Tutorials (the tutor codes) ..104 Getting dirty: writing your first EGSnrc Create a new egs++ application .. Create an egs++ input file .. Compile and run using egsgui .. Add a dose scoring object .. Change the type of incident particles ..19 CONTENTSCONTENTSG etting Started with Change the energy of incident particles .. Change the material of the plate ..205 Navigating egs++ input Write a new input file .. a cylindrical water phantom .. an isotropic point source .. a dose scoring object .. the run control .. Run the simulation .

3 Simulate a collimated source .. Generate particles tracks ..306 Modelling an ionization Visualize your geometry withegsview.. Dig in with clipping planes .. Build an egs++ model of the 3C chamber .. Build an Exradin A12 chamber .. the spherical chamber tip .. the chamber body .. the chamber body to the chamber tip .. a region label for the cavity .. the chamber in air .. media definitions .. a particle source .. transport parameters and run control .. Add egschamber scoring options .. Add variance reduction .. Add ausgab (output) options .. Run the simulation .. Questions ..497 Linear accelerator Build a new BEAMnrc accelerator .. Run a BEAMnrc simulation .. Analyze the phase-space with beamdp .. Convert CT DICOM data to egsphant .. Calculate dose with DOSXYZnrc.

4 Extract dose profiles from 3ddose ..638 Online EGSnrc on github .. How to get support .. Bug reports .. Submitting your code .. Documentation .. documentation locally ..669 EGSnrc file The$HENHOUSE .. for different machines .. The$EGSHOME ..69 CONTENTSG etting Started with EGSnrc1 What is EGSnrc ? EGSnrc is a software toolkit used to perform monte Carlo simulation of ionizing radiationtransport through matter. It models the propagation of photons, electrons and positronswith kinetic energies between 1 keV and 10 GeV, in homogeneous materials. EGSnrc isan extended and improved version of the Electron Gamma Shower (EGS) software packageoriginally developed at the Stanford Linear Accelerator Center (SLAC) in the 1970s. Mostnotably, it incorporates significant refinements in charged particle transport, better low en-ergy cross sections, and the egs++ class library to model elaborate geometries and is distributed with a wide range of applications (previously referred to as usercodes ) that utilize the radiation transport physics to calculate specific quantities.

5 Thesecodes have been developed by numerous authors over the lifetime of EGSnrc to support thelarge user community. For a brief description of each application, see section InstallationFor the most up-to-date installation instructions, see the wiki section of the EGSnrc githubpage: you have any issues with the installation process, the EGSnrc reddit community is a goodplace to seek support: EGSnrc OVERVIEW: THE APPLICATIONS53 EGSnrc overview: the applications EGSnrc is a collection of generic routines that simulate the transport and interactionsof photons, electrons and positrons in matter. The majority of users do not write their own applications - the codes distributed withEGSnrc are useful for a wide range of calculations. Users can write their own applications that take advantage of the EGSnrc system,ortoolkit, by writing a program which specifies their particular problem in theMAIN program and communicates with EGSnrc through the user-supplied routinesAUSGAB,HOWFARandHOWNEARand the EGSnrc routinesHATCHandSHOWER.

6 In principle, applications can be written in any programming language as long as itcan interface with the Fortran EGSnrc code-base. Most commonly, applications are written inMORTRAN3(native EGSnrc language) orC++, although they could also be written inFORTRANor source code:$HEN_HOUSE/ global variables:$HEN_HOUSE/ :~/ EGSnrc /HEN_HOUSE/ BEAMnrcGetting Started with BEAMnrc Ideal for linear accelerator modelling and x-ray systems Includes geometries (called component modules) that can easily represent flatteningfilters, collimators, MLCs, etc. Accelerators can be compiled as shared libraries to be used as a particle source forother applications Includes time-synchronized capabilities ( dynamic jaws and MLCs) Written in MORTRAN3 Documentation: PIRS-509aSource code:$HEN_HOUSE/omega/beamnrcGlobal variables:$HEN_HOUSE/omega/ (launch withwish):$HEN_HOUSE/omega/progs/gui/ DOSXYZnrc Performs dose calculations in voxelized phantoms Includes a variety of source models ( a BEAMnrc shared library) Includes time-synchronized capabilities Written in MORTRAN3 Documentation: PIRS-794 Source code:$HEN_HOUSE/user_codes/dosxyznrcGlob al variables:$HEN_HOUSE/user_codes/ (launch withwish):$HEN_HOUSE/omega/progs/gui/ EGSnrc OVERVIEW.

7 THE The RZ applications (cylindrical symmetry)These applications are based on cylindrically symmetric geometries and are written inMORTRAN3. There is a dedicated GUI to compile these applications and write / edit : PIRS-702 GUI documentation: PIRS-801 Source code:$HEN_HOUSE/user_codesGUI:$HEN_HOUSE / DOSRZnrc Dose and kerma CAVRZnrc Calculates ionization chamber correction factors and relevant FLURZnrc Particle fluence SPRRZnrc Calculates Spencer-Attix spectrum averaged stopping-power ratios for arbitrary RZ applications (cylindrical symmetry) The SPH applications (spherical symmetry) Getting Started with The SPH applications (spherical symmetry)These applications are based on spherically symmetric geometries and are written in thefortran preprocessor : PIRS-702 Source code.

8 $HEN_ CAVSPHnrc Identical to CAVRZnrc but for spherical EDKnrc Calculates energy deposition kernels for photons or electrons forced to interact at thecentre of a spherical phantom Also calculates dose distributions in the entire phantom or the dose to specific regionsdefined as the cavity of a spherical ion SPH applications (spherical symmetry)3 EGSnrc OVERVIEW: THE g Calculates the energy fraction lost to radiation when electrons slow down (if the inci-dent beam is photons), or the radiative yield (if the incident beam is electrons) Calculates quantities such as mutr, muen and g-bar (the average fraction of energylost to radiation needed for the calculation of muen) Written inMORTRAN3 Source code:$HEN_HOUSE/user_ egschamber Calculates dose and energy deposited in regions/media Optimized for ionization chamber calculations Many relevant variance reduction techniques Written in c++ (egs++ application)Documentation: PIRS-898/egschamberSource code:$HEN_HOUSE/user_ egscbct Main goal is the fast estimation of the scatter contribution to an ideal detector in acone-beam CT (CBCT) setup by means of sophisticated variance reduction techniquesand a smoothing algorithm Can also be used for estimating the total signal to the detector and its individualcomponents: transmitted and scattered Initially designed for the purpose of simulating a CBCT setup, but can be equally usedfor modelling conventional CT scanner setups Written in c++ (egs++ application)Documentation: PIRS-898/egscbctSource code.

9 $HEN_HOUSE/user_ egsfacGetting Started with egsfac Designed for the purpose of calculating free air chamber (FAC) correction factors Written in c++ (egs++ application)Documentation: PIRS-898/egsfacSource code:$HEN_HOUSE/user_ cavity Calculates dose in ionization chamber and correction factors The predecessor of egschamber and egsfac Written in c++ (egs++ application)Documentation: PIRS-898/cavitySource code:$HEN_HOUSE/user_ Tutorials (the tutor codes) Many tutorial applications are distributed, written both inMORTRAN3and c++ The codes are heavily documented and intended to teach the user how to write EGSnrcapplicationsSource code:$HEN_ Getting DIRTY: WRITING YOUR FIRST EGSnrc APPLICATION114 Getting dirty: writing your first EGSnrc applicationBefore approaching the more formal descriptions, let s dive right in to actually writing asimple application that will utilize the EGSnrc core physics to perform a monte Carlo sim-ulation.

10 This hands-on approach will hopefully serve as an instructive lesson on what anEGSnrc application really does, how to write input files and perform simulations, and howto decipher the the installation, two directories were created and assigned to environment variables:$HEN_HOUSEand$EGS_HOME. To write an application, navigate to$EGS_HOME using a filebrowser, or on the you re working on linux but unfamiliar with environment variables, now might be a goodtime to do some quick research. Familiarize yourself with basic terminal commands, the shellyou are using and the shell configuration ( the~/.bashrcfile if you are using thebashshell). Create a new egs++ applicationLet s create a new egs++ application calledmyapp. All EGSnrc applications including theones you write yourself must reside in a folder with the name of the application, within$EGS_HOME.


Related search queries