Download presentation
Presentation is loading. Please wait.
Published byGeraldine Flynn Modified over 9 years ago
1
P HI T S Advanced Lecture (II): variance reduction techniques to improve efficiency of calculation Multi-Purpose Particle and Heavy Ion Transport code System title1 Jun. 2015 revised
2
Contents of Lecture [importance] Geometry splitting and Russian Roulette [weight window] Weight windows 2. Neutron deep penetration calculation 3. Calculation of particle production in thin target [forced collision] 2 1. Introduction
3
Neutron deep penetration calculation 14 MeV neutron with 1 cm radius maxcas = 1500 maxbch = 1 Calculate neutron transport in thick shield and dose rate distribution to depth 3 Execute “imp.inp” and measure computational time (you can find CPU time in phits.out “total CPU time”) Concrete 50cm radius x 180 cm thick cylinder Air
4
Neutron deep penetration calculation Number of history= 1,500 Need to improve the efficiency of Monte Carlo simulation! Use variance reduction techniques Normal calculation using a single CPU (1.5GHz AMD) 4 Number of history= 270,000 total cpu time = 19.53 sec total cpu time = 660.05 sec imp-dose-xz.eps
5
Concept of weight in Monte Carlo calculation Example : track length tally 5 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 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! Demerit of controlling weight *Not the case for low-energy neutron transport simulation
6
Contents of Lecture [importance] Geometry splitting and Russian Roulette [weight window] Weight windows 2. Neutron deep penetration calculation 3. Calculation of particle production in thin target [forced collision] 6 1. Introduction
7
Set important I to each cell. When a particle passes through the boarder of cell 1 and cell 2, multiple its weight by I 1 /I 2 For I 1 < I 2, split the particle into I 2 /I 1, and multiple its weight by I 1 /I 2 For I 1 > I 2, play Russian Roulette, and multiple its weight by I 1 /I 2 W=1 W=1/3 I 1 =1I 2 =3 e.g.1 I 2 /I 1 = 3 (integer) Always split into 3 Weights of all split particles are 1/3 e.g. 2 I 2 /I 1 = 2.75 (not an integer) Split into 3 by 75% Split into 2 by 25% Weights of all split particles are 1/2.75 W=1 W=3 W=1 I 1 =1I 2 =1/3 e.g.3 I 2 /I 1 =0.33 33% of particles survives, rests are killed Weights of all survived particle are 3 Cell Importance Method
8
Check the Trajectory of Single Particle 8 Execute “imp-hist.inp”, and check the neutron trajectory Importance for all cells is set to 1.0 in the default setting I 10 =1.0I 1 =1.0I 2 =1.0 空気コンクリート ( R= 20cm , Depth = 8cm×2 ) imp-trajectory.eps 5MeV Neutron
9
9 Let’s Increase Importance imp-hist.inp [importance] part = neutron reg imp 10 1 1 2 2 4 9 divided into 2 neutrons here Reaction occurs here I 10 =1I 1 =2I 2 =4 imp-trajectory.eps
10
10 Let’s Decrease Importance imp-hist.inp [importance] part = neutron reg imp 10 1 1 1/2 2 1/4 I 10 =1I 1 =1/2I 2 =1/4 imp-trajectory.eps 1/2 neutron survives 1/2 neutron is killed
11
Let’s Increase Importance EXTREMELY! 11 imp-hist.inp [importance] part = neutron reg imp 10 1 1 2 2 100 I 10 =1I 1 =2I 2 =100 imp-trajectory.eps “A Sample Problem for Variance Reduction in MCNP” LA-10363-MS DE86 004380 It is better to set 2~3 for max importance ratio between neighboring cells. Particles are divided too much You waste your machine time without improving statistics!
12
[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 2.5**9 11 2.5**10 12 2.5**11 Thickness of 1 cell is 15 cm I i+1 /I i = 2.5 12 Activate the [importance] section in “imp.inp”, and execute PHITS Example of calculation using [importance] 14 MeV neutron with 1 cm radius Concrete 50cm radius x 180 cm thick cylinder
13
total history = 1,5001.50GHz, single [importance] off [importance] 13 More neutrons penetrate to deeper locations total cpu time = 19.53 sec total cpu time = 50.49 sec Dose Relative error 1 0.1 0.01 1 0.1 0.01 Example of calculation using [importance] ・ Check statistical uncertainty Red:1.0, Yellow: ~0.1, Green: ~0.01
14
14 Agreement in neutron fluence in each cell indicate the adequacy of importance setting Neutron energy fluence in cell 3 Example of calculation using [importance] Dose rate in each cell (15 cm thickness) Original data : imp-dose-reg.out Original data : imp-energy-reg.out
15
Important Notice of Setting [importance] 1 2 4 8 1632 11 88 8 Good example Bad example It is better to set 2~3 for max importance ratio between neighboring cells. source Reference: “A Sample Problem for Variance Reduction in MCNP” LA-10363-MS DE86 004380 15
16
Bad Example for using [importance] Bad example: Very large importance gap between cell 5 & 6 Relative error Dose Relative errors are too large in comparison to previous setting! [[importance] part = neutron reg imp 1 2.5**0 2 2.5**0 3 2.5**0 4 2.5**0 5 2.5**0 6 2.5**5 7 2.5**6 8 2.5**7 9 2.5**8 10 2.5**9 11 2.5**10 12 2.5**11 Let’s try a bad example!
17
Contents of Lecture [importance] Geometry splitting and Russian Roulette [weight window] Weight windows 2. Neutron deep penetration calculation 3. Calculation of particle production in thin target [forced collision] 17 1. Introduction
18
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. W L =0.5 Weight W 1 =1 Weight I 1 =1 I 2 =3 W 2 =1/3 Number of particle 1 → I 2 /I 1 =3 region1 energy group1 region1 W U =2.5 W L =0.25 W U =1.25 region2 energy group2 W=1 W L =0.5 Weight W U =2.5 W L =0.15 W U =0.75 W 1 =1 W 2 =0.5 1→1→W 1 /W 2 =2 Number of particle 1 → 1 Cell importance methodWeight window method 18
19
Parameters Related to Weight Window wupn: Ratio of the upper and lower limits of allowed weight (D=5.0) mxspln: Maximum number of split per event (D=5.0) mwhere: Timing for considering weight window (D=0) -1: reaction, 0: both, 1: crossing surface 19 See manual “4.2.4 Cut off time, cut off weight, and weight window” in more detail
20
20 Let’s execute “weight-hist.inp”, and check the neutron trajectory weight-trajectory.eps Air Water ( r= 10cm , Depth = 5cm×2 ) 5MeV neutron Check the Trajectory of Single Particle
21
Set [Weight Window] Section 21 Weight of neutron is within the weight window range -> No split and No Russian Roulette Activate the 1 st [weight window] section in weight-hist.inp, and execute PHITS! [weight window] part = neutron reg ww1 1 0.25 2 0.25 W L =0.25 Weight Cell 1 W U =5 x W L =1.25 W L =0.25 W1=1 Cell 2 Same weight window for all energies Lower limit of allowed weights, W L, for each cell is defined in [weight window] Upper limit of allowed weights, W U, is automatically set to W L x wupn (D=5) weight-trajectory.eps weight-hist.inp
22
Let’s Decrease Weight Window in Cell 2 22 W L =0.25 Weight Cell 1 W U =1.25 W L =0.133 W U =0.67 W1=1 Cell 2 Decrease the lower limit of allowed weights in cell 2, and execute PHITS! Particle Split Neutron is divided into 2 because its weight (=1) is higher than the upper limit (=0.67) [weight window] part = neutron reg ww1 1 0.25 2 0.133 weight-hist.inp weight-trajectory.eps
23
23 W L =0.25 Weight Cell 1 W U =1.25 W L =0.005 W U =0.025 W1=1 Cell 2 It is better to set 2~3 for max weight window ratio between neighboring cells Divided into 40 neutrons (but maximum number of split per event = 5) [weight window] part = neutron reg ww1 1 0.25 2 0.005 weight-hist.inp weight-trajectory.eps Let’s Decrease Weight Window in Cell 2 EXTREMELY! Decrease the lower limit of allowed weights in cell 2 EXTREMELY, and execute PHITS!
24
Set different Weight Window for Each Energy Group 24 weight-hist.inp [weight window] part = neutron eng = 2 0.01 1.0e5 reg ww1 ww2 1 0.25 0.25 2 0.133 0.133 Let’s “off” the 1 st [weight window], and activate the 2 nd one & execute PHITS W1=1 W L =0.25 Weight Cell 1 W U =1.25 W L =0.133 W U =0.67 Cell 2 Particle Split E < 0.01 MeV W1=1 W L =0.25 Weight Cell 1 W U =1.25 W L =0.133 W U =0.67 Cell 2 Particle Split 0.01 MeV < E < 10 5 MeV 2 energy groups are defined But the weight window are the same for each group weight-trajectory.eps Maximum energy for each group Neutron is divided into 2 because its weight (=1) is higher than the upper limit (=0.67) (Same as 2 pages before)
25
Increase Weight Window Only for Low-Energy Neutrons 25 Reduce the production of low-energy neutrons, and concentrate on high-energy neutron transport simulation Get poor and better statistics at shallower and deeper locations, respectively weight-hist.inp Increase weight window for low-energy neutrons by 10 times, and execute PHITS [weight window] part = neutron eng = 2 0.01 1.0e5 reg ww1 ww2 1 0.25*10 0.25 2 0.133*10 0.133 W1=1 W L =2.5 Weight Cell 1 W U =12.5 W L =1.33 W U =6.65 Cell 2 Russian Roulette E < 0.01 MeV W1=1 W L =0.25 Weight Cell 1 W U =1.25 W L =0.133 W U =0.67 Cell 2 Particle Split 0.01 MeV < E < 10 5 MeV Low-energy neutron is killed weight-trajectory.eps
26
26 Geometry, source, history are the same as imp.inp [weight window] set: c10[1.0] part = neutron eng = 2 1.0e-3 1e5 reg ww1 ww2 1 c10*2.5**(-1) 2.5**(-1) 2 c10*2.5**(-2) 2.5**(-2) 3 c10*2.5**(-3) 2.5**(-3) ・・・ Cylindrical Concrete (r = 50cm, depth = 1.8 m) Depth of each cell = 15 cm Execute PHITS using weight.inp, and check your CPU time Decrease weight window of neighboring cells by 1/2.5 for particle split Set same weight window for all energy groups (because c10=1.0) total cpu time = 25.89 sec 14MeV neutron weight-dose-xz_err.eps weight-dose-xz.eps weight.inp Example of calculation using [weight window]
27
27 Increase the weight window for low-energy neutrons by 10 times, and execute PHITS Most low-energy neutrons are immediately killed when they produced, because of Russian Roulette Low-energy neutrons have short range, so statistical uncertainties of deeper locations do not change that much total cpu time = 25.89 -> [weight window] set: c10[10.0] part = neutron eng = 2 1.0e-3 1e5 reg ww1 ww2 1 c10*2.5**(-1) 2.5**(-1) 2 c10*2.5**(-2) 2.5**(-2) 3 c10*2.5**(-3) 2.5**(-3) ・・・ weight.inp weight-dose-xz_err.eps weight-dose-xz.eps 14.53 sec Example of calculation using [weight window]
28
Comparison of CPU time 28 total cpu time = 50.49 sec total cpu time = 19.53 sec total cpu time = 25.89 sec total cpu time = 14.53 sec Use [weight window]; same value for all energies Use [importance] Normal calculation (No [importance], No [weight window]) Use [weight window]; different values for low- and high-energy neutrons
29
Dose Reduction Rate in Concrete 29 You can improve the efficiency of your calculation by appropriately setting weight window for each neutron energy group 180 cm 90 cm Good agreement except for deeper location doses obtained from default setting
30
Contents of Lecture [importance] Geometry splitting and Russian Roulette [weight window] Weight windows 2. Neutron deep penetration calculation 3. Calculation of particle production in thin target [forced collision] 30 1. Introduction
31
Forced collision The forced collision is useful for analyzing secondary particles generated from a thin target Split into two particles Forced collision cell Weight of uncollided particle : W i ×exp(-σd) Collided particle Incoming weight W i σ: macroscopic cross section Collide position is decided by cross section and random number. d: distance across cell Uncollided particle Weight of collided particle : W i ×{1-exp(-σd)} Forced collision factor |fcl| 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) 31 1 fcl = 0: no forced collision in cell, |fcl| = 1: 100% forced collision
32
Example of forced collision Energy distribution of neutron and alpha produced by reaction of 100MeV proton incidence on 1 m thick Si. force.inp 32 Secondary particle flux calculated without forced collision : No collision occurred in such thin target maxcas = 50000 maxbch = 2 [forced collisions] part = proton reg fcl 1 1.0 Secondary particle flux calculated with forced collision : You can get good statistic data!!
33
Summary 33 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.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.