The Monte Carlo Simulation of Radiation Transport NRC-CNRC Iwan Kawrakow

advertisement
The Monte Carlo Simulation of Radiation
Transport
Iwan Kawrakow
Ionizing Radiation Standards, NRC, Ottawa, Canada
NRC-CNRC
The Monte Carlo Simulation of Radiation Transport – p.1/35
Contents
History & application areas
A simple example: calculation of π with a Monte Carlo (MC)
simulation
Definition of the MC method
A simple particle transport simulation
Ingredients of a MC simulation
Photon & Electron interactions
Condensed history technique for charged particle transport
General purpose MC packages
The Buffon needle
Additional literature
NRC-CNRC
The Monte Carlo Simulation of Radiation Transport – p.2/35
The Monte Carlo (MC) method: brief history
Comte du Buffon (1777): needle tossing experiment to
calculate π
Laplace (1886): random points in a rectangle to calculate π
Fermi (1930): random method to calculate the properties of the
newly discovered neutron
Manhattan project (40’s): simulations during the initial
development of thermonuclear weapons. von Neumann and
Ulam coined the term “Monte Carlo”
Exponential growth with the availability of digital computers
Berger (1963): first complete coupled electron-photon transport
code that became known as ETRAN
Exponential growth in Medical Physics since the 80’s
NRC-CNRC
The Monte Carlo Simulation of Radiation Transport – p.3/35
The MC method: applications
Financial market simulations
Traffic flow simulations
Environmental sciences
Particle physics
Quantum field theory
Astrophysics
Molecular modeling
Semiconductor devices
Light transport calculations
Optimization problems
...
NRC-CNRC
The Monte Carlo Simulation of Radiation Transport – p.4/35
Example: calculation of π
Area of square: As = 1
Area of circle: Ac = π
Fraction p of random
points inside circle:
1
π
Ac
=
p=
As
4
Random points: N
Random points inside
circle: Nc
⇒
NRC-CNRC
4Nc
π=
N
The Monte Carlo Simulation of Radiation Transport – p.5/35
Calculation of π (cont’d)
4×10
3×10
2×10
∆π
1×10
-4
-4
-4
-4
0
-1×10
-2×10
-3×10
-4×10
-4
-4
-4
-4
1×10
8
1×10
9
number of points
NRC-CNRC
1×10
10
◮
The Monte Carlo Simulation of Radiation Transport – p.6/35
The MC method: definition
The MC method is a stochastic method for numerical integration
Generate N random “points” ~xi in the problem space
Calculate the “score” fi = f (~xi ) for the N “points”
Calculate
N
X
1
hf i =
fi ,
N
i=1
N
X
1
hf 2 i =
fi2
N
i=1
According to the Central Limit Theorem, for large N hf i will
approach the true value f¯. More precisely,
h
i
exp − (hf i − f¯)2 /2σ 2
2 i − hf i2
hf
√
p(hf i) =
, σ2 =
N −1
2πσ
NRC-CNRC
The Monte Carlo Simulation of Radiation Transport – p.7/35
A simple particle transport simulation
Consider a hypothetical particle that interacts via 2 processes
with surrounding matter:
Absorption. Total cross section is Σa
Elastic scattering. Total cross section is Σe , the differential
cross section is dΣe /dΩ is considered to be uniform
(dΩ = sin θdθdφ is solid angle element)
A random “point” in this case is a random particle trajectory for
a given geometry
Quantities of interest could be the reflection and transmission
coefficients, the amount of energy deposited in certain
volumes, the particle fluence, the average number of elastic
collisions, etc.
NRC-CNRC
The Monte Carlo Simulation of Radiation Transport – p.8/35
Sample particle tracks
NRC-CNRC
The Monte Carlo Simulation of Radiation Transport – p.9/35
Generation of particle tracks
1. Sample a random distance to the next interaction from an
exponential probability distribution function (pdf)
2. Transport the particle to the interaction site taking into account
geometry constraints (i.e. terminate if the particle exits the
geometry)
3. Select the interaction type: probability for absorption is
Σa /(Σa + Σe ), probability for elastic scattering Σe /(Σa + Σe )
4. Simulate the selected interaction:
if absorption, terminate history
else, select scattering angles using dΣe /dΩ as a pdf and
change the direction
5. Repeat 1–4
NRC-CNRC
The Monte Carlo Simulation of Radiation Transport – p.10/35
Ingredients of a MC transport simulation
A random number generator
Methods for sampling random quantities from a pdf
Bookkeeping (accumulating the results)
Geometry description
Physics input: total and differential cross sections
⇒ A particle transport simulation is conceptually very simple
⇒ The simulation of a very hard problem is not much more difficult
than the simulation of a very simple one
NRC-CNRC
The Monte Carlo Simulation of Radiation Transport – p.11/35
Random number generators (RNG)
Computers can not generate true random number sequences
⇒ pseudo-random numbers
Random number generation is an area of active research,
Bielajew’s chapter provides good references
Many high quality RNG’s are available
⇒ RNG not a concern when developing a MC simulation package
NRC-CNRC
The Monte Carlo Simulation of Radiation Transport – p.12/35
Geometry & Bookkeeping
Programming a geometry description is not difficult
conceptually, but can be very tedious for complex geometries
All general purpose MC radiation transport systems provide
geometry packages (see MCNP and/or PENELOPE and/or
Geant4 manuals, and/or Report PIRS–898 for actually working
geometry packages)
⇒ Describing the simulation geometry is reduced to learning the
syntax of an input file or learning to operate a GUI
Bookkeeping (scoring) is often provided by MC packages
out-of-the box
In situations where MC packages do not provide scoring of the
quantity of interest, in most cases it is relatively simple to add
extensions
NRC-CNRC
The Monte Carlo Simulation of Radiation Transport – p.13/35
Sampling from a pdf: direct method
Consider a pdf p(x) defined in the interval [a, b] and assume that
p(x) is normalized
We wish to sample random numbers xi distributed according to p(x)
using random numbers ηi distributed uniformly in [0, 1], i.e.
p(x)dx ≡ dη
The cumulative probability distribution function c(x) is defined as
c(x) =
Zx
dx′ p(x′ )
a
If we set c(x) = η
⇒
dc(x)
= p(x)
dx
we have p(x)dx = dη
This is the best method if p(x) and c(x) are simple enough
NRC-CNRC
The Monte Carlo Simulation of Radiation Transport – p.14/35
Direct method, examples
Exponential distribution in [0, ∞)
− ln(1 − η)
p(x) = Σ exp(−Σ·x) ⇒ c(x) = 1−exp(−Σ·x) = η ⇒ x =
Σ
Uniform distribution in [a, b]
x−a
1
⇒ c(x) =
= η ⇒ x = a + (b − a)η
p(x) =
b−a
b−a
Discrete distribution
p(x) = w1 δ(x − x1 ) + w2 δ(x − x2 ) + (1 − w1 − w2 )δ(x − x3 )
c(x) = w1 Θ(x − x1 ) + w2 Θ(x − x2 ) + (1 − w1 − w2 )Θ(x − x3 )
x = x1 , if η ≤ w1 , x = x2 , if η ≤ w1 + w2 , x = x3 , else.
NRC-CNRC
The Monte Carlo Simulation of Radiation Transport – p.15/35
Sampling from a pdf: rejection method
1. Set x = a + (b − a)η1
pmax
2. Deliver x if
p(x)
,
η2 ≤
pmax
p(x)
else goto step 1
a
b
Not useful if pmax ≫ hpi
In most cases used together with the direct method:
p(x) = g(x)h(x)
with x selected from g(x) and h(x) used as rejection function.
NRC-CNRC
The Monte Carlo Simulation of Radiation Transport – p.16/35
Sampling from a pdf: Markov chain
Initialize the Markov chain by selecting a random x in [a, b] and
calculating p = p(x)
Each time a new random value of x is to be sampled:
Select xnew = a + (b − a)η1
Calculate pnew = p(xnew )
If pnew ≥ p or η2 ≤ pnew /p, set x = xnew , p = pnew
Deliver x
It can be shown in a mathematically rigorous way that the
above process results in a series of x values distributed
according to p(x)
Drawback: the sequence of x is correlated ⇒ problems with
uncertainty estimation
NRC-CNRC
The Monte Carlo Simulation of Radiation Transport – p.17/35
Sampling from a pdf: Alias table
<p>
<p> 6
2 3
4
3
2
5 6 7
1 2 3
6
1 2 3
5 6 7
4
Initialization: arrange histogram data as a block as shown
above
Sampling: pick random 2D point in [a, b]; [0, hpi], set bin to the
bin index where the point falls.
NRC-CNRC
The Monte Carlo Simulation of Radiation Transport – p.18/35
Interaction cross sections
Photon and electron interactions with atoms and molecules are
described by QED
QED is perhaps the most successful and well understood
physics theory
Complications at low energies (energies and momenta are
comparable to the binding energies) or very high energies
(radiative corrections, formation time, possibility to create
muons and hadrons, etc)
Interactions are very simple in the energy range of interest for
external beam radiotherapy!
NRC-CNRC
The Monte Carlo Simulation of Radiation Transport – p.19/35
Photon interactions
Incoherent (Compton) scattering: dominant process for
megavoltage beams, modeling the interaction using the
Klein-Nishina equation is good enough most of the time
Pair production: total cross sections are based on highly
sophisticated partial-wave analysis calculations which are
known to be accurate to much better than 1%, details of energy
sharing between the electron and positron rarely matters
Photo-electric absorption: (almost) negligible for megavoltage
beams, dominant process in the (low) keV energy range where
cross section uncertainties are 5–10%
Coherent (Rayleigh) scattering: negligible for megavoltage
beams, a relatively small contribution for kV energies
See also figure 2 in Bielajew’s chapter
NRC-CNRC
The Monte Carlo Simulation of Radiation Transport – p.20/35
Electron and positron interactions
Inelastic collisions with atomic electrons that lead to ionizations
and excitations
Interactions with energy transfer large compared to the
binding energies: Møller (e− ) or Bhabha (e+ ) cross sections
Bethe-Bloch stopping power theory, excellent agreement
with measurements
Bremsstrahlung in the nuclear and electron fields
Very well understood at high energies (100+ MeV)
Well understood at low energies (≤ 2 MeV) in terms of
partial-wave analysis calculations
Interpolation schemes in the intermediate energy range,
excellent agreement with measurements
Elastic collisions with nuclei and atomic electrons: very well
understood in terms of partial-wave analysis calculations
Positrons: annihilation
NRC-CNRC
The Monte Carlo Simulation of Radiation Transport – p.21/35
MC simulations: practical problems
Condensed history technique for charged particle transport
(brief discussion in this lecture)
Long simulation times (see end of this lecture and chapter by
Sheikh-Bagheri et al on variance reduction)
Modeling of the output of medical linear accelerators (see
lectures by Ma & Sheikh-Bagheri and by Faddegon & Cygler)
Statistical uncertainties (see lecture by Kawrakow)
Commissioning (see lecture by Cygler & Seuntjens)
Software-engineering issues and complexities (beam modifiers,
dynamic treatments, 4D, etc.)
NRC-CNRC
The Monte Carlo Simulation of Radiation Transport – p.22/35
Charged particle transport
Unlike photons, charged particle undergo a huge number of
collisions until being locally absorbed (∼ 106 for a typical RTP
energy range electron, see also Fig. 3 in Bielajew’s chapter)
⇒ Event-by-event simulation is not practical even on a present day
computer
Fortunately, most interactions lead to very small changes in
energy and/or direction ⇒ combine effect of many
small-change collisions into a single, large-effect, virtual
interaction ⇒ Condensed History (CH) simulation
The pdf for these large-effect interactions are obtained from
suitable multiple scattering theories
CH transport for electrons and positrons was pioneered by M.
Berger in 1963
The CH technique is used by all general purpose MC packages
and by fast MC codes specializing in RTP calculations
NRC-CNRC
The Monte Carlo Simulation of Radiation Transport – p.23/35
Multiple scattering theories
are formulated for a given path-length ∆t, which is an artificial
parameter of the CH simulation.
Energy loss: theory of Landau or Vavilov
Elastic scattering deflection: theory of Goudsmit & Saunderson
Position at end of CH step: approximate electron-step
algorithms (a.k.a. “transport mechanics”). The “transport
mechanics” is also responsible for correlations between energy
loss, deflection, and final position.
Active area of research in the 90’s:
Any CH implementation converges to the correct result in the
limit of short steps, provided multiple elastic scattering is
faithfully simulated
Rate of convergence is different for different algorithms
For instance, results are step-size independent at the 0.1%
level for the EGSnrc CH algorithm
NRC-CNRC
The Monte Carlo Simulation of Radiation Transport – p.24/35
Coupled electron-photon transport
R
P Bh
B M
M
B
A
C
Ph
NRC-CNRC
The Monte Carlo Simulation of Radiation Transport – p.25/35
Condensed history steps
A CH simulation only
provides the positions xi and
directions Ωi of the particles
at the beginning of the i’th step
No information is available
on how the particle traveled
from xi to xi+1
Attempts to simply
score e.g. energy at the positions
xi result in artifacts, unless
the step-lengths are randomized
Attempts to simply connect
xi with xi+1 result in artifacts
unless the steps are short enough
NRC-CNRC
x1,Ω1
x2,Ω2
x3,Ω3
x6,Ω6
x4,Ω4
x5,Ω5
x4,Ω4
x5,Ω5
The Monte Carlo Simulation of Radiation Transport – p.26/35
General purpose MC codes
MCNP: developed and maintained at Los Alamos, distributed
via RSICC (http://rsicc.ornl.gov)
PENELOPE: developed and maintained at U Barcelona,
distributed via the Nuclear Energy Agency
(http://www.nea.fr/abs/html/nea-1525.html)
Geant4: developed by a large collaboration in the HEP
community, available at http://geant4.web.cern.ch/geant4/
EGSnrc: developed and maintained at NRC, available at
http://www.irs.inms.nrc.ca/EGSnrc/EGSnrc.html
NRC-CNRC
The Monte Carlo Simulation of Radiation Transport – p.27/35
The Buffon needle
Distance between
lines is d
Needle length is L
d
Needles are tossed
completely randomly
Probability that a needle intersects a line?
NRC-CNRC
L
The Monte Carlo Simulation of Radiation Transport – p.28/35
The Buffon needle (cont’d)
Probability p that a needle intersects a line is
2
, if z ≥ 1
p=
πz
h
i
√
2 1 + z arccos z − 1 − z 2
p=
, if z < 1
πz
2
z
z
1+
± · · · , if z ≪ 1
≈1−
π
12
where z = d/L ⇒ by counting the number of times the needle
intersects a line one can calculate π . Simple considerations show
that it is best to use z ≪ 1.
◮
NRC-CNRC
The Monte Carlo Simulation of Radiation Transport – p.29/35
4×10
3×10
2×10
∆π
1×10
-5
-5
-5
-5
0
-1×10
-2×10
-3×10
-4×10
-5
-5
-5
-5
7
1×10
NRC-CNRC
8
1×10
number of trials
9
1×10
The Monte Carlo Simulation of Radiation Transport – p.30/35
The Buffon needle (cont’d)
One needs ∼ 1000 times fewer trials with the Buffon needle
method (d/L = 10−3 ) to obtain the same statistical uncertainty
Generating a Buffon needle “random point” is ∼ 2.5 times
slower compared to generating a random point in a square
⇒ The Buffon needle method is ∼ 400 times more efficient for
computing π .
Techniques that speed up MC simulations without introducing a
systematic error in the result are known as variance reduction
techniques (VRT)
Devising such methods is frequently the most interesting part in
the development of a MC simulation tool
Clever VRT’s for radiation transport simulations have been
extremely helpful in the quest for clinical implementation of MC
techniques
NRC-CNRC
The Monte Carlo Simulation of Radiation Transport – p.31/35
Literature
The following is a list of useful references not found in the
bibliography of Bielajew’s chapter:
Electron and photon interactions:
J. W. Motz, H. A. Olsen and H. W. Koch, Rev. Mod. Phys. 36
(1964) 881–928: excellent review on elastic scattering cross
sections
J. W. Motz, H. A. Olsen and H. W. Koch, Rev. Mod. Phys. 41
(1969) 581–639: excellent review on pair production
ICRU Report 37 (1984): stopping powers
U. Fano, Annual Review of Nuclear Science 13 (1963) 1–66:
excellent (but quite theoretical) review of Bethe-Bloch
stopping power theory
M. J. Berger and J. H. Hubbell, “XCOM: Photon Cross
Sections on a Personal Computer”, Report NBSIR87–3597
(1987): discusses the most widely accepted photon cross
section data sets
NRC-CNRC
The Monte Carlo Simulation of Radiation Transport – p.32/35
Literature (2)
General purpose MC codes
S. Agostinelli et al., Nucl. Inst. Meth. A506 (2003) 250–303:
main Geant4 paper
PENELOPE 2003 or later manual (much more
comprehensive than the initial 1996 version cited in
Bielajew’s chapter)
MC Simulation of radiotherapy units
C-M Ma and S. B. Jiang, Phys.Med.Biol. 44 (2000) R157 –
R189: review of electron beam treatment head simulations
F. Verhaegen and J. Seuntjens, Phys.Med.Biol. 48 (2003)
R107 – R164: review of photon beam treatment head
simulations
D.W.O. Rogers et al, Med. Phys. 22 (1995) 503–524 and
D.W.O. Rogers, B.R.B. Walters and I. Kawrakow, BEAMnrc
Users Manual, NRC Report PIRS 509(a)revI (2005): the
most widely used code for treatment head simulations
NRC-CNRC
The Monte Carlo Simulation of Radiation Transport – p.33/35
Literature (3)
MC codes for radiotherapy
H. Neuenschwander and E. J. Born, Phys. Med. Biol. 37
(1992) 107–125 and H. Neuenschwander, T. R. Mackie and
P. J. Reckwerdt, Phys. Med. Biol. 40 (1995) 543–574: MMC
I. Kawrakow, M. Fippel and K. Friedrich, Med. Phys. 23
(1996), 445–457, I. Kawrakow, Med. Phys. 24 (1997)
505–517, M. Fippel, Phys.Med.Biol. 26 (1999) 1466–1475, I.
Kawrakow and M. Fippel, Phys.Med.Biol. 45 (2000)
2163–2184: VMC/xVMC
I. Kawrakow, in A. Kling et al (edts.), Advanced Monte Carlo
for Radiation Physics, Particle Transport Simulation and
Applications, Springer, Berlin (2001) 229–236: VMC++
J. Sempau, S. J. Wilderman and A. F. Bielajew, Phys. Med.
Biol. 45 (2000) 2263–2291: DPM
NRC-CNRC
The Monte Carlo Simulation of Radiation Transport – p.34/35
Literature (4)
MC codes for radiotherapy
C. L. Hartmann Siantar et al., Med.Phys. 28 (2001)
1322–1337: PEREGRINE
C.-M. Ma et al, Phys.Med.Biol. 47 (2002) 1671-1689:
MCDOSE
J.V. Siebers and P.J. Keall and I. Kawrakow, in Monte Carlo
Dose Calculations for External Beam Radiation Therapy, J.
Van Dyk (edt.), Medical Physics Publishing, Madison (2005),
91–130: general discussion of techniques used to speed up
calculations and the various fast MC codes
General review with emphasis on clinical implementation
issues: I.J. Chetty et al, TG–105 Report (to be published in
Med. Phys.)
NRC-CNRC
The Monte Carlo Simulation of Radiation Transport – p.35/35
Download