PHITS Multi-Purpose Particle and Heavy Ion Transport code System Advanced Lecture (II): variance reduction techniques to improve efficiency of calculation Jan. 2014 revised title 1 Contents of Lecture 1.Introduction 2.Neutron deep penetration calculation [importance] Geometry splitting and Russian Roulette [weight window] Weight windows 3.Calculation of particle production in thin target [forced collision] 2 Neutron deep penetration calculation Calculate neutron transport in thick shield and dose rate distribution to depth imp.inp 14 MeV neutron with 1 cm radius maxcas = 10000 maxbch = 2 Number of history = 20000 Concrete 50cm radius x 3 m thick cylinder Air 3 Neutron deep penetration calculation Normal calculation using a single CPU 2.83GHz, Single Number of history= 2x104 total cpu time = 53.66 sec Normal calculation using 31 CPUs 2.83GHz, 31 CPUs Number of history= 1.3x109 total cpu time = about 6 hours Need to improve the efficiency of Monte Carlo simulation! Use variance reduction techniques 4 Concept of weight in Monte Carlo calculation Example:track length tally Weight: Importance of the particle in Monte Carlo simulation always to be 1 for normal calculation Merit of controlling weight Artificially increase the probability of rare event occurrences Kill events that are not so important Demerit of controlling weight Inadequate weight control induces wrong simulation results Frequency distribution per a history cannot be calculated, e.g. [t-deposit] with output = deposit, NO MORE event generator! 5 Contents of Lecture 1.Introduction 2.Neutron deep penetration calculation [importance] Geometry splitting and Russian Roulette [weight window] Weight windows 3.Calculation of particle production in thin target [forced collision] 6 Cell Importance Method Set important I to each cell. When a particle passes through the boarder of cell 1 and cell 2, multiple its weight by I1/I2 For I1 < I2, split the particle into I2/I1, and multiple its weight by I1/I2 e.g.1 I2/I1 = 3 (integer) I1=1 W=1 I2=3 W=1/3 W=1/3 W=1/3 • Always split into 3 • Weights of all split particles are 1/3 e.g. 2 I2/I1 = 2.75 (not an integer) • Split into 3 by 75% • Split into 2 by 25% • Weights of all split particles are 1/2.75 For I1 > I2 , play Russian Roulette, and multiple its weight by I1/I2 I1=1 I2=1/3 W=1 W=1 W=1 W=3 e.g.3 I2/I1 =0.33 • 33% of particles survives, rests are killed • Weights of all survived particle are 3 Example of calculation using [importance] imp.inp 14 MeV neutron with 1 cm radius Concrete 50cm radius x 3 m thick cylinder Air Thickness of each cell: 15 cm Ii+1/Ii = 2.5 [importance] part = neutron reg imp 1 2.5**0 2 2.5**1 3 2.5**2 4 2.5**3 5 2.5**4 6 2.5**5 7 2.5**6 8 2.5**7 9 2.5**8 10 11 12 13 14 15 16 17 18 19 20 2.5**9 2.5**10 2.5**11 2.5**12 2.5**13 2.5**14 2.5**15 2.5**16 2.5**17 2.5**18 2.5**19 8 Example of calculation using [importance] 2.83GHz, single Number of history 2x104 maxcas = 10000, maxbch = 2 Without [importance] total cpu time = 53.66 sec 1 0.1 0.01 Dose rate With [importance] Relative error total cpu time = 186.47 sec 1 0.1 0.01 Estimate doses deep inside concrete ! It is important to check the relative error ! red :1.0, yellow: around 0.1, green: around9 0.01 Example of calculation using [importance] Dose rate in each cell Neutron energy spectra in a cell 7 Good agreements between importance method and normal calculation 10 → Indicate the adequacy of the importance setting! Important Notice of Setting [importance] source Good example 1 2 4 8 16 32 8 8 8 32 Bad example 1 1 It is better to set 2~3 for max importance ratio between neighboring cells. Reference: 11 “A Sample Problem for Variance Reduction in MCNP” LA-10363-MS DE86 004380 Bad Example for using [importance] Very large importance ratio imp.inp Number of history 2x104 maxcas = 10000, maxbch = 2 [importance] 2.83GHz, single total cpu time = 92.0 sec part = neutron Dose Relative error Relative errors are too large in comparison to previous setting! reg imp 1 2.5**0 2 2.5**0 3 2.5**0 4 2.5**3 5 2.5**3 6 2.5**3 7 2.5**3 8 2.5**3 9 2.5**3 10 2.5**3 11 2.5**10 12 2.5**10 13 2.5**10 14 2.5**10 15 2.5**10 16 2.5**15 17 2.5**15 18 2.5**15 19 2.5**15 20 2.5**19 12 Contents of Lecture 1.Introduction 2.Neutron deep penetration calculation [importance] Geometry splitting and Russian Roulette [weight window] Weight windows 3.Calculation of particle production in thin target [forced collision] 13 Difference between cell importance and weight window methods • • “Cell importance method” assign a single value of weight for each cell. “Weight window method” assign allowed weight range (window) for each cell and each energy group. Efficient simulation with focusing on the important energy region, such as high-energy neutron. W2=1/3 region1 region2 Number of particle 1 → I2/I1=3 Cell importance method W1=1 Weight W1=1 WU=2.5 WU=1.25 W=1 Weight Weight I1=1 WU=2.5 I2=3 WL=0.5 WL=0.5 WL=0.25 region1 energy group1 W2=0.5 region2 energy group2 Number of particle 1 → 1 WU=0.75 WL=0.15 1→ W1/W2=2 Weight window method 14 Example of calculation using [weight window] Number of history 2x104 maxcas = 10000, maxbch = 2 Normal calculation total cpu time = 53.66 sec Dose [importance] [weight window] 1 Relative error 0.1 0.01 total cpu time = 186.47 sec •Set the lowest weight allowed in the cell (WW1=WL) total cpu time = 120.16 sec [weight window] part = neutron reg ww1 1 (1/3)/2.5**0 2 (1/3)/2.5**1 ・・・ 15 Calculation using weight window with energy dependence Number of history 2x104 maxcas = 10000, maxbch = 2 [weight window] 1. One energy group: all energy total cpu time = 120.16 sec 2. two energy group: 0-1keV and 1keV-20MeV Lower weight boundary for En<1 keV (ww1) is higher than lower weight boundary for En > 1 keV (ww2) to concentrate on high-energy neutron transport total cpu time = 68.77 sec part = neutron reg ww1 1 (1/3)/2.5**0 2 (1/3)/2.5**1 ・・・ [weight window] part = neutron eng = 2 1.0e-3 20.0 reg ww1 ww2 1 (1/3)/2.5**0*10 (1/3)/2.5**0 2 (1/3)/2.5**1*10 (1/3)/2.5**1 3 (1/3)/2.5**2*10 (1/3)/2.5**2 ・・・ 16 Check the accuracy of simulations 150 cm 225 cm 300 cm Attenuation of dose behind the concrete shielding Good agreement ! 17 → Calculation using weight window method with energy dependence is most efficient. Contents of Lecture 1.Introduction 2.Neutron deep penetration calculation [importance] Geometry splitting and Russian Roulette [weight window] Weight windows 3.Calculation of particle production in thin target [forced collision] 18 Forced collision The forced collision is useful for analyzing secondary particles generated from a thin target Incoming weight Wi Split into two particles d: distance across cell Uncollided particle Collided particle Forced collision cell Weight of uncollided particle: Wi×exp(-σd) Weight of collided particle: Wi×{1-exp(-σd)} σ: macroscopic cross section Collide position is decided by cross section and random number. Forced collision factor |fcl| 1 fcl = 0: no forced collision in cell, |fcl| = 1: 100% forced collision •fcl < 0 = applies only to particles entering the cell (weight cut-off is not applied) •fcl > 0 = applies to all particles surviving weight cutoff (weight cut-off is applied) 19 Example of forced collision Energy distribution of neutron and alpha produced by reaction of 100MeV proton incidence on 1mm thick Si. force.inp maxcas = 10000 maxbch = 2 Secondary particle flux calculated without forced collision: No collision occurred in such thin target [forced collisions] part = proton reg fcl 1 1.0 Secondary particle flux calculated with forced collision: You can get good statistic data!! 20 Summary Cell importance and weight window methods are effective in deep penetration calculations. Ratios of importance and weight window between neighboring cells are better to be be less than 3. Weight window method with energy dependence is more efficient than other methods for deep penetration calculations. Forced collision method is effective to calculate particle production in a thin target. 21