Keywords

4.1 Variance Reduction

4.1.1 Introduction

Variance reduction techniques are methods that reduce the variance (or statistical relative error) for a given amount of computational time in a Monte Carlo calculation. This is equivalent to reducing the computational time required to achieve a given statistical error. Variance-reduction methods work by sampling more often the important parts of a problem at the expense of less important parts.

There are four classes of variance reduction techniques:

  • Truncation: The calculation omits parts of the problem that do not contribute significantly to the desired result. Geometry is always truncated. Energy may be truncated by eliminating—or killing—all histories whose energy falls below a specified limit, which is very dangerous in neutron problems with fission. For photon problems, all photoatomic reactions less than 1 keV are generally considered to be absorption and cut off. Time may be cut off to not follow tracks after they are no longer tallied. Physics is generally cut off by ignoring photonuclear effects or secondary particle production, etc.

  • Population control: The number of statistical samples in any part of the problem may be reduced if the weight of the samples is increased to preserve total weight and yield the correct expected value of the tallies. The number of samples may also be increased if the weight of the samples is reduced to preserve total weight and yield the expected value of the tallies. Consequently, there can be many samples of low weight in important parts of a problem and less in unimportant parts. Population control methods include importance sampling, weight windows, time and energy splitting, secondary particle production, etc.

  • Modified sampling: The statistical sampling algorithms may be modified to favor different parts of a problem. Source directional biasing sends more of the source in a desired direction and less in an undesired direction. Other source biasing modifies the sampling algorithm to produce more of the source in desired energy, space, time, or other problem phase space regions. The exponential transform can stretch the path of neutral particles in the desired direction and shrink it in undesired directions. Sampling of secondary particle production can alter the energy or particle type, etc.

  • Partially deterministic methods: In special cases, an estimate of the particle tracks that would reach a specified location can be used to directly place them there. Next-event estimators put estimates at a point or particles on a surface after a source or collision event, weighted with the probability that they would arrive there without further interaction.

Problems where all phase space is equally important do not need variance reduction. Examples are reactor criticality, problems with highly efficient detectors, or very simple problems. Problems with pulse-height tallies, coincidence detectors, or other physics that relies on coincidences cannot use variance reduction, but for problems that need better resolution or faster computation and where parts of the problem contribute more than others, variance reduction is usually essential.

Applying variance reduction can be challenging. It is difficult to know what parts of the problem are important unless the problem has already been solved, in which case, further calculations may not be needed. A poor choice of variance reduction techniques can lead to less efficient or even falsely converged results. Good intuition and iteration are often needed. Fortunately, the MCNP code has many diagnostics and outputs to provide insight into problems [1]. In many cases—particularly radiation shielding problems or when sources and detectors are far away or out of sight—variance reduction can speed up problems by many orders of magnitude and enable much higher resolution.

The MCNP code can generate variance-reduction parameters with the weight window generator. Weight windows are a population control method in which a range of desired weights is specified for each region of space, time, and/or energy in a problem. Particle tracks that enter a region where the particle weight is higher than the weight window are split into more particles with lower weights now closer to or in the window. Particles that enter with weight lower than the window undergo Russian roulette so that some survive with higher weights, again closer to or in the window. The weight window generator works by keeping track of all the particle weight that passes through a region of space, time, or energy and also keeping track of the particle weight that passes through that eventually leads to a score in a target tally.

The weight window bound is then set by

$$ \frac{\left(\textrm{weight}\ \textrm{passing}\ \textrm{through}\right)}{\left(\textrm{weight}\ \textrm{passing}\ \textrm{through}\ \textrm{that}\ \textrm{scores}\right)}. $$

These bounds are then renormalized so that source particles are born in the weight window and split as they approach the tally, yielding many low-weight samples at the tally.

In the lead slowing-down spectrometer (LSDS) example (see Sect. 4.1.2), variance reduction sped the calculation by a factor of more than 1000—a calculation that would take a day could now be run in a minute. An energy bin could be divided into 30 smaller bins with no loss of resolution. For some problems, variance reduction is the only way to achieve convergence.

Although applying variance reduction may not appear straightforward, measuring its effectiveness is. The only measure of Monte Carlo efficiency is the FOM:

$$ \textrm{FOM}=1/\left({E}^2T\right) $$

where E is the statistical error and T is the computational time. For a problem with N statistical samples, T is proportional to N and E2 is proportional to 1/N. Consequently, the FOM converges to a constant dependent on the problem efficiency and the computer efficiency. Efficient problems have low T and low E and consequently a high FOM.

The goal of variance reduction is to maximize the FOM. In so doing, it is important to keep the number of tracks constant from the source region to the tally region.

  • The number of tracks should decrease and particle weights should increase in unimportant regions of space, energy, and time.

  • The number of tracks should increase and particle weights should decrease in important regions.

  • The weights between adjacent regions should be no more than a factor of 4 different.

It is important to achieve adequate sampling of all cells and other parts of phase space and to ensure that tallies have passed the statistical checks or be able to justify why not.

Variance reduction is an art as well as a science and there are many possible approaches as can be found searching the internet for “variance reduction MCNP.” A useful resource on this topic is the reference collection of documents at mcnp.lanl.gov. An external tool is ADVANTG [2]. We recommend the following strategy to variance reduction:

  • Simplify the problem if possible and use a much simpler tally to get an answer with 10–20% statistical errors in a few minutes. Optimize the problem with a tally closer in phase space to the source and with less resolution. Consider using the weight window generator to learn what is important in the problem; often the generated weight windows will provide the needed variance reduction technique as well.

  • Once the modified problem gives 10–20% relative error on the optimization tally, carefully examine the output, and then move or otherwise make the tally more like the final one in the problem. Add only one variance reduction technique at a time unless more are clearly needed.

  • After a few short iterations of 1–5 min each, the full problem will now be optimized and may be significantly more efficient.

4.1.2 Multigroup Weight Windows and Time Splitting: Lead Slowing-Down Spectrometer

Example 4.1 is a Lead Slowing-Down Spectrometer (LSDS) analyzing a spent fuel assembly. Variance reduction is the only way to achieve acceptable convergence. In this case, multigroup weight windows and time splitting are applied. The steps taken to choose a good variance-reduction approach are presented.

Example 4.1 Input for Lead Slowing-Down Spectrometer (No Variance Reduction)

Lead Slowing Down Spectrometer LSDS c with PWR 17x17 fuel element c *********** fuel, u=1 10 200 -11.00 -1 60 -61 u=1 imp:n=1 vol=4.17441E+03 $ fuel c (middle section) 11 200 -11.00 -1 -60 u=1 imp:n=1 $ fuel (bottom end) 12 200 -11.00 -1 61 u=1 imp:n=1 $ fuel (top end) 14 300 -6.44 +1 -3 u=1 imp:n=1 16 0 +3 u=1 imp:n=1 $ outside fuel pin c *********** guide tube, u=8 20 0 -5 u=8 imp:n=1 $ inside guide tube 22 300 -6.44 +5 -6 u=8 imp:n=1 $ guide tube 26 0 +6 u=8 imp:n=1 $ outside guide tube c *********** lattice, u=10, fill with u=1,8 100 0 -50 lat=1 u=10 $ lattice of fuel + guide fill = -8:8 -8:8 0:0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 8 1 1 8 1 1 8 1 1 1 1 1 1 1 1 8 1 1 1 1 1 1 1 1 1 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 8 1 1 8 1 1 8 1 1 8 1 1 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 8 1 1 8 1 1 8 1 1 8 1 1 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 8 1 1 8 1 1 8 1 1 8 1 1 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 8 1 1 1 1 1 1 1 1 1 8 1 1 1 1 1 1 1 1 8 1 1 8 1 1 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 imp:n=1 102 0 -55 fill=10 imp:n=1 c **Fission chamber detectors - place in cartesian coord 199 0 -110 u=2 imp:n=1 $ interior 200 125 -2.7 +110 u=2 imp:n=1 $ detector casing 201 0 -100 fill=2 imp:n=1 $ single detector universe= 202 like 201 but trcl=( 4.2686 -0.4204 0) imp:n=1 203 like 201 but trcl=( 8.3731 -1.6655 0) imp:n=1 204 like 201 but trcl=( 12.1559 -3.6874 0) imp:n=1 205 like 201 but trcl=( 15.4715 -6.4085 0) imp:n=1 206 like 201 but trcl=( 18.1926 -9.7241 0) imp:n=1 207 like 201 but trcl=( 20.2145 -13.5069 0) imp:n=1 208 like 201 but trcl=( 21.4596 -17.6114 0) imp:n=1 209 like 201 but trcl=( 21.8800 -21.8800 0) imp:n=1 210 like 201 but trcl=( 21.4596 -26.1486 0) imp:n=1 211 like 201 but trcl=( 20.2145 -30.2531 0) imp:n=1 212 like 201 but trcl=( 18.1926 -34.0359 0) imp:n=1 213 like 201 but trcl=( 15.4715 -37.3515 0) imp:n=1 214 like 201 but trcl=( 12.1559 -40.0726 0) imp:n=1 215 like 201 but trcl=( 8.3731 -42.0945 0) imp:n=1 216 like 201 but trcl=( 4.2686 -43.3396 0) imp:n=1 217 like 201 but trcl=( 0.0000 -43.7600 0) imp:n=1 218 like 201 but trcl=( -4.2686 -43.3396 0) imp:n=1 219 like 201 but trcl=( -8.3731 -42.0945 0) imp:n=1 220 like 201 but trcl=( -12.1559 -40.0726 0) imp:n=1 221 like 201 but trcl=( -15.4715 -37.3515 0) imp:n=1 222 like 201 but trcl=( -18.1926 -34.0359 0) imp:n=1 223 like 201 but trcl=( -20.2145 -30.2531 0) imp:n=1 224 like 201 but trcl=( -21.4596 -26.1486 0) imp:n=1 225 like 201 but trcl=( -21.8800 -21.8800 0) imp:n=1 226 like 201 but trcl=( -21.4596 -17.6114 0) imp:n=1 227 like 201 but trcl=( -20.2145 -13.5069 0) imp:n=1 228 like 201 but trcl=( -18.1926 -9.7241 0) imp:n=1 229 like 201 but trcl=( -15.4715 -6.4085 0) imp:n=1 230 like 201 but trcl=( -12.1559 -3.6874 0) imp:n=1 231 like 201 but trcl=( -8.3731 -1.6655 0) imp:n=1 232 like 201 but trcl=( -4.2686 -0.4204 0) imp:n=1 c *********** fission chamber detector casing 300 400 -8.03 -200 +201 -202 +203 imp:n=1 $ outer SS casing 305 405 -8.96 -201 -202 +212 imp:n=1 $ Cu disk 310 410 -4.54 -201 -212 +222 imp:n=1 $ TiD_2 disk 315 220 -0.001205 -201 +203 -222 imp:n=1 $ air in SS casing 500 0 55 -500 vol=2.61853E+04 imp:n=1 $ inside LSDS c *********** surrounding Pb 502 100 -11.34 +500 -520 #201 #202 #203 #204 #205 #206 #207 #208 #209 #210 #211 #212 #213 #214 #215 #216 #217 #218 #219 #220 #221 #222 #223 #224 #225 #226 #227 #228 #229 #230 #231 #232 imp:n=1 504 100 -11.34 +500 +520 -540 imp:n=1 506 100 -11.34 +500 +540 -560 (+200:+202:-203) imp:n=1 999 0 +560 (+200:+202:-203) imp:n=0 1 rcc 0 0 -50 0 0 100 0.4096 $ fuel 2 rcc 0 0 -50 0 0 100 0.4178 $ gap 3 rcc 0 0 -50 0 0 100 0.4750 $ cladding 5 rcc 0 0 -50 0 0 100 0.5715 $ guide inner 6 rcc 0 0 -50 0 0 100 0.6120 $ guide outer 10 rcc 0 0 -50 0 0 100 0.6120 $ instrum tube 50 rpp -0.6299 0.6299 -0.6299 0.6299 -50 50 $ one pin 55 rpp -10.7083 10.7083 -10.7083 10.7083 -50 50 $ assembly 60 pz -15 $ fuel segment lower-mid 61 pz 15 $ fuel segment mid-upper 100 rcc 0 21.88 -30 0 0 60 1.945 $ assay detector outside 110 rcc 0 21.88 -30 0 0 60 1.645 $ assay detector inside c *********** DT Neutron source 200 cx 4.0000 $ outside of SS casing 201 cx 3.6825 $ inside of SS casing 202 px -70.0000 $ edge of casing near fuel bore 203 px -100.000 $ edge of casing at end of LSDS 212 px -70.6350 $ Cu disk 222 px -70.6354 $ TiD_2 disk c *********** LSDS8 500 rcc 0 0 -50 0 0 100 15.1443 $ inside of LSDS 520 rcc 0 0 -50 0 0 100 25.0 $ segment 1 of LSDS 540 rcc 0 0 -50 0 0 100 45.0 $ segment 2 of LSDS 560 rcc 0 0 -50 0 0 100 100.0 $ outside LSDS m0 nlib=.70c c Air, rho=0.001205 m220 7014 -0.755267 8016 -0.231781 18040 -0.012827 m100 82208 .524 82207 .221 82206 .241 82204 .014 $ Pb m125 13027 1 $ Aluminum rho=2.7 g/cm3 m200 92238 -4.360E+05 8016 -6.186E+04 92235 -3.248E+03 92236 -1.790E+03 94239 -2.336E+03 94240 -1.092E+03 54136 -1.092E+03 42000.66c -1.197E+03 c Zirc4 m300 40090 .5145 40091 .1122 40092 .1715 40094 .1738 40096 .0280 c Neutron tube materials: stainless steel, type 304 rho=8.03 g/cm3 m400 26056 .678950 26054 .043290 26057 .015688 26058 .002072 $ Fe 24052 .150820 24053 .017102 24050 .007821 24054 .004259 $ Cr 28058 .054462 28060 .020978 28062 .002908 28061 .000912 $ Ni 28064 .000740 $ stainless steel tube, type 304 rho=8.03 m405 29063 .6915 29065 .3085 $ Copper, rho=8.96 g/cm3 c Ti_D2: m410 1002 2 22048 .74 22046 .08 22047 .07 22049 .05 22050 .05 m5 92235 1 $ used for tallying fission rates and neutron production c sdef pos=D1 erg FPOS = D2 tme=D6 si1 L -70.6352 0 0 -70.6352 0 0 -70.6352 0 0 sp1 4 2 100 DS2 S 3 4 5 si3 H 0 1 2 3 4 5 6 7 8 9 sp3 D 0 .445747263 .648944683 .840905395 .969855575 .9956059 .909679323 .739792038 .535490104 .344995724 sp4 -4 0.21 2.45 sp5 -4 0.45 14.0 si6 H 0 100 sp6 D 0 1 c c default tally bins t0 1e2 263ilog 2e5 e0 1e-4 1e-3 1e-2 1e2 fq0 T E c fc14 Average flux in fuel f14:n 10 c fc44 Average flux in fission chambers f44:n (201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232) c fc114 U235 fission rate f114:n (201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232) fm114 1 5 (-6) c fc214 U235 fission nubar f214:n (201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232) fm214 1 5 (-6 -7) c cut:n 200000 prdmp 2j 1 3 print -128 -162 -30 nps 1e8

The geometry of Example 4.1 is shown in cut-away view in Fig. 4.1 and in axial view in Fig. 4.2. Axial views of each repeated structures level are shown in Figs. 4.3, 4.4, and 4.5.

Fig. 4.1
figure 1

YZ view of 100 cm–tall lead slowing-down spectrometer. The fuel is divided into three Z-axis sections for later depletion calculations, and the lead is divided into three radial sections for variance reduction by importance sampling (not used)

Fig. 4.2
figure 2

XY view of 100 cm radius lead slowing-down spectrometer. The lead (blue) is divided into three radial sections for variance reduction by importance sampling (not used). The ring of 32 fission detectors surrounds the fuel cavity with a 17 × 17 pressurized-water reactor spent fuel assembly inside. The fission detectors are modeled with void surrounded by a thin aluminum casing. The red section is space for the neutron generator (actual source location in yellow)

Fig. 4.3
figure 3

XY view universe level u = 0 consisting of the lead slowing-down spectrometer, cylindrical holes for the fission detectors, and a square RPP box for the fuel assembly

Fig. 4.4
figure 4

XY view universe level 1 consisting of universes u = 2 and u = 10. The plot extent is 60 × 60 (EX = 30) rather than 200 × 200 (EX = 100) as in Figs. 4.1, 4.2, and 4.3. The fission chambers, universe u = 2, have an aluminum lining (yellow). The lattice for the fuel assemblies is u = 10

Fig. 4.5
figure 5

XY view universe level 2 consisting of universes u = 1, fuel (green), and u = 8 guide tubes, both lined with zircaloy

4.1.2.1 Input File Notes

The LSDS geometry file consists of 53 cells 22 surfaces, which the MCNP code expands to 192 surfaces after LIKE BUT duplication and macrobody expansion into quadratic surfaces. The cells and surfaces at the three different geometry levels are illustrated in Figs. 4.1, 4.2, 4.3, 4.4, and 4.5.

Note how the volume is specified in the cell descriptions for cell 10 and cell 500. If it is not specified, the MCNP code calculates the volume. The MCNP code could not calculate the volume of cell 500—the annulus containing the fission chambers—because that cell is neither rotationally symmetric nor a polyhedron. This volume is not used for anything other than calculating cell mass. The volume of the fuel element cell 10 is input as 4174.41 cm3, whereas the MCNP code calculates it to be 15.8122 cm3. This difference is because the MCNP code calculates the volume of a single fuel pin, but the MCNP code needs the volume of all 264 fuel pins to properly calculate the flux in the fuel, tally F14, so the volume is input 264 times higher. Alternatively, the volume could be specified on as “SD14 4.17441E3” with the SD14 tally card for tally 14. Or the volume of the first (cell 10) and 49th (cell 500) cells could be set on a VOL card in the data portion of the input file:

vol 4.17441E+03 47j 2.61853E+04 4j

The materials use ENDF/B-VII neutron cross sections, which is set by NLIB = .70c on the M0 material card. The M0 material card sets the default for all nuclides. If a .70c version of a nuclide does not exist, then its full specification must be provided, as in the case of 42000.66c. ENDF/B-VII data are mostly isotopic, so iron, chromium, nickel, etc., must be expressed in their isotopic constituents and fractions. Whereas molybdenum is <1% of material m200, it is specified as an element, which requires an earlier 2001 ENDF/B-VI evaluation, 42000.66c. The original LSDS model employed for safeguards research had a spent fuel assembly with the depletion performed on the fuel, material m200, and the zircaloy clad, material m300. The fuel had 158 isotopes, mostly fission products and actinides; the clad had 108 isotopes, many in trace quantities <1 × 10−10 g/cm3. A real safeguards study would run burnup/depletion calculations to get the clad and spent fuel isotopes at three elevations for each fuel pin, which would each be its own universe so that the depleted fuel could differ pin to pin and vertically. The total material description would be tens of thousands of lines long. For convenience, only a simplified fuel and clad are used in this example to illustrate variance reduction for the LSDS problem.

The LSDS source has three overlapping energy distributions to model a thin D-T source made of titanium and deuterium. To provide three different source energy spectra at the point source, the energy is a function of the point position, which is three x,y,z triplets repeated three times in distribution SI1/SP1. Then the three different energy distributions—SP3, SP4, and SP5—are given as dependent distributions of the position, FPOS = D2. The source is turned on from 0 < T < 100 shakes, namely for 1 μs, in distribution SI6.

Tallies are made of the flux in the fuel, F14; flux averaged over all fission chambers, F44; the 235U fission rate, F114; and nubar, F214. For simplicity, fission rate and fission nubar tallies are omitted for 232Th, 238U, 239Pu, and 241Pu. The fission rates and nubar (number of fission neutrons generated) are tallied by multiplying the flux (FM cards) times the fission cross section (reaction MT = −6) and fission nubar (reaction MT = −7). The fission rate and fission nubar tallies have units of fissions and fission neutrons per barn-atom. The standard practice is to use the −1 FM option to multiply by atom density, ρa, and multiply by volume, V, by dividing by 1 instead of V with the SD tally card:

fm114 -1 5 (-6) sd114 1 fm214 -1 5 (-6 -7) sd214 1

Tally 114 multiplies the flux/volume tally by ρa φ σf V to calculate total number of fissions. Tally 214 multiplies the flux/volume tally by ρa φ ν σf V to calculate the total neutrons produced. These quantities are atom density ρa, flux φ, nubar ν, fission cross section σf, and volume V.

For all tallies, there are 265 logarithmically interpolated time bins from 0 to 20 μs (2e5 shakes):

t0 1e2 263ilog 2e5

and four energy bins from 0 to 100 MeV:

e0 1e-4 1e-3 1e-2 1e2

These bins will be printed with five columns of energy bins (including the total energy) and 266 rows of time bins, including the total. The default printing of energies down in columns of time across is overridden by the FQ0 card.

The CUT:N card causes any neutron that survives past 20 μs (200,000 shakes) to be killed so that it is no longer followed in the random walk.

The PRDMP card controls printing and dumping to the RUNTPE file. Setting the third entry to 1 causes an MCTAL tally file to be generated, which is highly recommended for all calculations. The MCTAL file is in ASCII format and can be read across platforms, operating systems, and all MCNP versions. The RUNTPE continuation file contains all the cross sections and necessary information for problem continuation and is generally too large to save. The MCTAL file contains only tallies, is short enough to archive, enables all tallies to be plotted, and can be used for other post-processing functions.

“NPS 1e8” defines the number of particles started and specifies to stop the calculation after 1e8 source histories. These source particles are statistical samples. The physics of the problem is to model a single neutron source that is sampled NPS times.

4.1.2.2 Variance Reduction Step 1: Simplify the Problem and Add the Weight Window Generator

The weight window generator is recommended to gain problem insight and possibly provide the needed variance reduction. Plotting the geometry suggests a cylindrical weight window mesh that overlays the geometry. The significant radial changes in the geometry are at radii R = 10.5, 15, 19, 25, 45, 70 cm bounded by a 101 cm cylinder. It is recommended to make the weight window totally enclose the geometry, so a 101 cm outer cylinder will be specified. In the Z-direction, the major boundaries in the geometry are at Z = −50, −30, −15, 15, 30, and 50. Azimuthal angles, widely spaced except at the source, also appear advantageous. Therefore, the following mesh can be defined.

mesh geom=rzt origin=0 0 -50 axs 0 0 1 vec 0 1 0 ref -70.6352 0 0 imesh 10.5 15 19 25 45 70 101 jmesh 20 35 65 80 100 kmesh 45 85 95 135 180 240 300 360

The above mesh describes a cylindrical mesh overlaying the LSDS (MCNP manual [1] Section 3.3.6.4.4). The mesh is defined as a cylinder (geom = rzt or geom = cyl), with the base of the cylinder at the mesh origin 0,0,−50 and a cylindrical axis in the axs 0 0 1 Z-direction with the azimuth defined normal to the axis in the vec 0 1 0 Y-direction. The reference point is a location in a mesh element that will certainly have particles that eventually score pass through it. Because every particle that scores comes from the source, and because the source is a point, the source point is a good reference point for this problem: ref −70.6352 0 0.

The weight window generator optimizes the calculation of a specified bin in a specific tally. This optimization bin should be one that gets a relative error of 10–20% in just a few minutes so that the weight windows can be iterated. A new tally specifically for optimization needs to be created—in this example, F4. An initial guess for the time resolution is 20 logarithmically spaced times up to 1e5 shakes (20 μs). Only one energy bin is needed to start: E4. The tallies should be printed with the times in a column, (FQ4 card), and the 20th time bin, TF4, is the one of interest.

fc4 Average flux in fission chambers - optimize f4:n (201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232) t4 100 18ilog 2e5 e4 100 tf4 7J 20 FQ4 T E

The weight window is turned on by specifying the tally to be optimized, F4, and specifying that a MESH will be used.

wwg 4 0

Once the WWG, MESH, and optimization tally F4 are specified, the weight window generator mesh can be plotted as in Figs. 4.6 and 4.7 and run for a short time by setting

NPS 1e5

Fig. 4.6
figure 6

YZ view of LSDS showing overlaying radial cylindrical mesh boundaries

Fig. 4.7
figure 7

XY view of LSDS showing overlaying radial cylindrical and azimuthal mesh boundaries

The results of tally 4 in the output file are

time tally error 1.0000E+02 7.59815E-05 0.0126 1.4919E+02 5.11286E-05 0.0146 2.2258E+02 3.62428E-05 0.0178 3.3206E+02 2.52853E-05 0.0207 4.9540E+02 1.70135E-05 0.0246 7.3908E+02 1.12966E-05 0.0286 1.1026E+03 7.42396E-06 0.0354 1.6450E+03 5.02155E-06 0.0415 2.4542E+03 3.48706E-06 0.0498 3.6614E+03 2.15169E-06 0.0630 5.4624E+03 1.39007E-06 0.0810 8.1493E+03 9.38679E-07 0.0973 1.2158E+04 6.88377E-07 0.1322 1.8138E+04 3.23577E-07 0.1790 2.7061E+04 1.24683E-07 0.2150 4.0372E+04 1.08449E-07 0.2554 6.0230E+04 4.76670E-08 0.2620 8.9857E+04 4.61964E-08 0.4296 1.3406E+05 5.08174E-09 0.7642 2.0000E+05 2.46054E-08 0.9450 total 2.38730E-04 0.0095

This information suggests generating weight windows to optimize the 13th time bin of tally 4. The 13th time bin of tally 4 at 12,158 shakes had a relative error of 13.22% and the later time bin errors are too big to generate good weight windows and so the 13th time bin is selected on the tf4 card:

tf4 7J 13

The weight window generator needs to also generate time-dependent weight windows (MCNP manual [1] Section 3.3.6.4.3):

wwgt:n 200 500 1000 1600 3000 8000 1.2e4 2e4 4e4 1e6

These bounds were chosen at times when the flux decreased roughly by a factor of 2 according to the previous run, with coarser binning after 12,000 shakes. Sufficient granularity is needed to allow the values to change with the conditions of the simulations. There is more than one successful set of parameters and the values depend on experience and trial and error.

The problem is now run again as:

mcnp6 i=inp01 n=j01.

To iterate this problem, it is important to link one run to another, which requires careful file naming. The LSDS file “inp01” is the first iteration. The output files will be “j01.*”, where “j” is chosen because no MCNP files start with “j.” When the run is completed, a one time-bin weight window file, j01.1, and a multigroup time-dependent weight window file, j01.e, are generated. The weight window files contain the description of the weight window mesh to be read and the lower weight window bounds of each mesh.

4.1.2.3 Iteration 2

cut:n 200000 J 0 0 wwp:n 5 3 5 0 -1 j j j j

cut:n is modified and wwp added and the file now becomes INP02 so that the first iteration, INP01, is retained in case the iteration fails. The CUT:N card adds zero third and fourth entries to use analog capture. It is expected that there will be many late time weight windows that cannot be determined and thus have a value of zero. Histories entering these late time bins which have zero weight windows will then be too quickly killed by implicit capture unless analog capture is invoked. For this reason, the MCNP default implicit capture algorithm is generally incompatible with weight windows. The WWP card tells the MCNP code that

  • the upper weight window bounds of each mesh are 5 times the lower bound read from the WWINP file (j01.e). Particles in a mesh with weights above 5 times the lower weight bound will be split in order to have weights in the weight bound range;

  • particles that have a weight below the lower bound will undergo Russian roulette, with the survivors having a weight 3 times the lower bound;

  • particles will never be split or rouletted more than a factor of 5;

  • particles will be checked for weight at all collision and surface crossings (fourth entry = 0); and

  • the lower weight window bounds will be read from a WWINP file (fifth entry = −1).

Input file INP02 is now plotted to view the weight window values:

mcnp6 i=INP02 n=jp02. WWINP=j01.e IP

Click

  • WWN (right side menu) to make weight windows the edit quantity,

  • cell line (lower left menu) to plot the weight window mesh (ww mesh) that is being read,

  • L1 sur (lower left menu) to turn off surface labels,

  • L2 off (lower left menu) to make edit quantity wwn1:n as the cell label,

  • XY (lower left menu) to get the best view.

The plot will show the weight window lower bounds in the first weight window time bin, which is also the source time bin. Note that the lower bound is ~8 in the source mesh cell. Source neutrons will start below the window. At the first collision in the cell they will be rouletted 5 to 1 (third WWP entry). At the next collision in the cell they will be rouletted with a survival weight of 24, which is 3 times the lower weight window bound (second WWP entry). All the windows need to be renormalized by a factor of at least 24 (seventh WWP entry = 0.04) to have source particles start in the mesh weight window.

Clicking the n (lower right menu) will step through the weight window time bins, which can be plotted by double-clicking the L2 button and the Redraw button on the bottom menu bar. For weight windows wwn1:n through wwn7:n, the values of the weight windows drop by about a factor of 2 as desired in both the Z-axis and radial directions. The values are mostly zeroes for the eighth to tenth weight window bins. Because analog capture is turned on, particles will neither split nor roulette when these bins are used at late time in subsequent iterations; the particles will only scatter, be captured, or leak out of the system as if there were no weight windows. The eighth to tenth weight window time bin values are zeroes because tally 4 was optimized for its 13th bin for times up to 12,158 shakes. We also observe that there is not much variation of weight windows in the azimuthal direction, suggesting that fewer azimuthal weight bins are needed.

4.1.2.4 Iteration 2a

tf4 7J 20 kmesh 85 95 180 360 wwgt:n 200 500 1000 1600 3000 8000 1.2e4 2e4 4e4 6e4 9e4 1.3e5 1e6 wwp:n 5 3 5 0 -1 j .04 j J

The above changes are made to inp02 (which is to be run with the WWINP file j01.e from iteration 2 revised input INP01 with TF4 7J 13windows). It is hoped that the 20th (last) time bin of tally 4 will now have acceptable results when the weight window file from iteration 2 is used, so the target time bin on TF4 is changed. The azimuthal weight window bins are thinned out because they did not appear needed (KMESH). Additional weight window generator time bins are requested (WWGT) corresponding to the late time bins of tally 4. All windows from J01.e are renormalized by a factor of .04 so that the source particles start within the weight window.

mcnp6 i=INP02 n=j02. wwinp=j01.e IPXR

The execution line command IXPR enables plotting INP02 before it is run. The plot (with cells labeled by weight window value) shows that the source particles will indeed enter the weight window (wwn1:n) and, by clicking cell line multiple times, the new mesh with fewer azimuthal divisions is viewed. By clicking end, the plot is finished and now the MCNP code runs 1e5 histories.

Input inp02 is now copied to inp02a. The generated weight windows can be reviewed with the seventh entry on the WWP card set to J:

mcnp6 i=inp02a n=junk. wwinp=j02.e IP

The generated weight window values in j02.e are not asymmetric in azimuth. The windows increase in some regions with time when they would be expected to decrease because they are more important at later times. Examination of the output file j02.o reveals that the 20th time bin has a 59% relative error—far too large to generate decent weight windows. Also it is much slower because 1e5 source particles generate 1.8e6 split weight window tracks.

Because j02.e is unacceptable, j01.e (iteration 2 optimized) is used again. INP02 is changed by setting optimization to the 16th F4 time bin, which had a smaller relative error and, by keeping the original seventh WWP normalization factor of INP02 (the appropriate value for weight window file j01.e):

tf4 7J 16 wwp:n 5 3 5 0 -1 j .04 j j mcnp6 i=INP02 n=j02. wwinp=j01.e

4.1.2.5 Additional Iterations

Copy inp02 to inp03 and the seventh WWP entry is temporarily set to J to see the unnormalized weight window plots of WWINP = j02.e. These appear to be good, with the generated windows being lower with increasing time and getting closer to the fission chambers. The source enters the window with a lower bound of 45. The 17th energy bin of tally 4 has a relative error of 15%, which indicates that it is good for optimization. (The 18th bin is probably also good.) Renormalize the j02.e windows by a factor of >45 with the seventh WWP entry:

tf4 7J 17 wwp:n 5 3 5 0 -1 j .007 j J mcnp6 i=inp03 n=j03. wwinp=j02.e

Copy inp03 to inp04, set the seventh WWP entry to J, and plot

mcnp6 i=inp04 n=jp04. wwinp=j03.e ip

The weight window plots of WWINP = j03.e appear to be good:

The source enters the window with a lower bound of about 15 (Fig. 4.8), so setting the seventh entry of WWP to 0.025 would result in a weight window for the source from 0.375 to 1.865, which brackets the source particles of weight 1. The 20th F4 time bin has a value of 3.59e−9 with relative error of 26%, suggesting that it can now be used to generate weight windows. Now change inp04.

tf4 7J 20 wwp:n 5 3 5 0 -1 j .025 j J mcnp6 i=inp04 n=j04. wwinp=j03.e IPXR

Fig. 4.8
figure 8

Weight window plot of j03.e windows

The later time bins of tally F4 from output j04.o are

Time Tally error 4.0372E+04 1.32776E-07 0.0433 6.0230E+04 8.19473E-08 0.0908 8.9857E+04 5.63077E-08 0.1401 1.3406E+05 1.86379E-08 0.2472 2.0000E+05 4.86418E-09 0.1533

These later time bins indicate that the new windows, j04.e, should produce even better weight windows.

Copy inp04 to inp05, set the seventh WWP entry to J (to disable the previous normalization so that the new unnormalized weight window values can be viewed), and plot

mcnp6 i=inp05 n=jp05. wwinp=j04.e ip

The weight window plots of WWINP = j04.e appear to be good. The source enters the window with a lower bound of about 635, requiring a normalization of 5e−4.

Change

wwp:n 5 3 5 0 -1 j 5e-4 j J mcnp6 i=inp05 n=j05. wwinp=j04.e ipxr tasks 40

Note that tasks 40 causes the MCNP code to run in parallel on 40 threads. The computational time will increase, but the wall clock time will decrease.

The later time bins of tally F4 from output j05.o are

Time Tally error 4.0372E+04 1.25962E-07 0.0334 6.0230E+04 7.16540E-08 0.0580 8.9857E+04 5.78666E-08 0.1495 1.3406E+05 1.92124E-08 0.0874 2.0000E+05 6.79278E-09 0.0422

These later time bins indicate that the new windows, j04.e, should produce even better weight windows. The slope test of the ten statistical checks failed, indicating that another iteration is needed. Also, the 15% error in the 18th time bin, 8.9857E+04 shakes, indicates another iteration.

Copy inp05 to inp06, set the seventh WWP entry to J, and plot

mcnp6 i=inp06 n=jp06. wwinp=j05.e ip

The weight window plots of WWINP = j05.e appear to be good. The source enters the window with a lower bound of about 482, which requires the same normalization of 5e−4.

Change

wwp:n 5 3 5 0 -1 j 5e-4 j J mcnp6 i=inp06 n=jp06. wwinp=j05.e ipxr tasks 50

All time bins of tally F4 from output j06.o are

Time Tally error 1.0000E+02 7.70505E-05 0.0094 1.4919E+02 5.19335E-05 0.0102 2.2258E+02 3.59327E-05 0.0119 3.3206E+02 2.41735E-05 0.0108 4.9540E+02 1.65736E-05 0.0113 7.3908E+02 1.09706E-05 0.0112 1.1026E+03 7.14615E-06 0.0114 1.6450E+03 4.62664E-06 0.0117 2.4542E+03 3.17836E-06 0.0120 3.6614E+03 2.09733E-06 0.0129 5.4624E+03 1.41215E-06 0.0135 8.1493E+03 8.53305E-07 0.0153 1.2158E+04 5.60799E-07 0.0181 1.8138E+04 3.42249E-07 0.0180 2.7061E+04 1.85609E-07 0.0159 4.0372E+04 1.31680E-07 0.0154 6.0230E+04 7.31380E-08 0.0209 8.9857E+04 4.84162E-08 0.0675 1.3406E+05 1.97451E-08 0.0227 2.0000E+05 7.10981E-09 0.0175 total 2.37317E-04 0.0066

All ten statistical tests for the 20th time bin of tally F4 now pass. Tally F4 was added to the problem to generate weight windows to transport more late time neutrons to the detector region. Consequently, all the tallies are improved at late time at the expense of a slight degradation of early time results as shown graphically in the next subsection.

4.1.2.6 Cylindrical Mesh Weight Window Summary

The initial input file, INP01, was run for 1e8 histories, which took 11 h and resulted in an FOM for the F4 20th time bin of FOM = 0.98. The variance-reduction run, INP06, with FOM = 45, is 45 times more efficient. The total changes from the initial problem are

fc4 Average flux in fission chambers - optimize f4:n (201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232) t4 100 18ilog 2e5 e4 100 tf4 7J 20 FQ4 T E c cut:n 200000 J 0 0 nps 1e5 wwg 4 0 mesh geom=rzt origin=0 0 -50 axs 0 0 1 vec 0 1 0 ref -70.6352 0 0 imesh 10.5 15 19 25 45 70 101 jmesh 20 35 65 80 100 kmesh 85 95 180 360 wwgt:n 200 500 1000 1600 3000 8000 1.2e4 2e4 4e4 6e4 9e4 1.3e5 1e6 wwp:n 5 3 5 0 -1 j 5e-4 j J

Figures 4.9, 4.10, 4.11, and 4.12 show the fission chamber tallies both with and without variance reduction. The results are the same, but with variance reduction, the calculation ran 45 times faster to get equivalent results.

Fig. 4.9
figure 9

F14 flux in fuel tally results with and without variance reduction

Fig. 4.10
figure 10

F44 fission chamber flux tally results with and without variance reduction

Fig. 4.11
figure 11

F114 fission chamber fission rate tally results with and without variance reduction

Fig. 4.12
figure 12

F214 fission chamber fission rate tally results with and without variance reduction

The initial 11-h NPS 1e8 run without variance reduction had relative errors ~10% in late time fission (F114) and fission neutron (F214) tallies and relative errors ≪1% for early time tallies. The relative errors were 2–5% for all bins of the NPS 1e5 variance-reduction run. Thus, the late time bins benefitted from variance reduction at the expense of the early time bins. The 265 time-bin flux tally likewise had ≪1% error for early time bins and 18% errors for late time bins in the initial run. The range was 1–14% for the variance-reduction run. Thus, the variance-reduction run had good convergence for the 265 time bins tallies and the 20 time bin optimization tally (Figs. 4.9, 4.10, 4.11, and 4.12).

4.1.3 Cell-Based Weight Windows for the Lead Slowing-Down Spectrometer

Example 4.2 provides the changes needed to generate cell-based weight windows for the lead slowing-down spectrometer example of Example 4.1. As with the mesh-based windows, an optimizing tally, F4, that gets good results in a short run is needed to generate the windows. The windows can be generated with or without an initial set of windows (no WWP:n).

Example 4.2 Lead Slowing-Down Spectrometer Cell-Based Windows Changes to Example 4.1

fc4 Average flux in fission chambers - optimize f4:n (201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232) t4 100 18ilog 2e5 e4 100 tf4 7J 20 FQ4 T E wwg 4 315 .3 wwgt:n 200 500 1000 1600 3000 8000 1.2e4 2e4 4e4 6e4 9e4 1.3e5 1e6 nps 1e5 cut:n 200000 J 0 0 wwp:n 5 3 5 0 0 j 1e-3 j J wwt:n 2.0000E+02 5.0000E+02 1.0000E+03 1.6000E+03 3.0000E+03 8.0000E+03 1.2000E+04 2.0000E+04 4.0000E+04 6.0000E+04 9.0000E+04 1.3000E+05 1.0000E+06 wwe:n 1.0000E+02 wwn1:n 8.8282E+01 1.2704E+02 1.1761E+02 1.1500E+02 1.1481E+02 1.0430E+02 1.0426E+02 1.0442E+02 0.0000E+00 0.0000E+00 1.0857E+02 1.0974E+02 0.0000E+00 31R 3.1132E+02 2.0159E+02 2.3424E+02 3.2016E+02 1.1677E+02 1.2475E+02 1.6282E+02 2.4031E+02 -1.0000E+00 wwn2:n 2.9654E+01 4.2117E+01 4.2470E+01 3.8329E+01 3.8555E+01 3.5842E+01 3.6081E+01 3.6670E+01 0.0000E+00 0.0000E+00 3.1389E+01 3.1733E+01 0.0000E+00 31R 5.9227E+01 4.4735E+01 4.4908E+01 6.1383E+01 3.8336E+01 3.6095E+01 3.6931E+01 5.4680E+01 -1.0000E+00 wwn3:n 1.4486E+01 1.9432E+01 2.1266E+01 1.8435E+01 1.8452E+01 1.7594E+01 1.7747E+01 1.8138E+01 0.0000E+00 0.0000E+00 1.3747E+01 1.3822E+01 0.0000E+00 31R 3.2168E+01 2.0333E+01 2.2356E+01 2.9456E+01 1.8042E+01 1.5671E+01 1.5053E+01 2.0962E+01 -1.0000E+000 wwn4:n 7.6788E+00 1.0647E+01 1.1762E+01 9.5008E+00 9.5196E+00 1.0351E+01 1.0346E+01 1.0291E+01 0.0000E+00 0.0000E+00 6.8929E+00 6.9686E+00 0.0000E+00 31R 9.0808E+00 6.2533E+00 6.0758E+00 9.1151E+00 9.3120E+00 8.0555E+00 7.3347E+00 9.7978E+00 -1.0000E+00 wwn5:n 5.9038E+00 8.6340E+00 7.6939E+00 6.9843E+00 6.9996E+00 7.6940E+00 7.7972E+00 7.6321E+00 0.0000E+00 0.0000E+00 4.5789E+00 4.6296E+00 0.0000E+00 31R 5.9823E+00 3.7766E+00 3.5072E+00 5.7816E+00 6.7049E+00 5.2546E+00 4.5102E+00 5.9946E+00 -1.0000E+00 wwn6:n 4.0332E+00 5.4300E+00 6.0057E+00 4.6442E+00 4.6045E+00 5.3314E+00 5.3479E+00 5.3253E+00 0.0000E+00 0.0000E+00 2.5413E+00 2.5524E+00 0.0000E+00 31R 2.7435E+00 1.8893E+00 2.0213E+00 2.8291E+00 4.3760E+00 2.7616E+00 2.3227E+00 3.1290E+00 -1.0000E+00 wwn7:n 1.8931E+00 2.9786E+00 2.9564E+00 2.2330E+00 2.1978E+00 2.5831E+00 2.4478E+00 2.4707E+00 0.0000E+00 0.0000E+00 1.1206E+00 1.1370E+00 0.0000E+00 31R 1.4655E+00 1.6101E+00 1.9570E+00 1.6802E+00 2.0827E+00 1.2065E+00 9.3178E-01 1.2038E+00 -1.0000E+00 wwn8:n 1.4141E+00 1.8389E+00 2.2010E+00 1.6620E+00 1.6507E+00 1.8549E+00 1.8441E+00 1.8256E+00 0.0000E+00 0.0000E+00 6.8754E-01 6.8434E-01 0.0000E+00 31R 9.1952E-01 5.2970E-01 5.6357E-01 1.0146E+00 1.5040E+00 7.3843E-01 5.7047E-01 7.6280E-01 -1.0000E+00 wwn9:n 4.0374E-01 5.9696E-01 5.9443E-01 4.8738E-01 4.8397E-01 5.2110E-01 5.1791E-01 5.1250E-01 0.0000E+00 0.0000E+00 2.8942E-01 2.9186E-01 0.0000E+00 31R 5.6973E-01 3.4755E-01 4.6019E-01 5.7092E-01 4.7501E-01 3.1770E-01 2.8366E-01 4.1323E-01 -1.0000E+00 wwn10:n 2.2865E-01 4.9061E-01 3.7397E-01 2.7932E-01 2.7525E-01 3.5889E-01 3.5108E-01 3.4195E-01 0.0000E+00 0.0000E+00 1.2345E-01 1.2539E-01 0.0000E+00 31R 2.7895E-01 1.6249E-01 1.7442E-01 3.2103E-01 2.5545E-01 1.3518E-01 1.1084E-01 1.7179E-01 -1.0000E+00 wwn11:n 1.6566E-01 2.3132E-01 2.7846E-01 1.4500E-01 1.4157E-01 4.2491E-01 4.1152E-01 3.7823E-01 0.0000E+00 0.0000E+00 5.3225E-02 5.3787E-02 0.0000E+00 31R 2.7391E-01 1.8228E-01 2.1285E-01 3.0000E-01 1.3929E-01 5.4687E-02 4.9903E-02 9.4521E-02 -1.0000E+00 wwn12:n 2.4018E-02 3.6727E-02 4.7929E-02 2.1757E-02 2.1201E-02 5.9501E-02 5.7828E-02 5.5140E-02 0.0000E+00 0.0000E+00 9.5424E-03 9.5949E-03 0.0000E+00 31R 2.5998E-01 1.6590E-01 2.0152E-01 3.0554E-01 1.8515E-02 1.0339E-02 1.7634E-02 5.0819E-02 -1.0000E+00 wwn13:n 1.6072E-03 2.3648E-03 2.2318E-03 1.8866E-03 1.9010E-03 2.1976E-03 2.1924E-03 2.1738E-03 0.0000E+00 0.0000E+00 1.7331E-03 1.7550E-03 0.0000E+00 31R 1.0552E+00 3.9534E-01 2.8767E-01 8.1939E-01 2.0065E-03 2.2653E-03 7.2131E-03 4.7946E-02 -1.0000E+00

To generate cell-based windows (starting from nothing or starting from a previous set of cell or mesh-based windows) the WWG card becomes

WWG 4 315 .3

Cell 315 is the source cell. It is used to normalize the windows. It is chosen because the source cell is certain to have tracks, which eventually score to the target tally. The third entry, .3, sets the lower weight bound in the reference cell, 315, to a lower window bound of .3. From our experience we prefer 0.3 to the default of 0.5 for the third WWG entry to start splitting in important regions sooner.

After one iteration from the mesh-based windows, the newly generated cell-based windows can be used as in Example 4.3.

Example 4.3 Changes to the Lead Slowing-Down Spectrometer Problem of Example 4.1 to Generate and Use Cell-Based Windows

fc4 Average flux in fission chambers - optimize f4:n (201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217218 219 220 221 222 223 224 225 226 227 228 229 230 231 232) t4 100 18ilog 2e5 e4 100 tf4 7J 20 FQ4 T E wwg 4 315 .3 wwgt:n 200 500 1000 1600 3000 8000 1.2e4 2e4 4e4 6e4 9e4 1.3e5 1e6 nps 1e5 cut:n 200000 J 0 0 wwp:n 5 3 5 0 -1 j 1e-3 j J

The cell-based windows may be read from a WWINP file, as is always the case for mesh-based weight windows. They may also be directly inserted in the input file without the need for WWINP = wwfile on the MCNP execution line, as in Example 4.3. When the windows are in the input file, the “R” notation may be used as in Example 4.3. The “R” notation may not be used if the WWINP file is read by the MCNP execution line: all 31 “0.0000E+00” must be specified. The “R” notation may be used if the WWINP file is read with a READ card in the MCNP input file:

READ FILE=wwfile

The F4 tally results are

Time Tally error 1.0000E+02 7.64635E-05 0.0097 1.4919E+02 5.11358E-05 0.0107 2.2258E+02 3.60174E-05 0.0124 3.3206E+02 2.39359E-05 0.0108 4.9540E+02 1.63472E-05 0.0113 7.3908E+02 1.11143E-05 0.0115 1.1026E+03 7.26652E-06 0.0121 1.6450E+03 4.62532E-06 0.0121 2.4542E+03 3.18450E-06 0.0122 3.6614E+03 2.11597E-06 0.0132 5.4624E+03 1.38815E-06 0.0133 8.1493E+03 8.42698E-07 0.0153 1.2158E+04 5.47193E-07 0.0156 1.8138E+04 3.44415E-07 0.0157 2.7061E+04 1.86702E-07 0.0152 4.0372E+04 1.28959E-07 0.0154 6.0230E+04 7.13956E-08 0.0168 8.9857E+04 4.99288E-08 0.0207 1.3406E+05 1.97536E-08 0.0179 2.0000E+05 6.99311E-09 0.0167 total 2.35792E-04 0.0068

All statistical tests were passed, and the FOM was 55% higher than when the cylindrical mesh-based weight windows were used in Sect. 4.1.2. This improvement in FOM is because cylindrical mesh-based windows are 55% slower on average than cell-based windows. Rectangular mesh-based windows are also typically 15% slower than cell-based windows.

4.1.4 Time Splitting

Example 4.4 Changes to the Lead Slowing-Down Spectrometer Problem of Example 4.1 to Use Time Splitting

fc4 Average flux in fission chambers - optimize f4:n (201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232) t4 100 18ilog 2e5 e4 100 tf4 7J 20 FQ4 T E nps 1e5 cut:n 200000 J 0 0 TSPLT:n 2 200 2 500 2 1000 2 2000 2 3000 2 6000 2 1e4 2 2e4 2 3e4 2 6e4 2 1e5 2 1.2e5 2 1.4e5 2 1.6e5 2 1.8e5

Example 4.4 provides the changes to the lead slowing-down spectrometer problem of Example 4.1 to illustrate time splitting. As with mesh-based (Sect. 4.1.2) and cell-based (Sect. 4.1.3) weight windows, a target tally is useful to compare results and iterate parameters. Compared with the weight window input files, the generator input (WWG, WWGT) and weight window input (WWP, WWT, WWE, WWN) are replaced by the TSPLT input. The TSPLT card causes a 2-for-1 track split at 200 shakes, at 500 shakes, at 1000 shakes, etc., with the split occurring at the first collision or surface crossing after the time boundary.

The MCNP code does not automatically generate optimum TSPLT parameters like the weight window generator (WWG) does. The user must guess values, entering pairs of split ratio (which may be fractional) and the times at which the splits are to occur. If splitting is insufficient, then there will be no particles that survive to late times. If splitting is excessive, then the problem will run slowly or even hang because too many split particles are followed. The recommended practice is to split sufficiently to keep the relative error roughly constant in the time bins of the target tally. To iterate on the TSPLT values the time bins of the target tally should have the same boundaries as the TSPLT card.

The TSPLT of Example 4.4 passes all statistical tests for the target tally F4:

time 1.0000E+02 7.72194E-05 0.0127 1.4919E+02 5.23742E-05 0.0151 2.2258E+02 3.69117E-05 0.0184 3.3206E+02 2.48745E-05 0.0182 4.9540E+02 1.71429E-05 0.0209 7.3908E+02 1.12507E-05 0.0214 1.1026E+03 7.19584E-06 0.0233 1.6450E+03 4.73307E-06 0.0234 2.4542E+03 3.14349E-06 0.0262 3.6614E+03 2.08520E-06 0.0260 5.4624E+03 1.44751E-06 0.0251 8.1493E+03 8.58901E-07 0.0260 1.2158E+04 5.64038E-07 0.0273 1.8138E+04 3.39750E-07 0.0266 2.7061E+04 1.88853E-07 0.0270 4.0372E+04 1.26737E-07 0.0264 6.0230E+04 7.30615E-08 0.0302 8.9857E+04 5.08255E-08 0.0320 1.3406E+05 2.13284E-08 0.0412 2.0000E+05 6.95027E-09 0.0338 total 2.40609E-04 0.0093

Although the TSPLT time splitting for this problem is the easiest method and half as effective as the weight windows, it is effective only because the relative importance of each region of the geometry is the same. If the importance of different regions, different energies, and other aspects of phase space is varied, then simple time splitting will be far less effective.

The relative performance of the cylindrical mesh-based weight windows (Cyl mesh WW), cell-based weight windows (Cell WW), and time splitting (TSPLT) is shown in Table 4.1.

Table 4.1 Relative performance

where

  • FOM 4 is the FOM for the 1.3406E+05 < t < 2.0000E+05 time bin of the F4 target flux tally;

  • FOM 44 is the FOM for the 1.9432E+05 < t < 2.0000E+05 time bin of the F44 target flux tally; and

  • FOM 214 is the FOM for the 1.9432E+05 < t < 2.0000E+05 time bin of the F4 target neutron production tally.

The FOM speedups by these variance-reduction methods range from factors of 372 to 1964 depending on the tally and method, that is, calculations that take 6–33 h can now run in a minute. Alternatively, the resolution is 19–44 times better.

4.1.5 Variance Reduction for the Cf Shuffler

4.1.5.1 Cf Shuffler Modified Input

The Cf shuffler input of Example 3.4 is slightly modified in Example 4.5 to enable exposition of additional variance reduction methods.

Example 4.5 Modified Cf Shuffler Input of Example 3.4

vr03.txt for 500 g 235U, density 2.5g/cm^3 C c Cells c 10 5 -2.5 -10 imp:n=1 $ SNM 11 0 -12 10 imp:n=1 $ void about SNM 12 2 -8.65 -11 12 imp:n=1 $ Cd 13 1 -0.94 -13 11 100 101 102 103 104 105 106 107 108 109 110 111 imp:n=1 $ poly c c 3He Tubes c 100 3 1.002e-4 -100 imp:n=1 $ #1 101 3 1.002e-4 -101 imp:n=1 $ #2 102 3 1.002e-4 -102 imp:n=1 $ #3 103 3 1.002e-4 -103 imp:n=1 $ #4 104 3 1.002e-4 -104 imp:n=1 $ #5 105 3 1.002e-4 -105 imp:n=1 $ #6 106 3 1.002e-4 -106 imp:n=1 $ #7 107 3 1.002e-4 -107 imp:n=1 $ #8 108 3 1.002e-4 -108 imp:n=1 $ #9 109 3 1.002e-4 -109 imp:n=1 $ #10 110 3 1.002e-4 -110 imp:n=1 $ #11 111 3 1.002e-4 -111 imp:n=1 $ #12 c 9999 0 13 imp:n=0 $ outside cell c c c Surfaces c 10 rcc 0 0 7 0 0 7.073553 3 $ SNM 11 rcc 0 0 6 0 0 9 4 $ exterior of Cd 12 rcc 0 0 6.1 0 0 8.8 3.9 $ interior of Cd 13 rcc 0 0 0 0 0 21 14 $ exterior of diagnostic c c 3He Tubes c 100 rcc 8.270 0.000 0.100 0 0 20.8 1.27 $ #1 101 rcc 7.162 4.135 0.100 0 0 20.8 1.27 $ #2 102 rcc 4.135 7.162 0.100 0 0 20.8 1.27 $ #3 103 rcc 0.000 8.270 0.100 0 0 20.8 1.27 $ #4 104 rcc -4.135 7.162 0.100 0 0 20.8 1.27 $ #5 105 rcc -7.162 4.135 0.100 0 0 20.8 1.27 $ #6 106 rcc -8.270 0.000 0.100 0 0 20.8 1.27 $ #7 107 rcc -7.162 -4.135 0.100 0 0 20.8 1.27 $ #8 108 rcc -4.135 -7.162 0.100 0 0 20.8 1.27 $ #9 109 rcc 0.000 -8.270 0.100 0 0 20.8 1.27 $ #10 110 rcc 4.135 -7.162 0.100 0 0 20.8 1.27 $ #11 111 rcc 7.162 -4.135 0.100 0 0 20.8 1.27 $ #12 c c c Materials m0 nlib=.70c c m1 6000. 1 1001. 2 $ Polyethylene mt1 poly.10t $ S(a,b) c m2 48106. 0.0125 48108. 0.0089 48110. 0.1249 48111. 0.128 48112. 0.2413 48113. 0.1222 48114. 0.2873 48116. 0.0749 c m3 2003. 1 $ He-3 c m5 92235. 1. c mode n c c --------------------------------------------------------------- c Cf source phys:n 30 30 0 J J J 0 30 J J J 0 0 sdef pos=d1 tme=d2 erg=d3 sp3 -3 1.175 1.0401 $ Frohner Watt parameters si1 L 3.8 0 11 sp1 1.0 si2 0e8 10e8 $upper bin boundaries (no option = option H) sp2 0 1 $ bin probabilities (no option = option D, H, L) c --------------------------------------------------------------- c c Tallies fc4 <<<<< Detection Rate per source Cf neutron >>>>> f4:n (100 101 102 103 104 105 106 107 108 109 110 111) fm4 -1 3 103 sd4 1 t4 10e8 98i 1000e8 tf4 7j 7 fq4 t f c fc14 <<<<< Variance reduction target tally >>>>> f14:n (100 101 102 103 104 105 106 107 108 109 110 111) fm14 -1 3 103 sd14 1 t14 1e8 8i 10e8 8i 100e8 7i 900e8 950e8 980e8 1000e8 T tf14 7j 30 fq14 t f c prdmp j j 1 4 j print -30 -162 nps 1e9 ACT DNBIAS=15 cut:n 1000e8 J 0 0 c WWG 14 0 .25 WWGT:n 10e8 20e8 40e8 60e8 100e8 8i 1000e8 MESH GEOM=CYL ORIGIN=0 0 0 AXS=0 0 1 VEC=0 1 0 REF=3.8 0 11 IMESH 3 3.9 4 7 9.54 14 IINTS 3 1 1 1 1 1 JMESH 6 15 21 JINTS 1 1 1 KMESH 1 KINTS 1 TSPLT:n 2 1e10 2 2e10 2 3e10 2 4e10 2 5e10 2 6e10 2 7e10 2 8e10 2 9e10

The Cf shuffler input of Example 3.4 is repeated in Example 4.5 with the following modifications:

m0 nlib=.70c

is added to force use of ENDF/B-VII cross sections to enable reproducibility by utilizing the same data. The TOTNU card is deleted because it has been the MCNP default for many years. The following target tally is added for variance reduction:

c fc14 <<<<< Variance reduction target tally >>>>> f14:n (100 101 102 103 104 105 106 107 108 109 110 111) fm14 -1 3 103 sd14 1 t14 1e8 8i 10e8 8i 100e8 7i 900e8 950e8 980e8 1000e8 T tf14 7j 30 fq14 t f

The third PRDMP entry is set to generate MCTAL files so that plots of the tallies can be made across platforms, code versions, and operating systems. Some tables are turned off with the PRINT card. The requested number of histories is reduced to a more manageable size. The cut:n card turns off the default implicit capture and turns on analog capture to prevent implicit capture from working against other variance-reduction methods.

prdmp j j 1 4 j print -30 -162 nps 1e9 cut:n 1000e8 J 0 0

4.1.5.2 Particle Production Bias, Time Splitting, and Windows

A few short trial runs using time-splitting guesses and attempts to generate and use weight windows failed; however, these runs made it apparent that nearly all neutrons that produced captures in the 3He detectors after 20e8 shakes (20 s) are from delayed neutrons. Applying delayed neutron bias is done on the activation card:

ACT DNBIAS=15

The maximum allowed delayed neutron bias is DNBIAS = 10 (MCNP manual [1] Section 3.3.3.3); therefore, DNBIAS=15 results in up to ten delayed neutron tracks per fission. The MCNP delayed neutron fission bias algorithm reduces the number of prompt fissions to make room for the delayed fissions. Consequently, there are 8.52 delayed neutron tracks per fission and 2.48 prompt fission tracks per fission or 3.44 times as many delayed fission tracks produced as there are prompt fission tracks. The physical values are 2.50 prompt neutrons per fission, 0.016 delayed neutrons per fission, and a delayed neutron fraction of 0.00637.

The delayed neutron bias immediately provided improvement to the FOM by a factor of 100–300 in the 5e10 < time < 8e10 shake (500–800 s) time range, as illustrated in Fig. 4.13.

Fig. 4.13
figure 13

Comparison of Cf shuffler 3He captures as a function of time, comparing the analog run with those using delayed neutron bias and time splitting

An additional factor of 4 improvement in the FOM was achieved with the following time splitting:

TSPLT:n 2 1e10 2 2e10 2 3e10 2 4e10 2 5e10 2 6e10 2 7e10 2 8e10 2 9e10

Note that the more severe time splits of

TSPLT:n 100 10e8 100 20e8 10 30e8 4 60e8 4 1e10 2 3e10 2 4e10 2 5e10 2 6e10 2 7e10 2 8e10 2 9e10

and

TSPLT:n 4 2e9 4 3e9 4 6e9 4 10e9 4 15e9 4 22e9 4 32e9 4 43e9 4 55e9 4 65e9 4 75e10 4 82e9 4 92e9 4 96e9

were not as effective.

Cylindrical mesh-based weight windows were also generated.

WWG 14 0 .25 WWGT:n 10e8 20e8 40e8 60e8 100e8 8i 1000e8 MESH GEOM=CYL ORIGIN=0 0 0 AXS=0 0 1 VEC=0 1 0 REF=3.8 0 11 IMESH 3 3.9 4 7 9.54 14 IINTS 3 1 1 1 1 1 JMESH 6 15 21 JINTS 1 1 1 KMESH 1 KINTS 1

These were used based on tally F14 and two different tally F24s:

t24 1e8 8i 10e8 8i 100e8 6i 800e8 1000e8 T tf24 7j 27 and t24 1e8 8i 10e8 8i 100e8 4i 600e8 1000e8 T tf24 7j 25

Additional WWGT variations were also tried.

WWGT:n 10e8 20e8 40e8 60e8 100e8 6i 800e8 1000e8 WWGT:n 10e8 20e8 40e8 60e8 100e8 4i 600e8 1000e8

And different weight window parameter combinations were also tried.

WWP:n 5 3 5 0 -1 j 2e-10 j .99 WWP:n 1000 2 5 0 -1 j 1e-12 j .99

None of the weight window combinations were found to be effective. In each set of attempts shown, the second was the more favorable.

4.1.5.3 Analysis of Cf Shuffler Variance Reduction

The Cf shuffler problem was made three orders of magnitude more efficient by secondary particle biasing (delayed neutron production) and time splitting. The delayed neutron bias improved the FOM by a factor of 200–300. The time splitting improved the FOM by a factor of 1–4. The net efficiency improvement was a factor of ~1000 at late times (after 6e10 shakes or 10 min) at the expense of efficiency at early times, which had no FOM increase or only a very slight FOM decrease.

Several weight window attempts to get better convergence at late times, t > 6 × 1010 shakes, were unsuccessful. The lack of success is probably because the only way neutrons reached late time was by delayed neutron production and weight windows do not bias physical sampling. Weight windows principally split or Russian roulette particles that enter geometry, energy, or time space.

Furthermore, after the 10 × 108 shake source (10 s), the neutron population falls down ten orders of magnitude by 6 × 1010 shakes (10 min). There are simply too few neutrons present 10 min after the source burst to expect much variance-reduction improvement. Further, the accuracy of the late time tail of the approximate delayed neutron time distribution is poor—many seconds after the fission time.

The factor of 1000 FOM improvement by the application of variance reduction means that a 1 min run can do what would otherwise take 16.7 h or 1000 times fewer parallel processors are needed or time bins can be divided 32 times finer. It is a significant improvement.

4.2 DXTRAN and Other Capabilities for Distributed Source Problems

A UF6 enrichment cask model provides an example of a distributed source problem. Very little of the source contributes to the desired detector, which often must have very high fidelity because of a large number of small time and/or energy bins. The challenge is to get the important parts of the source to the detector without spending too much computational effort modeling parts of the source that hardly contribute to the needed answer.

Many safeguards problems have very efficient detectors and can be solved with analog methods. Other safeguards problems use Monte Carlo methods that are incompatible with variance reduction, such as coincidence capture; these problems must be analog. Many problems with distributed sources can be analog, but not the following. The UF6 enrichment cask distributed source problem of Example 4.6 in Sect. 4.2.1 needs variance reduction to get particles to the detector and to under-sample most of the source, which contributes very little to the detector.

The distributed source cask problem also showcases a number of MCNP capabilities for understanding problems and optimizing them. Optimization encompasses more than variance-reduction methods to accelerate or improve convergence. There are issues of what physics is needed, what approximations are needed or acceptable, how different MCNP capabilities interact and/or conflict, and good practices. Furthermore, understanding a problem goes beyond modeling the desired tally of an answer and throwing the calculation on a massively parallel computer and hoping for an eventual answer. Problems should be built up in stages, using highly simplified tallies of quantities and other approximations to attain an understanding of the problem. Only then can appropriate methods be applied to get particles where they are needed and to avoid excessive effort in unimportant parts of the problem. The high-fidelity and detailed tallies that are actually desired can then be added after the auxiliary tallies—before using the tallies needed for the final answer. In the UF6 enrichment cask problem, the F8 pulse-height tally with fine energy bins is the desired tally, but to optimize and understand the problem, F1 current and F6 energy-deposition tallies are used along with next-event estimators.

Massively parallel computers have made it possible to solve many problems by brute force—running them in analog mode without optimization. But optimization is often still important as greater resolution (such as more and finer energy bins), better physics (charged particles, decay, correlated physics models), and larger and more-detailed geometries demand variance reduction. A better understanding of a problem is always desirable.

The capabilities featured here include the following:

  • READ cards enable putting sections of the input into separate auxiliary input files so that the entire input file does not have to be repeated just to make small changes.

  • FT SCX source distribution tallying to determine the contributions from different source sampling bins

  • DXTRAN, a next-event estimator, to

    • direct particles to the detector regions

    • use Detector Diagnostic (DD) Russian roulette to greatly reduce sampling of particles with small probabilities of reaching the detector (MCNP manual [1] Section 3.3.6.11)

    • perform detector diagnostics

  • Source position biasing

    • rejection sampling (SDEF CEL or SDEF CCC) enables sampling of irregularly shaped regions

    • fails in some cases with rejection sampling, when, and why

  • Mesh-based weight window generation and use

    • proper selection of the MESH REF reference point

    • proper weight window normalization: WWP(7)

    • upper window limits: WWP(9)

  • More

    • analog sampling

    • eliminating coherent scatter to improve next-event estimators

    • observations and recommendations

4.2.1 UF6 Cask Model

The input for the UF6 cask model consists of a short input file, which uses the MCNP READ capability to include various sections of the input. UF6 has a phase transition between gas and solid near room temperature. The model has UF6 solid on the bottom two-thirds of the cask that emits the principal gamma lines of 238U. The top one-third of the cask is gaseous fluorine with no source. The source is sampled uniformly in the volume of the cask and then rejected if not in the UF6 part on the bottom. The model uses oversimplified HPGe detectors. The goals are to see if these detectors can discern the solid and gaseous regions of the cask and to see the effects of design changes in the HPGe detectors.

Example 4.6 Uranium Enrichment Cask Model. The Master Input File Is “Cask1” with Auxiliary READ Files READ File = Cask_Geom, Cask_Data, Cask_SDEF1, and Tally1

Main input file Cask1

UF6 Cask Model READ File=Cask_Geom READ File=Cask_Data NPS 1E6 READ File=Cask_SDEF1 READ File=Cask_Tally1

Auxiliary input file Cask_Geom

c ***** Cask cells ***** 411 111 -5.09 -31 -97 IMP:P=1 412 111 -5.09 -33 31.2 -97 IMP:P=1 413 111 -5.09 -35 31.3 -97 IMP:P=1 416 110 -0.10 -31 97 IMP:P=1 417 110 -0.10 -33 31.2 97 IMP:P=1 418 110 -0.10 -35 31.3 97 IMP:P=1 421 112 -7.874 -32 31 IMP:P=1 422 112 -7.874 -34 33 32.2 -32.1 IMP:P=1 423 112 -7.874 -36 35 32.3 -32.1 IMP:P=1 431 199 -.001 -40 34 32.2 -32.1 IMP:P=1 432 199 -.001 -40 36 32.3 -32.1 IMP:P=1 440 112 -7.874 -41 40 IMP:P=1 450 199 -.001 -99 41 #110 #111 #112 #113 #114 #115 #116 #117 #118 #119 #120 #121 IMP:P=1 400 0 99 IMP:P=0 c ***** Detector cells ***** 100 104 -2.700 -202 U=1 IMP:P=1 101 103 -5.323 202 -203 U=1 IMP:P=1 102 103 -5.323 203 -204 U=1 IMP:P=1 103 199 -.001 204 -205 U=1 IMP:P=1 104 104 -2.700 205 -201 U=1 IMP:P=1 105 199 -.001 201 U=1 IMP:P=1 110 199 -.001 -200 TRCL=300 IMP:P=1 111 Like 110 but TRCL=301 112 Like 110 but TRCL=302 113 Like 110 but TRCL=303 FILL=1 114 Like 110 but TRCL=304 FILL=1 115 Like 110 but TRCL=305 FILL=1 116 Like 110 but TRCL=306 FILL=1 117 Like 110 but TRCL=307 FILL=1 118 Like 110 but TRCL=308 FILL=1 119 Like 110 but TRCL=309 FILL=1 120 Like 110 but TRCL=310 121 Like 110 but TRCL=311 c ***** Cask surfaces ***** 31 rcc 0 0 17.73157 0 0 157.8568 36.73 32 rcc 0 0 17.73157 0 0 157.8568 38 33 sph 0 0 142.47 49.53 34 sph 0 0 142.47 50.8 35 sph 0 0 51.07 49.53 36 sph 0 0 51.07 50.8 40 rcc 0 0 0 0 0 207 38 41 rcc 0 0 0 0 0 207 38.4175 97 py 10 99 sph 0 0 0 1000 c ***** Detector surfaces ***** 200 SPH 46 0 0 4.7 201 RCC 43.100 0 0 5.427 0 0 3.677 202 RCC 44.527 0 0 4.000 0 0 0.500 203 RCC 43.577 0 0 4.950 0 0 3.200 204 RCC 43.527 0 0 5.000 0 0 3.250 205 RCC 43.227 0 0 5.300 0 0 3.550

Auxiliary input file Cask_Data

m103 32000 1 $ Ge m104 13027 1 $ Al M110 19039 1 $ F m111 92235 .05 92238 .95 19039 6 $ UF6 5% m112 26056 1 $ steel m199 7014 .8 8016 .2 $ air c x y z xx' yx' zx' xy' yy' zy' xz' yz' zz' *TR300 0 0 100 0 90 90 90 0 90 90 90 0 $ 0 deg from x *TR301 0 0 100 30 -60 90 120 30 90 90 90 0 $ 30 deg from x *TR302 0 0 100 60 -30 90 150 60 90 90 90 0 $ 60 deg from x *TR303 0 0 100 90 0 90 180 90 90 90 90 0 $ 90 deg from x *TR304 0 0 100 120 30 90 210 120 90 90 90 0 $ 120 deg from x *TR305 0 0 100 150 60 90 240 150 90 90 90 0 $ 150 deg from x *TR306 0 0 100 180 90 90 270 180 90 90 90 0 $ 180 deg from x *TR307 0 0 100 210 120 90 300 210 90 90 90 0 $ 210 deg from x *TR308 0 0 100 240 150 90 330 240 90 90 90 0 $ 240 deg from x *TR309 0 0 100 270 180 90 0 270 90 90 90 0 $ 270 deg from x *TR310 0 0 100 300 210 90 30 300 90 90 90 0 $ 300 deg from x *TR311 0 0 100 330 240 90 60 330 90 90 90 0 $ 330 deg from x PRINT -85 -86 -162 -30 PRDMP 2J 1 MODE P c

Auxiliary input file Cask_SDEF 1

SDEF ERG=D500 POS=0 0 0 AXS=0 0 1 EXT=D501 RAD=D502 CEL=411 SI501 17.73157 175.58837 SP501 0 1 SI502 0 36.73 SP502 -21 1 READ FILE=CASK_SDEF_ERG

Auxiliary input file Cask_SDEF _ERG embedded within Cask_SDEF1

# SI500 SP500 L D 1.001030 8.370000e-03 0.766380 2.940000e-03 0.742810 8.000000e-04 0.258230 7.280000e-04 0.786270 4.850000e-04 1.737730 2.110000e-04 1.831500 1.720000e-04 1.193770 1.347000e-04 1.510500 1.287000e-04 1.434140 9.730000e-05 1.867680 9.180000e-05 1.765440 8.680000e-05 1.875500 8.180000e-05 1.554100 8.080000e-05 1.911170 6.280000e-05 1.237220 5.290000e-05 1.937010 2.890000e-05 1.527210 2.390000e-05 1.414000 2.290000e-05 1.819690 9.000000e-06

Auxiliary input file Cask_Tally1

FC18 Pulse height in detectors F18:P ((101 102)<113) ((101 102)<114) ((101 102)<115) ((101 102)<116) ((101 102)<117) ((101 102)<118)((101 102)<119) T E18 .01 198i 2 T FQ18 E F

The combination of these gives the full input file, which is printed in the output file as:

1- uf6 Cask Model 2- read file=Cask_Geom ************************ begin read ************************ 3- c ***** Cask cells ***** 4- 411 111 -5.09 -31 -97 IMP:P=1 5- 412 111 -5.09 -33 31.2 -97 IMP:P=1 6- 413 111 -5.09 -35 31.3 -97 IMP:P=1 7- 416 110 -0.10 -31 97 IMP:P=1 8- 417 110 -0.10 -33 31.2 97 IMP:P=1 9- 418 110 -0.10 -35 31.3 97 IMP:P=1 10- 421 112 -7.874 -32 31 IMP:P=1 11- 422 112 -7.874 -34 33 32.2 -32.1 IMP:P=1 12- 423 112 -7.874 -36 35 32.3 -32.1 IMP:P=1 13- 431 199 -.001 -40 34 32.2 -32.1 IMP:P=1 14- 432 199 -.001 -40 36 32.3 -32.1 IMP:P=1 15- 440 112 -7.874 -41 40 IMP:P=1 16- 450 199 -.001 -99 41 #110 #111 #112 #113 #114 #115 17- #116 #117 #118 #119 #120 #121 IMP:P=1 18- 400 0 99 IMP:P=0 19- c ***** Detector cells ***** 20- 100 104 -2.700 -202 U=1 IMP:P=1 21- 101 103 -5.323 202 -203 U=1 IMP:P=1 22- 102 103 -5.323 203 -204 U=1 IMP:P=1 23- 103 199 -.001 204 -205 U=1 IMP:P=1 24- 104 104 -2.700 205 -201 U=1 IMP:P=1 25- 105 199 -.001 201 U=1 IMP:P=1 26- 110 199 -.001 -200 TRCL=300 IMP:P=1 27- 111 Like 110 but TRCL=301 28- 112 Like 110 but TRCL=302 29- 113 Like 110 but TRCL=303 FILL=1 30- 114 Like 110 but TRCL=304 FILL=1 31- 115 Like 110 but TRCL=305 FILL=1 32- 116 Like 110 but TRCL=306 FILL=1 33- 117 Like 110 but TRCL=307 FILL=1 34- 118 Like 110 but TRCL=308 FILL=1 35- 119 Like 110 but TRCL=309 FILL=1 36- 120 Like 110 but TRCL=310 37- 121 Like 110 but TRCL=311 38- 39- c ***** Cask surfaces ***** 40- 31 rcc 0 0 17.73157 0 0 157.8568 36.73 41- 32 rcc 0 0 17.73157 0 0 157.8568 38 42- 33 sph 0 0 142.47 49.53 43- 34 sph 0 0 142.47 50.8 44- 35 sph 0 0 51.07 49.53 45- 36 sph 0 0 51.07 50.8 46- 40 rcc 0 0 0 0 0 207 38 47- 41 rcc 0 0 0 0 0 207 38.4175 48- 97 py 10 49- 99 sph 0 0 0 1000 50- c ***** Detector surfaces ***** 51- 200 SPH 46 0 0 4.7 52- 201 RCC 43.100 0 0 5.427 0 0 3.677 53- 202 RCC 44.527 0 0 4.000 0 0 0.500 54- 203 RCC 43.577 0 0 4.950 0 0 3.200 55- 204 RCC 43.527 0 0 5.000 0 0 3.250 56- 205 RCC 43.227 0 0 5.300 0 0 3.550 ************************* end read ************************* 57- 58- read file=Cask_Data ************************ begin read ************************ 59- c m103 32070 .2052 32072 .2745 32073 .0776 32074 .3670 32076 .0775 60- m103 32000 1 $ Ge 61- m104 13027 1 $ Al 62- m110 19039 1 $ F 63- m111 92235 .05 92238 .95 19039 6 $ UF6 5% 64- m112 26056 1 $ steel 65- m199 7014 .8 8016 .2 $ air 66- c x y z xx' yx' zx' xy' yy' zy' xz' yz' zz' 67- *tr300 0 0 100 0 90 90 90 0 90 90 90 0 $ 0 deg from x 68- *tr301 0 0 100 30 -60 90 120 30 90 90 90 0 $ 30 deg from x 69- *tr302 0 0 100 60 -30 90 150 60 90 90 90 0 $ 60 deg from x 70- *tr303 0 0 100 90 0 90 180 90 90 90 90 0 $ 90 deg from x 71- *tr304 0 0 100 120 30 90 210 120 90 90 90 0 $ 120 deg from x 72- *tr305 0 0 100 150 60 90 240 150 90 90 90 0 $ 150 deg from x 73- *tr306 0 0 100 180 90 90 270 180 90 90 90 0 $ 180 deg from x 74- *tr307 0 0 100 210 120 90 300 210 90 90 90 0 $ 210 deg from x 75- *tr308 0 0 100 240 150 90 330 240 90 90 90 0 $ 240 deg from x 76- *tr309 0 0 100 270 180 90 0 270 90 90 90 0 $ 270 deg from x 77- *tr310 0 0 100 300 210 90 30 300 90 90 90 0 $ 300 deg from x 78- *tr311 0 0 100 330 240 90 60 330 90 90 90 0 $ 330 deg from x 79- print -85 -86 -162 -30 80- prdmp 2J -1 81- mode P 82- c ************************* end read ************************* 83- nps 1E6 84- read file=Cask_SDEF1 ************************ begin read ************************ 85- sdef ERG=D500 POS=0 0 0 AXS=0 0 1 EXT=D501 RAD=D502 CEL=411 86- si501 17.73157 175.58837 87- sp501 0 1 88- si502 0 36.73 89- sp502 -21 1 90- read file=CASK_SDEF_ERG ************************ begin read ************************ 91- # SI500 SP500 92- l D 93- 1.001030 8.370000e-03 94- 0.766380 2.940000e-03 95- 0.742810 8.000000e-04 96- 0.258230 7.280000e-04 97- 0.786270 4.850000e-04 98- 1.737730 2.110000e-04 99- 1.831500 1.720000e-04 100- 1.193770 1.347000e-04 101- 1.510500 1.287000e-04 102- 1.434140 9.730000e-05 103- 1.867680 9.180000e-05 104- 1.765440 8.680000e-05 105- 1.875500 8.180000e-05 106- 1.554100 8.080000e-05 107- 1.911170 6.280000e-05 108- 1.237220 5.290000e-05 109- 1.937010 2.890000e-05 110- 1.527210 2.390000e-05 111- 1.414000 2.290000e-05 112- 1.819690 9.000000e-06 ************************* end read ************************* ************************* end read ************************* 113- read file=Cask_Tally1 ************************ begin read ************************ 114- fc18 Pulse height in detectors 115- f18:p ((101 102)<113) ((101 102)<114) ((101 102)<115) ((101 102)<116) 116- ((101 102)<117) ((101 102)<118) ((101 102)<119) T 117- e18 .01 198i 2 T 118- fq18 E F ************************* end read *************************

The geometry is illustrated in Figs. 4.14 and 4.15.

Fig. 4.14
figure 14

XY view normal to Z-axis of UF6 cask showing 12 detector positions filled with seven detectors. The bottom of the cask is filled with UF6 solid and the top is simply F

Fig. 4.15
figure 15

ZY view of Z-axis of UF6 cask, showing top and bottom detectors. The bottom of the cask is filled with UF6 solid and the top is simply F

The plot commands are

pz 100 ex 60 la 0 0

The plot commands are

ba 0 0 1 0 1 0 ex 120 or 0 0 100

There are two primary questions we wish to answer:

  • Can HPGe gamma detectors discern that some of the UF6 is solid and the rest is gaseous filling the top part of the cask? A single detector may be rotated around the cask and moved along axially or many detectors may be used. The simulation has 12 detector positions at 30° angles, filled with seven detectors to sample different radial locations.

  • What is the effect on the detector of making slight changes to its geometry?

Most of the contribution to the detectors obviously comes from the source in the UF6 nearest the detectors—that is, the axial region near the detectors at Z = 100 cm (center of Fig. 4.15) and the source at the left-side outermost radii (Fig. 4.14). Whereas this source is spread out over 160 cm axially and 37 cm radially, no solution is possible without sampling more of the source near the detectors and directing those source particles toward the detectors—and sampling far less of the source that makes only minimal contributions to the answer. The Cask1 problem was run for hours and no acceptable solution was found to the pulse-height tally. Getting finer energy resolution and seeing small effects in the detector design is impossible.

To understand and optimize the problem requires adding tallies to learn from the MCNP code what is and what is not important. To prepare for a tally that can assess the contributions of various axial regions, the source axial sampling is subdivided by changing SI501 and SP501 to an equivalent distribution:

Auxiliary Input File Cask_SDEF2

SDEF ERG=D500 POS=0 0 0 AXS=0 0 1 EXT=D501 RAD=D502 CEL=411 SI501 17.73157 30 5i 90 95 105 110 4i 160 175.58837 SP501 0 12.26843 10 5R 5 10 5 10 4r 15.58837 SI502 0 36.73 SP502 -21 1 READ FILE=CASK_SDEF_ERG

Additional tallies are added to the original pulse-height tally. The F101 current tally is most similar to the original pulse-height tally, F18, and tallies the particles that enter and leave a sphere surrounding the 12 detector positions. The F16 tally measures the energy deposition in the seven active HPGe detectors on one side of the cask. The SD changes units to MeV instead of MeV/g. The F116 tally provides the energy deposition in the top, middle, and bottom detectors, subdivided into user bins by FT116 SCX (MCNP Manual [1] Section 3.3.5.18) according to which source axial segment was sampled in distribution SI/SP 501. Note that the F18 pulse-height tally should have had a zero energy bin to identify sampling imbalances (as explained in Sect. 2.4.5).

Auxiliary Input File Cask_Tally2

E0 .01 198i 2 T FC16 Energy deposition in each detector F16:p ((101 102)<113) ((101 102)<114) ((101 102)<115) ((101 102)<116) ((101 102)<117) ((101 102)<118) ((101 102)<119) T SD16 1 7R TF16 8 FQ16 E F FC18 Pulse height in bottom detector F18:P ((101 102)<113) ((101 102)<114) ((101 102)<115) ((101 102)<116) ((101 102)<117) ((101 102)<118) ((101 102)<119) T E18 .01 198i 2 T FQ18 E F TF18 8 FC101 Currents on outer spherical surfaces F101:P 110200 10i 121200 T C101 0 1 T FQ101 C E F TF101 13 J J J J 1 J J FC116 Energy deposition in top, middle and bottom detectors F116:P ((101 102)<113) ((101 102)<116) ((101 102)<119) T SD116 1 3R E116 100 FT116 SCX 501 FQ116 U F TF116 4

When variance reduction is added to improve the convergence of these additional tallies, then these tallies will provide information for understanding and optimizing the problem.

General Recommendations fot the Application of Variance Reduction Techniques:

  • Modify the problem into simpler problems that can run fast and provide an understanding of the problem. Such simplification may entail the following:

    • Eliminating or adding tallies

      • Eliminating the tallies of interest and using ones to answer specific questions. In particular, use point detectors or DXTRAN to get answers in specific locations.

      • Adding tallies to provide specific information. The FT SCX and SCD special tally treatments enable the user to learn which source distributions contribute to the tallies of interest. The tally tagging, FT TAG, cell and surface flagging, CF and SF, tally segmenting, FS, and others contribute to information about which parts of the problem are important.

      • Reducing the number of tally time, energy, or other bins so that adequate answers are achieved quicker in the broader bins. A 4-keV energy bin will have twice the efficiency (FOM) of a 1-keV bin.

      • The simpler problems used for understanding should omit the F8 tally, which slows down the calculation, particularly when DXTRAN is used (typically 50% slowdown in our experience). The F8 tally is left in these examples for comparison and completeness, not as a best practice for optimization and understanding.

    • Simplifying the source to one characteristic of the problem but less detailed than the one ultimately desired.

    • Adjusting problem physics for optimization studies:

      • Thick-target bremsstrahlung affects tallies with energy E < 100 keV in this UF6 cask problem. If that region is not of interest, the second PHYS:P entry should be used to turn it off. If bremsstrahlung is important, then full electron transport should be used, and perhaps bremsstrahlung biasing (PHYS:E) should also be used.

      • If electrons are used, turning knock-ons off (PHYS:E) usually does not affect results and speeds electron transport by about a factor of 7.

      • In charged particle calculations, scoping studies can be performed faster by eliminating some of the particle types (MODE), particularly ion recoils (PHYS:N).

      • Simpler materials with fewer isotopes—particularly trace amounts—can be used. Note the simplification of uranium, Ge, iron, air, etc., in this UF6 cask model.

  • Use READ auxiliary input files. Often MCNP input files are thousands of lines long and can be made more manageable by putting parts of the problem that do not change into separate files. Put parts of the input that change into small files. In this UF6 example, the geometry, materials, transformations, and source energy remain unchanged and are in separate auxiliary input files. The number of histories can be easily modified in the short master file.

  • Optimization of the simplified problem can then be applied to the original problem. The insights gained from the simple problem direct the final variance reduction of the original problem. In the case of a superimposed weight window mesh, the simplified problem mesh can be used directly in the original problem.

4.2.2 DXTRAN

The DXTRAN technique is typically useful when a small tally region is inadequately sampled due to a very small probability of particles being transported toward that area. It is among the most effective collision directional biasing variance reduction technique for neutrons and photons available in the MCNP code.

In this example, DXTRAN introduces a so-called DXTRAN sphere that encloses the tally region. At the source and at every subsequent collision reaction that the particle undergoes in its random walk, a special DXTRAN particle is created. This DXTRAN particle is deterministically transported to the surface of the DXTRAN sphere. The random walk of the parent particle is unchanged (other than the random number sequence needed to generate the DXTRAN particle). In particular, the parent particle weight is not reduced by the created DXTRAN particle. The weight of the created DXTRAN particle is offset by killing the parent particle if it reaches the DXTRAN sphere during its random walk. Thus, the DXTRAN event may be thought of in two ways: It may be considered as a splitting of particles into parts that enter the DXTRAN sphere on the next event and particles that do not enter the DXTRAN sphere on the next event. Alternatively, the DXTRAN event may be considered as an accounting process in which weight is both created and destroyed on the surface of the DXTRAN sphere.

DXTRAN puts neutrons or photons on a sphere surrounding a region of interest by using a next-event estimator similar to the point detector. The F5 point detector accumulates the flux, Φ, at a point by a contribution of

$$ \varPhi = Wp\left(\mu \right)\frac{e^{-\sigma x}}{2\pi {R}^2}. $$

This estimate of Φ is accumulated at every source or collision event.

  • W = particle weight

  • p(μ) = p(Ω)/2 = scattering probability density function

  • R = distance between event and detector point

  • eσx = attenuation through all cells/materials along path R

Although the probability of scattering exactly in the direction, Ω, from the event to the detector is zero, the probability density function of the cosine, μ, assuming azimuthal symmetry, p(μ) = p(Ω)/2, is finite:

$$ 0\le p\left(\mu \right)<\infty $$
$$ -1\le \mu \le 1 $$

For photon coherent scattering with form factors, p(μ) is nearly a delta function at μ = 1:

$$ p(1)\approx \infty . $$

Consequently, convergence is poor unless coherent scatter is turned off (PHYS:P 2J 1) or the special treatment, FT5 PDS, is applied to sample collision outcomes rather than incident reaction probabilities. (Coherent scattering can cause large weight contributions to next-event estimators and since DXTRAN spheres are a bigger target than point detectors the problem is exacerbated with DXTRAN.)

For DXTRAN, particles are put on the DXTRAN sphere with the weight of the expected value of their being scattered to the sphere:

$$ N=W\cdot p\left(\mu \right)\cdot V\cdot {e}^{-\sigma x} $$
$$ V=1-{\left({R}^2-{D}^2\right)}^{\frac{1}{2}}/R $$

where

  • D = radius of (outer) DXTRAN sphere;

  • R = distance from source/collision to the center of the DXTRAN sphere.

The next-event method samples the contributions to the DXTRAN sphere(s) at every source or collision event using an essential built-in variance-reduction method of Russian roulette. At each source or collision event, only the attenuation to the DXTRAN sphere, eσx, is unknown, and eσx ≤ 1 always. The remaining terms of the DXTRAN contribution are

$$ N> WVp\left(\mu \right)<0.1{N}_a. $$

Here, Na is the average contribution from all the previous histories run so far. If

$$ N<0.1{N}_a $$

Russian roulette is played on these contributions with survival probability N/(0.1 × Na) and survival weight 0.1 × Na, which usually results in about one transmission to the DXTRAN sphere for each source history rather than many insignificant contributions from each source or collision event. But because the Russian roulette criteria of Na is different for each history, the central limit theorem of statistics is violated because all samples are no longer drawn from the same distribution. The effect of this outcome is insignificant in our experience. But another consequence is that histories cannot be rerun with the RAND HIST (or DBCN eighth entry) capability to determine with an event log (DBCN third and fourth entries) to understand the cause of large DXTRAN contributions, which need to be sampled more to achieve good convergence. Therefore, it is recommended that the Russian roulette criteria for each detector be set with the DD card.

The variance-reduction parameters for DXTRAN are added in yet another auxiliary READ file, Cask_VRT2:

PHYS:P 2J 1 CUT:P 2J 0 0 DXT:P 0 46 100 4.8 4.8 -46 0 100 4.8 4.8 0 -46 100 4.8 4.8 2e-6 1e-6

The PHYS:P physics data use the third entry to turn off coherent scatter. If coherent scatter is left on, then the density function for scattering term, p(μ), becomes very large when scattering sends the particle nearly forward. Without turning scattering off, the tally convergence is nearly always poor with slope <3 and FOM much lower. Turning off coherent scatter is generally an excellent approximation. To check if turning off coherent scattering is a good approximation, a short run (after variance reduction is completed) should be made with and without coherent scatter to see if the tallies agree within statistics. If coherent scattering is important, then nested DXTRAN, described shortly, may be required.

The CUT:P cutoffs force analog capture. Photon transport is generally analog. There is no weight reduction by capture. Photoelectric absorption results in fluorescence, which gives zero, one, or two photons; however, when variance reduction, such as DXTRAN, position biasing, bremsstrahlung biasing, etc., is used, there are many weight fluctuations. The weight cutoff of implicit capture will preferentially roulette low-weight important particles and not roulette high-weight unimportant particles. Analog capture generally should be used with variance reduction.

The DXTRAN spheres are specified with DXT:P in quintuples for each DXTRAN sphere, followed by two weight cutoffs. The three spheres are at x, y, z = 0 46 100 top; x, y, z = −46 0 100 middle; and x, y, z = 0 −46 100 bottom. Each sphere has an inner and outer radius. The first and second radii are the inner and outer. The second (outer) radius is where the next-event DXTRAN particles are placed. The first (inner) radius should surround the region of interest and is used to aim 80% of the particles placed on the outer sphere towards the inner sphere. When the surrounding medium is not much of a scattering medium—as in this problem, where it is air—the two radii are generally the same. When the DXTRAN sphere is in a scattering medium, then nested DXTRAN spheres should be used where the inner sphere is at radius D; then the outer radius would be the lesser of D + mfp or 2D, where mfp is the mean free path. For nested spheres, each inner and outer radius would both be D and nesting would be twice the radius of the outer sphere, namely D, 2D, 4D, 8D, …, out to a radius of D + mfp, because the weight of particles placed on the sphere falls off as1/D2 even in a vacuum and eσx, where σ = 1/mfp.

The DXT weight cutoffs, 2e−6 1e−6, are important when there is more than one DXTRAN sphere so that the DXTRAN spheres do not “talk to each other”; that is, particles in one sphere collide and create particles on the other spheres, which then create more on the others. The second cutoff, 1e−6, is the weight below which Russian roulette is invoked. The first, 2e−6, is the survival weight. Thus a particle in the DXTRAN sphere with weight 5e−7 will survive with weight 2e−6 a quarter of the time and be killed the rest of the time. The DXT weight cutoff should be 10% or lower than the lowest average weight reaching any of the DXTRAN spheres (determined by short test runs). If the cutoffs are absent, there will be the warning message:

Warning. More than ONE photon sphere and no weight cutoff.

The particles will be followed until their weight drops below the smallest number allowed in the computer. The DXTRAN diagnostics, Print Table 150, will show those transmissions as being killed by “underflow in transmission.” These transmissions will be costly in terms of FOM efficiency. When the weight cutoffs are specified, the transmissions killed will show up under “weight cutoff” in the DXTRAN diagnostics, print Table 150, but not in “weight cutoff” in the problem summary table.

It is a good practice to fix the Russian roulette criteria for next-event estimators using the DD card. DD2 refers to photon DXTRAN spheres. DD1 refers to neutron DXTRAN spheres. DD115 would refer to point detector F115. DD0, or just DD, applies to all. For this problem, a good first guess was:

DD2 -2e-6 1e5 -2e-6 1e5 -2e-6 1e5

The negative sign makes the value absolute rather then relative to the fluctuating average value. The DD Russian roulette criteria for each sphere are N = 2e−6. Any transmission to the DXTRAN sphere that puts a particle on the outer sphere with a weight greater than 1e5 × 2e−6 will have a diagnostic printout between the first 50 histories (print table 110) and the problem summary table in the output OUTP file. These diagnostics provide all the parameters of the DXTRAN transmission:

idx dx wgt col wgt psc amfp dd erg cell nps ncp p 2 2.5442E-01 1.0000E+00 9.2550E+00 3.0041E-01 1.3708E+01 1.9927E-01 440 2092167 0

  • IDX= 2 is the DXTRAN sphere number;

  • DX WGT= 2.5442E−01 = weight of particle put on DXTRAN outer sphere;

  • COL WGT= 1.0000E+00 = weight of particle at source or collision;

  • PSC= value of p(μ), which is 0.5 for pair production and photoelectric and can be >1.0 for incoherent scatter even after turning off coherent scatter as in this case where it is 9.2550E+00;

  • AMFP= 3.0041E−01 = average mean free path;

  • DD= 1.3708E+01 = distance from source/collision to outer DXTRAN sphere;

  • ERG= 1.9927E−01 = energy of particle at source or collision;

  • CELL= 440 = cell from where particle is starting; in this case 440, the steel case around the cask;

  • NPS= 2092167 = history number, which can be used with RAND HIST or DBCN eighth entry to re-sample the history if DD Russian roulette control is set;

  • NCP= 0 = number of previous collisions;

  • P= particle is a photon.

A good choice for DD Russian roulette criteria is a tenth of the DXTRAN particle “average weight per history” in the DXTRAN diagnostics Print Table 150, which can be obtained from a short run. For this problem, the choice would be

DD2 -8.1e-6 1e4 -9.8e-6 1e4 -10.0e-6 1e4

Short runs for this problem indicated insensitivity to the choice of DD parameters. The FOM was about the same for the above Roulette criteria, the 2e−6 criteria, and omitting the DD card altogether. In other problems, the choice can be significant.

The problem can be run by changing the main input file:

Main Input File Cask2

UF6 Cask Model READ File=Cask_Geom READ File=Cask_Data NPS 1E7 READ File=Cask_SDEF2 READ File=Cask_Tally2 READ File=Cask_VRT2

When DXTRAN is used in this problem, the MCNP code issues the two warnings:

warning. f8 variance reduction has not been verified for more than one dxtran sphere

Whereas the answers appear to agree with the runs without DXTRAN, we believe that, in this case, the F8 pulse-height tallies with DXTRAN are correct, but they must be used with caution and should be verified against a later run with a single DXTRAN sphere or no DXTRAN if a no-DXTRAN run can have good enough convergence for comparison.

The second warning is

warning. tally partly inside and outside of a dxtran sphere.

Tallies on surfaces or in cells that are both in and out of a DXTRAN sphere have either false convergence or poor convergence (both indicated by slope <3) because scores outside the DXTRAN sphere are rare, with large weight; scores inside the DXTRAN sphere are numerous, with low weight. In other words, the part of the tally outside the DXTRAN sphere is undersampled relative to the part inside. For this cask problem, if the warning is understood, then it is determined not to be a problem. In this case the warning is understood. The scores in the individual cells (F16, F18, F116 tallies) or spherical surfaces (F101 tally) are correct. The total bin for these tallies includes cells or surfaces that are both in and out of the three DXTRAN spheres and consequently the total bin tally may converge poorly and not pass the convergence tests.

All MCNP warning errors must be reviewed and understood to have full confidence in a calculation.

In addition to the DD detector diagnostics and Russian roulette capability, there is another DXTRAN option that is not used here: the DXC DXTRAN cell contribution capability. Cells may be selected to contribute to the DXTRAN spheres with probabilities 0 < P < 1 rather than attempting to send every source or collision particle to the DXTRAN spheres. The DXC capability is exactly like the PD capability for point detectors.

The DXTRAN problem with main file Cask2 and VARIANCE REDUCTION TECHNIQUE auxiliary input file Cask_VRT2 provided great problem insight in short runs. This run—and slight variations of—it led to the following:

Observations

  • The tally from the three different HPGe detectors in the three DXTRAN spheres was sufficiently different to determine the differences in the shape of UF6 and F in the cask.

  • Using DXTRAN improved the FOM by more than a factor of 7.

  • Turning off coherent scatter (PHYS:P 2J 1) increased efficiency by 50% and improved the convergence slope.

  • Using three DXTRAN spheres was more than a factor of 2 more expensive than using only one.

  • Eliminating the F8 pulse-height tally improved the FOM by 10%.

  • Efficiency was not very sensitive to the DD Russian roulette criteria.

  • Including the weight cutoffs on the DXT is essential when there are multiple DXTRAN spheres.

  • F8 pulse-height tallies must be used with caution if there are multiple DXTRAN spheres.

Recommendations

  • Use F5 point detectors or DXTRAN to gain problem insight.

  • Use DXTRAN to improve efficiency if the objective is to sample a large source region going to a small tally region:

    • Turn off coherent scatter for photon DXTRAN.

    • Use analog capture, CUT, if weight windows are not used.

    • Have weight cutoffs on the DXT if there are multiple DXTRAN spheres to reduce cross talk between detectors.

    • Use nested DXTRAN if the DXTRAN spheres are in a scattering medium and there are collisions near the DXTRAN sphere, choosing the sphere radii factors of two larger with each nesting.

    • Limit the number of DXTRAN spheres. It may be better to run a separate problem rather than have several DXTRAN spheres at multiple locations.

  • The DXC cell contribution should be considered when cells have many collisions but few get to the DXTRAN sphere. It is particularly important when there is a large shield or zero-importance region between the cell and the DXTRAN spheres. In these regions DXC should be set to zero in order not to waste computational time (Ref. [3] Section 12.8). DXTRAN should not be used for deep penetration.

  • Use appropriate DD parameters so that the DXTRAN Russian roulette uses the same criteria for all histories and so that detector diagnostics for high scores are neither too many nor too few.

  • Be sure to understand all warning messages.

4.2.3 Source Position Biasing

The source position of this UF6 cask problem is already biased by rejection. The cylindrical volume is uniformly sampled and then positions in the F gas above the UF6 solid are rejected as source positions. But further biasing is needed. As both speculated and demonstrated by short runs, the positions that contribute most to the HPGe detectors are those close to it. Positions deep within the UF6 that have a small radius likely do not contribute much. Positions axially far from the detectors at Z = 100 also have smaller contributions, which waste time. Thus, both radial and axial biasing are desired.

The following radial sampling was applied, with the probabilities being the proportional volumes:

SDEF ERG=D500 POS=0 0 0 AXS=0 0 1 EXT=D501 RAD=D502 CEL=411 SI502 0 10 20 25 30 32 34 35 36 36.73 SP502 0 100 300 225 275 124 132 69 71 53.093

with the following tally added to determine the relative contributions of the radial bins:

FC126 Energy deposition in top, middle and bottom detectors F126:P ((101 102)<113) ((101 102)<116) ((101 102)<119) T SD126 1 3R E126 100 FT126 SCX 502 FQ126 U F TF126 4

This tally showed the relative contributions of the different radial bins of SI502/SP502. Most of the tally to the top HPGe detector came from the R < 20 inner radial bins. Most of the contributions to the bottom HPGe detector came from the outer radial bins, with less than 0.5% coming from R < 25 cm. Thus, if radial biasing is used, it would have to be a separate bias for each detector.

Source radial biasing was then applied using the relative contributions from tally F126 to the bottom detector:

SI502 0 10 20 25 30 32 34 35 36 36.73 SP502 0 100 300 225 275 124 132 69 71 53.093 SB502 0 1 1 2 8 8 10 10 15 20

The MCNP code issued the following warning:

Warning. Biased source position rejection sampling is dangerous.

The warning necessitates running the problem with and without biased source position sampling. Indeed, the radial biasing gives wrong answers. The results with and without the SB502 bias were significantly different for all tallies. If the tallies are not sufficiently converged in a short run, then a testing tally should be devised that converges quickly. The reason why source radial biasing with rejection sampling does not work in this problem is that sources in the innermost radial position R < 10 are never rejected and sources preferentially biased to outer radial positions are more often rejected; that is, once the radial source position is sampled, the rejection scheme is different for each sampled position, rejecting 33% of the source points for R > 37 cm and none of the source points for R < 10 cm.

Axial biasing can be applied to the SI501/SP501 distribution using information from the F116 tally with FT116 SCX 501. For the top detector, 3% of the tally comes from the two end regions, which suggests that not sampling the rounded end caps of the cask is insufficient for the top detector and different bias is needed for the top detector. For the middle detector and the bottom detector, the contributions from the different axial regions are nearly the same. Only 1.5% of the contribution comes from the end segments on either side; that is, from 17.73 < Z < 50 cm and from 150 < Z < 175.6, which suggests a bias of

SI501 17.73157 30 5i 90 95 105 110 4i 160 175.58837 SP501 0 12.26843 10 5R 5 10 5 10 4r 15.58837 SB501 0 1 1 1 1 2 7 24 35 100 35 24 7 2 1 1 1

Applying this axial bias again resulted in the warning that “Biased source position rejection sampling is dangerous.” But now the answers agree well with the unbiased answers. The axial bias works with rejection because, once the position is chosen, the rejection is the same in each axial section. (Radial bias is discarded for the rest of this problem.)

A good bias for the top position can be inferred from the FT116 SCX 501 tally which gives the tally contribution from each source region. The axial source bias should then be proportional to the tally values for the top detector position:

SB501 0 6 7 14 21 36 56 76 47 100 47 76 56 36 21 14 7

Why are the values on the SB501 distribution not increasing toward the center? The tally contribution—and hence the recommended bias—increases from 7 to 100. Although the values on the SB501 are not monotonically increasing toward the center, the source bias is: the dip from 76 to 47 to 100 is because the SP501 axial bin source probability size changes.

The SB501 only works for the lower detectors. The fact that the end segments contribute 7% as much as the middle segment indicates that the spherical end caps of the cask that have the source omitted should be considered. But including them results in rejection on a different shape than in the cylindrical part of the cask and would therefore be incorrect. Consequently, an axial bias for the top detectors is approximate and not strong enough to be much advantage; the source biasing for the top detectors should not have axial bias applied.

The above axial bias improves the convergence efficiency for the F116 energy-deposition tally in the bottom position from FOM 2180 to 3170 or by 45%; however, this axial bias decreases the F116 energy-deposition tally in the top position from 1760 to 340, a factor of 5.

The detectors are, relative to the X-axis, at 90° (top), 120°, 150°, 180°, 210°, 240°, and 270° (bottom). The DXTRAN spheres are at 90°, 180°, and 270°. If source position biasing is used, then a radial biasing fails, and axial biasing must be different for the top and bottom regions and perhaps different for the region around 150° opposite the UF6 and F gas interface.

Observations

  • Radial position biasing fails with rejection position sampling. The only indication is a warning message and then subsequent comparison to a run without the radial position biasing rejection sampling combination.

  • Axial position biasing works with rejection position biasing, but for this problem, the optimum axial bias is significantly different for the top and bottom detector tallies.

  • The spherical end caps should be included when calculating the contribution to the top detectors.

  • Axial biasing is of benefit for calculation of the bottom detectors.

Recommendations

  • Analog capture should be used so that low-weight source particles are not rouletted by the default MCNP weight cutoff. The low-weight particles are the ones biased to be the most numerous and important.

  • Do not use source radial biasing for this problem because it interacts incorrectly with source position rejection sampling.

  • Axial biasing requires dividing the problem into upper, bottom, and perhaps middle detector problems.

    • Do not use axial biasing for the top detectors of this problem.

    • Axial biasing is advantageous for the bottom detectors of this problem.

  • Be sure to understand all warning messages.

4.2.4 Best Single Detector Solution

The UF6 cask problem can best be solved for each detector individually with a single DXTRAN sphere, axial source biasing, and weight windows tailored to the specific detector. The case for the bottom detector is presented, but the same approach would be used for any other detectors.

The problem can be further optimized by either mesh-based weight windows or importances. Cell-based weight windows are counterproductive because the importance of different regions of the large cells varies extremely. Mesh-based weight windows can have meshes small enough so the lower weight bounds vary by only a factor of 4 or so between mesh cells.

Although they are not used in the following example, cell importances would also be valuable. The importances are ignored within the weight window mesh for nonzero mesh values. In this UF6 cask problem, without the weight window mesh, the importance should increase as particles transition from the UF6 (cell 411) or F gas (cell 412) into the first (cell 421) and second (cell 440) layers of the iron case, which can be achieved by assigning importances as:

Cell IMP:P 411 0.125 412 0.125 421 0.25 440 0.5 Others 1.0

or

Cell IMP:P 411 1 412 1 421 2 440 4 Others 8

If these importances were implemented, they would be entered in the auxiliary Cask_Geom file. This would be case Cask3 which is neither shown nor further described.

A mesh-based weight window with solution is now presented as case Cask4. The Master file is:

UF6 Cask Model READ File=Cask_Geom READ File=Cask_Data NPS 1E7 READ File=Cask_SDEF4 READ File=Cask_Tally4 READ File=Cask_VRT4

The auxiliary input files Cask_Geom and Cask_Data and Cask_SDEF_ERG are unchanged. The new files are

Auxiliary Input File Cask_SDEF4

SDEF ERG=D500 POS=0 0 0 AXS=0 0 1 EXT=D501 RAD=D502 CEL=411 SI501 17.73157 30 5i 90 95 105 110 4i 160 175.58837 SP501 0 12.26843 10 5R 5 10 5 10 4r 15.58837 SB501 0 1 1 5 16 60 28 1000 2000 1020 280 60 9 3 1 1 1 SI502 0 36.73 SP502 -21 1 READ FILE=CASK_SDEF_ERG

The values on the SB501 axial source bias were chosen to be inversely proportional to the generated weight windows for the portion of the cask closest to the detector. See the values of the windows in Fig. 4.16. (Because the volumes of the regions change, the jump in particles per unit volume is not as great as it appears.) This selection enables particles that exit the case to enter weight windows that match the source axial bias. The source weight range is printed below the summary table in the output file:

range of sampled source weights = 7.1045E-02 to 4.4299E+02

Fig. 4.16
figure 16

Weight window mesh normal to cask axis near detector

Auxiliary Input File Cask_Tally4

FC16 Energy deposition in bottom detector F16:p ((101 102)<119) E0 .01 198i 2 T SD16 1 FC18 Pulse height in bottom detector F18:P ((101 102)<119) E18 0 1e-5 .01 198i 2 7I 10 T FC101 Currents on outer spherical surfaces F101:P 119200 C101 0 1 T FQ101 E C FC116 Energy deposition in bottom detector F116:P ((101 102)<119) SD116 1 E116 100 FT116 SCX 501 FQ116 U F

The weight windows are generated by iterating on the weight window mesh in Cask_VRT4, which also uses DXTRAN with appropriate weight cutoffs (DXT) and Russian roulette criteria (DD2). The seventh WWP parameter, 0.004, is chosen so that the minimum source weight from the source axial bias, 0.071, at the cask lining closest to the detector enters a weight window mesh with lower bound 0.004. The upper bound is 5 times higher (first entry on WWP), so the source particles closest to the detector split five for one. Most source particles far from the detector enter a weight window with lower bound 100, which is the ninth entry on the WWP card; or they enter windows with lower bound 0, which causes them to avoid weight window splitting/roulette.

Auxiliary Input File Cask_VRT4 (Note: For the First Run, the WWP:P Card Should Be Commented Out)

PHYS:P 2J 1 CUT:P 2J 0 0 DXT:P 0 -46 100 4.8 4.8 2e-4 1e-4 WWG 16 0 1 MESH geom=xyz origin=-1000 -1000 -1000 ref=0 -36.5 100 IMESH -60 -15 -5 5 15 60 1000 JMESH -60 -39 -36 -33 -30 -25 -20 -10 0 10 30 60 1000 KMESH 16 30 5i 90 95 105 110 4i 160 176 1000 WWP:P 5 3 5 0 -1 j .004 j 100 DD2 -1e-4 1e3

The weight window mesh and values after a few iterations are shown in Figs. 4.16 and 4.17. Weight window values are very forgiving and do not have to be precise: they affect problem efficiency, not physics or answers. What is important is that the window values increase toward unimportant regions and decrease toward important regions and do not change by more than a factor of 4 between adjacent regions.

Fig. 4.17
figure 17

Weight window mesh along cask axis

The plot commands are PZ=100 OR=0 −35 100 EX=40 LA 0 1 WWN1:P MESH=3

The plot commands are BA=0 0 1 0 1 0 OR=0 -35 100 EX=40 LA 0 1 WWN1:P MESH 3

To run the problem without variance reduction techniques, simply delete the

READ File=Cask_VRT4

in the main input file, Cask4. The results are

No VRT VRT Tally error slope FOM Tally error slope FOM F16 1.8756E-05 .0196 10 96 1.9124E-05 .0062 3.9 4890 F101 1.8216E-04 .0123 3.6 243 1.8354E-04 .0053 4.3 6767

That is, the DXTRAN/source axial bias/weight window combination is 28–50 times more efficient than the analog calculation. With the axial source position bias and no weight windows, the FOMs for tallies F16 and F101 are 3716 and 5436.

Observations

  • Source axial position biasing and weight windows require only one detector be modeled at a time. The best result is with both the source axial bias and weight windows, but the weight windows are challenging to iterate and normalize and only 50% better.

    • Source axial position biasing is 22–39 times more efficient than analog sampling.

    • When weight windows are added, the biasing is 28–50 times more efficient than analog sampling.

  • Results may have been enhanced for the case without weight windows by using importances to split particles leaving the UF6 and entering the two layers of the cask casing.

Recommendations

  • Distributed sources make weight window generation challenging.

    • The weight window reference point (MESH REF) should be near the region of the desired tally region in a mesh zone, where particles are certain to pass and then score.

    • The upper bound of the windows should be limited with the ninth WWP entry to prevent excessive Russian roulette.

    • The seventh WWP normalization entry should be such that source particles split or are born with weights in the window. Most of the advantage of the weight windows is to eliminate by Russian roulette particles that are not of interest. The only way to determine the mesh-based weight window bounds is to plot them. (The seventh and ninth WWP entries need to be omitted or set to “J” so that the file values, not renormalized values, are plotted.) See Sect. 4.1.2.

  • The weight window generator WWG

    • should be based on a tally that draws particles to the region of interest—in this case, F16—not the tally of actual interest (F18);

    • when doing iterations to set the seventh WWP entry, it is usually easier if the WWG third entry is 1 for the distributed source case. For non-distributed sources, when the source enters only into mesh zones with the same window bounds, as with a point source, the third entry is usually set between .25 and .5.

    Rectangular mesh weight windows are about 50% more efficient than cylindrical mesh windows, which are about 50% more efficient than spherical mesh windows, but is problem dependent.

  • If all generated windows are zero, then no tally was scored to the WWG target tally by particles passing through the mesh that contains the SDEF REF reference point.

  • If energy or time-dependent windows are used, the WWG weight at the SDEF REF point mesh will be that of the most important energy to the tally, not the most important energy group of the source. The WWP seventh entry mesh normalization must be done with care.

4.3 Neutron Detector Operation in More Detail

4.3.1 Introduction

In many applications, it is sufficiently accurate to calculate the neutron reaction rate in the detector (for example, the 3He(n,p) rate in a 3He detector) and use this as the estimate of the pulse-counting rate of the detector. This is a good approximation for 3He and BF3 tubes in typical usage; however, a more-detailed approach is necessary for some cases with these detectors and is essential for detectors such as boron-lined proportional counters, where a fraction of the reaction product energy is deposited in the boron layer rather than the gas.

Other cases include 4He detectors and organic scintillators, in which the signal is produced by recoil of 4He or H nuclei created by elastic scattering of neutrons (see Example 2.20). Note that for 3He spectrometers, both 3He(n,p) reactions and 3He elastic scatters contribute to the measured rates. In all of these cases, a neutron reaction does not necessarily lead to a pulse above the threshold in the detector, and thus, the more-detailed treatment is necessary. MCNP6 has the capability to calculate these cases at the expense of a slightly more complicated input and longer running time. The necessary steps to include in the input file are to

  1. 1.

    create the reaction products and/or elastic recoils,

  2. 2.

    track these charged particles in the actual detector gas, and

  3. 3.

    tally the energy deposited in the active volume of the detector.

The procedure for carrying out these steps will now be described and followed by some examples.

4.3.1.1 Make Reaction Products (Model, Data) and Recoil Nuclei

The creation of reaction products and recoil nuclei in MCNP6 is controlled with the PHYS:N card. The following entries are allowed (MCNP manual [1] Section 3.3.3.2.1)

PHYS:N emax emcnf iunr J J J coilf cutn ngam J J i_int_model i_els_model

The following are the default values.

PHYS:N 100 0 0 J J J 0 -1 1 J J 0 0

These default values result in the following behavior (ignoring the J placeholders):

emax = 100

The upper neutron energy limit is 100 MeV (okay but unnecessarily large for most safeguards cases);

emcnf=0

Implicit capture for all neutrons. In many cases, we want emcnf = emax or CUT:N 2J 0 0 to give analog capture, although use of the FT8 CAP or CGM options forces analog capture in any case;

iunr = 0

Unresolved resonance treatment is on;

coilf = 0

No light ion recoils are created and no reaction products are created. This setting is discussed below.

cutn=-1

When tables are available, use them to their upper limit for each nuclide, then use a physics model above that limit. Because of the important neutron energy range in most safeguards calculations, physics models are not reliable and should not be used. If the cross-section files are selected appropriately, the table data are sufficient, and this default setting is satisfactory, but by setting cutn > emax or using MPHYS OFF, all model physics can be definitively avoided (with the additional benefit that memory usage is reduced).

ngam = 1

Photons are produced using ACE. In this section, we are not tracking photons and the setting is not important.

i_int_model = 0

Process all interactions

i_els_model = 0

Elastic scattering by Prael/Liu/Striganov model

The MCNP code can produce light ions from neutron capture reactions in certain isotopes in certain energy ranges. The name of the model, which uses standard kinematic equations, is Neutron Capture Ion Algorithm (NCIA). This model was introduced to overcome the problem of missing particle production information in cross-section data files. Eventually it may no longer be needed, but currently it is a reliable method to produce reaction products, as shown in Table 4.2:

Table 4.2 Reactions modeled by the NCIA algorithm

The behavior we require for detailed detector calculation is to use the NCIA algorithm for reaction products (unless you are sure that the data files have reliable particle production values). You may or may not need the production of recoils, which is controlled by the parameter “coilf”; the options are given in the following table taken from the MCNP manual [1] (Section 3.3.3.2.1 Table 3-39). In summary, if coilf = 4.0, there will be one recoil per collision and NCIA will be used for reaction products; if coilf = 5, there will be no recoil production and NCIA will be used. (For coilf = 2 or 3, the table data will be used in preference to NCIA.)

figure a

4.3.1.2 Track Created Particles in Real Gas Composition

The reaction products and recoils for the nuclides shown in Table 4.2 include protons, deuterons, tritons, helions, alphas, and lithium ions. To track these particles, we need to include them on the mode card (along with neutrons). The symbols for these particles, in the same order, are H, D, T, S, A, and #.

To transport these particles correctly, it is necessary to change the lower-energy cutoff for each particle type to 0.001 MeV on the second entry of the cut:x card:

cut:h,d,t,s,a,# j 0.001

Because we are tracking charged particles, it is essential to include all gases in the defined material description of the detector gas and not just helium. For example, most 3He detectors have other gases to shorten the charge particle track length and improve the electrical properties of the gas. Many 3He tubes have argon and methane (or carbon dioxide) in addition to helium.

4.3.1.3 Tally Energy Deposition of Particles in Active Volume (F8 CAP EDEP for Coincidence/Multiplicity Counting)

The F8 tally for neutron coincidence and multiplicity counting was described in Sect. 3.2.4, where the tally was used with the CAP and GATE keywords on the FT card. In the current case for charged particle tracking, we also need to use the EDEP keyword. The “EDEP tg tt” keyword causes a triggering event when the energy scored in tally tg is greater than tt (MeV). The following is an example from the MCNP manual (Chapter 3-241):

*F8:H,T 999 F18:N 999 FT18 CAP EDEP 8 0.001

A capture is scored in Tally 18 whenever there is an F8 tally that exceeds 0.001 MeV.

4.4 Examples

4.4.1 3He Detector Pulse Height

The following is an example of the calculation of the pulse-height spectrum in the 3He tubes used in Example 3.2. The MCNP input file of Example 3.2 becomes Example 4.7.0 by making the following modifications:

  1. 1.

    The material filling the detector tubes is changed from pure 3He at a density of 4.99E−04 g/cm3 to a mixture of 3He and argon at a density of 2.208e−03 g/cm3, giving the same 3He number density:

    10 36 -2.028e-3 -12 imp:n=1 ... c material-36, helium-3 gas & Ar (4 atmosphere pressure = -2.028e-3g/cm3 at 293K) m36 2003. -0.24614 18040. -0.75386

  2. 2.

    The mode card and the tracking options were added.

    mode n h d t s a phys:n 25 25 0 J J J 4 30 J J J 0 0 $NCIA and light ion recoil phys:h,d,t,s,a 20 3J 0 $ Max E=20, defaults cut:h,d,t,s,a j 0.001 $ lower threshold 0.001 MeV

  3. 3.

    The pulse-height tally was added.

    c pulse height tally in 3He f68:h,t,s (10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27) e68 0 1e-5 10e-3 98i 2000e-3

Figure 4.18 shows the result of the F68 tally. This tally is the total of protons, tritons and recoil 3He nuclei (particle type s). The individual contribution could be extracted by separate tallies per particle type. The most prominent feature is the 762-keV peak that results from the capture of a thermal neutron. There are also the lower-energy edges in the spectrum that correspond to the wall effect on protons and tritons. Maybe more surprisingly, we see a peak at 1524 keV (2 × 762 keV). Because the source in this case is 252Cf, with 3.7 neutrons per spontaneous fission, and the f8 tally records the energy deposited per history, then we have the possibility of thermal neutron captures in two different (or the same) detector tubes. Figure 4.19 shows this spectrum and one from an individual tube (on a logarithmic scale). The spectrum from the single tube shows a much smaller effect from multiple neutron events.

Fig. 4.18
figure 18

Pulse-height spectrum inside the sum of all 3He detector tubes

Fig. 4.19
figure 19

Comparison of pulse-height spectrum in all detector tubes in blue and the pulse-height spectrum in a single tube in red. The blue curve for all tubes is from Fig. 4.18 but looks different because of the logarithmic scale instead of a linear scale

When a number of detector cells are combined in this F68 tally, the results are equivalent to combining the electronic pulses from all of the detectors into a single preamplifier (without the actual effect of shaping time constants, etc.).

4.4.2 3He Detector Coincidence Calculation

The operation of the EDEP tally can be shown in the simple case of the 3He tube example. The input file of Example 3.2 as modified in Sect. 4.4.1 is further modified by adding the following tallies to become Example 4.7.0b:

c tallies based on energy deposition f6:h,t (10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27) fc28 Ungated edep Coincidence tally f28:n 10 $ particle type and cell doesn't matter ft28 cap edep 6 0.001 c fc38 Gated edep Coincidence tally f38:n (10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27) c 1us=10 shakes --> 4.5 us predelay and 64 us gate: ft38 cap 2003 gate 450 6400

The new F6 tally records energy deposition in the sum of all 3He tubes. The FT28 card of the F28 tally specifies CAP for coincidence calculations based on the result from the f6 tally with an energy threshold of 0.001 MeV. (The particle type and cell number specified on the F28 card are required but do not affect the results.) The FT38 card of the F38 tally additionally adds a coincidence predelay of 4.5 μs and a coincidence gate of 64 μs. The results from these tallies are compared in Table 4.3. Case A is the result of Example 3.2. Case B is the result of modifying Example 3.2 by the changes and additions of Sects. 4.4.1 and 4.4.2. The differences are consistent with the statistical uncertainties, giving confidence in the correct operation of the EDEP option. (NOTE: The smaller statistical uncertainties for the new calculation arise simply because that case was run for 1E8 source events rather than 1E6 source events, as was the case for Case A, namely Example 3.2. Tracking the charged particles takes considerably more CPU time than tallying neutron captures.)

Table 4.3 Comparison of coincidence tallies from neutron capture (Case A, Example 3.2) and from energy deposition (Case B, Example 3.2 modified by changes in Sects. 4.4.1 and 4.4.2)

4.4.3 10B-Lined Detectors

To carry out a similar calculation using boron-lined tubes instead of 3He tubes, it is necessary to change the geometry used in Sect. 4.4.2 to include a layer of boron carbide around the counting gas region and to remove the 3He from the counting gas. The thickness of the boron carbide layer makes a large difference to the results, so different cases (0.7, 2, and 4 μm) will be shown.

Example 4.7 is for the 2 μm thick case. The boron-lined layer thickness is varied by adjusting the radii of surfaces 12 and 13. The different thresholds are tallied with different EDEP thresholds in tallies F228, F238, F248, F258, and F268.

Example 4.7 MCNP Input File for the 2 μm Thick, Boron-Lined Layer Case (90% 10B, 2.52 g/cm3)

Crude model of HLNC2 based on p499 of PANDA Manual c Cells c sample volume 100 94 -2.5 -100 imp:n=1 C Cavity 1 0 -1 100 imp:n=1 C Bottom end plug poly 2 1 -0.96 -2 3 imp:n=1 C Bottom end plug Al 3 13 -2.7 -3 imp:n=1 C Bottom end plug Cd 4 48 -8.64 -4 2 imp:n=1 C Top end plug poly 5 1 -0.96 -5 6 imp:n=1 C Top end plug Al 6 13 -2.7 -6 imp:n=1 C Top end plug Cd 7 48 -8.64 -7 5 6 imp:n=1 c Cd liner 8 48 -8.64 -11 1 4 7 imp:n=1 c Poly moderator with external cutouts and holes for #He tubes 9 1 -0.96 (-8 : -9 : -10 ) 11 12 #11 #12 #13 #14 #15 #16 #17 #18 #19 #20 #21 #22 #23 #24 #25 #26 #27 #31 #32 #33 #34 #35 #36 #37 #38 #39 #40 #41 #42 #43 #44 #45 #46 #47 imp:n=1 C 18 counting gas volumes (no walls, no air gap, no top and bottom end spaces) 10 43 -1.664e-3 -13 imp:n=1 11 Like 10 but TRCL=(-0.730 4.138 0 ) 12 Like 10 but TRCL=(-2.831 7.778 0 ) 13 Like 10 but TRCL=(-6.050 10.479 0 ) 14 Like 10 but TRCL=(-9.999 11.916 0 ) 15 Like 10 but TRCL=(-14.201 11.916 0 ) 16 Like 10 but TRCL=(-18.150 10.479 0 ) 17 Like 10 but TRCL=(-21.369 7.778 0 ) 18 Like 10 but TRCL=(-23.470 4.138 0 ) 19 Like 10 but TRCL=(-24.200 0.000 0 ) 20 Like 10 but TRCL=(-23.470 -4.138 0 ) 21 Like 10 but TRCL=(-21.369 -7.778 0 ) 22 Like 10 but TRCL=(-18.150 -10.479 0 ) 23 Like 10 but TRCL=(-14.201 -11.916 0 ) 24 Like 10 but TRCL=(-9.999 -11.916 0 ) 25 Like 10 but TRCL=(-6.050 -10.479 0 ) 26 Like 10 but TRCL=(-2.831 -7.778 0 ) 27 Like 10 but TRCL=(-0.730 -4.138 0 ) c c Boron layers c 30 42 -2.52 -12 13 imp:n=1 31 Like 30 but TRCL=(-0.730 4.138 0 ) 32 Like 30 but TRCL=(-2.831 7.778 0 ) 33 Like 30 but TRCL=(-6.050 10.479 0 ) 34 Like 30 but TRCL=(-9.999 11.916 0 ) 35 Like 30 but TRCL=(-14.201 11.916 0 ) 36 Like 30 but TRCL=(-18.150 10.479 0 ) 37 Like 30 but TRCL=(-21.369 7.778 0 ) 38 Like 30 but TRCL=(-23.470 4.138 0 ) 39 Like 30 but TRCL=(-24.200 0.000 0 ) 40 Like 30 but TRCL=(-23.470 -4.138 0 ) 41 Like 30 but TRCL=(-21.369 -7.778 0 ) 42 Like 30 but TRCL=(-18.150 -10.479 0 ) 43 Like 30 but TRCL=(-14.201 -11.916 0 ) 44 Like 30 but TRCL=(-9.999 -11.916 0 ) 45 Like 30 but TRCL=(-6.050 -10.479 0 ) 46 Like 30 but TRCL=(-2.831 -7.778 0 ) 47 Like 30 but TRCL=(-0.730 -4.138 0 ) c Outside vacuum 110 0 -999 8 9 10 imp:n=1 c Exterior world 120 0 999 imp:n=0 c surfaces 1 rcc 0 0 -20.3412 0 0 40.6824 8.75 $ cavity 2 rcc 0 0 -28.8 0 0 8.3 8.75 $ Bottom end plug poly 3 rcc 0 0 -26.7 0 0 6.2 6.75 $ Bottom end plug Al 4 rcc 0 0 -28.8 0 0 8.4588 8.75 $ Bottom end plug Cd 5 rcc 0 0 20.5 0 0 8.3 8.75 $ Top end plug poly 6 rcc 0 0 20.5 0 0 6.2 6.75 $ Top end plug Al 7 rcc 0 0 20.3412 0 0 8.4588 8.75 $ Top end plug Cd 8 rcc 0 0 -28.8 0 0 16.8 16.9 $ bottom poly moderator 9 rcc 0 0 -12. 0 0 24 15 $ middle poly moderator 10 rcc 0 0 12 0 0 16.8 16.9 $ top poly moderator 11 rcc 0 0 -28.8 0 0 57.6 8.9088 $ Cd liner 12 rcc 12.1 0 -25.4 0 0 50.8 1.27 $ Boron layer (B4C) 13 rcc 12.1 0 -25.4 0 0 50.8 1.2698 $ counting gas 100 rcc 0 0 -10 0 0 20 5 $ Sample volume 999 rcc 0 0 -30 0 0 60 20 C Materials c poly density 0.96 g/cm3 m1 1001 2 6012 1 mt1 poly.20t $ specification of thermal S(a,b) scattering c Al m13 13027 1 c Cd m48 48000 1 c material-42 boron10 carbide (90% 10B) m42 5010. 0.72 5011. 0.08 6000. 0.20 c material-43, Ar 1atm 293K = 1.664e-3 g/cm3 m43 18040.70c 1.0 c plutonium oxide m94 94240 0.2 94239 0.8 8016 2.0 fmult 94239 method=5 data=3 shift=1 $ method=LLNL data=Ensslin etc c shift=MCNPX fmult 94240 method=5 data=3 shift=1 $ C c sdef par=sf ext=d1 axs = 0 0 1 rad=d2 si1 -10 10 sp1 0 1 si2 0 5 sp2 -21 1 c c print -85 -86 nps 1e8 c neutron alpha 7Li mode n a # phys:n,a,# 25 25 0 J J J 5 30 J J J 0 0 $ NCIA and no light ion recoil cut:a,# j 0.001 $ lower threshold 0.001 MeV c c tallies (FOR 10B ) c pulse height tally in counting gas f68:a,# (10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27) e68 0 1e-5 10e-3 248i 2500e-3 c reactions in boron layer cells f4:n (30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47) fc4 Number of 10B(n,a) reactions fm4 -1 42 107 sd4 1 fc58 Ungated Coincidence tally in boron layers (not detectable) f58:n (30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47) ft58 cap 5010 c energy deposition tally for coinc edep tally f6:a,# (10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27) $ counting gas fc8 Edep of alpha and 7Li f8:a (10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27) $ particle type and cell number are irrelevant ft8 cap edep 6 0.001 c fc228 Zero energy threshold f228:n 6 ft228 cap edep 6 0 f238:n 6 fc238 0.15 Mev energy threshold ft238 cap edep 6 .15 f248:n 6 fc248 0.5 MeV energy threshold ft248 cap edep 6 .5 f258:n 6 fc258 0.7 MeV energy threshold ft258 cap edep 6 .7 f268:n 6 fc268 0.9 MeV energy threshold ft268 cap edep 6 .9

For this calculation, we need to track α particles and 7Li reaction products on the mode card

mode n a #

and set the appropriate tracking options for these particles.

phys:n,a,# 25 25 0 J J J 5 30 J J J 0 0 $ NCIA and no light ion recoil cut:a,# j 0.001 $ lower threshold 0.001 MeV

We can calculate the pulse height in the same way as the F68 tally for 3He except using a and # particle types. The results are shown in Fig. 4.20.

Fig. 4.20
figure 20

Pulse height in boron-lined detectors of different layer thicknesses (0.7, 1, 2, and 4 μm)

The results from the tallies for the various layer thicknesses are shown in Table 4.4 and will now be explained. The “number of 10B reactions” comes from the production of α-particles (and 7Li) given in the accounting table, which agrees with the F4 tally of (n,α) reactions in the boron carbide layers and with the F8 CAP tally in the same layers. (Note: This quantity cannot normally be measured experimentally.)

Table 4.4 Results from the sum of all boron-lined detector tubes

The Doubles events in Table 4.4 come from the first entry in the various gated F8 tallies. These values were calculated for only the 0.7- and the 2-μm cases.

The “single events in the gas” greater than various thresholds come from the first entry (by weight) of the various ungated F8 tallies based on the F6 energy-deposition tally. These entries are shown in Fig. 4.21. The maximum of 83% is for a 0 MeV threshold and a 0.7 μm thick B4C layer; the minimum is 9% for a 0.9 MeV threshold and a 4 μm thick layer. These values were referred to as the “electronic efficiency” in [4]. If we assume that we need a detection threshold of at least 0.15 MeV, then the maximum efficiency of the full boron-lined system occurs at a layer thickness of 2 μm and is 5.5%, compared with the 20.3% efficiency of the 3He-based system, which uses 4 atm pressure (and so could be further improved).

Fig. 4.21
figure 21

Percentage of neutron captured in the boron layer that is detected in the gas as a function of layer thickness and threshold

Using gated tallies with different gate widths, we can calculate the dieaway time of the detector, as shown in Fig. 4.22. The dieaway time is 69.6 μs compared with the 3He HLNCC2 detector’s 43 μs, which would also worsen its relative performance. (The optimum gate width of this detector is closer to 90 μs than the 64 μs used in these calculations.)

Fig. 4.22
figure 22

Doubles response vs. gate width and a fit to the data with a dieaway time of 69.6 μs