Monaco.rst.txt 208 KB
Newer Older
Batson Iii's avatar
Batson Iii committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
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
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
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
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
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
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
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
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
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
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
.. _Monaco:


Monaco: A Fixed-Source Monte Carlo Transport Code for Shielding Applications
============================================================================

*D. E. Peplow and C. Celik*


Monaco is a general-purpose, fixed-source, Monte Carlo shielding code
for the SCALE package. It is a functional module that uses either AMPX
cross sections or continuous energy libraries to calculate neutron and
photon fluxes and responses to specific geometry regions, to point
detectors and to mesh tallies. Basic multigroup transport methods are
inherited from Monaco’s predecessor, MORSE. Continuous energy physics
has been incorporated into the code with a new physics package that uses
the same CE data as CE-KENO-VI, with extensions for simulating photons.
Variance reduction capabilities include source biasing and weight
windows, either by geometry region or by using a mesh-based importance
map. User input includes the cross section file unit number; the
geometry description using the SCALE General Geometry Package; source
description as a function of position, energy, and direction; tally
descriptions (fluxes in which regions, at what point detectors, or over
what mesh grids); and response functions (functions of energy). Output
consists of tables detailing the region and point detector fluxes (and
their responses), as well as files for mesh tallies.

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


Monaco is a neutron/photon, fixed-source Monte Carlo shielding code for
the SCALE code package. Monaco uses the SCALE General Geometry Package
(SGGP)---the same geometry description as KENO-VI. Monaco has many
options available to the user for specifying source distributions, many
tally options, and many variance reduction capabilities. Monaco was
originally based on the MORSE Monte Carlo code but has been extensively
modified to modernize the coding, increase the number of capabilities in
terms of sources and tallies, and allow for either multigroup or
continuous energy (CE) transport through the use of the new SCALE CE
Modular Physics Package (SCEMPP).

Monaco was developed to address a number of long-term goals for the
Monte Carlo shielding capabilities in SCALE. The principal goals for
this project included (1) unification of geometric descriptions between
the SCALE shielding and criticality Monte Carlo codes,
(2) implementation of a mesh-based importance map and mesh-based biased
source distribution so that automated variance reduction could be used,
and (3) establishment of a code using modern programming practices from
which to continue future development. The addition of a
continuous-energy transport capability is a significant change as well.

Monaco is the key component of the MAVRIC sequence, which also uses
Denovo to create the mesh-based importance map and mesh-based biased
source distribution for general 3-D automated variance reduction. See
the MAVRIC chapter for more information.

Monaco Capabilities
-------------------

Monaco has a wide range of source descriptions and tallies for
performing general radiation transport calculations. Note that Monaco
can work with either the AMPX-based multigroup libraries or the newer
AMPX-based CE libraries. Note that for CE calculations, tallies still
employ a multigroup energy structure to store and report results.

Source Descriptions
~~~~~~~~~~~~~~~~~~~

Multiple sources can be defined for a Monaco calculation. Sampling of
the different sources can be biased by the user. Each source is
specified by its spatial distribution, its energy distribution, its
directional distribution, and its strength. Distributions defined by the
user can also be biased and can be used multiple times by different
sources. The Monaco tallies assume that the sources all have units of
particles/second. If the source strengths are given in other units, the
user will have to incorporate the proper conversion to the tally results
and remember to interpret the results accordingly.

Distributions
^^^^^^^^^^^^^

Two types of basic distributions are used by Monaco – binned histograms
and a set of value/function pairs. The binned histogram type is defined
by :math:`n + 1` bin boundaries and *n* values, representing the
integrated amount in each bin. For the true distribution\ :math:`f(x)`,
the bin boundaries
:math:`\left\lbrack x_{0},\ x_{1},\ \ldots,\ x_{n} \right\rbrack` and
the integrated amounts
:math:`F_{i} = \ \int_{x_{i - 1}}^{x_{i}}{f\left( x \right)\text{dx}}`
are given. The distribution will be normalized by Monaco after reading.
The user can optionally bias a binned histogram distribution by
supplying one of the following: the biased sampling distribution
amounts,
:math:`G_{i} = \ \int_{x_{i - 1}}^{x_{i}}{g\left( x \right)\text{dx}}`;
the importance of each bin, :math:`I_{i}`; or the suggested weight for
each bin, :math:`w_{i}`.

Based on what type of input is given, Monaco will compute a properly
normalized probability distribution function for sampling. If the
importances are given, the sampling distribution is computed as

.. math::
  :label: Monaco-1

  G_{i} = \frac{I_{i}F_{i}}{\sum_{i}^{}{I_{i}F_{i}}}

If suggested weights are given, then the sampling distribution is
computed as

.. math::
  :label: Monaco-2

  G_{i} = \frac{\frac{F_{i}}{w_{i}}}{\sum_{i}^{}\frac{F_{i}}{w_{i}}}

for bins with non-zero weight. The sampling distribution for bins with a
suggested weight of zero are set to :math:`G_{i} = \ 0`. When sampled,
particles are assigned a weight of :math:`\frac{F_{i}}{G_{i}}`.

The second type of distribution that a user can define is for a series
of point values of a function. For a set of :math:`n + 1` point pairs,
:math:`\left( x_{i},\ f_{i} \right)` for
:math:`i \in \left\lbrack 0\ldots n \right\rbrack`, defining :math:`n`
intervals, a distribution can be made by linearly interpolating between
adjacent point pairs. This type of distribution can also be biased by
supplying one of the following: the biased sampling distribution
function value :math:`g_{i}` at each point, the importance of each
point, :math:`I_{i}`; or the suggested weight for each point,
:math:`w_{i}`. Similar to above, if importances or weights are given,
Monaco computes the biased distribution for sampling. For the
value/function point pairs type of distribution, the weight assigned to
the sampled particle is a continuous function.

Some commonly used distributions are built into Monaco and can be used
by simple keywords. Monaco can produce a graph of any distribution so
that the user can verify that the input was entered correctly.

Spatial energy and directional attributes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Each Monaco source is described by three separable components: spatial,
energy and directional.

The spatial component of a source in Monaco is simple but very flexible.
First, the general shape of the source region is defined in global
coordinates. The basic solid shapes and their allowed degenerate cases
are listed in :numref:`Monaco-tab1`. The user can reference any of the defined
distributions to describe the source distribution in any coordinate
(*x*, *y*, and *z* for cuboids, *r* and *z* for cylinders and *r* for
spheres) to use for sampling or leave the source distribution as uniform
over each dimension for the solid shape. The source region can be
limited by the underlying SGGP geometry variables of unit, media, and
mixture. This way, source volumes (or planes, lines, or points) can be
defined that are independent or dependent on the model geometry. A
cylinder or cylindrical shell region can be oriented with its axis in
any direction.

.. _Monaco-tab1:
.. table:: Available source shapes and their allowed degenerate cases

  +-----------------------------------+-----------------------------------+
  | **Shape**                         | **Allowable degenerate cases**    |
  +===================================+===================================+
  | cuboid                            | rectangular plane, line, point    |
  +-----------------------------------+-----------------------------------+
  | cylinder                          | circular plane, line, point       |
  +-----------------------------------+-----------------------------------+
  | cylindrical shell                 | cylinder, planar annulus,         |
  |                                   | circular plane, cylindrical       |
  |                                   | surface, line, ring, point        |
  +-----------------------------------+-----------------------------------+
  | sphere                            | point                             |
  +-----------------------------------+-----------------------------------+
  | spherical shell                   | sphere, spherical surface, point  |
  +-----------------------------------+-----------------------------------+

Monaco samples the source position using either the given distributions
or uniformly over the basic solid shape and then uses rejection if any
of the optional SGGP geometry limiters have been specified. For sources
that are confined to a particular unit, media, or mixture, users should
make sure the basic solid shape tightly bounds the desired region for
efficient sampling.

For the energy component of each source, either type of distribution
described above can be used. Biasing can be used in the energy component
of the source as well. The Watt spectrum is a built-in distribution
which uses the Froehner and Spencer :cite:`froehner_method_1981` method for sampling. If the
defined energy distribution has point(s) that are out of the problem’s
energy range for a CE problem, these points will be rejected in the
source energy sampling and an error message will be generated. The
warnings will be suppressed if the number of rejected source points
exceeds a pre-defined threshold (1000).

Distributions can be used to define the directional component of the
source. A function of the cosine of the polar angle, with respect to
some reference direction in global coordinates, can be used by Monaco.
If no directional distribution is specified, the default is an isotropic
distribution (one directional bin from *µ*\ = −1 to *µ*\ =1). The
default reference direction is the positive *z*-axis (<0,0,1>).

Monaco mesh source map files
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

An alternative to specifying the separate spatial and energy
distributions, a Monaco mesh source file can be used. A mesh source
consists of a 3D Cartesian mesh that overlay the geometry. Each mesh
cell has some probability of emitting a source particle, and within each
mesh cell, a different energy distribution can be sampled. Position
within each mesh cell is sampled uniformly, and the emission direction
is sampled from the standard directional distribution. Monaco mesh
source files are typically produced by the MAVRIC sequence or by other
Monaco calculations (see the mesh source saver option in the source
input). For a source constructed from the separable spatial and energy
distributions, Monaco can create a mesh source file which can then be
visualized using the Mesh File Viewer. This is a convenient way to
ensure that the source being used is what was intended.

Tallies
~~~~~~~

Monaco offers three tally types: point detectors, region tallies, and
mesh tallies. Each is useful in determining quantities of interest in
the simulation. Any number of each can be used, up to the limit of
machine memory. The tallies will compute flux for each group, the total
neutron and total photon fluxes, and any number of dose-like responses.
A typical dose-like response, *R*, is the integral over energy of the
product of a response function, :math:`f\left( E \right)`, and the flux,
:math:`\phi\left( E \right)`.


 .. math::
  :label: Monaco-3

  R = \int_{}^{}{f\left(E \right)\phi \left( E \right)\ } dE


In multigroup calculations, the total response would be expressed as the
sum over all groups :math:`R = \sum_{}^{}{f_{g}\phi_{g}}`. For CE
calculations, tallies can be segmented into energy and time bins which
can be thought of as “groups”. All three of the tally types can be
scaled with a constant – for example, to account for units conversions.

Tally statistics
^^^^^^^^^^^^^^^^

The three Monaco tallies are really just collections of simple and
extended tallies for each group, each total, and each group contribution
to a response or total response. The simple tally works in the following
way: a history score :math:`h_{i}` is zeroed out at the start of history
:math:`i`. During the course of the history, when an event occurs during
substep :math:`j`, a score consisting of some contribution
:math:`c_{\text{ij}}` weighted by the current particle weight
:math:`w_{\text{ij}}` is calculated and added to :math:`h_{i}`. At the
end of the history, the history score is the total weighted score for
each substep :math:`j` in the history.


 .. math::
  :label: Monaco-4

  h_{i} = \sum_{j}^{}w_{\text{ij}}c_{\text{ij}}


Note that the values for the contribution :math:`c_{\text{ij}}` and when
it is added to the accumulator are determined by the tally type. At the
end of the each history, the history score is added to two accumulators
(power sums) - the first accumulator is for finding the tally average,
:math:`S_{1}`, and the second accumulator is for finding the uncertainty
in the tally average, :math:`S_{2}`.


 .. math::
   :label: Monaco-5

   S_{1} = \ \sum_{i}^{}h_{i}^{\ }

 .. math::
   :label: Monaco-6

   S_{2} = \ \sum_{i}^{}h_{i}^{2}


At the end of all :math:`N` histories, the second sample central moment
is found from the power sums


 .. math::
   :label: Monaco-7

    m_{2} = \frac{S_{2}}{N} - \ \frac{S_{1}^{2}}{N^{2}}


and then the tally average is computed as
:math:`\overline{x} = \frac{S_{1}}{N}` and the uncertainty in the tally
average is :math:`u = \sqrt{\frac{m_{2}}{N}}`.

The extended tally uses four accumulators – the first and second are the
same as the simple tally – with the third and fourth accumulators used
for finding the variance of the variance (VOV). These extra
accumulators, :math:`S_{3}` and :math:`S_{4}`, are calculated as


 .. math::
   :label: Monaco-8

    S_{3} = \ \sum_{i}^{}h_{i}^{3}

 .. math::
   :label: Monaco-9

    S_{4} = \ \sum_{i}^{}h_{i}^{4}


At the end of all :math:`N` histories, the tally average
:math:`\overline{x}\ `\ and uncertainty in the tally average :math:`u`
are found in the same way as a simple tally. For the VOV calculation,
the third and fourth sample central moments are found as

At the end of all :math:`N` histories, the tally average
:math:`\overline{x}\ `\ and uncertainty in the tally average :math:`u`
are found in the same way as a simple tally. For the VOV calculation,
the third and fourth sample central moments are found as


 .. math::
   :label: Monaco-10

   m_{3} = \frac{S_{3}}{N} - \frac{3S_{1}S_{2}}{N^{2}} + \frac{2S_{1}^{3}}{N^{3}}

.. math::
  :label: Monaco-11

  m_{4} = \frac{S_{4}}{N} - \frac{4S_{1}S_{3}}{N^{2}} + \ \frac{6S_{1}^{2}S_{2}}{N^{3}} - \ \frac{3S_{1}^{4}}{N^{4}}


and then the VOV :cite:`pederson_confidence_1997` and figure-of-merit (FOM) are found using


 .. math::
   :label: Monaco-12

   \mathrm{\text{VOV}} = \frac{m_{4} - \ m_{2}^{2}}{Nm_{2}^{2}}

 .. math::
   :label: Monaco-13

   \mathrm{\text{FOM}} = \ \frac{1}{\left( \frac{u}{\overline{x}} \right)^{2} \ T}

where *T* is the calculation time (in minutes).

Extended tallies are used for the total neutron flux, total photon flux
and any responses for the Monaco tallies. Simple tallies are used for
each group’s flux and each group’s contribution to a response.

Detailed, group-wise results for each tally are saved to separate files
at the end of each batch of particles. Users can view these files (in
the SCALE temporary directory) as the Monaco simulation progresses.
Summaries of the extended tallies appear in the final Monaco output
file.

Statistical tests
^^^^^^^^^^^^^^^^^

Statistical tests are performed on the extended tallies at the end of
each batch. Results for each batch are stored in files and the results
for the final batch are shown in the main output tally summary. The six
tests are:

+-------------+-------------+-------------+-------------+------------------+
|             | **Quantity**| **Test**    | **Goal**    | **Within**       |
|             |             |             |             |                  |
+=============+=============+=============+=============+==================+
| 1.          | mean        | relative    | = 0.00      | ±0.10            |
|             |             | slope of    |             |                  |
|             |             | linear fit  |             |                  |
+-------------+-------------+-------------+-------------+------------------+
| 2.          | standard    | exponent of | = -0.50     | .. math::        |
|             | deviation   | power fit   |             |    R^{2} > 0.99  |
+-------------+-------------+-------------+-------------+------------------+
| 3.          | relative    | final value | < 0.05      |                  |
|             | uncertainty |             |             |                  |
+-------------+-------------+-------------+-------------+------------------+
| 4.          | relative    | exponent of | = -1.00     | .. math::        |
|             | VOV         | power fit   |             |  R^{2} > 0.95    |
+-------------+-------------+-------------+-------------+------------------+
| 5.          | relative    | final value | < 0.10      |                  |
|             | VOV         |             |             |                  |
+-------------+-------------+-------------+-------------+------------------+
| 6.          | figure-of-m | relative    | = 0.00      | ±0.10            |
|             | erit        | slope of    |             |                  |
|             |             | linear fit  |             |                  |
+-------------+-------------+-------------+-------------+------------------+


For the tests that are fit to a function with respect to batch (1, 2, 4,
and 6), only the last half of the simulation is used. The basis for
these tests is that in a well-behaved Monte Carlo, the mean should not
increase or decrease as a function of the number of histories
(:math:`N`), the standard deviation should decrease with
:math:`\frac{1}{\sqrt{N}}`, the variance of the variance should decrease
with :math:`\frac{1}{N}` and the figure-of-merit should neither

increase or decrease as a function of the number of histories
(proportional to time). For tests 2 and 4, the coefficient of
determination, :math:`R^{2}`, from a forced fit to a function with the
right exponent is used as the tally test.

Point detector tallies
^^^^^^^^^^^^^^^^^^^^^^

Point detectors are a form of variance reduction in computing the flux
or response at a specific point. At the source emission site and at
every interaction in the particle’s history, an estimate is made of the
probability of the particle striking the position of the point detector.
For each point detector, Monaco tallies the uncollided and total flux
for each energy group, the total for all neutron groups, and the total
for all photon groups. Any number of optional dose-like responses can be
calculated as well.

Multigroup
..........

After a source particle of group *g* is started, the distance *R*
between the source position and the detector position is calculated.
Along the line connecting the source and detector positions, the sum of
the distance *s\ j* through each region *j* multiplied by the total
cross section :math:`\Sigma_{j}^{g}`\ for that region is also
calculated. The contribution *c\ g* to the uncollided flux estimator is
then made to the tally for group *g*.

.. math::
  :label: Monaco-14

  c_{g} = \frac{1}{4\pi R^{2}}\mathrm{\exp}\left( - \sum_{j}^{}{s_{j}\Sigma_{j}^{g}} \right)

Continuous Energy
.................

After a source particle with energy *E* is started, the distance *R*
between the source position and the detector position is calculated. For
each bin :math:`g` of the tally energy structure, a specific energy
:math:`E_{g}` is sampled uniformly within the bin. Along the line
connecting the source and detector positions, the sum of the distance
*s\ j* through each region *j* multiplied by the total cross section
:math:`\Sigma_{j}\left( E_{g} \right)` for that region. The contribution
*c\ g* to the uncollided flux estimator is then made to the tally for
group *g*. total cross section :math:`\Sigma_{j}\left( E \right)` :


.. math::
  :label: Monaco-15

  c_{g} = \frac{1}{4\pi R^{2}}\mathrm{\exp}\left( - \sum_{j}^{}{s_{j}\Sigma_{j}\left( E \right)} \right)


Only source particles contribute to the uncollided flux tally. At each
interaction point during the life of the particle, similar contributions
are made to each of the tallies. For each group *g′* that the particle
could scatter into and reach the detector location, a contribution is
made that also includes the probability to scatter from the current
direction towards the detector and having the energy change from group
*g* to group *g′.*

This type of tally is costly, since ray-tracing through the geometry
from the current particle position to the detector location is required
many times over the particle history. Point detectors should be located
in regions made of void material, so that contributions from
interactions arbitrarily close to the point detector cannot overwhelm
the total estimated flux (as
:math:`\frac{1}{4\pi R^{2} \rightarrow \infty}`).

Care must be taken in using point detectors in deep penetration problems
to ensure that the entire phase space that could contribute has been
well sampled—so that the point detector is not underestimating the flux
by leaving out areas far from the source but close to the point detector
position. One way to check this is by examining how the tally average
and uncertainty change with each batch of particles used in the
simulation. Large fluctuations in either quantity could indicate that
the phase space is not being sampled well.

Region tallies
^^^^^^^^^^^^^^

Region tallies are used for calculating the flux and/or responses over
one of the regions listed in the SGGP geometry. Both the track-length
estimate of the flux and the collision density estimate of the flux are
calculated—and for each, the region tally contains simple tallies for
finding flux in each group, the total neutron flux, and the total photon
flux. For each of the optional response functions, the region tally also
contains simple tallies for each group and the total response.

For the track-length estimate of flux, each time a particle of energy
:math:`E` moves through the region of interest, a contribution of
:math:`l` (the length of the step in the region) is made to the history
score for the simple tally for flux for tally group \ *g*. The same
contribution is made for the history score for the simple tally for
total particle flux, neutron or photon, depending on the particle type.

If any optional response functions were requested with the tally, then
the contribution of :math:`\text{lf}\left( E \right)`\ is made for the
response group, where :math:`f\left( E \right)` is the response function
value for energy :math:`E`. The history score for the total response
function is also incremented using :math:`\text{lf}\left( E \right)`.

At the end of all of the histories, the averages and uncertainties of
all of the simple tallies for fluxes are found for every group and each
total. These results then represent the average track-length over the
region. To determine flux, these results are divided by the volume of
the region. If the volume :math:`V` of the region was not given in the
geometry input nor calculated by Monaco, then the tally results will be
just the average track lengths and their uncertainties. A reminder
message is written to the tally detail file if the volume of the region
was not set.

For the collision density estimate of the flux, each time a particle of
energy :math:`E` has a collision in the region of interest, a
contribution of :math:`\frac{1}{\Sigma}` (the reciprocal of the total
macroscopic cross section) is made to the history scores for the simple
tally for flux for tally energy group *g* and for the total particle
flux. At the end of the simulation, the averages and uncertainties of
all of the simple tallies for every group flux and total flux are found
and then divided by the region volume, if available.

Similar to the point detector tallies, region tallies produce a file
listing the tally average and uncertainty at the end of each batch of
source particles (a \*.chart file). This file can be plotted using the
simple 2-D plotter (ChartPlot) to observe the tally convergence
behavior.

Mesh tallies
^^^^^^^^^^^^

For a D Cartesian mesh or a cylindrical mesh (independent of the SGGP
geometry), Monaco can calculate the track-length estimate of the flux.
Since the number of cells (voxels) in a mesh can become quite large, the
mesh tallies are not updated at the end of each history but are instead
updated at the end of each batch of particles. This prevents the mesh
tally accumulation from taking too much time but means that the estimate
of the statistical uncertainty is slightly low.

Like the other tallies, mesh tallies can calculate optional response
functions.

Since a mesh tally consists of many actual tallies, the statistical
tests are a bit more complex than for the region and point detector
tallies. Several statistical quantities and tests are used in Monaco
similar to those in several recent studies :cite:`kiedrowski_statistical_2011,kiedrowski_evaluating_2011` which
look at a distribution of relative variances over the mesh tally. In
Monaco, the basis of the statistical tests center on the distribution of
relative uncertainties and its mean, :math:`\overline{r}`, of the voxels
(:math:`V`) with score.


.. math::
  :label: Monaco-16

  \overline{r} = \frac{1}{V}\sum_{}^{}R_{i}


where :math:`R_{i}` is the relative uncertainty of the flux or dose in
voxel :math:`i`. If every voxel has been sampled well and its relative
uncertainty :math:`R_{i} \propto \frac{1}{\sqrt{N}}`, then the mean
relative uncertainty of the voxels should also behave as
:math:`\frac{1}{\sqrt{N}}`. The variance of the mean relative
uncertainty can be calculated and a figure of merit (FOM) for the mesh
tally can be constructed using


.. math::
  :label: Monaco-17

  FOM = \frac{1}{{\overline{r}}^{2}T}


with the time\ :math:`\text{\ T}` in minutes. The four tests measure
over the simulation: 1) if :math:`\zeta`, the fraction of voxels with
non-zero score, is constant; 2) if the mean relative uncertainty is
decreasing as :math:`\frac{1}{\sqrt{N}}` (as measured by the coefficient
of determination, :math:`R^{2}`, of a fit to a curve with power of
-0.5); 3) if the variance of the mean relative uncertainty is decreasing
with :math:`\frac{1}{N}`; and 4) if the FOM is constant.

+----+------------------------------------------------------------+------------------------------+----------+---------------------------+
|    | Quantity                                                   | Test                         | Goal     | Within                    |
+====+============================================================+==============================+==========+===========================+
| 1. | :math:`\zeta`, fraction with score                         | relative slope of linear fit | = 0.00   | ±0.10                     |
+----+------------------------------------------------------------+------------------------------+----------+---------------------------+
| 2. | :math:`\overline{r}`, mean relative uncertainty            | exponent of power fit        | = -0.50  | .. math:: R^{2} > 0.99    |
+----+------------------------------------------------------------+------------------------------+----------+---------------------------+
| 3. | variance of :math:`\overline{r}`                           | exponent of power fit        | = -1.00  | .. math:: R^{2} > 0.95    |
+----+------------------------------------------------------------+------------------------------+----------+---------------------------+
| 4. | figure-of-merit                                            | exponent of power fit        | = 0.00   | ±0.10                     |
+----+------------------------------------------------------------+------------------------------+----------+---------------------------+

For non-uniform meshes (especially cylindrical), these tests may not be
the best measure of performance since different size voxels will have a
wider variety of relative uncertainties. The user is also cautioned that
if there are individual voxels within the mesh tally that have relative
uncertainties that are not decreasing as :math:`\frac{1}{\sqrt{N}}`,
then the mesh tally statistical tests will not be meaningful. It is
ultimately up to the user to decide if the mesh tally is performing well
(is the goal of the mesh tally just to calculate dose, not flux?; are
all spatial areas of the mesh tally equally important?; are all
magnitudes of the flux or response values equally important?; etc.)

Mesh tallies can be viewed with the Mesh File Viewer, a Java utility
that can be run from GeeWiz (on PC systems) or can be run separately (on
any system). The Mesh File Viewer will show the flux for each group, the
total flux for each type of particle and the optional responses.
Uncertainties and relative uncertainties can also be shown for mesh
tallies using the Mesh File Viewer. For more information on the Mesh
File Viewer, see its on-line documentation.

Continuous Energy Transport
~~~~~~~~~~~~~~~~~~~~~~~~~~~

Using multigroup data in Monte Carlo transport calculations is generally
sufficient for most problems (both shielding and criticality). Many of
the reaction cross sections vary slowly with energy, so energy “groups”
can be made with one set of properties for the group. Multigroup
treatments can further simplify radiation transport by combining the
different types of reactions that can occur into a simple scattering
matrix – particles then have certain probabilities to scatter from their
current energy group to another energy group. If the user is not
interested in knowing which specific type of interaction happened at
each collision, this simplification can increase calculation efficiency.

One major drawback of the multigroup approach is in representing discrete gammas,
such as the decay radiation from common isotopic sources.  Consider a simple shielding
simulation using cobalt-60.  This isotope gives off two high-energy gamma rays when it decays
(1173230 eV with intensity 99.85% and 1332490 eV with intensity 99.9826%).  In the SCALE multigroup
calculations, a cobalt-60 source spectrum is represented by a broad pdf, controlled by the group structure.
This is shown in :numref:`fig8-1`. for the fine 47-group structure and the broad 19-group structure.

.. _fig8-1:

.. figure:: figs/Monaco/Picture1.png
  :width: 400
  :align: center

  The multigroup representation of a cobalt-60 source.

Note that in both group structures, 1.33 MeV is a group boundary, so the
1332490 eV line is represented by group that covers higher energies. The
cross section for that group is lower than the cross section for the
specific line, so multigroup transport calculations will tend to
overestimate the number of photons penetrating a shield, which will
overestimate dose rates.

Using CE and the two multigroup libraries, the total cross sections for the cobalt lines are listed in :numref:`tab8-2`.
:numref:`fig8-2`. shows the total cross section of photons in tungsten, in both CE and the two SCALE multigroup structures.
On the whole, the multigroup data represents the CE data well.  :numref:`fig8-3`. shows the same cross section information
near the two cobalt lines, which shows how the multigroup cross sections average over quite large energy ranges.

.. _tab8-2:
.. table:: Total macroscopic cross section in tungsten (/cm).
  :align: center

  +----------+------------+------------+
  |          | 1173230 eV | 1332490 eV |
  +==========+============+============+
  | SCALE CE | 1.03353    | 0.94864    |
  +----------+------------+------------+
  | SCALE 47 | 1.09066    | 0.92743    |
  +----------+------------+------------+
  | SCALE 19 | 1.05167    | 0.89289    |
  +----------+------------+------------+

The small differences in cross section can make large differences in the
transport. Consider just 5 cm of tungsten. Using the cross sections in
:numref:`tab8-2`, the attenuation (:math:`e^{- \mu x}`) of either line can
vary by 30%.

In addition to source representation problems, multigroup transport is
not adequate for applications where line spectra are measured. Because
of the group structure, tally results will be averaged out within a
group. With the fixed boundaries, specific lines in the tallies will not
be able to be seen. For examples, in the 19-group library, there is no
group around the 511 keV annihilation gammas – they are averaged in with
other photons from 400 to 600 keV. No multigroup structure could contain
thin groups around every line of interest.

.. _fig8-2:
.. figure:: figs/Monaco/8-2.png
  :width: 500
  :align: center

  Photon total cross section in tungsten.  The energies of the cobalt-60 are displayed as lines at 1173230 and 1332490 eV.

.. _fig8-3:
.. figure:: figs/Monaco/8-3.png
  :width: 500
  :align: center

  Photon total cross section in tungsten, near the cobalt lines.  The energies of the cobalt-60 are displayed as lines at 1173230 and 1332490 eV.

A sample problem involving a cobalt source and a slab of tungsten will
compare the use of continuous-energy transport to multigroup transport,
to demonstrate the large difference in results for single-line sources.
For distributions, differences between multigroup and continuous-energy
may not be very significant.

Monaco Input Files
------------------

The input file for Monaco consists of two lines of text (“=monaco”
command line and one for the problem title) and then several blocks,
with each block starting with “read xxxx” and ending with “end xxxx”.
There are three blocks that are required and seven blocks that are
optional. The cross section and geometry blocks must be listed first and
in the specified order. Other blocks may be listed in any order.

Blocks (must be in this order):

-  Cross Sections – (required) lists the cross-section file and the mixing table information

-  Geometry – (required) SCALE general geometry description

-  Array – optional addition to the above geometry description

-  Volume – optional calculation or listing of region volumes

-  Plot – create 2D slices of the SGGP geometry

Other Blocks (any order, following the blocks listed above):

-  Definitions – defines locations, response functions, grid geometries, cylindrical mesh geometries, energy bin boundaries, time bin boundaries and various distributions used by other blocks

-  Source – (required) description of multiple sources; with the spatial, energy, and directional distributions and particle type for each

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

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

-  Biasing – data for reducing the variance of the simulation

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.

For the other six blocks, scalar variables are set by “keyword=value”,
fixed length arrays are set with “keyword value\ :sub:`1` ...
value\ :sub:`N`\ ”, variable length arrays are set with “keyword
value\ :sub:`1` ... value\ :sub:`N` end”, and some text and filenames
are read in as quoted strings. Single keywords to set options are also
used in some instances. The indention, comment lines, and upper/lower
case 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 not case sensitive.

After all of the 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 Monaco input. See :numref:`tab8-3` for an overview of the Monaco input
file structure.

Cross sections block
~~~~~~~~~~~~~~~~~~~~

Monaco does its own mixing, so it needs a mixing table. For each element
of each mixture, an identifier and a number density must be supplied.
These can be found in the output of whatever sequence was used to make
the cross-section file, such as CSAS-MG. Two coupled neutron/photon
multigroup libraries were created specifically for shielding problems
from ENDF/B-VII.0 data—the v7-200n47g fine-group and the v7-27n19g
coarse-group libraries. CE libraries made from ENDF/BVII.0 are also
available in SCALE.

.. _tab8-3:
.. list-table:: Overall input format for Monaco
  :align: center

  * - ``Input File``
    - ``Comment``
  * - .. code:: scale

        =monaco
        Some title for this problem
        read crossSections
           ...
        end crossSections
        read geometry
           ...
        end geometry
        read array
           ...
        end array
        read volume
           ...
        end volume
        read plot
           ...
        end plot
        read definitions
           ...
        end definitions
        read sources
           ...
        end sources
        read tallies
           ...
        end tallies
        read parameters
           ...
        end parameters
        read biasing
           ...
        end biasing
        end data
        end
    - .. code:: scale

        name of sequence
        title
        List of isotopes/mixtures
            [required 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]

        end of all blocks
        end of Monaco input

For example, if CSAS-MG was used to produce an AMPX file using the
following input,

.. code:: scale

  =csas-mg
  Demonstration problem, three mixtures
  v7-200n47g
  read composition
      uo2   1 0.2 293.0 92234 0.0055 92235 3.5 92238 96.4945 end
      ss304 2 1.0 293.0 end
      h2o   4 1.0 293.0 end
  end composition
  end

in addition to creating an AMPX file, the output would include a tables similar to

.. code:: scale

  m i x i n g   t a b l e    (THREAD = 00 )
  entry   mixture   isotope   number density   new identifier   explicit temperature
      1       1        92234     2.73451E-07             92234             293.0
      2       1        92235     1.73272E-04             92235             293.0
      3       1        92238     4.71674E-03             92238             293.0
      4       1         8016     9.78057E-03              8016             293.0

  m i x i n g   t a b l e    (THREAD = 00 )
  entry   mixture   isotope   number density   new identifier   explicit temperature
      1       2         6000     3.18488E-04              6000             293.0
      2       2        14028     1.57010E-03             14028             293.0
      3       2        14029     7.97625E-05             14029             293.0
      4       2        14030     5.26416E-05             14030             293.0
      5       2        15031     6.94688E-05             15031             293.0
      6       2        24050     7.59178E-04             24050             293.0
      7       2        24052     1.46400E-02             24052             293.0
      8       2        24053     1.66006E-03             24053             293.0
      9       2        24054     4.13224E-04             24054             293.0
     10       2        25055     1.74072E-03             25055             293.0
     11       2        26054     3.42190E-03             26054             293.0
     12       2        26056     5.37166E-02             26056             293.0
     13       2        26057     1.24055E-03             26057             293.0
     14       2        26058     1.65094E-04             26058             293.0
     15       2        28058     5.26873E-03             28058             293.0
     16       2        28060     2.02951E-03             28060             293.0
     17       2        28061     8.82212E-05             28061             293.0
     18       2        28062     2.81288E-04             28062             293.0
     19       2        28064     7.16357E-05             28064             293.0

   m i x i n g   t a b l e    (THREAD = 00 )
   entry   mixture   isotope   number density   new identifier   explicit temperature
      1       4         1001     6.67531E-02              1001             293.0
      2       4         8016     3.33765E-02              8016             293.0

which can be used to construct the Monaco cross-section block mixing table.

.. highlight:: scale

::

  read crossSections
      ampxFileUnit=4
      mixture 1
          element    92234 2.73451E-07
          element    92235 1.73272E-04
          element    92238 4.71674E-03
          element     8016 9.78057E-03
      end mixture
      mixture 2
          element     6000 3.18488E-04
          element    14028 1.57010E-03
          element    14029 7.97625E-05
          element    14030 5.26416E-05
          element    15031 6.94688E-05
          element    24050 7.59178E-04
          element    24052 1.46400E-02
          element    24053 1.66006E-03
          element    24054 4.13224E-04
          element    25055 1.74072E-03
          element    26054 3.42190E-03
          element    26056 5.37166E-02
          element    26057 1.24055E-03
          element    26058 1.65094E-04
          element    28058 5.26873E-03
          element    28060 2.02951E-03
          element    28061 8.82212E-05
          element    28062 2.81288E-04
          element    28064 7.16357E-05
      end mixture
      mixture 4
          element     1001 6.67531E-02
          element     8016 3.33765E-02
      end mixture
  end crossSections

For a CE calculation, instead of the keyword “ampxFileUnit=” (which
refers to a given AMPX library), the keyword “ceLibrary=” should be used
with a CE library name, enclosed in quotes. Also for CE, a default
temperature can be set before any mixtures are defined using the
“ceTempDefault=” temperature (in Kelvins). With each mixture, a specific
temperature can be set using “temperature.”

Other keywords that can be used in the cross-section block for
multigroup problems include flags to turn on printing of different
aspects of the cross-section mixing process (“printTotals”,
“printScatters”, “printAngleProb”, “printFissionChi”, “printExtra”, and
“printLegendre”). The keyword “fullyCoupled” can be used to specify all
groups to be treated as primary groups. These keywords do not work in CE
problems since the point wise data contain an enormous number of points.

Users are encouraged to use Monaco by running the MAVRIC sequence, which
creates the cross-section mixing table automatically, for both
multigroup and CE calculations.

Geometry block
~~~~~~~~~~~~~~

The geometry input uses the standard SGGP, similar to KENO-VI. Input
instructions can be found in *Geometry Data* in the KENO-VI chapter of
the SCALE manual.

Shielding calculations (Monaco, MAVRIC, SAS4) differ from their
criticality cousins (KENO V.a, KENO-VI) in a very special way—sources
and detectors can be located outside of the materials where the
transport takes place. To accommodate this fact in Monaco and MAVRIC,
make sure that a void region (a media record using mixture 0) surrounds
the source area and any point detectors, if they are not located in a
region of the actual geometry.

For example, if the objective is to calculate the effectiveness of a
simple slab shield, the model geometry would consist of just one slab of
material. The source would be on one side of the slab, and a detector
would be on the other side of the slab. In Monaco (and the MAVRIC
sequence), the input should list at least two regions: (1) the slab
itself and (2) a void region outside of the slab containing both the
source and detector positions.

Monaco tracks particles through the SGGP geometry as well as other
geometries used for mesh tallies or mesh importance maps. 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.

The graphical user interfaces GeeWiz and Keno3D can be used on Windows
platforms to develop and view the geometry.

Array, volume, and plot blocks
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Geometry array input uses the standard SGGP, similar to KENO-VI. Input
instructions can be found in KENO-VI chapter on *Array Data* of the
SCALE manual.

Volumes of various geometry regions are used to calculate fluxes for
those regions. Volumes can be input as part of the geometry input block
above, or calculated by the SGGP using one of two different methods. See
For faster browsing, not all history is shown. View entire blame