MAVRIC.html 372 KB
Newer Older
Batson Iii, John's avatar
Batson Iii, John committed
1
2
3
4
5
6
7
8
9


<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
  <meta charset="utf-8">
  
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  
Batson Iii, John's avatar
Batson Iii, John committed
10
  <title>MAVRIC: Monaco with Automated Variance Reduction using Importance Calculations &mdash; SCALE Manual 0.0.1 documentation</title>
Batson Iii, John's avatar
Batson Iii, John committed
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
  

  
  <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
  <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
  <link rel="stylesheet" href="_static/custom.css" type="text/css" />

  
  
  
  

  
  <!--[if lt IE 9]>
    <script src="_static/js/html5shiv.min.js"></script>
  <![endif]-->
  
    
      <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
        <script src="_static/jquery.js"></script>
        <script src="_static/underscore.js"></script>
        <script src="_static/doctools.js"></script>
        <script src="_static/language_data.js"></script>
34
        <script async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-AMS-MML_HTMLorMML"></script>
Batson Iii, John's avatar
Batson Iii, John committed
35
36
37
38
39
40
    
    <script type="text/javascript" src="_static/js/theme.js"></script>

    
    <link rel="index" title="Index" href="genindex.html" />
    <link rel="search" title="Search" href="search.html" />
41
    <link rel="next" title="MAVRIC Appendix A: CAAS Capability" href="CAAScapability.html" />
Batson Iii, John's avatar
Batson Iii, John committed
42
    <link rel="prev" title="Welcome to the SCALE manual!" href="index.html" /> 
Batson Iii, John's avatar
Batson Iii, John committed
43
44
45
46
47
48
49
50
51
52
53
54
55
</head>

<body class="wy-body-for-nav">

   
  <div class="wy-grid-for-nav">
    
    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
      <div class="wy-side-scroll">
        <div class="wy-side-nav-search" >
          

          
Batson Iii, John's avatar
Batson Iii, John committed
56
            <a href="index.html" class="icon icon-home" alt="Documentation Home"> SCALE Manual
Batson Iii, John's avatar
Batson Iii, John committed
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
          

          
          </a>

          
            
            
          

          
<div role="search">
  <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
    <input type="text" name="q" placeholder="Search docs" />
    <input type="hidden" name="check_keywords" value="yes" />
    <input type="hidden" name="area" value="default" />
  </form>
</div>

          
        </div>

        
        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
          
            
            
              
            
            
              <p class="caption"><span class="caption-text">Radiation Shielding</span></p>
<ul class="current">
<li class="toctree-l1 current"><a class="current reference internal" href="#">MAVRIC: Monaco with Automated Variance Reduction using Importance Calculations</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#introduction">Introduction</a></li>
<li class="toctree-l2"><a class="reference internal" href="#cadis-methodology">CADIS Methodology</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#overview-of-cadis">Overview of CADIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="#multiple-sources-with-cadis">Multiple sources with CADIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="#multiple-tallies-with-cadis">Multiple tallies with CADIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="#forward-weighted-cadis">Forward-weighted CADIS</a></li>
96
97
98
99
<li class="toctree-l3"><a class="reference internal" href="#mavric-implementation-of-cadis">MAVRIC Implementation of CADIS</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#denovo">Denovo</a></li>
<li class="toctree-l4"><a class="reference internal" href="#monaco">Monaco</a></li>
<li class="toctree-l4"><a class="reference internal" href="#running-mavric">Running MAVRIC</a></li>
Batson Iii, John's avatar
Batson Iii, John committed
100
101
102
103
104
105
106
107
108
109
110
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#mavric-input">MAVRIC input</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#composition-block">Composition block</a></li>
<li class="toctree-l3"><a class="reference internal" href="#sggp-geometry-blocks">SGGP geometry blocks</a></li>
<li class="toctree-l3"><a class="reference internal" href="#other-blocks-shared-with-monaco">Other blocks shared with Monaco</a></li>
<li class="toctree-l3"><a class="reference internal" href="#importance-map-block">Importance map block</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#constructing-a-mesh-for-the-sn-calculation">Constructing a mesh for the S<sub>N</sub> calculation</a></li>
<li class="toctree-l4"><a class="reference internal" href="#macromaterials-for-sn-geometries">Macromaterials for S<sub>N</sub> geometries</a></li>
Batson Iii, John's avatar
Batson Iii, John committed
111
112
113
114
115
<li class="toctree-l4"><a class="reference internal" href="#optimizing-source-detector-problems">Optimizing source/detector problems</a></li>
<li class="toctree-l4"><a class="reference internal" href="#multiple-adjoint-sources">Multiple adjoint sources</a></li>
<li class="toctree-l4"><a class="reference internal" href="#options-for-denovo-s-n-calculations">Options for Denovo <span class="math notranslate nohighlight">\(S_n\)</span> calculations</a></li>
<li class="toctree-l4"><a class="reference internal" href="#starting-with-an-existing-adjoint-flux-file">Starting with an existing adjoint flux file</a></li>
<li class="toctree-l4"><a class="reference internal" href="#forward-weighting-the-adjoint-source">Forward-weighting the adjoint source</a></li>
116
<li class="toctree-l4"><a class="reference internal" href="#forward-weighting-with-an-existing-forward-flux-file">Forward weighting with an existing forward flux file</a></li>
Batson Iii, John's avatar
Batson Iii, John committed
117
118
<li class="toctree-l4"><a class="reference internal" href="#using-the-importance-map">Using the importance map</a></li>
<li class="toctree-l4"><a class="reference internal" href="#other-notes-on-importance-map-calculations">Other notes on importance map calculations</a></li>
Batson Iii, John's avatar
Batson Iii, John committed
119
120
121
122
</ul>
</li>
</ul>
</li>
Batson Iii, John's avatar
Batson Iii, John committed
123
124
125
126
127
128
129
130
131
132
133
134
135
<li class="toctree-l2"><a class="reference internal" href="#mavric-output">MAVRIC output</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#main-text-output-file">Main text output file</a></li>
<li class="toctree-l3"><a class="reference internal" href="#additional-output-files">Additional output files</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#sample-problems">Sample problems</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#graphite-shielding-measurements-with-cadis">Graphite shielding measurements with CADIS</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#input-file">Input file</a></li>
<li class="toctree-l4"><a class="reference internal" href="#output">Output</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="#dose-rates-outside-of-a-simple-cask">Dose rates outside of a simple cask</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#geometry-and-materials">Geometry and materials</a></li>
136
137
138
139
140
141
142
<li class="toctree-l4"><a class="reference internal" href="#sources-and-responses">Sources and responses</a></li>
<li class="toctree-l4"><a class="reference internal" href="#analog-calculation">Analog calculation</a></li>
<li class="toctree-l4"><a class="reference internal" href="#sas4-calculations">SAS4 calculations</a></li>
<li class="toctree-l4"><a class="reference internal" href="#calculations-using-cadis">Calculations using CADIS</a></li>
<li class="toctree-l4"><a class="reference internal" href="#mavric-input-files">MAVRIC input files</a></li>
<li class="toctree-l4"><a class="reference internal" href="#neutron-source-neutron-response-results">Neutron source/neutron response results</a></li>
<li class="toctree-l4"><a class="reference internal" href="#photon-source-photon-response-results">Photon source/photon response results</a></li>
Batson Iii, John's avatar
Batson Iii, John committed
143
144
</ul>
</li>
145
146
147
<li class="toctree-l3"><a class="reference internal" href="#gamma-ray-litho-density-logging-tool-using-fw-cadis">Gamma-ray litho-density logging tool using FW-CADIS</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#id19">Input file</a></li>
<li class="toctree-l4"><a class="reference internal" href="#id20">Output</a></li>
Batson Iii, John's avatar
Batson Iii, John committed
148
149
</ul>
</li>
150
151
152
<li class="toctree-l3"><a class="reference internal" href="#aos-100-using-fw-cadis-and-continuous-energy-transport">AOS-100 using FW-CADIS and continuous-energy transport</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#id21">Input file</a></li>
<li class="toctree-l4"><a class="reference internal" href="#output-file">Output file</a></li>
Batson Iii, John's avatar
Batson Iii, John committed
153
154
</ul>
</li>
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
<li class="toctree-l3"><a class="reference internal" href="#independent-spent-fuel-storage-installation">Independent spent fuel storage installation</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#source-term">Source term</a></li>
<li class="toctree-l4"><a class="reference internal" href="#id22">Input file</a></li>
<li class="toctree-l4"><a class="reference internal" href="#id23">Output</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="#tn24-p-spent-fuel-cask">TN24-P spent fuel cask</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#id25">Input file</a></li>
<li class="toctree-l4"><a class="reference internal" href="#id26">Output</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="CAAScapability.html">MAVRIC Appendix A: CAAS Capability</a></li>
<li class="toctree-l1"><a class="reference internal" href="appendixb.html">MAVRIC Appendix B: MAVRIC Utilities</a></li>
<li class="toctree-l1"><a class="reference internal" href="appendixc.html">MAVRIC Appendix C: Advanced Features</a></li>
Batson Iii, John's avatar
Batson Iii, John committed
173
</ul>
Batson Iii, John's avatar
Batson Iii, John committed
174
175
176
177
178
179
180
<p class="caption"><span class="caption-text">Monte Carlo Transport</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="Monaco.html">Monaco: A Fixed-Source Monte Carlo Transport Code for Shielding Applications</a></li>
</ul>
<p class="caption"><span class="caption-text">Criticality Safety</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="Criticality%20Safety%20Overview.html">Criticality Safety Overview</a></li>
Batson Iii, John's avatar
Batson Iii, John committed
181
182
183
184
185
<li class="toctree-l1"><a class="reference internal" href="CSAS5.html">CSAS5:  Control Module For Enhanced Criticality Safety Analysis Sequences With KENO V.a</a></li>
<li class="toctree-l1"><a class="reference internal" href="CSAS5App.html">Additional Example Applications of CSAS5</a></li>
<li class="toctree-l1"><a class="reference internal" href="CSAS6.html">CSAS6:  Control Module for Enhanced Criticality Safety Analysis with KENO-VI</a></li>
<li class="toctree-l1"><a class="reference internal" href="CSAS6App.html">Additional Example Applications of CSAS6</a></li>
<li class="toctree-l1"><a class="reference internal" href="STARBUCS.html">STARBUCS: A Scale Control Module for Automated Criticality Safety Analyses Using Burnup Credit</a></li>
Batson Iii, John's avatar
Batson Iii, John committed
186
</ul>
Batson Iii, John's avatar
Batson Iii, John committed
187
188
189
190
191
192
193
194
195
196
197
198
199
200

            
          
        </div>
        
      </div>
    </nav>

    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">

      
      <nav class="wy-nav-top" aria-label="top navigation">
        
          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
Batson Iii, John's avatar
Batson Iii, John committed
201
          <a href="index.html">SCALE Manual</a>
Batson Iii, John's avatar
Batson Iii, John committed
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
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
        
      </nav>


      <div class="wy-nav-content">
        
        <div class="rst-content">
        
          















<div role="navigation" aria-label="breadcrumbs navigation">

  <ul class="wy-breadcrumbs">
    
      <li><a href="index.html" class="icon icon-home"></a> &raquo;</li>
        
      <li>MAVRIC: Monaco with Automated Variance Reduction using Importance Calculations</li>
    
    
      <li class="wy-breadcrumbs-aside">
        
            
            <a href="_sources/MAVRIC.rst.txt" rel="nofollow"> View page source</a>
          
        
      </li>
    
  </ul>

  
  <hr/>
</div>
          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
           <div itemprop="articleBody">
            
  <div class="section" id="mavric-monaco-with-automated-variance-reduction-using-importance-calculations">
<span id="mavric"></span><h1>MAVRIC: Monaco with Automated Variance Reduction using Importance Calculations<a class="headerlink" href="#mavric-monaco-with-automated-variance-reduction-using-importance-calculations" title="Permalink to this headline"></a></h1>
<p><em>D. E. Peplow and C. Celik</em></p>
<div class="section" id="introduction">
<h2>Introduction<a class="headerlink" href="#introduction" title="Permalink to this headline"></a></h2>
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
<p>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 <a class="bibtex reference internal" href="#wagner-acceleration-1997" id="id1">[Wag97]</a>. 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.</p>
<p>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 <a class="bibtex reference internal" href="#wagner-automated-1998" id="id2">[WH98]</a> <a class="bibtex reference internal" href="#wagner-automated-2002" id="id3">[Wag02]</a> <a class="bibtex reference internal" href="#haghighat-monte-2003" id="id4">[HW03]</a>
<a class="bibtex reference internal" href="#wagner-forward-weighted-2007" id="id5">[WBP07]</a> 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 together—particles 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 <a class="bibtex reference internal" href="#peplow-monte-2011" id="id6">[Pep11]</a>
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.</p>
<p>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.</p>
<p>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.</p>
<p>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 <a class="bibtex reference internal" href="#wagner-fw-cadis-2014" id="id7">[WPM14]</a> 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 <a class="reference internal" href="appendixc.html#appendixc"><span class="std std-ref">MAVRIC Appendix C: Advanced Features</span></a>.</p>
Batson Iii, John's avatar
Batson Iii, John committed
290
291
292
</div>
<div class="section" id="cadis-methodology">
<h2>CADIS Methodology<a class="headerlink" href="#cadis-methodology" title="Permalink to this headline"></a></h2>
293
294
295
296
297
298
<p>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.</p>
Batson Iii, John's avatar
Batson Iii, John committed
299
300
<div class="section" id="overview-of-cadis">
<h3>Overview of CADIS<a class="headerlink" href="#overview-of-cadis" title="Permalink to this headline"></a></h3>
301
<p>CADIS is well described in the literature, so only a
Batson Iii, John's avatar
Batson Iii, John committed
302
303
304
305
306
307
308
brief overview is given here. Consider a class source-detector problem
described by a unit source with emission probability distribution
function <span class="math notranslate nohighlight">\(q\left(\overrightarrow{r},E \right)\)</span> and a detector
response function <span class="math notranslate nohighlight">\(\sigma_{d}\left(\overrightarrow{r},E \right)\)</span>.
To determine the total detector response, <em>R</em>, the forward scalar flux
<span class="math notranslate nohighlight">\(\phi\left(\overrightarrow{r},E \right)\)</span> must be known. The
response is found by integrating the product of the detector response
309
function and the flux over the detector volume <span class="math notranslate nohighlight">\(V_{d}\)</span>:</p>
Batson Iii, John's avatar
Batson Iii, John committed
310
311
312
313
314
315
316
317
<div class="math notranslate nohighlight" id="equation-mavric-1">
<span class="eqno">(1)<a class="headerlink" href="#equation-mavric-1" title="Permalink to this equation"></a></span>\[R = \int_{V_{d}}^{}{\int_{E}^{}{\sigma_{d}\left( \overrightarrow{r},E \right)}}\phi\left(\overrightarrow{r},E \right)\textit{dE dV.}\]</div>
<p>Alternatively, if the adjoint scalar flux,
<span class="math notranslate nohighlight">\(\phi^{+}\left(\overrightarrow{r},E \right)\)</span>, is known from the
corresponding adjoint problem with adjoint source
<span class="math notranslate nohighlight">\(q^{+}\left(\overrightarrow{r},E \right) = \sigma_{d}\left(\overrightarrow{r},E \right)\)</span>,
then the total detector response could be found by integrating the
product of the forward source and the adjoint flux over the source
318
volume, <span class="math notranslate nohighlight">\(V_{s}\)</span>:</p>
Batson Iii, John's avatar
Batson Iii, John committed
319
320
321
322
323
324
<div class="math notranslate nohighlight" id="equation-mavric-2">
<span class="eqno">(2)<a class="headerlink" href="#equation-mavric-2" title="Permalink to this equation"></a></span>\[R = \int_{V_{s}}^{}{\int_{E}^{}{q\left(\overrightarrow{r},E \right)}}\phi^{+}\left( \overrightarrow{r},E \right)\textit{dE dV.}\]</div>
<p>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.</p>
325
326
327
<p>Wagner <a class="bibtex reference internal" href="#wagner-acceleration-1997" id="id8">[Wag97]</a> showed that if an estimate of the adjoint scalar flux
for the corresponding adjoint problem can be found, then an estimate
of the response <em>R</em> can be made using <a class="reference internal" href="#equation-mavric-2">(2)</a>. The adjoint source for the
Batson Iii, John's avatar
Batson Iii, John committed
328
adjoint problem is typically separable and corresponds to the detector
329
response and spatial area of the tally to be optimized:
Batson Iii, John's avatar
Batson Iii, John committed
330
331
332
<span class="math notranslate nohighlight">\(q^{+}\left(\overrightarrow{r},E \right) = \sigma_{d}\left(E \right)g\left( \overrightarrow{r} \right)\)</span>,
where <span class="math notranslate nohighlight">\(\sigma_{d}\left( E \right)\)</span> is a flux-to-dose conversion
factor and <span class="math notranslate nohighlight">\(g\left( \overrightarrow{r} \right)\)</span> is 1 in the tally
333
volume and is 0 otherwise. Then, from the adjoint flux
Batson Iii, John's avatar
Batson Iii, John committed
334
335
336
337
338
339
340
341
342
343
344
<span class="math notranslate nohighlight">\(\phi^{+}\left( \overrightarrow{r},E \right)\)</span> and response
estimate <em>R</em>, a biased source distribution,
<span class="math notranslate nohighlight">\(\widehat{q}\left( \overrightarrow{r},E \right)\)</span>, for source
sampling of the form</p>
<div class="math notranslate nohighlight" id="equation-mavric-3">
<span class="eqno">(3)<a class="headerlink" href="#equation-mavric-3" title="Permalink to this equation"></a></span>\[\widehat{q}\left(\overrightarrow{r},E \right) = \frac{1}{R}q\left(\overrightarrow{r},E\right)\phi^{+}\left( \overrightarrow{r},E \right)\]</div>
<p>and weight window target values,
<span class="math notranslate nohighlight">\(\overline{w}\left( \overrightarrow{r},E \right)\)</span>, for particle
transport of the form</p>
<div class="math notranslate nohighlight" id="equation-mavric-4">
<span class="eqno">(4)<a class="headerlink" href="#equation-mavric-4" title="Permalink to this equation"></a></span>\[\overline{w}\left( \overrightarrow{r},E \right) = \frac{R}{\phi^{+}\left( \overrightarrow{r},E \right)}\]</div>
345
<p>can be constructed, which minimizes the variance in the forward Monte
Batson Iii, John's avatar
Batson Iii, John committed
346
347
348
349
350
351
352
353
Carlo calculation of <em>R</em>.</p>
<p>When a particle is sampled from the biased source distribution
<span class="math notranslate nohighlight">\(\widehat{q}\left( \overrightarrow{r},E \right)\)</span>, to preserve a
fair game, its initial weight is set to</p>
<div class="math notranslate nohighlight" id="equation-mavric-5">
<span class="eqno">(5)<a class="headerlink" href="#equation-mavric-5" title="Permalink to this equation"></a></span>\[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)}\,\]</div>
<p>which exactly matches the target weight for that particle’s position and
energy. This is the “consistent” part of CADIS—source particles are born
354
355
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.</p>
Batson Iii, John's avatar
Batson Iii, John committed
356
357
358
359
360
361
362
363
<p>CADIS has been applied to many problems—including reactor ex-core
detectors, well-logging instruments, cask shielding studies, and
independent spent fuel storage facility models—and has demonstrated very
significant speed-ups in calculation time compared to analog
simulations.</p>
</div>
<div class="section" id="multiple-sources-with-cadis">
<h3>Multiple sources with CADIS<a class="headerlink" href="#multiple-sources-with-cadis" title="Permalink to this headline"></a></h3>
364
<p>For a typical Monte Carlo calculation with multiple sources—each with a
Batson Iii, John's avatar
Batson Iii, John committed
365
366
367
probability distribution function
<span class="math notranslate nohighlight">\(q_{i}\left( \overrightarrow{r},E \right)\)</span> and a strength
<span class="math notranslate nohighlight">\(S_{i}\)</span>, giving a total source strength of
368
<span class="math notranslate nohighlight">\(S = \sum_{}^{}S_{i}\)</span>—the source is sampled in two steps. First,
Batson Iii, John's avatar
Batson Iii, John committed
369
370
371
372
the specific source <em>i</em> is sampled with probability
<span class="math notranslate nohighlight">\(p\left( i \right) = \ S_{i}/S\)</span>, and then the particle is sampled
from the specific source distribution
<span class="math notranslate nohighlight">\(q_{i}\left( \overrightarrow{r},E \right)\)</span>.</p>
373
374
<p>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
375
376
377
378
379
380
381
382
383
be sampled using some arbitrary distribution,
<span class="math notranslate nohighlight">\(\widehat{p}\left( i \right)\)</span>, and then the individual sources can
be sampled using distributions
<span class="math notranslate nohighlight">\({\widehat{q}}_{i}\left( \overrightarrow{r},E \right)\)</span>. Particles
would then have a birth weight of</p>
<div class="math notranslate nohighlight" id="equation-mavric-6">
<span class="eqno">(6)<a class="headerlink" href="#equation-mavric-6" title="Permalink to this equation"></a></span>\[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{.}\]</div>
<p>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
384
importance map. For a problem with multiple sources—each with a
Batson Iii, John's avatar
Batson Iii, John committed
385
distribution <span class="math notranslate nohighlight">\(q_{i}\left( \overrightarrow{r},E \right)\)</span> and a
386
strength <span class="math notranslate nohighlight">\(S_{i}\)</span>—the goal of the Monte Carlo calculation is to
Batson Iii, John's avatar
Batson Iii, John committed
387
388
compute some response <span class="math notranslate nohighlight">\(R\)</span> for a response function
<span class="math notranslate nohighlight">\(\sigma_{d}\left( \overrightarrow{r},E \right)\)</span> at a given
389
detector,</p>
Batson Iii, John's avatar
Batson Iii, John committed
390
<div class="math notranslate nohighlight" id="equation-mavric-7">
391
<span class="eqno">(7)<a class="headerlink" href="#equation-mavric-7" title="Permalink to this equation"></a></span>\[R = \ \int_{V}^{}{\int_{E}^{}{\sigma_{d}\left( \overrightarrow{r},E \right)\phi \left( \overrightarrow{r},E \right)\textit{dE dV.}}}\]</div>
Batson Iii, John's avatar
Batson Iii, John committed
392
393
394
395
396
397
398
399
400
401
402
403
404
405
<p>Note that the flux <span class="math notranslate nohighlight">\(\phi\left( \overrightarrow{r},E \right)\)</span> has
contributions from each source. The response, <span class="math notranslate nohighlight">\(R_{i}\)</span>, from each
specific source (<span class="math notranslate nohighlight">\(S_{i}\)</span> with
<span class="math notranslate nohighlight">\(q_{i}\left( \overrightarrow{r},E \right)\)</span>) can be expressed using
just the flux from that source,
<span class="math notranslate nohighlight">\(\phi_{i}\left( \overrightarrow{r},E \right)\)</span>, as</p>
<div class="math notranslate nohighlight" id="equation-mavric-8">
<span class="eqno">(8)<a class="headerlink" href="#equation-mavric-8" title="Permalink to this equation"></a></span>\[R_{i} = \ \int_{V}^{}{\int_{E}^{}{\sigma_{d}\left(\overrightarrow{r},E \right)\ \phi_{i}\left(\overrightarrow{r},E \right)\textit{dE dV .}}}\]</div>
<p>The total response is then found as <span class="math notranslate nohighlight">\(R = \sum_{i}^{}R_{i}\)</span>.</p>
<p>For the adjoint problem, using the adjoint source of
<span class="math notranslate nohighlight">\(q^{+}\left( \overrightarrow{r},E \right) = \sigma_{d}\left( \overrightarrow{r},E \right)\)</span>,
the response <span class="math notranslate nohighlight">\(R\)</span> can also be calculated as</p>
<div class="math notranslate nohighlight" id="equation-mavric-9">
<span class="eqno">(9)<a class="headerlink" href="#equation-mavric-9" title="Permalink to this equation"></a></span>\[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}}},\]</div>
406
<p>with the response contribution from each specific source being</p>
Batson Iii, John's avatar
Batson Iii, John committed
407
<div class="math notranslate nohighlight" id="equation-mavric-10">
408
<span class="eqno">(10)<a class="headerlink" href="#equation-mavric-10" title="Permalink to this equation"></a></span>\[R_{i} = \ \int_{V}^{}{\int_{E}^{}{\ {S_{i}q_{i}\left( \overrightarrow{r},E \right)\phi^{+}}\left( \overrightarrow{r}, E \right)\textit{dE dV.}}}\]</div>
Batson Iii, John's avatar
Batson Iii, John committed
409
410
411
412
<p>The target weights
<span class="math notranslate nohighlight">\(\overline{w}\left( \overrightarrow{r},E \right)\)</span> of the
importance map are found using</p>
<div class="math notranslate nohighlight" id="equation-mavric-11">
413
<span class="eqno">(11)<a class="headerlink" href="#equation-mavric-11" title="Permalink to this equation"></a></span>\[\overline{w}\left( \overrightarrow{r},E \right) = \frac{R/S}{\phi^{+}\left( \overrightarrow{r},E \right)\ }.\]</div>
Batson Iii, John's avatar
Batson Iii, John committed
414
415
416
417
<p>Each biased source
<span class="math notranslate nohighlight">\({\widehat{q}}_{i}\left( \overrightarrow{r},E \right)\)</span> pdf is
found using</p>
<div class="math notranslate nohighlight" id="equation-mavric-12">
418
<span class="eqno">(12)<a class="headerlink" href="#equation-mavric-12" title="Permalink to this equation"></a></span>\[{\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)\ ,\]</div>
Batson Iii, John's avatar
Batson Iii, John committed
419
420
421
422
423
424
425
426
<p>and the biased distribution used to select an individual source is
<span class="math notranslate nohighlight">\(\widehat{p}\left( i \right) = \ R_{i}/\sum_{}^{}{R_{i} = R_{i}/R}\)</span>.</p>
<p>When using the biased distribution used to select an individual source,
<span class="math notranslate nohighlight">\(\widehat{p}\left( i \right)\)</span>, and the biased source distribution,
<span class="math notranslate nohighlight">\({\widehat{q}}_{i}\left( \overrightarrow{r},E \right)\)</span>, the birth
weight of the sampled particle will be</p>
<div class="math notranslate nohighlight" id="equation-mavric-13">
<span class="eqno">(13)<a class="headerlink" href="#equation-mavric-13" title="Permalink to this equation"></a></span>\[\begin{split} \begin{matrix}
427
428
    w_{0} &amp; \equiv &amp; \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) \\ &amp; = &amp; \ \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) \\
    &amp; = &amp; \frac{R/S}{{\phi}^{+}\left( \overrightarrow{r},E \right)\ }, \\
Batson Iii, John's avatar
Batson Iii, John committed
429
430
431
432
433
434
\end{matrix}\end{split}\]</div>
<p>which matches the target weight,
<span class="math notranslate nohighlight">\(\overline{w}\left( \overrightarrow{r},E \right)\)</span>.</p>
</div>
<div class="section" id="multiple-tallies-with-cadis">
<h3>Multiple tallies with CADIS<a class="headerlink" href="#multiple-tallies-with-cadis" title="Permalink to this headline"></a></h3>
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
<p>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 tally—where 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.</p>
<p>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.</p>
<p>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.</p>
<p>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.</p>
Batson Iii, John's avatar
Batson Iii, John committed
464
465
466
</div>
<div class="section" id="forward-weighted-cadis">
<h3>Forward-weighted CADIS<a class="headerlink" href="#forward-weighted-cadis" title="Permalink to this headline"></a></h3>
467
<p>To converge several tallies to the same relative uncertainty in
Batson Iii, John's avatar
Batson Iii, John committed
468
one simulation, the adjoint source corresponding to each of those
469
470
471
472
473
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
474
475
476
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.</p>
477
<p>This concept can be extended to mesh tallies, as well. Instead of using a
Batson Iii, John's avatar
Batson Iii, John committed
478
479
480
481
482
483
484
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.</p>
<p>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
485
method: forward-weighted CADIS (FW-CADIS). First, a forward S<sub>N</sub> calculation is performed to
Batson Iii, John's avatar
Batson Iii, John committed
486
estimate the expected tally results. A total adjoint source is
487
constructed so that the adjoint source corresponding to each tally is
Batson Iii, John's avatar
Batson Iii, John committed
488
489
490
491
492
493
494
495
496
497
498
499
weighted inversely by those forward tally estimates. Then the standard
CADIS approach is used—an importance map (target weight windows) and a
biased source are made using the adjoint flux computed from the adjoint
S<sub>N</sub> calculation.</p>
<p>For example, if the goal is to calculate a detector response function
<span class="math notranslate nohighlight">\(\sigma_{d}\left( E \right)\)</span> (such as dose rate using
flux-to-dose-rate conversion factors) over a volume (defined by
<span class="math notranslate nohighlight">\(g\left( \overrightarrow{r} \right)\)</span>) corresponding to mesh tally,
then instead of simply using
<span class="math notranslate nohighlight">\(q^{+}\left( \overrightarrow{r},E \right) = \sigma_{d}\left( E \right)\ g(\overrightarrow{r})\)</span>,
the adjoint source would be</p>
<div class="math notranslate nohighlight" id="equation-mavric-14">
500
<span class="eqno">(14)<a class="headerlink" href="#equation-mavric-14" title="Permalink to this equation"></a></span>\[ 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}}\ ,\]</div>
Batson Iii, John's avatar
Batson Iii, John committed
501
<p>where <span class="math notranslate nohighlight">\(\phi\left( \overrightarrow{r},E \right)\)</span> is an estimate of
502
the forward flux, and the energy integral is over the voxel at <span class="math notranslate nohighlight">\(\overrightarrow{r}\)</span>.
Batson Iii, John's avatar
Batson Iii, John committed
503
504
505
506
The adjoint source is nonzero only where the mesh tally is defined
(<span class="math notranslate nohighlight">\(g\left( \overrightarrow{r} \right)\)</span>), and its strength is
inversely proportional to the forward estimate of dose rate.</p>
<p>The relative uncertainty of a tally is controlled by two components:
507
(1) the number of tracks contributing to the tally and (2) the
Batson Iii, John's avatar
Batson Iii, John committed
508
509
510
511
512
513
514
515
516
517
518
519
520
521
shape of the distribution of scores contributing to that tally. In the
Monte Carlo game, the number of simulated particles,
<span class="math notranslate nohighlight">\(m\left( \overrightarrow{r},E \right)\)</span>, can be related to the true
physical particle density, <span class="math notranslate nohighlight">\(n\left( \overrightarrow{r},E \right),\)</span>
by the average Monte Carlo weight of scoring particles,
<span class="math notranslate nohighlight">\(\overline{w}\left( \overrightarrow{r},E \right)\)</span>, by</p>
<div class="math notranslate nohighlight" id="equation-mavric-15">
<span class="eqno">(15)<a class="headerlink" href="#equation-mavric-15" title="Permalink to this equation"></a></span>\[n\left( \overrightarrow{r},E \right) = \ \overline{w}\left( \overrightarrow{r},E \right)\text{m}\left( \overrightarrow{r},E \right).\]</div>
<p>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, <span class="math notranslate nohighlight">\(m\left( \overrightarrow{r},E \right)\)</span>,
522
523
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
524
525
526
527
528
529
530
density. By attempting to keep the Monte Carlo particle density more
uniform, more uniform relative errors for the tallies should be
realized.</p>
<p>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, <span class="math notranslate nohighlight">\(\phi\left( \overrightarrow{r},E \right)\)</span>. The other
531
option, for a tally in which only an energy-integrated quantity is desired,
Batson Iii, John's avatar
Batson Iii, John committed
532
is to weight the adjoint inversely by that energy-integrated
533
534
quantity,<span class="math notranslate nohighlight">\(\int_{}^{}{\sigma_{d}\left( E \right)\phi\left( \overrightarrow{r},E \right)}\text{\ dE}\)</span>.
For a tally in which the total flux is desired, then the response in the
Batson Iii, John's avatar
Batson Iii, John committed
535
536
537
adjoint source is simply <span class="math notranslate nohighlight">\(\sigma_{d}\left( E \right) = 1\)</span>.</p>
<p>To optimize the forward Monte Carlo simulation for the calculation of
some quantity at multiple tally locations or across a mesh tally, the
538
adjoint source must be weighted by the estimate of that quantity.
Batson Iii, John's avatar
Batson Iii, John committed
539
540
541
542
543
544
545
For a tally defined by its spatial location
<span class="math notranslate nohighlight">\(g\left( \overrightarrow{r} \right)\)</span> and its optional response
<span class="math notranslate nohighlight">\(\sigma_{d}\left( E \right)\)</span>, the standard adjoint source would be
<span class="math notranslate nohighlight">\(q^{+}\left( \overrightarrow{r},E \right) = \sigma_{d}\left( E \right)\text{g}\left( \overrightarrow{r} \right)\)</span>.
The forward-weighted adjoint source,
<span class="math notranslate nohighlight">\(q^{+}\left( \overrightarrow{r},E \right)\)</span>, depending on what
quantity is to be optimized, is listed below.</p>
546
<table class="colwidths-given docutils align-default">
Batson Iii, John's avatar
Batson Iii, John committed
547
<colgroup>
548
549
550
<col style="width: 14%" />
<col style="width: 29%" />
<col style="width: 57%" />
Batson Iii, John's avatar
Batson Iii, John committed
551
552
</colgroup>
<thead>
553
554
555
<tr class="row-odd"><th class="head"><p>For the calculation of</p></th>
<th class="head"></th>
<th class="head"><p>Adjoint source</p></th>
Batson Iii, John's avatar
Batson Iii, John committed
556
557
558
</tr>
</thead>
<tbody>
559
560
<tr class="row-even"><td><p>Energy and spatially dependent flux</p></td>
<td><p><span class="math notranslate nohighlight">\(\phi\left(\overrightarrow{r},E \right)\)</span></p></td>
Batson Iii, John's avatar
Batson Iii, John committed
561
562
563
564
<td><div class="math notranslate nohighlight">
\[\frac{g\left( \overrightarrow{r}\right)}{\phi\left(\overrightarrow{r},E \right)}\]</div>
</td>
</tr>
565
566
<tr class="row-odd"><td><p>Spatially dependent total flux</p></td>
<td><p><span class="math notranslate nohighlight">\(\int_{}^{}{\phi\left( \overrightarrow{r},E \right)}\textit{dE}\)</span></p></td>
Batson Iii, John's avatar
Batson Iii, John committed
567
568
569
570
<td><div class="math notranslate nohighlight">
\[\frac{g\left( \overrightarrow{r}\right)}{\int_{}^{}{\phi\left( \overrightarrow{r},E \right)}\textit{dE}}\]</div>
</td>
</tr>
571
572
<tr class="row-even"><td><p>Spatially dependent total response</p></td>
<td><p><span class="math notranslate nohighlight">\(\int_{}^{}{\sigma_{d}\left( E \right)\phi    \left(\overrightarrow{r},E\right)}\textit{dE}\)</span></p></td>
Batson Iii, John's avatar
Batson Iii, John committed
573
<td><div class="math notranslate nohighlight">
574
\[\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}}\]</div>
Batson Iii, John's avatar
Batson Iii, John committed
575
576
577
578
579
580
</td>
</tr>
</tbody>
</table>
<p>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
581
relative uncertainties, an adjoint source must be developed for an
Batson Iii, John's avatar
Batson Iii, John committed
582
583
584
585
586
587
588
objective function that keeps some non-physical quantity—related to the
Monte Carlo particle density and similar in form to the desired
quantity—constant. 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.</p>
</div>
<div class="section" id="mavric-implementation-of-cadis">
589
590
591
592
593
594
595
596
597
598
599
600
601
<h3>MAVRIC Implementation of CADIS<a class="headerlink" href="#mavric-implementation-of-cadis" title="Permalink to this headline"></a></h3>
<p>With MAVRIC, as with other shielding codes, the user defines the problem as a set of
physical models—the 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.</p>
Batson Iii, John's avatar
Batson Iii, John committed
602
<div class="section" id="denovo">
603
604
605
606
607
608
609
610
<h4>Denovo<a class="headerlink" href="#denovo" title="Permalink to this headline"></a></h4>
<p>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.</p>
Batson Iii, John's avatar
Batson Iii, John committed
611
612
613
614
615
<p>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</p>
<div class="math notranslate nohighlight" id="equation-mavric-16">
<span class="eqno">(16)<a class="headerlink" href="#equation-mavric-16" title="Permalink to this equation"></a></span>\[\mathbf{L}\psi = \mathbf{\text{MS}}\phi + q\]</div>
<p>where <strong>L</strong> is the differential transport operator, <strong>M</strong> is the
moment-to-discrete operator, <strong>S</strong> is the matrix of scattering
616
cross section moments, <em>q</em> is the external and in-scatter source,
Batson Iii, John's avatar
Batson Iii, John committed
617
618
<span class="math notranslate nohighlight">\(\phi\)</span> is the vector of angular flux moments, and <span class="math notranslate nohighlight">\(\psi\)</span> is
the vector of angular fluxes at discrete angles. Applying the operator
619
<strong>D</strong>, where <span class="math notranslate nohighlight">\(\phi = \mathbf{D}\psi\)</span>, and rearranging terms, casts
Batson Iii, John's avatar
Batson Iii, John committed
620
621
622
623
624
625
626
627
628
629
630
the in-group equations in the form of a traditional linear system,
<span class="math notranslate nohighlight">\(\mathbf{A}x = b\)</span>,</p>
<blockquote>
<div><div class="math notranslate nohighlight" id="equation-mavric-17">
<span class="eqno">(17)<a class="headerlink" href="#equation-mavric-17" title="Permalink to this equation"></a></span>\[\left( \mathbf{I} - \mathbf{D}\mathbf{L}^{- 1}\mathbf{\text{MS}} \right) = \mathbf{D}\mathbf{L}^{- 1}q .\]</div>
</div></blockquote>
<p>The operation <span class="math notranslate nohighlight">\(\mathbf{L}^{- 1}\nu\)</span>, where <span class="math notranslate nohighlight">\(\nu\)</span> 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 block‑spatial decomposition of a three-dimensional
631
632
633
634
635
orthogonal mesh <a class="bibtex reference internal" href="#baker-sn-1998" id="id9">[BK98]</a>. The Trilinos package is used for the GMRES
implementation <a class="bibtex reference internal" href="#willenbring-trilinos-2003" id="id10">[WH03]</a> Denovo stores the mesh-based scalar fluxes in a
double precision binary file (*.dff) called a <em>Denovo flux file</em>. Past
versions of SCALE/Denovo used the TORT <a class="bibtex reference internal" href="#rhoades-tort-1997" id="id11">[RS97]</a> *.varscl file format
(DOORS package <a class="bibtex reference internal" href="#rhoades-doors-1998" id="id12">[RC98]</a>), but this was limited to single precision. Since
Batson Iii, John's avatar
Batson Iii, John committed
636
637
638
639
the rest of the MAVRIC sequence has not yet been parallelized, Denovo is
currently used only in serial mode within MAVRIC.</p>
</div>
<div class="section" id="monaco">
640
<h4>Monaco<a class="headerlink" href="#monaco" title="Permalink to this headline"></a></h4>
Batson Iii, John's avatar
Batson Iii, John committed
641
<p>The forward Monte Carlo transport is performed using Monaco, a
642
fixed-source shielding code that uses the SCALE General Geometry
Batson Iii, John's avatar
Batson Iii, John committed
643
644
645
646
647
648
649
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.</p>
<p>Much of the input to MAVRIC is the same as Monaco. More details can be
650
found in the Monaco chapter of the SCALE manual (SECTIONREFERENCE).</p>
Batson Iii, John's avatar
Batson Iii, John committed
651
652
</div>
<div class="section" id="running-mavric">
653
<h4>Running MAVRIC<a class="headerlink" href="#running-mavric" title="Permalink to this headline"></a></h4>
Batson Iii, John's avatar
Batson Iii, John committed
654
655
<p>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
656
analysis—–tasks that users typically had to do in the past. MAVRIC does
Batson Iii, John's avatar
Batson Iii, John committed
657
658
659
660
661
662
663
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
<a class="reference internal" href="#mavric-sequence"><span class="std std-numref">Table 1</span></a>. The user can instruct MAVRIC to run this whole sequence of
664
steps or just some subset of the steps to verify the
Batson Iii, John's avatar
Batson Iii, John committed
665
666
667
668
669
670
671
672
673
intermediate steps or to reuse previously calculated quantities in a new
analyses.</p>
<p>The MAVRIC sequence can be stopped after key points by using the
“parm= <em>parameter</em> ” operator on the “=mavric” command line, which is
the first line of the input file. The various parameters are listed in
Table <a class="reference internal" href="#mavric-param"><span class="std std-numref">Table 2</span></a>. These parameters allow the user to perform checks and make
changes to the importance map calculation before the actual Monte Carlo
calculation in Monaco.</p>
<p>MAVRIC also allows the sequence to start at several different points. If
674
an importance map and biased source have already been computed, they can then
Batson Iii, John's avatar
Batson Iii, John committed
675
676
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
677
begin the forward Monte Carlo calculation. All of the different combinations of
Batson Iii, John's avatar
Batson Iii, John committed
678
679
starting MAVRIC with some previously calculated quantities are listed in
the following section detailing the input options.</p>
680
<p>When using MG cross section libraries that do not have flux-to-dose-rate
Batson Iii, John's avatar
Batson Iii, John committed
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
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
751
752
753
754
755
756
757
conversion factors, use “parm=nodose” to prevent the cross section
processing codes from trying to move these values into the working
library.</p>
<p>MAVRIC creates many files that use the base problem name from the output
file. For an output file called “c:path1path2\<em>outputName</em>.out” or
“/home/path1/path2/ <em>outputName</em>.inp”, spaces in the output name will
cause trouble and should not be used.</p>
<table class="colwidths-given docutils align-center" id="mavric-sequence">
<caption><span class="caption-number">Table 1 </span><span class="caption-text">Steps in the MAVRIC sequence</span><a class="headerlink" href="#mavric-sequence" title="Permalink to this table"></a></caption>
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<tbody>
<tr class="row-odd"><td><p><strong>Cross section calculation</strong></p></td>
<td><p>XSProc is used to calculate the forward cross sections for Monaco</p></td>
</tr>
<tr class="row-even"><td><p><strong>Forward Denovo (optional)</strong></p></td>
<td></td>
</tr>
<tr class="row-odd"><td><p>Cross section calculation</p></td>
<td><p>XSProc is used to calculate the forward cross sections for Denovo</p></td>
</tr>
<tr class="row-even"><td><p>Forward flux calculation</p></td>
<td><p>Denovo calculates the estimate of the forward flux</p></td>
</tr>
<tr class="row-odd"><td><p><strong>Adjoint Denovo (optional)</strong></p></td>
<td></td>
</tr>
<tr class="row-even"><td><p>Cross section calculation</p></td>
<td><p>XSProc is used to calculate the adjoint cross sections for Denovo</p></td>
</tr>
<tr class="row-odd"><td><p>Adjoint flux calculation</p></td>
<td><p>Denovo calculates the estimate of the adjoint flux</p></td>
</tr>
<tr class="row-even"><td><p><strong>CADIS (optional)</strong></p></td>
<td><p>The scalar flux file from Denovo is then used to create the biased source distribution and transport weight windows</p></td>
</tr>
<tr class="row-odd"><td><p><strong>Monte Carlo calculation</strong></p></td>
<td><p>Monaco uses the biased source distribution and transport weight windows to calculate the various tallies</p></td>
</tr>
</tbody>
</table>
<table class="colwidths-given docutils align-center" id="mavric-param">
<caption><span class="caption-number">Table 2 </span><span class="caption-text">Parameters for the MAVRIC command line (“parm=…”)</span><a class="headerlink" href="#mavric-param" title="Permalink to this table"></a></caption>
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<thead>
<tr class="row-odd"><th class="head"><p>Parameter</p></th>
<th class="head"><p>MAVRIC will stop after</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p>check</p></td>
<td><p>input checking</p></td>
</tr>
<tr class="row-odd"><td><p>forinp</p></td>
<td><p>Forward Denovo input construction (makes <code class="docutils literal notranslate"><span class="pre">xkba_b.inp</span></code> in the tmp area)</p></td>
</tr>
<tr class="row-even"><td><p>forward</p></td>
<td><p>The forward Denovo calculation</p></td>
</tr>
<tr class="row-odd"><td><p>adjinp</p></td>
<td><p>Adjoint Denovo input construction (makes <code class="docutils literal notranslate"><span class="pre">xkba_b.inp</span></code> in the tmp area)</p></td>
</tr>
<tr class="row-even"><td><p>adjoint</p></td>
<td><p>The adjoint Denovo calculation</p></td>
</tr>
<tr class="row-odd"><td><p>impmap</p></td>
<td><p>Calculation of importance map and biased source</p></td>
</tr>
</tbody>
</table>
</div>
</div>
758
</div>
Batson Iii, John's avatar
Batson Iii, John committed
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
<div class="section" id="mavric-input">
<h2>MAVRIC input<a class="headerlink" href="#mavric-input" title="Permalink to this headline"></a></h2>
<p>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.</p>
<p>Blocks (must be in this order):</p>
<ul class="simple">
<li><p>Composition – (required) SCALE standard composition, list of materials used in the problem</p></li>
<li><p>Celldata – SCALE resonance self-shielding</p></li>
<li><p>Geometry – (required) SCALE general geometry description</p></li>
<li><p>Array – optional addition to the above geometry description</p></li>
<li><p>Volume – optional calculation or listing of region volumes</p></li>
<li><p>Plot – create 2D slices of the SGGP geometry</p></li>
</ul>
777
<p>Other Blocks (in any order, following the blocks listed above):</p>
Batson Iii, John's avatar
Batson Iii, John committed
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
<ul class="simple">
<li><p>Definitions – defines locations, response functions, and grid geometries used by other blocks</p></li>
<li><p>Sources – (required) description of the particle source spatial, energy, and directional distributions</p></li>
<li><p>Tallies – description of what to calculate: point detector tallies, region tallies, or mesh tallies</p></li>
<li><p>Parameters – how to perform the simulation (random number seed, how many histories, etc.)</p></li>
<li><p>Biasing – data for reducing the variance of the simulation</p></li>
<li><p>ImportanceMap – instructions for creating an importance map based on a discrete-ordinates calculation</p></li>
</ul>
<p>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.</p>
<p>For the other six blocks, scalar variables are set by “keyword=value”,
fixed-length arrays are set with “keyword value<sub>1</sub>
value<sub>N</sub>”, variable-length arrays are set with “keyword
value<sub>1</sub> … value<sub>N</sub> 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.</p>
<p>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.
802
803
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
804
805
806
807
808
809
810
without relisting all of the standard Monaco keywords for those blocks.
See <a class="reference internal" href="#input-format"><span class="std std-numref">Table 3</span></a> for an overview of MAVRIC input file structure.</p>
<div class="section" id="composition-block">
<h3>Composition block<a class="headerlink" href="#composition-block" title="Permalink to this headline"></a></h3>
<p>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
811
812
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
813
814
different cross section libraries and the names of standard materials.
An example is as follows:</p>
815
<div class="highlight-scale notranslate"><div class="highlight"><pre><span></span><span class="n">read</span><span class="err"> </span><span class="n">composition</span>
Batson Iii, John's avatar
Batson Iii, John committed
816

817
    <span class="err">uo</span><span class="m">2</span> <span class="m">1</span> <span class="m">0</span><span class="err">.</span><span class="m">2</span> <span class="m">293</span><span class="err">.</span><span class="m">0</span> <span class="m">92234</span> <span class="m">0</span><span class="err">.</span><span class="m">0055</span> <span class="m">92235</span> <span class="m">3</span><span class="err">.</span><span class="m">5</span> <span class="m">92238</span> <span class="m">96</span><span class="err">.</span><span class="m">4945</span> <span class="n">end</span>
Batson Iii, John's avatar
Batson Iii, John committed
818

819
    <span class="err">orconcrete</span> <span class="m">2</span> <span class="m">1</span><span class="err">.</span><span class="m">0</span> <span class="m">293</span><span class="err">.</span><span class="m">0</span> <span class="n">end</span>
Batson Iii, John's avatar
Batson Iii, John committed
820

821
    <span class="err">ss</span><span class="m">304</span> <span class="m">3</span> <span class="m">1</span><span class="err">.</span><span class="m">0</span> <span class="m">293</span><span class="err">.</span><span class="m">0</span> <span class="n">end</span>
Batson Iii, John's avatar
Batson Iii, John committed
822

823
<span class="n">end</span><span class="err"> </span><span class="n">composition</span>
Batson Iii, John's avatar
Batson Iii, John committed
824
825
</pre></div>
</div>
826
<p>Details on the cell data block are also included in the XSProc chapter (SECTIONREFERENCE).
Batson Iii, John's avatar
Batson Iii, John committed
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
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.</p>
<table class="colwidths-given docutils align-center" id="input-format">
<caption><span class="caption-number">Table 3 </span><span class="caption-text">Overall input format</span><a class="headerlink" href="#input-format" title="Permalink to this table"></a></caption>
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<thead>
<tr class="row-odd"><th class="head"><p>input file</p></th>
<th class="head"><p>Comment</p></th>
</tr>
</thead>
<tbody>
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
<tr class="row-even"><td><div class="highlight-scale notranslate"><div class="highlight"><pre><span></span><span class="nf">=mavric</span>
<span class="err">Some</span> <span class="err">title</span> <span class="err">for</span> <span class="err">this</span> <span class="err">problem</span>
<span class="err">v</span><span class="m">7</span><span class="err">-</span><span class="m">27</span><span class="err">n</span><span class="m">19</span><span class="err">g</span>
<span class="n">read</span><span class="err"> </span><span class="n">composition</span>
   <span class="err">...</span>
<span class="n">end</span><span class="err"> </span><span class="n">composition</span>
<span class="n">read</span><span class="err"> </span><span class="n">celldata</span>
   <span class="err">...</span>
<span class="n">end</span><span class="err"> </span><span class="n">celldata</span>
<span class="n">read</span><span class="err"> </span><span class="n">geometry</span>
   <span class="err">...</span>
<span class="n">end</span><span class="err"> </span><span class="n">geometry</span>
<span class="n">read</span><span class="err"> </span><span class="n">array</span>
   <span class="err">...</span>
<span class="n">end</span><span class="err"> </span><span class="n">array</span>
<span class="n">read</span><span class="err"> </span><span class="n">volume</span>
   <span class="err">...</span>
<span class="n">end</span><span class="err"> </span><span class="n">volume</span>
<span class="n">read</span><span class="err"> </span><span class="n">plot</span>
   <span class="err">...</span>
<span class="n">end</span><span class="err"> </span><span class="n">plot</span>
<span class="n">read</span><span class="err"> </span><span class="n">definitions</span>
   <span class="err">...</span>
<span class="n">end</span><span class="err"> </span><span class="n">definitions</span>
<span class="n">read</span><span class="err"> </span><span class="n">sources</span>
   <span class="err">...</span>
<span class="n">end</span><span class="err"> </span><span class="n">sources</span>
<span class="n">read</span><span class="err"> </span><span class="n">tallies</span>
   <span class="err">...</span>
<span class="n">end</span><span class="err"> </span><span class="n">tallies</span>
<span class="n">read</span><span class="err"> </span><span class="n">parameters</span>
   <span class="err">...</span>
<span class="n">end</span><span class="err"> </span><span class="n">parameters</span>
<span class="n">read</span><span class="err"> </span><span class="n">biasing</span>
   <span class="err">...</span>
<span class="n">end</span><span class="err"> </span><span class="n">biasing</span>
<span class="n">read</span><span class="err"> </span><span class="n">importanceMap</span>
   <span class="err">...</span>
<span class="n">end</span><span class="err"> </span><span class="n">importanceMap</span>
<span class="n">end</span><span class="err"> </span><span class="n">data</span>
<span class="n">end</span>
Batson Iii, John's avatar
Batson Iii, John committed
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
</pre></div>
</div>
</td>
<td><div class="highlight-rest notranslate"><div class="highlight"><pre><span></span>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
</pre></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="sggp-geometry-blocks">
<h3>SGGP geometry blocks<a class="headerlink" href="#sggp-geometry-blocks" title="Permalink to this headline"></a></h3>
937
938
939
940
941
942
943
<p>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.</p>
<p>For more details on each SGGP geometry block, see the following sections of the KENO-VI chapter (SECTIONREFERENCE) of the SCALE Manual.</p>
Batson Iii, John's avatar
Batson Iii, John committed
944
945
946
947
948
949
950
951
952
953
<blockquote>
<div><p>Geometry – <em>Geometry Data</em></p>
<p>Array – <em>Array Data</em></p>
<p>Volume – <em>Volume Data</em></p>
<p>Plot – <em>Plot Data</em></p>
</div></blockquote>
</div>
<div class="section" id="other-blocks-shared-with-monaco">
<h3>Other blocks shared with Monaco<a class="headerlink" href="#other-blocks-shared-with-monaco" title="Permalink to this headline"></a></h3>
<p>The definitions, sources, tallies, and biasing blocks are all the same
954
as Monaco. They are all fully described in the Monaco chapter (SECTIONREFERENCE) of the
Batson Iii, John's avatar
Batson Iii, John committed
955
956
957
958
959
960
961
SCALE Manual.</p>
<blockquote>
<div><p>Definitions – <em>Definitions Block</em></p>
<p>Sources – <em>Sources Block</em></p>
<p>Tallies – <em>Tallies Block</em></p>
<p>Biasing – <em>Biasing Block</em></p>
</div></blockquote>
962
963
<p>The parameters block includes several keywords that are not included in
Monaco (see the <em>Parameter Block</em> section of the Monaco chapter (SECTIONREFERENCE)) which
Batson Iii, John's avatar
Batson Iii, John committed
964
are used when the cross section library used in the importance
965
calculations differs from the library used in the final forward
Batson Iii, John's avatar
Batson Iii, John committed
966
967
968
969
970
971
972
973
974
975
976
977
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.</p>
978
979
980
<div class="highlight-scale notranslate"><div class="highlight"><pre><span></span><span class="nf">=mavric parm=centrm</span>
<span class="err">v</span><span class="m">7</span><span class="err">-</span><span class="m">27</span><span class="err">n</span><span class="m">19</span><span class="err">g</span>
<span class="err"></span>
Batson Iii, John's avatar
Batson Iii, John committed
981

982
<span class="n">read</span><span class="err"> </span><span class="n">parameters</span>
Batson Iii, John's avatar
Batson Iii, John committed
983

984
    <span class="err">library=”v</span><span class="m">7</span><span class="err">-</span><span class="m">200</span><span class="err">n</span><span class="m">47</span><span class="err">g”</span> <span class="err">parmString=”centrm”</span>
Batson Iii, John's avatar
Batson Iii, John committed
985

986
    <span class="err"></span>
Batson Iii, John's avatar
Batson Iii, John committed
987

988
<span class="n">end</span><span class="err"> </span><span class="n">parameters</span>
Batson Iii, John's avatar
Batson Iii, John committed
989

990
<span class="err"></span>
Batson Iii, John's avatar
Batson Iii, John committed
991

992
<span class="n">end</span><span class="err"> </span><span class="n">data</span>
Batson Iii, John's avatar
Batson Iii, John committed
993

994
<span class="n">end</span>
Batson Iii, John's avatar
Batson Iii, John committed
995
996
</pre></div>
</div>
997
998
999
1000
1001
1002
1003
1004
<p>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. <a class="reference internal" href="#extra-keywords"><span class="std std-numref">Table 4</span></a> summarizes all of the keywords in the MAVRIC parameter block.</p>
<p>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.</p>
<table class="docutils align-center" id="extra-keywords">
Batson Iii, John's avatar
Batson Iii, John committed
1005
1006
<caption><span class="caption-number">Table 4 </span><span class="caption-text">Extra keywords for the parameters block</span><a class="headerlink" href="#extra-keywords" title="Permalink to this table"></a></caption>
<colgroup>
1007
<col style="width: 100%" />
Batson Iii, John's avatar
Batson Iii, John committed
1008
1009
</colgroup>
<tbody>
1010
1011
<tr class="row-odd"><td><img alt="_images/table4.4.png" src="_images/table4.4.png" />
</td>
Batson Iii, John's avatar
Batson Iii, John committed
1012
1013
1014
1015
1016
1017
</tr>
</tbody>
</table>
</div>
<div class="section" id="importance-map-block">
<h3>Importance map block<a class="headerlink" href="#importance-map-block" title="Permalink to this headline"></a></h3>
1018
1019
1020
1021
1022
1023
1024
<p>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
<a class="reference internal" href="#keywords-importance"><span class="std std-numref">Table 5</span></a>.</p>
Batson Iii, John's avatar
Batson Iii, John committed
1025
1026
<div class="section" id="constructing-a-mesh-for-the-sn-calculation">
<h4>Constructing a mesh for the S<sub>N</sub> calculation<a class="headerlink" href="#constructing-a-mesh-for-the-sn-calculation" title="Permalink to this headline"></a></h4>
1027
<p>All uses of the importance map block that run the
Batson Iii, John's avatar
Batson Iii, John committed
1028
1029
1030
1031
1032
1033
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.</p>
<p>When using S<sub>N</sub> methods alone for solving radiation transport in
shielding problems, a good rule of thumb is to use mesh cell sizes on
1034
the order of a meanfree path of the particle. In complex shielding
Batson Iii, John's avatar
Batson Iii, John committed
1035
1036
1037
1038
1039
1040
1041
1042
1043
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.</p>
<p>In MAVRIC, the goal is to use the S<sub>N</sub> calculation for a quick
approximate solution. Accuracy is not paramount—just 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
1044
for calculating the importance map followed by the time to perform the Monte Carlo
Batson Iii, John's avatar
Batson Iii, John committed
1045
calculation exceeds that of a standard analog Monte Carlo calculation.
1046
Large numbers of mesh cells that result from using very small mesh sizes
Batson Iii, John's avatar
Batson Iii, John committed
1047
1048
1049
1050
1051
1052
1053
1054
for S<sub>N</sub> calculations also use a great deal of computer memory.</p>
<p>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</sub> 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
1055
importance map/biased source are as follows:</p>
Batson Iii, John's avatar
Batson Iii, John committed
1056
1057
1058
<ul class="simple">
<li><p>The true source regions should be included in the mesh with mesh
planes at their boundaries.</p></li>
1059
<li><p>Place point or very small sources in the center of a mesh cell, not on the mesh planes.</p></li>
Batson Iii, John's avatar
Batson Iii, John committed
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
<li><p>Any region of the geometry where particles could eventually
contribute to the tallies (the “important” areas) should be included
in the mesh.</p></li>
<li><p>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.</p></li>
<li><p>Volumetric adjoint sources should be included in the mesh with mesh
planes at their boundaries.</p></li>
<li><p>Mesh planes should be placed at significant material boundaries.</p></li>
<li><p>Neighboring cell sizes should not be drastically different.</p></li>
<li><p>Smaller cell sizes should be used where the adjoint flux is changing
1072
1073
rapidly, such as toward the surfaces of adjoint sources and
shields (rather than in their interiors).</p></li>
Batson Iii, John's avatar
Batson Iii, John committed
1074
1075
</ul>
<p>Another aspect to keep in mind is that the source in the forward Monaco
1076
Monte Carlo calculation will be a biased mesh-based source. Source
Batson Iii, John's avatar
Batson Iii, John committed
1077
1078
1079
1080
1081
1082
1083
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.</p>
<p>The geometry for the Denovo calculation is specified using the keyword
“gridGeometryID=” and the identification number of a grid geometry that
1084
1085
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 used—see below).</p>
Batson Iii, John's avatar
Batson Iii, John committed
1086
1087
</div>
<div class="section" id="macromaterials-for-sn-geometries">
1088
<span id="macromaterials"></span><h4>Macromaterials for S<sub>N</sub> geometries<a class="headerlink" href="#macromaterials-for-sn-geometries" title="Permalink to this headline"></a></h4>
Batson Iii, John's avatar
Batson Iii, John committed
1089
1090
1091
1092
1093
1094
1095
<p>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.</p>
1096
<p>To get more accurate solutions from a coarse-mesh
Batson Iii, John's avatar
Batson Iii, John committed
1097
1098
discrete-ordinates calculation, Denovo can represent the material in
each voxel of the mesh as a volume-weighted mixture of the real
1099
materials, called <em>macromaterials</em>, in the problem. When constructing the
Batson Iii, John's avatar
Batson Iii, John committed
1100
Denovo input, the Denovo EigenValue Calculation (DEVC, see section SECTIONREFERENCE)
1101
sequence can estimate the volume fraction occupied by using each real
Batson Iii, John's avatar
Batson Iii, John committed
1102
1103
1104
1105
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
1106
macromaterials are sampled and should consider this when constructing a mesh
Batson Iii, John's avatar
Batson Iii, John committed
1107
1108
1109
1110
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.</p>
<p>Because the list of macromaterials could become large, the user can also
1111
specify a tolerance for how close two different macromaterials can be in order to
Batson Iii, John's avatar
Batson Iii, John committed
1112
1113
be considered the same, thereby reducing the total number of
macromaterials. The macromaterial tolerance, “<code class="docutils literal notranslate"><span class="pre">mmTolerance=</span></code>”, is used for
1114
creating a different macromaterial from the those already created by
Batson Iii, John's avatar
Batson Iii, John committed
1115
1116
1117
looking at the infinity norm between two macromaterials.
The number of macromaterials does not appreciably impact Denovo run time
or memory requirements.</p>
1118
1119
<p>Two different sampling methods are available—point testing <a class="bibtex reference internal" href="#ibrahim-improving-2009" id="id13">[IPE+09]</a> with
the keyword <code class="docutils literal notranslate"><span class="pre">mmPointTest</span></code> and ray tracing <a class="bibtex reference internal" href="#johnson-fast-2013" id="id14">[Joh13]</a> with the keyword
Batson Iii, John's avatar
Batson Iii, John committed
1120
1121
1122
<code class="docutils literal notranslate"><span class="pre">mmRayTest</span></code>.</p>
<div class="section" id="ray-tracing">
<h5>Ray Tracing<a class="headerlink" href="#ray-tracing" title="Permalink to this headline"></a></h5>
1123
1124
1125
1126
1127
1128
1129
1130
1131
<p>This method estimates the volume of different materials in the Denovo mesh grid elements by
tracing rays through the SGGP geometry and computing the average track lengths through each material.
Rays are traced in all three dimensions to better estimate the volume fractions of materials within each voxel.
The mmSubCell parameter controls how many rays will be traced in each voxel in each dimension. For example, if mmSubCell= n,
then when tracing rays in the z dimension, each column of voxels uses a set of n×n rays
starting uniformly spaced in the x  and y  dimensions. With rays being cast from all three orthogonal directions,
a total of 3n2 rays are used to sample each voxel. One can think of subcells as an equally spaced sub-mesh with a
single ray positioned at each center. The number of subcells in each direction, and hence the number of rays, can
be explicitly given with mmSubCells ny nz nx nz nx ny end keyword for rays parallel to the x axis, y axis, and z axis.
Batson Iii, John's avatar
Batson Iii, John committed
1132
<a class="reference internal" href="#ray-positions"><span class="std std-numref">Fig. 1</span></a> shows different subcell configurations (in two dimensions) for a given voxel.</p>
1133
<div class="figure align-center" id="id27">
Batson Iii, John's avatar
Batson Iii, John committed
1134
<span id="ray-positions"></span><a class="reference internal image-reference" href="_images/fig4.1.01_rayTrace6.png"><img alt="_images/fig4.1.01_rayTrace6.png" src="_images/fig4.1.01_rayTrace6.png" style="width: 500px;" /></a>
1135
<p class="caption"><span class="caption-number">Fig. 1 </span><span class="caption-text">Ray positions within a voxel with different mmSubCells parameters.</span><a class="headerlink" href="#id27" title="Permalink to this image"></a></p>
Batson Iii, John's avatar
Batson Iii, John committed
1136
1137
1138
1139
1140
1141
1142
</div>
<p>Ray tracing is a more robust method compared to the simple point testing
method used in previous versions of SCALE/MAVRIC; however, it requires
more memory than point testing. Ray tracing gives more accurate
estimates of volume fractions because track lengths across a voxel give
more information than a series of test points. Ray tracing is also much
faster than point testing because the particle tracking routines are
1143
optimized to quickly determine lists of materials and distance along
Batson Iii, John's avatar
Batson Iii, John committed
1144
1145
a given ray.</p>
<p>Ray tracing operates on the grid geometry supplied by the user and
1146
shoots rays in all three directions, starting from the lower bounds of
Batson Iii, John's avatar
Batson Iii, John committed
1147
1148
1149
1150
1151
1152
1153
the mesh grid. An example of an arbitrary assembly geometry is shown in
<a class="reference internal" href="#geom-model"><span class="std std-numref">Fig. 2</span></a>. A ray consists of a number of steps that each correspond
to crossing a material boundary along the path of the ray. Ratios of
each step’s length to the voxel length in the ray’s direction determine
the material volume fraction of that step in that voxel, and summation
of the same material volume fractions gives the material volume fraction
of that material in that voxel. Ray tracing through a single voxel that
Batson Iii, John's avatar
Batson Iii, John committed
1154
contains a fuel pin is illustrated in <a class="reference internal" href="#ray-vox"><span class="std std-numref">Fig. 3</span></a>.</p>
1155
<div class="figure align-center" id="id28">
Batson Iii, John's avatar
Batson Iii, John committed
1156
<span id="geom-model"></span><a class="reference internal image-reference" href="_images/fig4.1.02_kenoDenovo.png"><img alt="_images/fig4.1.02_kenoDenovo.png" src="_images/fig4.1.02_kenoDenovo.png" style="width: 600px;" /></a>
1157
<p class="caption"><span class="caption-number">Fig. 2 </span><span class="caption-text">Geometry model (left) and the Denovo representation (right) of an assembly using macromaterials determined by ray tracing.</span><a class="headerlink" href="#id28" title="Permalink to this image"></a></p>
Batson Iii, John's avatar
Batson Iii, John committed
1158
</div>
1159
1160
1161
<div class="figure align-center" id="id29">
<span id="ray-vox"></span><a class="reference internal image-reference" href="_images/fig4.1.03_rayTrace.png"><img alt="_images/fig4.1.03_rayTrace.png" src="_images/fig4.1.03_rayTrace.png" style="width: 300px;" /></a>
<p class="caption"><span class="caption-number">Fig. 3 </span><span class="caption-text">Ray tracing (in two dimensions) through a voxel.</span><a class="headerlink" href="#id29" title="Permalink to this image"></a></p>
Batson Iii, John's avatar
Batson Iii, John committed
1162
1163
1164
1165
1166
1167
1168
1169
</div>
<p>The final constructed macromaterials for this model are also shown in
<a class="reference internal" href="#geom-model"><span class="std std-numref">Fig. 2</span></a>. Voxels that contain only a single material are assigned
the original material number in the constructed macromaterials. For the
voxels that contain a fuel pin with three different materials, the
result is a new macromaterial consisting of the volume weighted
fractions of each original material.</p>
<p>After the rays are shot in all three directions, the material volume
1170
fractions are updated, and macromaterials are created by using these
Batson Iii, John's avatar
Batson Iii, John committed
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
material volume fractions. Material volume fraction calculations for a
single voxel, as shown in <a class="reference internal" href="#ray-vox"><span class="std std-numref">Fig. 3</span></a>, are given by</p>
<div class="math notranslate nohighlight" id="equation-mavric-18">
<span class="eqno">(18)<a class="headerlink" href="#equation-mavric-18" title="Permalink to this equation"></a></span>\[\begin{split} F_{m} = \ \sum_{d = x,y,z}^{}{\sum_{r = 1}^{N_{r}}{\sum_{s = 1}^{N_{s}}\left\{ \begin{matrix}
 \frac{L_{d,r,s}}{L_{d}},\ \ \ &amp; m_{s} = m \\
 0,\ \ \ &amp; \mathrm{\text{otherwise}} \\
 \end{matrix} \right.\ }} \ \ \ \ \ \ \ and \ \ \ \ \ \ \ \ \ V_{m} = \frac{F_{m}}{\sum_{n = 1}^{N_{m}}F_{n}}\ ,\end{split}\]</div>
<p>where <em>Fm</em> = sampled fraction of material <em>m</em> in the voxel,</p>
<p><em>d</em> = direction of the rays (<em>x, y, z</em>),</p>
<p><em>r</em> = ray number,</p>
<p><span class="math notranslate nohighlight">\(N_r\)</span> = total number of rays in the voxel for direction of <em>d</em>,</p>
<p><em>s</em> = step number,</p>
<p><span class="math notranslate nohighlight">\(N_s\)</span> = total number of steps for ray r in the voxel for direction of
<em>d</em>,</p>
<p><span class="math notranslate nohighlight">\(L_{d,r,s}\)</span> = length of the steps s for ray r in the voxel for direction
of <em>d</em>,</p>
<p><span class="math notranslate nohighlight">\(L_d\)</span> = length of the voxel along direction of <em>d</em>,</p>
<p><span class="math notranslate nohighlight">\(m_s\)</span> = material of step <em>s</em>,</p>
<p><em>m</em> = material number,</p>
<p><span class="math notranslate nohighlight">\(N_m\)</span> = total number of materials in the voxel, and</p>
<p><span class="math notranslate nohighlight">\(V_m\)</span> = volume fraction of material m in the voxel.</p>
</div>
<div class="section" id="point-testing">
<h5>Point Testing<a class="headerlink" href="#point-testing" title="Permalink to this headline"></a></h5>
<p>The recursive bisection method is utilized in point testing and uses a
series of point tests to determine the macromaterial fractions. For a
given voxel, the material at the center is compared to the material at
1198
1199
the eight corners. If they are all the same, then the entire volume is
considered to be made of that material. If they are different, then the volume is
Batson Iii, John's avatar
Batson Iii, John committed
1200
1201
1202
1203
1204
1205
divided into two in each dimension. Each subvolume is tested, and the
method is then applied to the subvolumes that are not of a single
material. When the ratio of the volume of the tested region to the
original voxel becomes less than a user-specified tolerance (in the
range of 10-1 to 10-4), then further subdivision and testing are
stopped. This is illustrated in <a class="reference internal" href="#rec-macro"><span class="std std-numref">Fig. 4</span></a>.</p>
1206
1207
<div class="figure align-default" id="rec-macro">
<a class="reference internal image-reference" href="_images/rec-macro.png"><img alt="_images/rec-macro.png" src="_images/rec-macro.png" style="width: 99%;" /></a>
Batson Iii, John's avatar
Batson Iii, John committed
1208
1209
</div>
<p class="centered">
1210
<strong><em>Fig. 4 Successive steps in the recursive macromaterial method</em></strong></p><p>In point testing, the keyword “mmTolerance=f” is interpreted to be where <em>f</em> is the smallest
Batson Iii, John's avatar
Batson Iii, John committed
1211
fraction of the voxel volume that can be achieved by bisection method and hence the limiting
1212
factor for dividing the voxel. This same tolerance <em>f</em> is also used to limit the number of macromaterials.
Batson Iii, John's avatar
Batson Iii, John committed
1213
1214
Before a new macromaterial is created, if one already exists where the fraction of each actual
material matches to within the given tolerance, then the existing material will be used. If
1215
using only a single point at the center of each voxel, then use “mmTolerance=1”.
Batson Iii, John's avatar
Batson Iii, John committed
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
The mmSubCell keyword is not used in point testing.</p>
</div>
<div class="section" id="example">
<h5>Example<a class="headerlink" href="#example" title="Permalink to this headline"></a></h5>
<p><a class="reference internal" href="#cask-geom"><span class="std std-numref">Fig. 5</span></a> shows an example of a cask geometry with two types of spent fuel (yellows),
steel (blue), resin (green), and other metals (gray). When the Denovo geometry is set up by
testing only the center of each mesh cell, the curved surfaces are not well represented (upper right).
By applying the ray-tracing method and defining a new material made of partial fractions of the original materials,
an improved Denovo model can be made. In the lower left of the figure, the Denovo
model was constructed using one ray (in each dimension) per voxel and a tolerance of 0.1.
This gives 20 new materials that are a mixture of the original 13 actual materials and void.
With mmSubCells=3 and an mmTolerance=0.01, 139 macromaterials are created.</p>
<p>A macromaterial table listing the fractions of each macromaterial is saved to a file called “outputName.mmt”,
where outputName is the name the user chose for his or her output file. This file can be used by the Mesh File
Viewer to display the macromaterials as mixtures of the actual materials, as seen in the lower row of <a class="reference internal" href="#cask-geom"><span class="std std-numref">Fig. 5</span></a>.
See the Mesh File Viewer help pages for more information on how to use colormap files and macromaterial tables.</p>
1232
1233
1234
1235
<div class="figure align-default" id="id30">
<span id="cask-geom"></span><img alt="_images/cask-geom.png" src="_images/cask-geom.png" />
<p class="caption"><span class="caption-number">Fig. 5 </span><span class="caption-text">Cask geometry model (upper left) and the Denovo representation using cell center testing (upper right). Representations using macromaterials determined by ray tracing are shown for mmSubCell=1/mmTolerance=0.1 (lower left) and mmSubCell=3/mmTolerance=0.01 (lower right).*</span><a class="headerlink" href="#id30" title="Permalink to this image"></a></p>
</div>
Batson Iii, John's avatar
Batson Iii, John committed
1236
1237
1238
1239
</div>
</div>
<div class="section" id="optimizing-source-detector-problems">
<h4>Optimizing source/detector problems<a class="headerlink" href="#optimizing-source-detector-problems" title="Permalink to this headline"></a></h4>
1240
<p>For standard source/detector problems in which one tally is to be optimized
Batson Iii, John's avatar
Batson Iii, John committed
1241
in the forward Monte Carlo calculation, an adjoint source based on that
1242
tally must be constructed. An adjoint source requires a unique and
Batson Iii, John's avatar
Batson Iii, John committed
1243
1244
1245
1246
1247
positive identification number, a physical location, and an energy
spectrum. The adjoint source location can be specified either by (1) a
point location (“locationID=” keyword) or (2) a volume described by a
box (“boundingBox” array). A bounding box is specified by maximum and
minimum extent in each dimension—<span class="math notranslate nohighlight">\(x_{max}\)</span> <span class="math notranslate nohighlight">\(x_{min}\)</span> <span class="math notranslate nohighlight">\(y_{max}\)</span> <span class="math notranslate nohighlight">\(y_{min}\)</span> <span class="math notranslate nohighlight">\(z_{max}\)</span>
1248
<span class="math notranslate nohighlight">\(z_{min}\)</span>—in global coordinates. The boundingBox should not be degenerate
Batson Iii, John's avatar
Batson Iii, John committed
1249
1250
1251
(should have volume&gt;0) but can be optionally limited to areas matching a
given unit number (“unit=”), a given region number (“region=”), or a
given material mixture number (“mixture=”). A mixture and a region
1252
cannot both be specified, since that would either be redundant or
Batson Iii, John's avatar
Batson Iii, John committed
1253
1254
1255
1256
1257
1258
1259
1260
mutually exclusive. The energy spectrum of an adjoint source is a
response function (“responseID=”) listing one of the ID numbers of the
responses defined in the definitions block. An optional weight can be
assigned to each adjoint source using the “weight=” keyword. If not
given, the default weight is 1.0.</p>
<p>For example, to optimize a region tally, the user would construct an
adjoint source located in the same place as the tally, with an adjoint
source spectrum equal to the response function that the tally is
1261
computing. Note that the grid geometry 1 and response function 3 must
Batson Iii, John's avatar
Batson Iii, John committed
1262
already be defined in the definitions block.</p>
1263
1264
1265
1266
1267
1268
1269
1270
<div class="highlight-scale notranslate"><div class="highlight"><pre><span></span><span class="n">read</span><span class="err"> </span><span class="n">importanceMap</span>
   <span class="err">gridGeometryID=</span><span class="m">1</span>
   <span class="err">adjointSource</span> <span class="m">24</span>
       <span class="err">boundingBox</span> <span class="m">12</span><span class="err">.</span><span class="m">0</span> <span class="m">10</span><span class="err">.</span><span class="m">0</span>  <span class="m">5</span><span class="err">.</span><span class="m">0</span> <span class="err">-</span><span class="m">5</span><span class="err">.</span><span class="m">0</span>  <span class="m">10</span><span class="err">.</span><span class="m">0</span> <span class="err">-</span><span class="m">10</span><span class="err">.</span><span class="m">0</span>
       <span class="err">unit=</span><span class="m">1</span> <span class="err">region=</span><span class="m">5</span>
       <span class="err">responseID=</span><span class="m">3</span>
   <span class="n">end</span><span class="err"> </span><span class="n">adjointSource</span>
<span class="n">end</span><span class="err"> </span><span class="n">importanceMap</span>
Batson Iii, John's avatar
Batson Iii, John committed
1271
1272
1273
1274
</pre></div>
</div>
<p>For optimizing a point detector for the calculation of total photon flux,
the importance map block would look like the following:</p>
1275
1276
1277
1278
1279
1280
1281
<div class="highlight-scale notranslate"><div class="highlight"><pre><span></span><span class="n">read</span><span class="err"> </span><span class="n">importanceMap</span>
   <span class="err">adjointSource</span> <span class="m">21</span>
       <span class="err">locationID=</span><span class="m">4</span>
       <span class="err">responseID=</span><span class="m">1</span>
   <span class="n">end</span><span class="err"> </span><span class="n">adjointSource</span>
   <span class="err">gridGeometryID=</span><span class="m">1</span>
<span class="n">end</span><span class="err"> </span><span class="n">importanceMap</span>
Batson Iii, John's avatar
Batson Iii, John committed
1282
1283
</pre></div>
</div>
1284
1285
1286
1287
1288
1289
1290
<p>where location 4 is the same location used by the point detector. To calculate total photon flux, response function 1 must be defined in the definitions block similar to this response:</p>
<div class="highlight-scale notranslate"><div class="highlight"><pre><span></span><span class="n">read</span><span class="err"> </span><span class="n">definitions</span>
    <span class="err">response</span> <span class="m">1</span>
         <span class="err">values</span> <span class="m">27</span><span class="err">r</span><span class="m">0</span><span class="err">.</span><span class="m">0</span> <span class="m">19</span><span class="err">r</span><span class="m">1</span><span class="err">.</span> <span class="n">end</span>
    <span class="n">end</span><span class="err"> </span><span class="n">response</span>
    <span class="err"></span>
<span class="n">end</span><span class="err"> </span><span class="n">definitions</span>
Batson Iii, John's avatar
Batson Iii, John committed
1291
1292
</pre></div>
</div>
1293
1294
1295
1296
1297
1298
1299
1300
1301
<p>This response is used for computing total photon flux for the 27 neutron/19 photon group coupled cross section library or like this response</p>
<div class="highlight-scale notranslate"><div class="highlight"><pre><span></span><span class="n">read</span><span class="err"> </span><span class="n">definitions</span>
    <span class="err">response</span> <span class="m">1</span>
         <span class="err">photon</span>
         <span class="err">bounds</span> <span class="m">1000</span><span class="err">.</span><span class="m">0</span> <span class="m">2</span><span class="err">.</span><span class="m">0</span><span class="err">e</span><span class="m">7</span> <span class="n">end</span>
         <span class="err">values</span>  <span class="m">1</span><span class="err">.</span><span class="m">0</span>   <span class="m">1</span><span class="err">.</span><span class="m">0</span>   <span class="n">end</span>
    <span class="n">end</span><span class="err"> </span><span class="n">response</span>
    <span class="err"></span>
<span class="n">end</span><span class="err"> </span><span class="n">definitions</span>
Batson Iii, John's avatar
Batson Iii, John committed
1302
1303
</pre></div>
</div>
1304
<p>which is independent of the cross section library.</p>
Batson Iii, John's avatar
Batson Iii, John committed
1305
1306
1307
</div>
<div class="section" id="multiple-adjoint-sources">
<h4>Multiple adjoint sources<a class="headerlink" href="#multiple-adjoint-sources" title="Permalink to this headline"></a></h4>
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
<p>If there are several tallies in very close proximity and/or several different responses being calculated by the tallies, multiple adjoint sources can be used.</p>
<div class="highlight-scale notranslate"><div class="highlight"><pre><span></span><span class="n">read</span><span class="err"> </span><span class="n">importanceMap</span>
   <span class="err">gridGeometryID=</span><span class="m">1</span>
   <span class="err">adjointSource</span> <span class="m">1</span>
       <span class="err">locationID=</span><span class="m">4</span>  <span class="err">responseID=</span><span class="m">20</span>
   <span class="n">end</span><span class="err"> </span><span class="n">adjointSource</span>
   <span class="err">adjointSource</span> <span class="m">2</span>
       <span class="err">locationID=</span><span class="m">5</span>  <span class="err">responseID=</span><span class="m">21</span>
       <span class="err">weight=</span><span class="m">2</span><span class="err">.</span><span class="m">0</span>
   <span class="n">end</span><span class="err"> </span><span class="n">adjointSource</span>
<span class="n">end</span><span class="err"> </span><span class="n">importanceMap</span>
Batson Iii, John's avatar
Batson Iii, John committed
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
</pre></div>
</div>
<p>Note that adjoint sources using point locations can be mixed with volumetric adjoint sources (using bounding boxes).</p>
</div>
<div class="section" id="options-for-denovo-s-n-calculations">
<h4>Options for Denovo <span class="math notranslate nohighlight">\(S_n\)</span> calculations<a class="headerlink" href="#options-for-denovo-s-n-calculations" title="Permalink to this headline"></a></h4>
<p>While the default values for various calculational parameters and settings used by Denovo for
the MAVRIC sequence should cover most applications, they can be changed if desired.
The two most basic parameters are the quadrature set used for the discrete ordinates and
the order of the Legendre polynomials used in describing the angular scattering.
The default quadrature order that MAVRIC uses is a level symmetric <span class="math notranslate nohighlight">\(S_8\)</span> set, and the
default scattering order is <span class="math notranslate nohighlight">\(P_3\)</span> (or the maximum number of coefficients contained in the
cross-section library if less than 3). <span class="math notranslate nohighlight">\(S_8\)</span>/ <span class="math notranslate nohighlight">\(P_3\)</span> is an adequate choice for many applications,
but the user is free to changes these. For complex ducts or transport over large distances at small angles,
<span class="math notranslate nohighlight">\(S_{12}\)</span> may be required. <span class="math notranslate nohighlight">\(S_4\)</span>/ <span class="math notranslate nohighlight">\(P_1\)</span> or even <span class="math notranslate nohighlight">\(S_2\)</span>/ <span class="math notranslate nohighlight">\(P_0\)</span> would be useful in doing a very cursory run to confirm that the
1334
problem was input correctly, but this would likely be inadequate for weight window generation in a problem
Batson Iii, John's avatar
Batson Iii, John committed
1335
that is complex enough to require advanced variance reduction.</p>
1336
<p>These and other Denovo options are applied to both
Batson Iii, John's avatar
Batson Iii, John committed
1337
1338
1339
the forward and the adjoint calculations that are required from the
inputs given in the importance map block.</p>
<p>In problems with small sources or media that are not highly scattering,
1340
discrete ordinates can suffer from “ray effects” <a class="bibtex reference internal" href="#lathrop-ray-1968" id="id15">[Lat68]</a><a class="bibtex reference internal" href="#lathrop-remedies-1971" id="id16">[Lat71]</a>
Batson Iii, John's avatar
Batson Iii, John committed
1341
where artifacts of the discrete quadrature directions can be seen in the
1342
computed fluxes. Denovo has a
Batson Iii, John's avatar
Batson Iii, John committed
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
first-collision capability to help alleviate ray effects. This method
computes the uncollided flux in each mesh cell from a point source. The
uncollided fluxes are then used as a distributed source in the main
discrete-ordinates solution. At the end of the main calculation, the
uncollided fluxes are added to the fluxes computed with the first
collision source, forming the total flux. While this helps reduce ray
effects in many problems, the first-collision capability can take a
significant amount of time to compute on a mesh with many cells or for
many point sources.</p>
<p>Adjoint sources that use point locations will automatically use the
Denovo first-collision capability. Volumetric adjoint sources (that use
a boundingBox) will be treated without the first-collision capability.
The keywords “firstCollision” and “noFirstCollision” will be ignored by
MAVRIC for adjoint calculations. Keywords for Denovo options in the
importance map block are summarized at the end of this section, in
1358
<a class="reference internal" href="#denovo-op"><span class="std std-numref">Table 6</span></a>.</p>
Batson Iii, John's avatar
Batson Iii, John committed
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
</div>
<div class="section" id="starting-with-an-existing-adjoint-flux-file">
<h4>Starting with an existing adjoint flux file<a class="headerlink" href="#starting-with-an-existing-adjoint-flux-file" title="Permalink to this headline"></a></h4>
<p>An importance map can be made from an existing Denovo flux file by using
the keyword “adjointFluxes=” with the appropriate file name in quotes.
The file must be a binary file using the *.dff file format, and the
number of groups must match the number of groups in the MAVRIC cross
section library (i.e., the library entered on the third line of the
MAVRIC input file). Instead of performing an adjoint calculation, the
fluxes read from the file will be used to create both the mesh-based
importance map and the biased mesh source.</p>
1370
1371
1372
1373
<div class="highlight-scale notranslate"><div class="highlight"><pre><span></span><span class="n">read</span><span class="err"> </span><span class="n">importanceMap</span>
    <span class="err">adjointFluxes=”c:\mydocu~</span><span class="m">1</span><span class="err">\previousRun.adjoint.dff”</span>
    <span class="err">gridGeometry=</span><span class="m">7</span>
<span class="n">end</span><span class="err"> </span><span class="n">importanceMap</span>
Batson Iii, John's avatar
Batson Iii, John committed
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
</pre></div>
</div>
<p>If the “adjointFluxes=” keyword is used and any adjoint sources are defined, an error will result. If a forward flux file is supplied for forward-weighting the adjoint source (see below), then an adjoint flux file cannot be specified.</p>
<p>The grid geometry is not required when using a pre-existing flux file. If grid geometry is not supplied, one will be created from the mesh planes that are contained in the Denovo flux file (which were used to compute the fluxes in that file).</p>
</div>
<div class="section" id="forward-weighting-the-adjoint-source">
<h4>Forward-weighting the adjoint source<a class="headerlink" href="#forward-weighting-the-adjoint-source" title="Permalink to this headline"></a></h4>
<p>To optimize a mesh tally or multiple region tallies/point detector
tallies over a large region, instead of a uniform weighting of the
adjoint source, a weighting based on the inverse of the forward response
1384
can be performed. This requires an extra discrete-ordinates calculation but
Batson Iii, John's avatar
Batson Iii, John committed
1385
1386
1387
can help the forward Monte Carlo calculation compute the mesh tally or
group of tallies with more uniform statistical uncertainties.</p>
<p>The same grid geometry will be used in both the forward calculation and
1388
the adjoint calculation, so the user must ensure that the mesh
Batson Iii, John's avatar
Batson Iii, John committed
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
covers all of the forward sources and all of the adjoint sources, even
if they are point sources.</p>
<p>To use forward-weighted CADIS, specify either of the keywords –
“respWeighting” or “fluxWeighting”. For either, MAVRIC will run Denovo
to create an estimate of the forward flux,
<span class="math notranslate nohighlight">\(\phi\left( \overrightarrow{r},E \right)\)</span>. For response weighting
(“respWeighting”), each adjoint source is inversely weighted by the
integral of the product of the response function used in that adjoint
source and the estimate of the forward flux. For an adjoint source
described by the geometric function <span class="math notranslate nohighlight">\(g(\overrightarrow{r})\)</span> and
the response function <span class="math notranslate nohighlight">\(\sigma_{d}\left( E \right)\)</span> (note that
<span class=