MAVRIC.rst 161 KB
Newer Older
Batson Iii, John's avatar
Batson Iii, John committed
1
2
3
4
5
6
7
8
9
10
.. _MAVRIC:

MAVRIC: Monaco with Automated Variance Reduction using Importance Calculations
==============================================================================

*D. E. Peplow and C. Celik*

Introduction
------------

11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Monte Carlo particle transport calculations for deep penetration problems can require very long run
times in order to achieve an acceptable level of statistical uncertainty in the final answers.
Discrete-ordinates codes can be faster but have limitations relative to the discretization of space, energy,
and direction. Monte Carlo calculations can be modified (biased) to produce results with the same variance in
less time if an approximate answer or some other additional information is already known about the problem.
If importances can be assigned to different particles based on how much they will contribute to the final answer,
then more time can be spent on important particles, with less time devoted to unimportant particles. One of the best
ways to bias a Monte Carlo code for a particular tally is to form an importance map from the adjoint flux based on
that tally. Unfortunately, determining the exact adjoint flux could be just as difficult as computing the original
problem itself.  However, an approximate adjoint can still be very useful in biasing the Monte Carlo
solution :cite:`wagner_acceleration_1997`. Discrete ordinates can be used to quickly compute that approximate adjoint. Together, Monte Carlo and discrete ordinates can be used to find solutions to thick shielding problems in reasonable times.

The MAVRIC (Monaco with Automated Variance Reduction using Importance Calculations) sequence is based on the
CADIS (Consistent Adjoint Driven Importance Sampling) and FW-CADIS (Forward-Weighted CADIS)
methodologies :cite:`wagner_automated_1998` :cite:`wagner_automated_2002` :cite:`haghighat_monte_2003`
:cite:`wagner_forward-weighted_2007` MAVRIC automatically performs a three-dimensional, discrete-ordinates
calculation using Denovo to compute the adjoint flux as a function of position and energy. This adjoint flux
information is then used to construct an importance map (i.e., target weights for weight windows) and a biased
source distribution that work togetherparticles are born with a weight matching the target weight of the cell
into which they are born. The fixed-source Monte Carlo radiation transport Monaco :cite:`peplow_monte_2011`
then uses the importance map for biasing during particle transport, and it uses the biased source distribution
as its source. During transport, the particle weight is compared with the importance map after each particle
interaction and whenever a particle crosses into a new importance cell in the map.


For problems that do not require variance reduction to complete in a reasonable time,
execution of MAVRIC without the importance map calculation provides an easy way to run Monaco.
For problems that do require variance reduction to complete in a reasonable time, MAVRIC removes the burden of setting weight windows from the user and performs it automatically with a minimal amount of additional input. Note that the MAVRIC sequence can be used with the final Monaco calculation as either a multigroup (MG) or a continuous-energy (CE) calculation.

Monaco has a wide variety of tally options: it can calculate fluxes (by group) at a point in space,
over any geometrical region, or for a user-defined, three-dimensional, rectangular grid.
These tallies can also integrate the fluxes with either standard response functions from the cross
section library or user-defined response functions. All of these tallies are available in the MAVRIC sequence.

Although it was originally designed for CADIS, the MAVRIC sequence is also capable of
creating importance maps using both forward and adjoint deterministic estimates.
The FW-CADIS method :cite:`wagner_fw-cadis_2014` can be used for optimizing several tallies at once,
a mesh tally over a large region, or a mesh tally over the entire problem. Several other methods for
producing importance maps are also available in MAVRIC and are explored in :ref:`appendixc`.
Batson Iii, John's avatar
Batson Iii, John committed
50
51
52
53

CADIS Methodology
-----------------

54
55
56
57
58
59
MAVRIC is an implementation of CADIS (Consistent Adjoint Driven Importance Sampling) using the Denovo
SN and Monaco Monte Carlo functional modules. Source biasing and a mesh-based importance map, overlaying
the physical geometry, are the basic methods of variance reduction. To make the best use of an
importance map, the map must be made consistent with the source biasing. If the source biasing is inconsistent
with the weight windows that will be used during the transport process, then source particles will undergo Russian
roulette or splitting immediately, wasting computational time and negating the intent of the biasing.
Batson Iii, John's avatar
Batson Iii, John committed
60
61
62
63

Overview of CADIS
~~~~~~~~~~~~~~~~~

64
CADIS is well described in the literature, so only a
Batson Iii, John's avatar
Batson Iii, John committed
65
66
67
68
69
70
71
brief overview is given here. Consider a class source-detector problem
described by a unit source with emission probability distribution
function :math:`q\left(\overrightarrow{r},E \right)` and a detector
response function :math:`\sigma_{d}\left(\overrightarrow{r},E \right)`.
To determine the total detector response, *R*, the forward scalar flux
:math:`\phi\left(\overrightarrow{r},E \right)` must be known. The
response is found by integrating the product of the detector response
72
function and the flux over the detector volume :math:`V_{d}`:
Batson Iii, John's avatar
Batson Iii, John committed
73
74
75
76
77
78
79
80
81
82
83
84
85
86


.. math::
  :label: mavric-1

  R = \int_{V_{d}}^{}{\int_{E}^{}{\sigma_{d}\left( \overrightarrow{r},E \right)}}\phi\left(\overrightarrow{r},E \right)\textit{dE dV.}


Alternatively, if the adjoint scalar flux,
:math:`\phi^{+}\left(\overrightarrow{r},E \right)`, is known from the
corresponding adjoint problem with adjoint source
:math:`q^{+}\left(\overrightarrow{r},E \right) = \sigma_{d}\left(\overrightarrow{r},E \right)`,
then the total detector response could be found by integrating the
product of the forward source and the adjoint flux over the source
87
volume, :math:`V_{s}`:
Batson Iii, John's avatar
Batson Iii, John committed
88
89
90
91
92
93
94
95
96
97
98
99


.. math::
  :label: mavric-2

  R = \int_{V_{s}}^{}{\int_{E}^{}{q\left(\overrightarrow{r},E \right)}}\phi^{+}\left( \overrightarrow{r},E \right)\textit{dE dV.}

Unfortunately, the exact adjoint flux may be just as difficult to
determine as the forward flux, but an approximation of the adjoint flux
can still be used to form an importance map and a biased source
distribution for use in the forward Monte Carlo calculation.

100
101
102
Wagner :cite:`wagner_acceleration_1997` showed that if an estimate of the adjoint scalar flux
for the corresponding adjoint problem can be found, then an estimate
of the response *R* can be made using :eq:`mavric-2`. The adjoint source for the
Batson Iii, John's avatar
Batson Iii, John committed
103
adjoint problem is typically separable and corresponds to the detector
104
response and spatial area of the tally to be optimized:
Batson Iii, John's avatar
Batson Iii, John committed
105
106
107
:math:`q^{+}\left(\overrightarrow{r},E \right) = \sigma_{d}\left(E \right)g\left( \overrightarrow{r} \right)`,
where :math:`\sigma_{d}\left( E \right)` is a flux-to-dose conversion
factor and :math:`g\left( \overrightarrow{r} \right)` is 1 in the tally
108
volume and is 0 otherwise. Then, from the adjoint flux
Batson Iii, John's avatar
Batson Iii, John committed
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
:math:`\phi^{+}\left( \overrightarrow{r},E \right)` and response
estimate *R*, a biased source distribution,
:math:`\widehat{q}\left( \overrightarrow{r},E \right)`, for source
sampling of the form


.. math::
  :label: mavric-3

  \widehat{q}\left(\overrightarrow{r},E \right) = \frac{1}{R}q\left(\overrightarrow{r},E\right)\phi^{+}\left( \overrightarrow{r},E \right)


and weight window target values,
:math:`\overline{w}\left( \overrightarrow{r},E \right)`, for particle
transport of the form


.. math::
  :label: mavric-4

  \overline{w}\left( \overrightarrow{r},E \right) = \frac{R}{\phi^{+}\left( \overrightarrow{r},E \right)}


132
can be constructed, which minimizes the variance in the forward Monte
Batson Iii, John's avatar
Batson Iii, John committed
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
Carlo calculation of *R*.

When a particle is sampled from the biased source distribution
:math:`\widehat{q}\left( \overrightarrow{r},E \right)`, to preserve a
fair game, its initial weight is set to


.. math::
  :label: mavric-5

  w_{0}\left(\overrightarrow{r},E \right) = \frac{q\left(\overrightarrow{r},E \right)}{\widehat{q}\left( \overrightarrow{r},E \right)} = \frac{R}{\phi^{+}\left( \overrightarrow{r},E \right)}\,


which exactly matches the target weight for that particles position and
energy. This is the consistent part of CADISsource particles are born
148
149
with a weight matching the weight window of the region/energy into which they are
born. The source biasing and the weight windows work together.
Batson Iii, John's avatar
Batson Iii, John committed
150
151
152
153
154
155
156
157
158
159

CADIS has been applied to many problemsincluding reactor ex-core
detectors, well-logging instruments, cask shielding studies, and
independent spent fuel storage facility modelsand has demonstrated very
significant speed-ups in calculation time compared to analog
simulations.

Multiple sources with CADIS
~~~~~~~~~~~~~~~~~~~~~~~~~~~

160
For a typical Monte Carlo calculation with multiple sources---each with a
Batson Iii, John's avatar
Batson Iii, John committed
161
162
163
probability distribution function
:math:`q_{i}\left( \overrightarrow{r},E \right)` and a strength
:math:`S_{i}`, giving a total source strength of
164
:math:`S = \sum_{}^{}S_{i}`---the source is sampled in two steps. First,
Batson Iii, John's avatar
Batson Iii, John committed
165
166
167
168
169
the specific source *i* is sampled with probability
:math:`p\left( i \right) = \ S_{i}/S`, and then the particle is sampled
from the specific source distribution
:math:`q_{i}\left( \overrightarrow{r},E \right)`.

170
171
The source sampling can be biased at both levels: from which source to sample
and how to sample each source. For example, the specific source can
Batson Iii, John's avatar
Batson Iii, John committed
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
be sampled using some arbitrary distribution,
:math:`\widehat{p}\left( i \right)`, and then the individual sources can
be sampled using distributions
:math:`{\widehat{q}}_{i}\left( \overrightarrow{r},E \right)`. Particles
would then have a birth weight of


.. math::
  :label: mavric-6

  w_{0} \equiv \ \left(\frac{p\left( i \right)}{\widehat{p}\left( i \right)} \right)\left(\frac{q_{i}\left( \overrightarrow{r},E \right)}{{\widehat{q}}_{i}\left( \overrightarrow{r},E \right)} \right)\text{.}


For CADIS, a biased multiple source needs to be developed so that the
birth weights of sampled particles still match the target weights of the
187
importance map. For a problem with multiple sources---each with a
Batson Iii, John's avatar
Batson Iii, John committed
188
distribution :math:`q_{i}\left( \overrightarrow{r},E \right)` and a
189
strength :math:`S_{i}`---the goal of the Monte Carlo calculation is to
Batson Iii, John's avatar
Batson Iii, John committed
190
191
compute some response :math:`R` for a response function
:math:`\sigma_{d}\left( \overrightarrow{r},E \right)` at a given
192
detector,
Batson Iii, John's avatar
Batson Iii, John committed
193
194
195
196
197


.. math::
  :label: mavric-7

198
  R = \ \int_{V}^{}{\int_{E}^{}{\sigma_{d}\left( \overrightarrow{r},E \right)\phi \left( \overrightarrow{r},E \right)\textit{dE dV.}}}
Batson Iii, John's avatar
Batson Iii, John committed
199
200
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


Note that the flux :math:`\phi\left( \overrightarrow{r},E \right)` has
contributions from each source. The response, :math:`R_{i}`, from each
specific source (:math:`S_{i}` with
:math:`q_{i}\left( \overrightarrow{r},E \right)`) can be expressed using
just the flux from that source,
:math:`\phi_{i}\left( \overrightarrow{r},E \right)`, as


.. math::
  :label: mavric-8

  R_{i} = \ \int_{V}^{}{\int_{E}^{}{\sigma_{d}\left(\overrightarrow{r},E \right)\ \phi_{i}\left(\overrightarrow{r},E \right)\textit{dE dV .}}}


The total response is then found as :math:`R = \sum_{i}^{}R_{i}`.

For the adjoint problem, using the adjoint source of
:math:`q^{+}\left( \overrightarrow{r},E \right) = \sigma_{d}\left( \overrightarrow{r},E \right)`,
the response :math:`R` can also be calculated as


.. math::
  :label: mavric-9

  R = \ \int_{V}^{}{\int_{E}^{}{\left\lbrack \sum_{i}^{}{S_{i}q_{i}\left( \overrightarrow{r},E \right)} \right\rbrack\ \phi^{+}\left( \overrightarrow{r},E \right)\textit{dE dV}}},


228
with the response contribution from each specific source being
Batson Iii, John's avatar
Batson Iii, John committed
229
230
231
232
233


.. math::
  :label: mavric-10

234
  R_{i} = \ \int_{V}^{}{\int_{E}^{}{\ {S_{i}q_{i}\left( \overrightarrow{r},E \right)\phi^{+}}\left( \overrightarrow{r}, E \right)\textit{dE dV.}}}
Batson Iii, John's avatar
Batson Iii, John committed
235
236
237
238
239
240
241
242
243
244


The target weights
:math:`\overline{w}\left( \overrightarrow{r},E \right)` of the
importance map are found using


.. math::
  :label: mavric-11

245
  \overline{w}\left( \overrightarrow{r},E \right) = \frac{R/S}{\phi^{+}\left( \overrightarrow{r},E \right)\ }.
Batson Iii, John's avatar
Batson Iii, John committed
246
247
248
249
250
251
252
253
254


Each biased source
:math:`{\widehat{q}}_{i}\left( \overrightarrow{r},E \right)` pdf is
found using

.. math::
  :label: mavric-12

255
256
  {\widehat{q}}_{i}\left(\overrightarrow{r},E \right) = \frac{S_{i}}{R_{i}}{q_{i}\left( \overrightarrow{r},E \right)\phi}^{+}\left( \overrightarrow{r},E \right)\ ,

Batson Iii, John's avatar
Batson Iii, John committed
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271


and the biased distribution used to select an individual source is
:math:`\widehat{p}\left( i \right) = \ R_{i}/\sum_{}^{}{R_{i} = R_{i}/R}`.

When using the biased distribution used to select an individual source,
:math:`\widehat{p}\left( i \right)`, and the biased source distribution,
:math:`{\widehat{q}}_{i}\left( \overrightarrow{r},E \right)`, the birth
weight of the sampled particle will be


.. math::
  :label: mavric-13

   \begin{matrix}
272
273
      w_{0} & \equiv & \left( \frac{p\left( i \right)}{\widehat{p}\left( i \right)} \right)\left( \frac{q_{i}\left( \overrightarrow{r}, E \right)}{{\widehat{q}}_{i}\left(\overrightarrow{r},E \right)} \right) \\ & = & \ \left( \frac{\frac{S_{i}}{S}}{\frac{R_{i}}{R}} \right) \left( \frac{q_{i}\left( \overrightarrow{r},E \right)}{\frac{S_{i}}{R_{i}}{q_{i}\left( \overrightarrow{r},E \right)\phi^{+}}\left( \overrightarrow{r},E \right)} \right) \\
      & = & \frac{R/S}{{\phi}^{+}\left( \overrightarrow{r},E \right)\ }, \\
Batson Iii, John's avatar
Batson Iii, John committed
274
275
276
277
278
279
280
281
282
  \end{matrix}


which matches the target weight,
:math:`\overline{w}\left( \overrightarrow{r},E \right)`.

Multiple tallies with CADIS
~~~~~~~~~~~~~~~~~~~~~~~~~~~

283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
The CADIS methodology works quite well for classic source/detector problems.
The statistical uncertainty of the tally that serves as the adjoint source is greatly reduced since the
Monte Carlo transport is optimized to spend more simulation time on those particles that contribute to the
tally, at the expense of tracking particles in other parts of phase space. However, more recently,
Monte Carlo has been applied to problems in which multiple tallies need to all be found with low statistical
uncertainties. The extension of this idea is the mesh tallywhere each voxel is a tally for which the user desires
low statistical uncertainties. For these problems, the user must accept a total simulation time that is controlled
by the tally with the slowest convergence and simulation results where the tallies have a wide range of relative
uncertainties.

The obvious way around this problem is to create a separate problem for each tally and use CADIS to optimize each.
Each simulation can then be run until the tally reaches the level of acceptable uncertainty.
For more than a few tallies, this approach becomes complicated and time-consuming for the user.
For large mesh tallies, this approach is not reasonable.

Another approach to treat several tallies, if they are in close proximity to each other,
or a mesh tally covering a small portion of the physical problem, is to use the CADIS methodology
with the adjoint source near the middle of the tallies to be optimized. Since particles in the
forward Monte Carlo simulation are optimized to reach the location of the adjoint source, all the
tallies surrounding that adjoint source should converge quickly. This approach requires the
difficult question of how close. If the tallies are too far apart, then certain energies or regions that are
needed for one tally may be of low importance for getting particles to the central adjoint source. This may
under-predict the flux or dose at the tally sites far from the adjoint source.

MAVRIC has the capability to have multiple adjoint sources with this problem in mind.
For several tallies that are far from each other, multiple adjoint sources could be used.
In the forward Monte Carlo, particles would be drawn to one of those adjoint sources.
The difficulty with this approach is that typically the tally that is closest to the true
physical source converges faster than the other tallies--showing that the closest adjoint source
seems to attract more particles than the others. Assigning more strength to the adjoint
source further from the true physical source helps to address this issue, but finding the correct strengths so
that all of the tallies converge to the same relative uncertainty in one simulation is an iterative process for the user.
Batson Iii, John's avatar
Batson Iii, John committed
315
316
317
318

Forward-weighted CADIS
~~~~~~~~~~~~~~~~~~~~~~

319
To converge several tallies to the same relative uncertainty in
Batson Iii, John's avatar
Batson Iii, John committed
320
one simulation, the adjoint source corresponding to each of those
321
322
323
324
325
tallies must be weighted inversely by the expected tally value. To calculate the
dose rate at two points--say one near a reactor
and one far from a reactor--in one simulation, then the total adjoint
source used to develop the weight windows and biased source must
have two parts. The adjoint source far from the reactor must have
Batson Iii, John's avatar
Batson Iii, John committed
326
327
328
329
more strength than the adjoint source near the reactor by a factor equal
to the ratio of the expected near dose rate to the expected far dose
rate.

330
This concept can be extended to mesh tallies, as well. Instead of using a
Batson Iii, John's avatar
Batson Iii, John committed
331
332
333
334
335
336
337
338
uniform adjoint source strength over the entire mesh tally volume, each
voxel of the adjoint source should be weighted inversely by the expected
forward tally value for that voxel. Areas of low flux or low dose rate
would have more adjoint source strength than areas of high flux or high
dose rate.

An estimate of the expected tally results can be found by using a quick
discrete-ordinates calculation. This leads to an extension of the CADIS
339
method: forward-weighted CADIS (FW-CADIS). First, a forward S\ :sub:`N` calculation is performed to
Batson Iii, John's avatar
Batson Iii, John committed
340
estimate the expected tally results. A total adjoint source is
341
constructed so that the adjoint source corresponding to each tally is
Batson Iii, John's avatar
Batson Iii, John committed
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
weighted inversely by those forward tally estimates. Then the standard
CADIS approach is usedan importance map (target weight windows) and a
biased source are made using the adjoint flux computed from the adjoint
S\ :sub:`N` calculation.

For example, if the goal is to calculate a detector response function
:math:`\sigma_{d}\left( E \right)` (such as dose rate using
flux-to-dose-rate conversion factors) over a volume (defined by
:math:`g\left( \overrightarrow{r} \right)`) corresponding to mesh tally,
then instead of simply using
:math:`q^{+}\left( \overrightarrow{r},E \right) = \sigma_{d}\left( E \right)\ g(\overrightarrow{r})`,
the adjoint source would be


.. math::
  :label: mavric-14

359
   q^{+}\left( \overrightarrow{r},E \right) = \frac{\sigma_{d}\left( E \right)\text{g}\left( \overrightarrow{r} \right)}{\int_{}^{}{\sigma_{d}\left( E \right)\phi\left( \overrightarrow{r},E \right)}\textit{dE}}\ ,
Batson Iii, John's avatar
Batson Iii, John committed
360
361

where :math:`\phi\left( \overrightarrow{r},E \right)` is an estimate of
362
the forward flux, and the energy integral is over the voxel at :math:`\overrightarrow{r}`.
Batson Iii, John's avatar
Batson Iii, John committed
363
364
365
366
367
The adjoint source is nonzero only where the mesh tally is defined
(:math:`g\left( \overrightarrow{r} \right)`), and its strength is
inversely proportional to the forward estimate of dose rate.

The relative uncertainty of a tally is controlled by two components:
368
(1) the number of tracks contributing to the tally and (2) the
Batson Iii, John's avatar
Batson Iii, John committed
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
shape of the distribution of scores contributing to that tally. In the
Monte Carlo game, the number of simulated particles,
:math:`m\left( \overrightarrow{r},E \right)`, can be related to the true
physical particle density, :math:`n\left( \overrightarrow{r},E \right),`
by the average Monte Carlo weight of scoring particles,
:math:`\overline{w}\left( \overrightarrow{r},E \right)`, by


.. math::
  :label: mavric-15

  n\left( \overrightarrow{r},E \right) = \ \overline{w}\left( \overrightarrow{r},E \right)\text{m}\left( \overrightarrow{r},E \right).


In a typical Monte Carlo calculation, tallies are made by adding some
score, multiplied by the current particle weight, to an accumulator. To
calculate a similar quantity related to the Monte Carlo particle density
would be very close to calculating any other quantity but without
including the particle weight. The goal of FW-CADIS is to make the Monte
Carlo particle density, :math:`m\left( \overrightarrow{r},E \right)`,
389
390
uniform over the tally areas, so an importance map must be developed
that represents the importance of achieving uniform Monte Carlo particle
Batson Iii, John's avatar
Batson Iii, John committed
391
392
393
394
395
396
397
398
density. By attempting to keep the Monte Carlo particle density more
uniform, more uniform relative errors for the tallies should be
realized.

Two options for forward weighting are possible. For tallies over some
area where the entire group-wise flux is needed with low relative
uncertainties, the adjoint source should be weighted inversely by the
forward flux, :math:`\phi\left( \overrightarrow{r},E \right)`. The other
399
option, for a tally in which only an energy-integrated quantity is desired,
Batson Iii, John's avatar
Batson Iii, John committed
400
is to weight the adjoint inversely by that energy-integrated
401
402
quantity,\ :math:`\int_{}^{}{\sigma_{d}\left( E \right)\phi\left( \overrightarrow{r},E \right)}\text{\ dE}`.
For a tally in which the total flux is desired, then the response in the
Batson Iii, John's avatar
Batson Iii, John committed
403
404
405
406
adjoint source is simply :math:`\sigma_{d}\left( E \right) = 1`.

To optimize the forward Monte Carlo simulation for the calculation of
some quantity at multiple tally locations or across a mesh tally, the
407
adjoint source must be weighted by the estimate of that quantity.
Batson Iii, John's avatar
Batson Iii, John committed
408
409
410
411
412
413
414
415
For a tally defined by its spatial location
:math:`g\left( \overrightarrow{r} \right)` and its optional response
:math:`\sigma_{d}\left( E \right)`, the standard adjoint source would be
:math:`q^{+}\left( \overrightarrow{r},E \right) = \sigma_{d}\left( E \right)\text{g}\left( \overrightarrow{r} \right)`.
The forward-weighted adjoint source,
:math:`q^{+}\left( \overrightarrow{r},E \right)`, depending on what
quantity is to be optimized, is listed below.

416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
.. list-table::
  :header-rows: 1
  :widths: 50 100 200

  * - For the calculation of
    -
    - Adjoint source
  * - Energy and spatially dependent flux
    - :math:`\phi\left(\overrightarrow{r},E \right)`
    - .. math:: \frac{g\left( \overrightarrow{r}\right)}{\phi\left(\overrightarrow{r},E \right)}
  * - Spatially dependent total flux
    - :math:`\int_{}^{}{\phi\left( \overrightarrow{r},E \right)}\textit{dE}`
    - .. math:: \frac{g\left( \overrightarrow{r}\right)}{\int_{}^{}{\phi\left( \overrightarrow{r},E \right)}\textit{dE}}
  * - Spatially dependent total response
    - :math:`\int_{}^{}{\sigma_{d}\left( E \right)\phi    \left(\overrightarrow{r},E\right)}\textit{dE}`
    - .. math:: \frac{\sigma_{d}\left( E \right)\text{g}\left( \overrightarrow{r} \right)}{\int_{}^{}{\sigma_{d}\left( E \right)\phi    \left( \overrightarrow{r},E \right)}\textit{dE}}

Batson Iii, John's avatar
Batson Iii, John committed
433
434
435

The bottom line of FW-CADIS is that in order to calculate a quantity at
multiple tally locations (or across a mesh tally) with more uniform
436
relative uncertainties, an adjoint source must be developed for an
Batson Iii, John's avatar
Batson Iii, John committed
437
438
439
440
441
442
objective function that keeps some non-physical quantityrelated to the
Monte Carlo particle density and similar in form to the desired
quantityconstant. FW-CADIS uses the solution of a forward
discrete-ordinates calculation to properly weight the adjoint source.
After that, the standard CADIS approach is used.

Batson Iii, John's avatar
Batson Iii, John committed
443
MAVRIC Implementation of CADIS
444
445
446
447
448
449
450
451
452
453
454
455
456
457
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

With MAVRIC, as with other shielding codes, the user defines the problem as a set of
physical modelsthe material compositions, the geometry, the source, and the detectors
(locations and response functions)as well as some mathematical parameters on how to solve
the problem (number of histories, etc.). For the variance reduction portion of MAVRIC, the
only additional inputs required are (1) the mesh planes to use in the discrete-ordinates
calculation(s) and (2) the adjoint source description--basically the location and the response
of each tally to optimize in the forward Monte Carlo calculation. MAVRIC uses this information
to construct a Denovo adjoint problem. (The adjoint source is weighted by a Denovo forward flux
or response estimate for FW-CADIS applications.)  MAVRIC then uses the CADIS methodology: it combines
the adjoint flux from the Denovo calculation with the source description and creates the importance map
(weight window targets) and the mesh-based biased source. Monaco is then run using the CADIS biased source
distribution and the weight window targets.
Batson Iii, John's avatar
Batson Iii, John committed
458
459

Denovo
460
^^^^^^
Batson Iii, John's avatar
Batson Iii, John committed
461

462
463
464
465
466
467
468
Denovo is a parallel three-dimensional SN code that is used to generate adjoint (and, for FW-CADIS, forward)
scalar fluxes for the CADIS methods in MAVRIC. For use in MAVRIC/CADIS, it is highly desirable that the SN code be fast,
positive, and robust. The phase-space shape of the forward and adjoint fluxes, as opposed to a highly accurate solution,
is the most important quality for Monte Carlo weight-window generation. Accordingly,
Denovo provides a step-characteristics spatial differencing option that produces positive scalar fluxes as
long as the source (volume plus in-scatter) is positive. Denovo uses an orthogonal, nonuniform mesh that is
ideal for CADIS applications because of the speed and robustness of calculations on this mesh type.
Batson Iii, John's avatar
Batson Iii, John committed
469
470
471
472
473
474
475
476
477
478
479

Denovo uses the highly robust GMRES (Generalized Minimum Residual) Krylov method to solve the SN equations in each group. GMRES has been shown to be more robust and efficient than traditional source (fixed-point) iteration. The in-group discrete SN equations are defined as


.. math::
  :label: mavric-16

  \mathbf{L}\psi = \mathbf{\text{MS}}\phi + q

where **L** is the differential transport operator, **M** is the
moment-to-discrete operator, **S** is the matrix of scattering
480
cross section moments, *q* is the external and in-scatter source,
Batson Iii, John's avatar
Batson Iii, John committed
481
482
:math:`\phi` is the vector of angular flux moments, and :math:`\psi` is
the vector of angular fluxes at discrete angles. Applying the operator
483
**D**, where :math:`\phi = \mathbf{D}\psi`, and rearranging terms, casts
Batson Iii, John's avatar
Batson Iii, John committed
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
the in-group equations in the form of a traditional linear system,
:math:`\mathbf{A}x = b`,

 .. math::
  :label: mavric-17

  \left( \mathbf{I} - \mathbf{D}\mathbf{L}^{- 1}\mathbf{\text{MS}} \right) = \mathbf{D}\mathbf{L}^{- 1}q .

The operation :math:`\mathbf{L}^{- 1}\nu`, where :math:`\nu` is an
iteration vector, is performed using a traditional wave-front solve
(transport sweep). The parallel implementation of the Denovo wave-front
solver uses the well-known Koch-Baker-Alcouffe (KBA) algorithm, which is
a two-dimensional blockspatial decomposition of a three-dimensional
orthogonal mesh :cite:`baker_sn_1998`. The Trilinos package is used for the GMRES
implementation :cite:`willenbring_trilinos_2003` Denovo stores the mesh-based scalar fluxes in a
499
double precision binary file (\*.dff) called a *Denovo flux file*. Past
Batson Iii, John's avatar
Batson Iii, John committed
500
501
502
503
504
505
versions of SCALE/Denovo used the TORT :cite:`rhoades_tort_1997` \*.varscl file format
(DOORS package :cite:`rhoades_doors_1998`), but this was limited to single precision. Since
the rest of the MAVRIC sequence has not yet been parallelized, Denovo is
currently used only in serial mode within MAVRIC.

Monaco
506
^^^^^^
Batson Iii, John's avatar
Batson Iii, John committed
507
508

The forward Monte Carlo transport is performed using Monaco, a
509
fixed-source shielding code that uses the SCALE General Geometry
Batson Iii, John's avatar
Batson Iii, John committed
510
511
512
513
514
515
516
517
Package (SGGP, the same as used by the criticality code KENO-VI) and the
standard SCALE material information processor. Monaco can use either MG
or CE cross section libraries. Monaco was originally based on the MORSE
Monte Carlo code but has been extensively modified to modernize the
coding, incorporate more flexibility in terms of sources/tallies, and
read a user-friendly block/keyword style input.

Much of the input to MAVRIC is the same as Monaco. More details can be
518
found in the Monaco chapter of the SCALE manual (SECTIONREFERENCE).
Batson Iii, John's avatar
Batson Iii, John committed
519
520

Running MAVRIC
521
^^^^^^^^^^^^^^
Batson Iii, John's avatar
Batson Iii, John committed
522
523
524

The objective of a SCALE sequence is to execute several codes, passing
the output from one to the input of the next, in order to perform some
525
analysis--tasks that users typically had to do in the past. MAVRIC does
Batson Iii, John's avatar
Batson Iii, John committed
526
527
528
529
530
531
532
this for difficult shielding problems by running approximate
discrete-ordinates calculations, constructing an importance map and
biased source for one or more tallies that the user wants to optimize in
the Monte Carlo calculation, and then using those in a forward Monaco
Monte Carlo calculation. MAVRIC also prepares the forward and adjoint
cross sections when needed. The steps of a MAVRIC sequence are listed in
:numref:`Mavric-sequence`. The user can instruct MAVRIC to run this whole sequence of
533
steps or just some subset of the steps to verify the
Batson Iii, John's avatar
Batson Iii, John committed
534
535
536
537
538
539
540
541
542
543
544
intermediate steps or to reuse previously calculated quantities in a new
analyses.

The MAVRIC sequence can be stopped after key points by using the
parm= *parameter*  operator on the =mavric command line, which is
the first line of the input file. The various parameters are listed in
Table :numref:`mavric-param`. These parameters allow the user to perform checks and make
changes to the importance map calculation before the actual Monte Carlo
calculation in Monaco.

MAVRIC also allows the sequence to start at several different points. If
545
an importance map and biased source have already been computed, they can then
Batson Iii, John's avatar
Batson Iii, John committed
546
547
be used directly. If the adjoint scalar fluxes are known, they can
quickly be used to create the importance map and biased source and then
548
begin the forward Monte Carlo calculation. All of the different combinations of
Batson Iii, John's avatar
Batson Iii, John committed
549
550
551
starting MAVRIC with some previously calculated quantities are listed in
the following section detailing the input options.

552
When using MG cross section libraries that do not have flux-to-dose-rate
Batson Iii, John's avatar
Batson Iii, John committed
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
conversion factors, use parm=nodose to prevent the cross section
processing codes from trying to move these values into the working
library.

MAVRIC creates many files that use the base problem name from the output
file. For an output file called c:\path1\path2\\\ *outputName*.out or
/home/path1/path2/ *outputName*.inp, spaces in the output name will
cause trouble and should not be used.

.. list-table:: Steps in the MAVRIC sequence
   :name: Mavric-sequence
   :widths: 100 100
   :header-rows: 0
   :align: center

   * - **Cross section calculation**
     - XSProc is used to calculate the forward cross sections for Monaco
   * - **Forward Denovo (optional)**
     -
   * -  Cross section calculation
     - XSProc is used to calculate the forward cross sections for Denovo
   * -  Forward flux calculation
     - Denovo calculates the estimate of the forward flux
   * - **Adjoint Denovo (optional)**
     -
   * -  Cross section calculation
     - XSProc is used to calculate the adjoint cross sections for Denovo
   * -  Adjoint flux calculation
     - Denovo calculates the estimate of the adjoint flux
   * - **CADIS (optional)**
     - The scalar flux file from Denovo is then used to create the biased source distribution and transport weight windows
   * - **Monte Carlo calculation**
     - Monaco uses the biased source distribution and transport weight windows to calculate the various tallies

.. list-table:: Parameters for the MAVRIC command line (parm=…”)
   :name: mavric-param
   :widths: 50 50
   :header-rows: 1
   :align: center

   * - Parameter
     - MAVRIC will stop after
   * - check
     - input checking
   * - forinp
     - Forward Denovo input construction (makes ``xkba_b.inp`` in the tmp area)
   * - forward
     - The forward Denovo calculation
   * - adjinp
     - Adjoint Denovo input construction (makes ``xkba_b.inp`` in the tmp area)
   * - adjoint
     - The adjoint Denovo calculation
   * - impmap
     - Calculation of importance map and biased source

MAVRIC input
------------

The input file for MAVRIC consists of three lines of text (=mavric
command line with optional parameters, the problem title, and SCALE
cross section library name) and then several blocks, with each block
starting with read xxxx and ending with end xxxx. There are three
required blocks and nine optional blocks. Material and geometry blocks
must be listed first and in the specified order. Other blocks may be
listed in any order.

Blocks (must be in this order):

-  Composition  (required) SCALE standard composition, list of materials used in the problem

-  Celldata  SCALE resonance self-shielding

-  Geometry  (required) SCALE general geometry description

-  Array  optional addition to the above geometry description

-  Volume  optional calculation or listing of region volumes

-  Plot  create 2D slices of the SGGP geometry

633
Other Blocks (in any order, following the blocks listed above):
Batson Iii, John's avatar
Batson Iii, John committed
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664

-  Definitions  defines locations, response functions, and grid geometries used by other blocks

-  Sources  (required) description of the particle source spatial, energy, and directional distributions

-  Tallies  description of what to calculate: point detector tallies, region tallies, or mesh tallies

-  Parameters  how to perform the simulation (random number seed, how many histories, etc.)

-  Biasing  data for reducing the variance of the simulation

-  ImportanceMap  instructions for creating an importance map based on a discrete-ordinates calculation

The material blocks (Composition and Celldata) and the physical model
blocks (Geometry, Array, Volume, and Plot) follow the standard SCALE
format. See the other SCALE references as noted in the following
sections for details. The Biasing block and ImportanceMap block cannot
both be used.

For the other six blocks, scalar variables are set by keyword=value,
fixed-length arrays are set with keyword value\ :sub:`1` ...
value\ :sub:`N`\ , variable-length arrays are set with keyword
value\ :sub:`1` ... value\ :sub:`N` end, and some text and filenames
are read in as quoted strings. Single keywords to set options are also
used in some instances. The indention, comment lines, and
upper/lowercase shown in this document are not required they are used
in the examples only for clarity. Except for strings in quotes (like
filenames), SCALE is case insensitive.

After all input blocks are listed, a single line with end data should be listed.
A final end should also be listed, to signify the end of all MAVRIC input.
665
666
Nine of the blocks are the same input blocks as those used by the functional module Monaco,
with a few extra keywords only for use with MAVRIC. These extra keywords are highlighted here, but
Batson Iii, John's avatar
Batson Iii, John committed
667
668
669
without relisting all of the standard Monaco keywords for those blocks.
See :numref:`input-format` for an overview of MAVRIC input file structure.

Batson Iii, John's avatar
Batson Iii, John committed
670
671
672
673
674
675
Composition block
~~~~~~~~~~~~~~~~~

Material information input follows the standard SCALE format for
material input. Basic materials known to the SCALE library may be used
as well as completely user-defined materials (using isotopes with known
676
677
cross sections). Input instructions are located in the XSProc chapter (SECTIONREFERENCE) in
the SCALE manual. The Standard Composition Library chapter (SECTIONREFERENCE) lists the
Batson Iii, John's avatar
Batson Iii, John committed
678
679
680
different cross section libraries and the names of standard materials.
An example is as follows:

681
.. code:: scale
Batson Iii, John's avatar
Batson Iii, John committed
682
683
684
685
686
687
688
689
690
691
692

   read composition

       uo2 1 0.2 293.0 92234 0.0055 92235 3.5 92238 96.4945 end

       orconcrete 2 1.0 293.0 end

       ss304 3 1.0 293.0 end

   end composition

693
Details on the cell data block are also included in the XSProc chapter (SECTIONREFERENCE).
Batson Iii, John's avatar
Batson Iii, John committed
694
695
696
697
698
699
700
701
702
703
When using different libraries for the importance map production (listed
at the top of the input) and the final Monte Carlo calculation (listed
in the parameters block, if different), make sure that the materials are
present in both libraries.


.. list-table:: Overall input format
   :widths: 30 30
   :header-rows: 1
   :align: center
Batson Iii, John's avatar
Batson Iii, John committed
704
   :name: input-format
Batson Iii, John's avatar
Batson Iii, John committed
705
706
707

   * - input file
     - Comment
708
   * - .. code:: scale
Batson Iii, John's avatar
Batson Iii, John committed
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750

         =mavric
         Some title for this problem
         v7-27n19g
         read composition
            ...
         end composition
         read celldata
            ...
         end celldata
         read geometry
            ...
         end geometry
         read array
            ...
         end array
         read volume
            ...
         end volume
         read plot
            ...
         end plot
         read definitions
            ...
         end definitions
         read sources
            ...
         end sources
         read tallies
            ...
         end tallies
         read parameters
            ...
         end parameters
         read biasing
            ...
         end biasing
         read importanceMap
            ...
         end importanceMap
         end data
         end
Batson Iii, John's avatar
Batson Iii, John committed
751
     - .. code:: rest
Batson Iii, John's avatar
Batson Iii, John committed
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794

          name of sequence
          title
          cross section library name
          SCALE material compositions
              [required block]

          SCALE resonance self-shielding
              [optional block]

          SCALE SGGP geometry
              [required block]

          SCALE SGGP arrays
              [optional block]

          SCALE SGGP volume calc
              [optional block]

          SGGP Plots
              [optional block]

          Definitions
              [possibly required]

          Sources definition
              [required block]

          Tally specifications
              [optional block]

          Monte Carlo parameters
              [optional block]

          Biasing information
              [optional block]

          Importance map
              [optional block]

          end of all blocks
          end of MAVRIC input

Batson Iii, John's avatar
Batson Iii, John committed
795
796
797
SGGP geometry blocks
~~~~~~~~~~~~~~~~~~~~

798
799
800
801
802
803
MAVRIC uses the functional module Monaco for the forward Monte Carlo calculation.
Monaco tracks particles through the physical geometry described by the SGGP input
blocks, as well as through the mesh importance map and any mesh tallies, which are
defined in the global coordinates and overlay the physical geometry. Because Monaco
must track through all of these geometries at the same time, users should not use the
reflective boundary capability in the SGGP geometry.
Batson Iii, John's avatar
Batson Iii, John committed
804

805
For more details on each SGGP geometry block, see the following sections of the KENO-VI chapter (SECTIONREFERENCE) of the SCALE Manual.
Batson Iii, John's avatar
Batson Iii, John committed
806
807
808
809
810
811
812
813
814
815
816
817
818

    Geometry  *Geometry Data*

    Array  *Array Data*

    Volume  *Volume Data*

    Plot  *Plot Data*

Other blocks shared with Monaco
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The definitions, sources, tallies, and biasing blocks are all the same
819
as Monaco. They are all fully described in the Monaco chapter (SECTIONREFERENCE) of the
Batson Iii, John's avatar
Batson Iii, John committed
820
821
822
823
824
825
826
827
828
829
SCALE Manual.

   Definitions  *Definitions Block*

   Sources  *Sources Block*

   Tallies  *Tallies Block*

   Biasing  *Biasing Block*

830
831
The parameters block includes several keywords that are not included in
Monaco (see the *Parameter Block* section of the Monaco chapter (SECTIONREFERENCE)) which
Batson Iii, John's avatar
Batson Iii, John committed
832
are used when the cross section library used in the importance
833
calculations differs from the library used in the final forward
Batson Iii, John's avatar
Batson Iii, John committed
834
835
836
837
838
839
840
841
842
843
844
845
846
Monaco Monte Carlo calculation. The library listed at the beginning of
the MAVRIC input file will be used for the importance calculations
(forward and adjoint Denovo calculation, formation of the importance
map, and biased sources). To use a different MG library in the final
Monaco simulation, use the keyword library= with the cross section
library name in quotes. A cross section library for Monaco will be made
using csas-mg. If there are any extra parameters to use (parm= in the
=csas-mg line of the csas-mg input), they can be passed along using
the keyword parmString= with the extra information in quotes. For
example, the following input file would use a coarse-group library for
the importance calculations and a fine-group library for the final
Monaco, each with CENTRM processing.

847
.. code:: scale
Batson Iii, John's avatar
Batson Iii, John committed
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867

    =mavric parm=centrm
    v7-27n19g
    

    read parameters

        library=v7-200n47g parmString=centrm

        

    end parameters

    

    end data

    end


868
869
870
To use a CE cross section in the final Monaco step, use the keyword ceLibrary= with the cross section
library name in quotes. When the library= or ceLibrary= keywords are used, they should precede the neutron, photon,
noNeutron, and noPhoton keywords. :numref:`extra-keywords` summarizes all of the keywords in the MAVRIC parameter block.
Batson Iii, John's avatar
Batson Iii, John committed
871

872
873
874
875
When using two different cross section libraries, be sure that the responses and distributions are
defined in ways that do not depend on the cross section library. For example, any response that is
just a list of n values (corresponding to a cross section library of n groups) needs to have the
group energies specifically listed so that it can be evaluated properly on the other group structure.
Batson Iii, John's avatar
Batson Iii, John committed
876

877
878
.. list-table:: Extra keywords for the parameters block
  :align: center
Batson Iii, John's avatar
Batson Iii, John committed
879
880
  :name: extra-keywords

881
882
  * - .. image:: figs/table4.4.png

Batson Iii, John's avatar
Batson Iii, John committed
883
884
885
Importance map block
~~~~~~~~~~~~~~~~~~~~

886
887
888
889
890
891
892
The importance map block is the heart and soul of MAVRIC. This block lists the parameters for creating an
importance map and biased source from one (adjoint) or two (forward, followed by adjoint) Denovo
discrete-ordinates calculations. Without an importance map block, MAVRIC can be used to run Monaco
and use its conventional types of variance reduction. If both the importance map and biasing blocks
are specified, then only the importance map block will be used. The various ways to use the importance map block
are explained in the subsections below. Keywords for this block are summarized at the end of this section, in
:numref:`keywords-importance`.
Batson Iii, John's avatar
Batson Iii, John committed
893
894
895
896

Constructing a mesh for the S\ :sub:`N` calculation
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

897
All uses of the importance map block that run the
Batson Iii, John's avatar
Batson Iii, John committed
898
899
900
901
902
903
904
discrete-ordinates code require the use of a grid geometry that overlays
the physical geometry. Grid geometries are defined in the definitions
block of the MAVRIC input. The extent and level of detail needed in a
grid geometry are discussed in the following paragraphs.

When using S\ :sub:`N` methods alone for solving radiation transport in
shielding problems, a good rule of thumb is to use mesh cell sizes on
905
the order of a meanfree path of the particle. In complex shielding
Batson Iii, John's avatar
Batson Iii, John committed
906
907
908
909
910
911
912
913
914
915
problems, this could lead to an extremely large number of mesh cells,
especially when considering the size of the meanfree path of the lowest
energy neutrons and photons in common shielding materials.

In MAVRIC, the goal is to use the S\ :sub:`N` calculation for a quick
approximate solution. Accuracy is not paramountjust getting an idea of
the overall shape of the true importance map will help accelerate the
convergence of the forward Monte Carlo calculation. The more accurate
the importance map, the better the forward Monte Carlo acceleration will
be. At some point there is a time trade-off when the computational time
916
for calculating the importance map followed by the time to perform the Monte Carlo
Batson Iii, John's avatar
Batson Iii, John committed
917
calculation exceeds that of a standard analog Monte Carlo calculation.
918
Large numbers of mesh cells that result from using very small mesh sizes
Batson Iii, John's avatar
Batson Iii, John committed
919
920
921
922
923
924
925
926
927
for S\ :sub:`N` calculations also use a great deal of computer memory.

Because the deterministic solution(s) for CADIS and FW-CADIS can have
moderate fidelity and still provide variance reduction parameters that
substantially accelerate the Monte Carlo solution, mesh cell sizes in
MAVRIC applications can be larger than what most S\ :sub:`N` practioners
would typically use. The use of relatively coarse mesh reduces memory
requirements and the run time of the deterministic solution(s). Some
general guidelines to keep in mind when creating a mesh for the
928
importance map/biased source are as follows:
Batson Iii, John's avatar
Batson Iii, John committed
929
930
931
932

-  The true source regions should be included in the mesh with mesh
   planes at their boundaries.

933
-  Place point or very small sources in the center of a mesh cell, not on the mesh planes.
Batson Iii, John's avatar
Batson Iii, John committed
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951

-  Any region of the geometry where particles could eventually
   contribute to the tallies (the important areas) should be included
   in the mesh.

-  Point adjoint sources (corresponding to point detector locations) in
   standard CADIS calculations do not have to be included inside the
   mesh. For FW-CADIS, they must be in the mesh and should be located at
   a mesh cell center, not on any of the mesh planes.

-  Volumetric adjoint sources should be included in the mesh with mesh
   planes at their boundaries.

-  Mesh planes should be placed at significant material boundaries.

-  Neighboring cell sizes should not be drastically different.

-  Smaller cell sizes should be used where the adjoint flux is changing
952
953
   rapidly, such as toward the surfaces of adjoint sources and
   shields (rather than in their interiors).
Batson Iii, John's avatar
Batson Iii, John committed
954
955

Another aspect to keep in mind is that the source in the forward Monaco
956
Monte Carlo calculation will be a biased mesh-based source. Source
Batson Iii, John's avatar
Batson Iii, John committed
957
958
959
960
961
962
963
964
particles will be selected by first sampling which mesh cell to use and
then sampling a position uniformly within that mesh cell that meets the
user criteria of unit=, region=, or mixture= if specified. The
mesh should have enough resolution that the mesh source will be an
accurate representation of the true source.

The geometry for the Denovo calculation is specified using the keyword
gridGeometryID= and the identification number of a grid geometry that
965
966
967
968
969
was defined in the definitions block. The material assigned to each voxel of the mesh is determined by
testing the center point in the SGGP geometry (unless the macro-material option is usedsee below).


.. _macromaterials:
Batson Iii, John's avatar
Batson Iii, John committed
970
971
972
973
974
975
976
977
978
979
980
981

Macromaterials for S\ :sub:`N` geometries
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Part of the advantage of the CADIS method is that the adjoint
discrete-ordinates calculation only needs to be approximate in order to
form a reasonable importance map and biased source. This usually means
that the mesh used is much coarser than the mesh that would be used if
the problem were to be solved only with a discrete-ordinates code. This
coarse mesh may miss significant details (especially curves) in the
geometry and produce a less-than-optimal importance map.

982
To get more accurate solutions from a coarse-mesh
Batson Iii, John's avatar
Batson Iii, John committed
983
984
discrete-ordinates calculation, Denovo can represent the material in
each voxel of the mesh as a volume-weighted mixture of the real
985
materials, called *macromaterials*, in the problem. When constructing the
Batson Iii, John's avatar
Batson Iii, John committed
986
Denovo input, the Denovo EigenValue Calculation (DEVC, see section SECTIONREFERENCE)
987
sequence can estimate the volume fraction occupied by using each real
Batson Iii, John's avatar
Batson Iii, John committed
988
989
990
991
material in each voxel by a sampling method. The user can specify
parameters for how to sample the geometry. Note that finer sampling
makes more accurate estimates of the material fraction but requires more
setup time to create the Denovo input. Users should understand how the
992
macromaterials are sampled and should consider this when constructing a mesh
Batson Iii, John's avatar
Batson Iii, John committed
993
994
995
996
997
grid. This is especially important for geometries that contain arrays.
Careful consideration should be given when overlaying a mesh on a
geometry that contains arrays of arrays.

Because the list of macromaterials could become large, the user can also
998
specify a tolerance for how close two different macromaterials can be in order to
Batson Iii, John's avatar
Batson Iii, John committed
999
1000
be considered the same, thereby reducing the total number of
macromaterials. The macromaterial tolerance, ``mmTolerance=``, is used for