-
Notifications
You must be signed in to change notification settings - Fork 6
/
acex.tex
2802 lines (2475 loc) · 132 KB
/
acex.tex
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
\section{ACER}
\label{sACER}
\hypertarget{sACERhy}{The}
ACER\index{ACER|textbf} module prepares libraries in ACE format (A Compact
ENDF)\index{ACE format} for the MCNP\index{MCNP} continuous-energy
neutron-photon Monte Carlo code\cite{MCNP}.\index{Monte Carlo}
One of the design goals for MCNP has been to use the most detailed
representation of the physics of a problem that is practical.
Therefore, the ACE format has evolved to include all the details
of the ENDF\cite{ENDF102} representations for neutron and photon data.
However, for the sake of efficiency, the representation of data in ACE
is quite different from that in ENDF. The fundamental difference is
the use of random access with pointers to the various parts of the
data. Other key differences include the use of union energy grids,
equal-probability bins, and cumulative probability distributions.
This chapter describes the ACER module in NJOY2016.0.
\subsection{ACER and ACE Data Classes}
\label{ssACER_classes}
The ACE format provides for several different ``classes'' of data,
the most popular being the ``continuous-energy neutron'' class.
Others include include photo-atomic data, thermal data, and
photo-nuclear data. Files for each class of data are distinguished
by a code letter at the end of the ZAID identifier for each material.
For example, a file with a ZAID identifier of ``13027.00c'' would
contain continuous-energy neutron data. The data classes currently
handled by ACER and the class suffixes are given in Table~\ref{classes}.
\begin{table}[b]
\caption[ACE Data Classes and ZAID suffixes]{ACE Data Classes and ZAID suffixes}
\label{classes}
\begin{center}
\begin{tabular}{cl}
Suffix & ACE Data Class \\
\hline
c & continuous-energy neutron data \\
t & thermal $S(\alpha,\beta)$ data \\
y & dosimetry data \\
p & photo-atomic data (incomplete) \\
u & photonuclear data \\
h & continuous-energy proton data \\
o & continuous-energy deuteron data \\
r & continuous-energy triton data \\
s & continuous-energy $^{3}$He data \\
a & continuous-energy alpha data \\
\hline
\end{tabular}
\end{center}
\end{table}
For the Fortran-90 version of ACER, each different class of ACE data is
handled by a different sub-module; the module
\cword{acefc}\index{modules!acefc@{\ty acefc}} handles the
continuous-energy neutron data class (and also incident charged
particles), the module \cword{aceth}\index{modules!aceth@{\ty aceth}}
handles thermal data, the module
\cword{acepa}\index{modules!acepa@{\ty acepa}}
handles photo-atomic data, and the module
\cword{acepn}\index{modules!acepn@{\ty acepn}}
handles photonuclear data. There is also an
\cword{acecm}\index{modules!acecm@{\ty acecm}}
module containing routines common to more than one of the ACER sub-modules.
The main ACER module itself \cword{acem}\index{modules!acem@{\ty acem}}
is used to read in the user's
input commands and then to call the main subroutines from the
appropriate sub-module to carry out the ACE library production desired.
The following sections of this chapter will describe the methods used
to construct data for each of these classes, discuss the user input and
how to set up ACER jobs, and give coding details for the ACER set of
modules.
\subsection{Continuous-Energy Neutron Data}
\label{ssACER_n}
The next few sections will discuss the details of preparing data for
this very important class of ACE data. The module \cword{acefc} exports
two subroutine calls; namely, \cword{acetop} for producing the
continuous-energy data file, and \cword{acefix} for printing or editing
continuous-energy data files. The latter function also includes
consistency checking and plotting.
\subsection{Energy Grids and Cross Sections}
\label{ssACER_grid}
MCNP requires that all the cross sections be given on a single union
energy grid\index{union grid} suitable for linear interpolation. This
was also true of its predecessor MCN\cite{MCN}\index{MCN}, and this
is one of the reasons that the
\hyperlink{sRECONRhy}{RECONR}\index{RECONR} and
\hyperlink{sBROADRhy}{BROADR}\index{BROADR} modules of NJOY are
also organized around union grids and linear interpolation.
The energy grid and cross section data on an NJOY PENDF\index{PENDF}
tape are basically consistent with the requirements of MCNP. In the
still recent past, when computers were smaller, there was a problem that
many ENDF evaluations (especially ENDF/B-VI evaluations) produced
energy grids with very large numbers of points. A few examples from
early ENDF/B-VI releases are shown in Table~\ref{points}. Thus, it
was considered useful to reduce the size of these data sets by reducing
the number of energy points in the union grid. This kind of thinning
is no longer routinely done for libraries produced by LANL, but it is
still available, if needed.
\begin{table}[b]
\setlength{\extrarowheight}{1pt}
\caption[Example of union grid size variation in ACER .c files]{Union
Energy Grid Sizes for Some Evaluations from ENDF/B-V and ENDF/B-VI}
\label{points}
\begin{center}
\begin{tabular}{lr}
Evaluation & Union Grid \\
\hline
$^{235}$U, ENDF/B-V at 300K and 0.5\% & 7 200 \\
$^{235}$U, ENDF/B-VI at 300K and 0.5\% & 49 100 \\
$^{238}$U, ENDF/B-V at 300K and 0.5\% & 30 900 \\
$^{238}$U, ENDF/B-VI at 300K and 0.5\% & 58 300 \\
\hline
\end{tabular}
\end{center}
\end{table}
Of course, any thinning of the energy grid will result in a loss of
accuracy. The goal is to control the accuracy loss and balance it
against the memory requirements. This balance will vary from
application to application. For example, a user doing fusion
calculations may be able to drastically reduce the number of
resonance points at low energies without affecting the results
significantly. Similarly, a thermal-reactor designer may be able
to reduce the number of energy points used above 100 to 200 eV with
minimal impact on the answers.
The \cword{acefc}\index{acefc@{\ty acefc}} module provides two different
thinning algorithms (implemented in \cword{unionx}\index{unionx@{\ty unionx}}).
First, the code can do a very crude removal of points;
\index{ACER thinning!point removal}
for example, it can remove 2 out of every 3 points for all energies
between \cword{E1} and \cword{E2}. This is called the ``energy skip''
option. It is now obsolete, and it is not recommended.
The second thinning option is ``integral fraction'' thinning.
\index{ACER thinning!integral fraction}
The idea here is to attempt to preserve the resonance integral. Two
weighting functions are provided: 1/E and flat. The former is best
for thermal-type problems, and the latter preserves more points in
the high-energy range. The user specifies a target number of points
for the final energy grid. The code uses this target number to
estimate an initial thinning tolerance, and it starts moving through
the energy grid and calculating the contributions to the total and
capture resonance integrals from each energy panel. Panels whose
contributions to both integrals are small with respect to the current
tolerance are candidates for rejection. The code has additional
tolerances designed to preserve major features and to preserve a
reasonable minimum lethargy step; these features keep some of the
points from being rejected. When the entire energy range has been
scanned, the code checks the resulting number of points against the
user's target. If the goal has not been reached, it doubles the
tolerance and repeats the entire process. When the target has been
reached, it prints out the new and original values for the resonance
integrals for several subranges of the total energy range. If the
errors introduced by thinning are too large, the user will have to
repeat the ACER run using a larger target for the final number of
energy points. An example of the printout provided with integral
thinning is given below.
\newpage
\small
\begin{ccode}
original grid= 19585 with integrals 5.9781e+07 2.1716e+04
new grid= 18809 with integrals 5.9782e+07 2.1720e+04
new grid= 17842 with integrals 5.9782e+07 2.1724e+04
new grid= 16227 with integrals 5.9782e+07 2.1735e+04
new grid= 13786 with integrals 5.9783e+07 2.1727e+04
new grid= 11033 with integrals 5.9785e+07 2.1762e+04
total
8.0942e+04 5.4213e+05 0.0 0.0 0.0 0.0 0.0
1.7327e+05 4.1284e+05 0.0 0.0 0.0 0.0 0.1
2.5257e+05 3.0142e+05 0.0 0.0 0.0 0.1 0.1
3.2191e+05 1.8647e+05 0.0 0.0 0.0 0.1 0.3
4.4842e+05 5.0962e+05 0.0 0.0 0.0 0.0 0.1
5.5888e+05 3.5549e+05 0.0 0.0 0.0 0.0 0.1
6.5861e+05 2.0999e+05 0.0 0.0 0.0 0.1 0.3
7.8043e+05 4.1624e+05 0.0 0.0 0.0 0.0 0.1
1.1206e+06 9.0192e+05 0.1 0.1 0.1 0.1 0.1
2.0000e+07 5.5945e+07 0.0 0.0 0.0 0.0 0.0
capture
8.0942e+04 1.0141e+03 0.3 0.4 0.8 -0.5 1.5
1.7327e+05 7.3599e+02 0.0 0.2 0.5 0.0 0.2
2.5257e+05 5.4686e+02 0.0 0.0 0.3 0.5 1.3
3.2191e+05 4.2149e+02 0.0 0.1 0.3 1.0 1.4
4.4842e+05 5.9879e+02 0.0 0.1 0.2 0.4 0.7
5.5888e+05 5.7626e+02 0.0 0.0 0.1 0.2 0.4
6.5861e+05 5.5110e+02 0.0 0.1 0.3 0.5 0.8
7.8043e+05 8.4225e+02 0.0 0.0 0.1 0.2 0.4
1.1206e+06 1.3748e+03 0.0 0.0 0.0 0.0 0.1
2.0000e+07 1.5054e+04 0.0 0.0 0.0 0.0 0.0
861 827 825 739 983 1137 867 1262 1575 1956
\end{ccode}
\normalsize
\noindent
The numbers at the ends of the first few lines of this listing are
the total and capture resonance integrals computed by ACER. The
sections starting with the words \cword{total} and \cword{capture}
give the resonance integrals for a few energy ranges, and they also
show the percentage change caused by thinning for each step of the
process. This sample shows that the capture integral increases by
as much as 1.5\% after thinning to 11 000 points. If this seems too
large, the user can repeat the run using a target of 15 000 points;
the maximum capture error will be reduced to 1\%. The last line
of the listing shows the number of points remaining in each energy
interval with the intervals listed horizontally. In this case, the
original number of points was about 1958 for each interval. The
high energy band has not been thinned much at all, but the low energy
band has lost 56\% of its points.
The formats for storing energy grid and cross section data in an ACE
library\index{ACE format} are completely described in \cite{ACEFormat},
but they will also be reviewed briefly here for the
reader's convenience. The principal cross sections are given in the
ESZ block. First, the NES energy values of the union grid are given,
then the NES values of the total cross section. These are followed
by the absorption cross section, elastic cross section, and average
heating numbers. The cross sections for the other NTR reaction types
are controlled by a set of blocks called MTR, LQR, TYR, and LSIG that
contain the reaction ENDF MT numbers, the Q values, the reaction
types, and pointers to the cross section data for each reaction,
respectively. The cross section segments addressed by the pointers in
the LSIG block contain a count of values, the energy index from the
main energy grid for the first value, and the actual cross sections
for the reaction.
The energy and cross section values from the input PENDF tape are
copied onto the grid of the total cross section in subroutine
\cword{unionx}\index{unionx@{\ty unionx}} . This routine also
handles the thinning as described above. The results are written
onto a scratch tape and passed on to subroutine
\cword{acelod}\index{acelod@{\ty acelod}}, which reads in the
cross sections and stores them into the ACE-format blocks. Note
that all energy values in the ACE libraries are given in MeV. The
ACE heating numbers are computed by dividing the heat production
cross sections from MT=301 on the PENDF tape by the corresponding
total cross sections to obtain heating in MeV per reaction. Damage
values from MT=444 are converted to MeV-barns. Sometimes additional
cross sections, such as nonelastic or inelastic are needed, and
they are added at the end of the reaction list. Note that there
are two reaction counters used in the ACE format: NTR is the total
number of reactions, and NR is the number of reactions that
participate in the transport ({\it i.e.,} that add up to the
total cross section). Reactions with index values above NR and
up to NTR can be used for tallies. This can include reactions like
damage or gas production.
\subsection{Two-Body Scattering Distributions}
\label{ssACER_2body_scat}
\index{two-body scattering}
Reactions like elastic and discrete-level inelastic scattering are
completely described by their reaction cross sections, Q values, and
angular distributions in the center-of-mass (CM) system. The ACE
locations for the cross sections and Q values were noted above. The
angular distributions are stored in the AND block using a set of
pointers stored in the LAND block. Two different representations
for angular distributions are provided: equally probable cosine bins,
and cumulative distributions. In the older format, which is supported
by all versions of MCNP, the angular distributions are represented
by 32 equally probable cosine bins for each incident energy (except
for isotropic cases). The methods for doing this calculation in ACER
were borrowed from ETOPL\cite{ETOPL}.\index{ETOPL} The calculation
is driven by \cword{topfil}\index{topfil@{\ty topfil}}, which uses
\cword{ptleg}\index{ptleg@{\ty ptleg}} for distributions represented
using Legendre coefficients and \cword{pttab}\index{pttab@{\ty pttab}}
for distributions given as tabulations of scattering probability
versus scattering cosine $P(\mu)$. The ENDF angular distributions
\index{angular distributions} are obtained from File 4 on the input
ENDF tape.
The newer representation for angular distributions has been available
in MCNP since version 4C. The ENDF data are converted into cumulative
density functions (CDF) and the corresponding probability density
functions (PDF) versus scattering cosine. This option is triggered
by \cword{newfor}=1 in the User's ACER input, and the work is done in subroutine
\cword{acensd}\index{acensd@{\ty acensd}} (``nsd''for neutron scattering
distributions) using \cword{ptleg2}\index{ptleg2@{\ty ptleg2}} for
Legendre coefficient data and \cword{pttab2}\index{pttab2@{\ty pttab2}}
for tabulated data. This representation is superior to the 32-bin one
for high-energy evaluations (those that go beyond 20 MeV), which have
very sharply forward-peaked shapes. It also reduces biases in the
average cosine for scattering at lower energies. Even though it is
sometimes more bulky than the 32-bin representation, the newer cumulative
format is now the default.
\subsection{Secondary-Energy Distributions}
\label{ssACER_sed}
In earlier versions of MCNP, and in the original MCN code, tabulated
energy distributions for secondary neutrons from multi-body reactions
like $(n,2n)$ or composite reactions like $(n,n'_c)$ were represented
using equally probable bins\index{equally probable bins} (see LAW=1
in the DLW block). This representation turned out to be poor because
it didn't sample low-probability important events like those in the
high-energy tails of energy distributions. The current standard
representation for tabulated energy distributions is LAW=4, the
``Continuous Tabular Distribution.'' This scheme is based on sampling
from a cumulative density distribution\index{cumulative probability
distributions} $C(E')$, which gives the probability that the energy of
the emitted particle will be less than $E'$. Since this probability
runs from 0 to 1, it is easy to select a random number in this range and
interpolate for the corresponding value of $E'$. The differential
density distribution $P(E')$ is also given for use in MCNP's
interpolation scheme. These quantities are computed in subroutine
\cword{acelod}\index{acelod@{\ty acelod}} using
\cword{acelf5}\index{acelf5@{\ty acelf5}} and stored into the ACE DLW
block using pointers stored in the LDLW block.
Analytic energy distribution laws, such as the LF=7 simple Maxwellian
fission spectrum, the LF=9 evaporation spectrum, or the LF=11
energy-dependent Watt spectrum, are also stored into the DLW and LDLW
blocks. The ACE representation is a faithful image of the ENDF
representation, so \cword{acelod} simply stores the various fields
into the correct locations in memory.
\index{Maxwellian fission spectrum}
\index{Watt fission spectrum}
\index{evaporation spectrum}
\subsection{Energy-Angle Distributions}
\label{ssACER_EAdist}
A new feature of the ENDF-6 format is coupled energy-angle
distributions in File 6.
\index{energy-angle data}
\index{File 6}
(There was a File 6 format available in earlier versions of the
ENDF format, but it was never used. The new ENDF-6 MF=6 format
is different.) For neutrons, there are four
different representations to be considered:
\begin{itemize}
\begin{singlespace}
\item The Kalbach law for $\sigma(E{\rightarrow}E')$
angular distributions as used in ENDF/B-VI and later
evaluations from Los Alamos;
\item Legendre coefficients for $\sigma(E{\rightarrow}E')$
in the laboratory system as used in ENDF/B-VI and later
evaluations from Oak Ridge;
\item Secondary-energy distributions versus laboratory
scattering cosine as used in the Livermore
evaluation of $^{9}$Be in ENDF/B-VI; and
\item The phase-space distribution as used in the Los
Alamos evaluation of the $(n,2n)$ reaction for
$^{2}$H in ENDF/B-VI.
\end{singlespace}
\end{itemize}
\noindent
New evaluations using tabulations of angular distributions in the
laboratory frame, or coefficients or tabulations in the CM frame,
are expected to appear soon.
\paragraph{Kalbach Systematics.}
Kalbach and Mann\cite{km} examined a large number of experimental angular
distributions for neutrons and charged particles. They noticed that
each distribution could be divided into two parts: an equilibrium part
symmetric in $\mu$, and a forward-peaked pre-equilibrium part. The
relative amount of the two parts depended on a parameter $r$, the
pre-equilibrium fraction, that varied from zero for low $E'$ to 1.0
for large $E'$. The shapes of the two parts of the distributions
depended most directly on $E'$. This representation is very useful
for pre-equilibrium statistical-model codes like
GNASH\cite{GNASH},\index{GNASH}\index{preequilibrium fraction} because
they can compute the parameter $r$, and all the rest of the angular
information comes from simple universal functions. More specifically,
Kalbach's latest work\cite{k86} says that
\index{Kalbach-Mann systematics}
\index{Kalbach systematics}
\begin{equation}
f(\mu)=\frac{a}{2\sinh(a)}\Bigl[\cosh(a\mu)+r\sinh(a\mu)\Bigr],
\end{equation}
\vspace{0.5 pt}
\noindent
where $a$ is a simple function of $E$, $E'$, and $B_b$, the separation
energy of the emitted particle from the liquid-drop model without
pairing and shell terms. The values for $a$ are computed by
subroutine \cword{bachaa} from the common module \cword{acecm}.
\index{separation energy}
\index{bachaa@{\ty bachaa}}
A special sampling scheme has been developed for this case. The MCNP
code already had logic to select a secondary energy $E'$ from a
distribution. The problem was to select an emission cosine $\mu$
for this $E'$. First, the Kalbach distribution is written in the form
\begin{equation}
f(\mu)=\frac{a}{2\sinh(a)}\Bigl[ (1-r)\cosh(a\mu)
+r{\rm e}^{a\mu} \Bigr]\,\,.
\label{kace}
\end{equation}
\vspace{0.5 pt}
\noindent
Now select a random number $R_1$. If $R_1<r$, use the first
distribution in Eq.~\ref{kace}. Select a second random number
$R_2$, where
\begin{equation}
R_2=\int_{-1}^\mu \frac{a\cosh(ax)}{2\sinh(a)}\,dx
=\frac{\sinh(a\mu)}{2\sinh(a)}+\frac{1}{2}\,\,.
\end{equation}
\vspace{0.5 pt}
\noindent
Therefore, the emission cosine is
\begin{equation}
\mu=\frac{1}{a}\sinh^{-1}\Bigl[ (2R_2-1)\sinh(a) \Bigr]\,\,.
\end{equation}
\vspace{0.5 pt}
\noindent
If $R_1\le r$, use the second distribution in Eq.~\ref{kace}. Select
a random number $R_2$, where
\begin{equation}
R_2=\int_{-1}^\mu \frac{a{\rm e}^{ax}}{2\sinh(a)}\,dx
=\frac{{\rm e}^{a\mu}-{\rm e}^{-a}}{{\rm e}^a-{\rm e}^{-a}}\,\,,
\end{equation}
\vspace{0.5 pt}
\noindent
and emit a particle with cosine
\begin{equation}
\mu=\frac{1}{a} \ln\Bigl[ R_2\,{\rm e}^a+(1-R_2)\,{\rm e}^{-a} \Bigr]\,\,.
\end{equation}
\vspace{0.5 pt}
The ACE format for the Kalbach File 6 data is similar to the
LAW=4 format used for other continuous energy distributions, namely,
cumulative distribution functions. To this are added tables for the
pre-equilibrium ratio $r$ and the Kalbach slope parameter $a$. The
result is the LAW=44 format.
\paragraph{Legendre or Tabulated Distributions for E to E$'$.}
This option is used in many of the newer Oak Ridge
\index{Oak Ridge National Laboratory!ORNL}
evaluations, such as the isotopes of chromium, $^{55}$Mn,
the isotopes of iron, the isotopes of nickel, the isotopes of copper,
and the isotopes of lead. The distribution for outgoing neutrons
is given as a set of normalized emission spectra $g(E,E')$ for
various incident energies $E$. In addition, an angular distribution
is given for each $E{\rightarrow}E'$ as a Legendre expansion.
Emission energy and angle are given in the laboratory frame.
Some recent European evaluations use a similar representation
in the CM frame.
The last few versions of ACER tried various ways to handle these
formats within the limitations of versions of MCNP up to 4B, but
none of them were very satisfactory. Therefore, we added a new
representation for MCNP4C called LAW=61. This law uses the
cumulative density approach for sampling for $E'$, just as in
LAW=4 or 44. In addition, it gives a cumulative type distribution
in the emission cosine for each $E'$. This is a bulky representation,
but it has the advantage of not forcing any approximations on MCNP.
This format is also selected by giving \cword{newfor}=1, which
is now the default for ACER.
For users who prefer to use the older versions of MCNP with the
older representation, the option \cword{newfor}=0 can be selected.
ACER will try to convert the Legendre data into an equivalent
section using ENDF MF=6 format with 33 cosines. This section can
then be processed into ACE LAW=67 format as described below.
This process is reasonably straightforward for laboratory data.
If necessary, ACER does attempt to convert CM data to the lab
frame when building one of these MF=6 representations, but the
methods used are fairly rough and approximate. See \cword{fix6}.
\paragraph{Laboratory Angle-Energy Distributions.}
The ENDF/B-VI evaluation for $^{9}$Be prepared at the
Lawrence Livermore National Laboratory\index{Lawrence Livermore
National Laboratory!LLNL} uses the angle-energy option.
\index{angle-energy distributions}
That is, the outer loop is on incident energy $E$, the next
loop is on laboratory scattering cosine $\mu$, and the inner loop
is on secondary energy $E'$. In order to sample from data in
this form, the first step is to integrate over $E'$ for each
$\mu$ in order to obtain the differential angular distribution
$f(E,\mu)$. This angular distribution is converted into 32
equally probable bins and stored into the ACE file using the
same format used for two-body angular distributions. The
emission spectra for the individual $\mu$ values
are normalized and stored into the file using a format called
LAW=67 (named for ENDF File 6, Law 7). MCNP can sample from this
representation as follows: for each emission, first sample from
$f(\mu)$ to get an emission angle, then find the corresponding
spectrum and sample from its cumulative probability distribution
to get the value of $E'$.
\paragraph{N-Body Phase-Space Distributions.}
\index{phase-space distributions}
The phase-space distribution for particle $i$ in the CM system
is given by
\begin{equation}
P_i^{\rm CM}(\mu,E,E')=C_n\sqrt{E'}\,(E_i^{\rm max}-E')^{3n/2-4}\,,
\end{equation}
\vspace{0.5 pt}
\noindent
where $E_i^{\rm max}$ is the maximum possible CM energy for particle
$i$, $\mu$ and $E'$ are in the CM system, and the $C_n$ are
normalization constants. The value of $E_i^{\rm max}$ is a fraction
of the energy available in the CM:
\begin{equation}
E_i^{\rm max}=\frac{M-m_i}{M}\,E_a\,,
\end{equation}
\noindent
where $M$ is the total mass of the $n$ particles being treated
by this law, and
\begin{equation}
E_a=\frac{m_T}{m_p+m_T}\,E+Q\,.
\end{equation}
\vspace{0.5 pt}
\noindent
Here, $m_T$ is the target mass, and $m_p$ is the projectile mass.
In summary, the data items required for the phase-space law are
\begin{center}
\begin{tabular}{cll}
Symbol & ENDF & Location \\ \hline
$n$ & NPSX & N2 field of the MF=6 CONT for LAW=6 \\
$m_i$ & AWI & C1 field of third card in MF=1 \\
$m_p$ & AWP & C2 field of LAW=6 TAB1 record \\
$m_T$ & AWR & C2 field of section HEAD record \\
$M$ & APSX & C1 field of LAW=6 CONT record \\
$Q$ & Q & C1 field of the MF=3 TAB1 record \\ \hline
\end{tabular}
\end{center}
\vspace{0.5 pt}
These equations are sampled with a compact numerical scheme
similar to LAW=4. Note that all the spectra scale with the maximum
possible outgoing energy. Therefore, it is easy to construct
a single normalized distribution with $E_i^{\rm max}{=}1$ with a
reasonable number of $x=E'/E_i^{\rm max}$ points and then to construct
a cumulative distribution function for it. The grid uses
uniform spacing above $x=0.10$ and log spacing below. The $x$ grid,
the probability density values $P(x)$, the cumulative densities
$C(x)$, NPXS, and APSX are stored in the Law=66 format. For any given $E$,
the cumulative distribution function is sampled with a random
number between 0 and 1. The resulting $x$ value is then multiplied
by $E_i^{\rm max}$ to get the emitted $E'$ value. The corresponding
CM cosine value is obtained by sampling uniformly in the
interval $[-1,1]$.
The CM to lab transformation is carried out by adding the
CM velocity of the initial collision to the emitted particle
velocity.
\begin{equation}
E'_{\rm LAB}=E_{\rm CM}+E'_{\rm CM}
+2\mu_{\rm CM}\sqrt{E_{\rm CM}E'_{\rm CM}}\,,
\end{equation}
\noindent
and
\begin{equation}
\mu_{\rm LAB}=\frac{\sqrt{E'_{\rm CM}}\,\mu_{\rm CM}
+\sqrt{E_{\rm CM}}}{\sqrt{E'_{\rm LAB}}}\,,
\end{equation}
\noindent
where the CM energy is
\begin{equation}
E_{\rm CM}=\frac{A}{A+1}\,E\,.
\end{equation}
\paragraph{Smoothing.}
For a number of evaluations (including main
actinides), the spectra from continuous reactions like MT=91
are given in histogram form. This is a natural result of the
nuclear model codes used to generate the evaluations. At low
energies, you will typically see one histogram bin extending
from zero energy to keV energies; that is, the emission
probability will be constant in that range. From physics, we
expect that the limiting shape at low emission energies in the
CM frame will be $\sqrt{E'_{CM}}$ (implying a $\sqrt{E'_{LAB}}$
shape in the laboratory). Therefore, the histogram shape
greatly overestimates the source into low energies. This problem
is somewhat alleviated by the low probability for scattering
into this lowest bin, and the evaluations that use this
representation give good results for criticality calculations.
However to improve the physical consistency of the emission
spectra, ACER has an option to convert the low energy part of
the spectra into a new histogram representation with finer steps
that does a better job of approximating the $\sqrt{E'_{CM}}$ shape.
We call this ``smoothing''\index{smoothing} and it is
controlled by the parameter \cword{ismooth}. For NJOY2012 and
NJOY2016 the default
is to carry out the smoothing operation. Users are reminded that
this is opposite the NJOY99 default setting.
A similar smoothing operation is applied to the low-energy bin
of the delayed neutron spectra for fission when
\cword{ismooth} is set. A somewhat different problem occurs
at energies above 10 MeV for some of the MF=5 fission spectrum
sections. The energy grid shifts from a reasonable size below
10 MeV to one that is too coarse above there. The expected shape
of the fission spectrum on the high-energy side is nearly
exponential. ACER inserts additional grid points between the
ones in the evaluation using linear-in-E and log-in-probability
interpolation when \cword{ismooth} is set. Without smoothing the coarse
high energy mesh can
cause significant errors in reaction rates for high-threshold
reactions.
\subsection{Photon Production}
\label{ssACER_photprod}
Earlier versions of MCNP used a very simple representation for
photon production\index{photon production} from neutron reactions.
There was a single total photon production cross section on the same
union grid as the neutron data, and there were 600 words of data
describing the spectrum of outgoing neutrons. This table contained
20 equally likely outgoing photon energies for each of 30
incident neutron groups. This representation did not achieve
the MCNP goal of providing the best possible representation of
the physics of the problem. It was inadequate in
representing discrete photons because their real energies were
often lost, and it was inadequate in representing low-probability
events from the tails of distributions. This was especially
noticeable in capture events because of the high photon energies
possible. It is still possible to use this representation,
but it is no longer recommended. The newer ``Expanded
Photon Production Data'' option is preferred.
\paragraph{Photon Production Cross Section.}
In the earlier versions of the ENDF format, photon production
cross section information was given in File 13 (photon
production cross sections), or as a combination of File 3
(reaction cross sections) and File 12 (photon production yields).
With the ENDF-6 format, photon production can also be computed
using a combination of File 3 and File 6 (product yields and
energy-angle distributions).
The first step in photon production processing takes place in
subroutine \cword{convr}\index{convr@{\ty convr}}. MF=12 on the
ENDF tape is examined for transition probability arrays (LO=2).
If they are found, they are converted into the photon yield format
(LO=1). The final photon yield data are written onto a scratch tape.
Next, the MF=13 data are copied, and MF=14 (photon angular distributions)
is updated to reflect the changes made in MF=12. Finally, if
File 6 is present, any photon production subsections found are
converted into a special MF=16 format on the scratch tape.
The next step is performed in \cword{gamsum}. The scratch
tape from \cword{convr} is used together with the input PENDF
tape to calculate the sum of MF=13, MF=12$\times$MF=3, and
MF=16$\times$MF=3 for all the photon reactions on the normal
union energy grid. Later, this total photon production cross
section is written into the ACE GPD block in \cword{acelod}.
\paragraph{Photon Production Matrix.}
The 30-by-20 photon production matrix is computed from input
multi-group data. Therefore, it is necessary to execute the
\hyperlink{sGROUPRhy}{GROUPR}\index{GROUPR} module
prior to ACER. This run should use the 30-group option
for neutrons and a photon group structure with many groups (the
CSEWG\index{CSEWG} 94-group structure\index{94-group structure}
is normally used). The \cword{gamout}\index{gamout@{\ty gamout}}
routine reads the multi-group data and adds up all the
reactions. It then integrates through the photon groups
for each neutron group and finds the equal-probability
boundaries. For each of these equally probable bins, it
selects a single photon energy that preserves the average
energy for the bin. The results are written on a scratch
tape in a special ENDF-type format and passed to \cword{acelod}
to be inserted into the GPD block.
\paragraph{Expanded Photon Production Data.}
This newer representation allows each discrete photon to be
treated with its proper energy, and it allows for a much better
representation of the spectrum of continuum photons. In the
ACE representation, the MTRP block lists all the photon
reactions included by ENDF MT number. Since some reactions
may describe more than one photon (for example, radiative
capture reactions usually describe many discrete photons),
the identifier numbers are given as 1000$\times$MT plus a photon
index. Thus 102002 would stand for the second photon
described under radiative capture (MT=102). Each of the
NMTR photons listed in the MTRP block can have its own
cross section or yield as described in the SIGP and LSIGP
blocks, its own angular distribution as described in the
ANDP and LANDP blocks, and its own energy distribution as
described in the DLWP and LDLWP blocks. In addition,
the YP block contains a list of reaction MT numbers that
are needed as photon production yield multipliers.
These expanded photon production data are stored into the
ACE-format blocks in \cword{acelod} using the information
written on a scratch file by \cword{convr}.
\subsection{Probability Tables for the Unresolved Region}
\label{ssACER_URR_probtables}
Starting with Version 4B, MCNP has been able to make use of
cross section probability tables for energies in the unresolved
resonance range\index{unresolved resonance range} to get proper
self-shielding effects. These tables are produced by the
\hyperlink{sPURRhy}{PURR}\index{PURR} module of NJOY. The
tables provide a cumulative density function that gives the
probability that the total cross section observed at some
energy $E$ in the unresolved resonance range will be less
than some particular values. MCNP can then throw a
random number and search this table to get a
sample value for the total cross section at each collision. The
probability tables\index{probability tables} also include conditional
probability distributions that give values for scattering, fission,
capture, and heating for each particular value of the total. The
probability tables are read from the input PENDF file and stored
into the ACE format in \cword{acelod}.
\subsection{Charged-Particle Production}
\label{ssACER_CP}
Another recent addition to the continuous-energy neutron data
class for MCNP is a detailed representation of the emission of
light charged particles from neutron-induced reactions. These
kinds of data are now available for a number of materials in
ENDF/B evaluations, including the large set of evaluations
originally added for ENDF/B-VI Release 6 that go to incident
neutron energies of 150 MeV.
When present, the charged-particle production data reside in
a set of ACE blocks at the end of the ACE file. There is a set
of data given for each charged particle produced: protons, deuterons,
tritons, $^{3}$He's, and alphas. These data sets give a production
cross section and a heating value referenced to the standard
union energy grid from the ESZ block, and they also give the
fraction of the production coming from each reaction producing
the particle, together with the associated angle and energy
distribution data for the reaction. These data are loaded into the
ACE format using subroutine \cword{acelcp}\index{acelcp@{\ty acelcp}},
which support most of the formats described above, including
LAWs 44 and 61.
These charged particle production distributions will be used in
advanced versions of MCNP to provide the source from neutron reactions
for subsequent charged-particle transport, thus providing a true
n-particle Monte Carlo capability.
Care must be taken to handle heating correctly in n-particle
transport calculations. The heating value in the main ESZ block of
the ACE format contains energy deposition resulting from all the
charged particles resulting from nuclear reactions. If a user
wants to do a coupled neutron-gamma-proton calculation, it is
necessary to subtract the proton heating from the main heating
value first. The subsequent non-local energy deposition from the
transported protons will be handled directly. This is why the
new charged-particle blocks include the separate heating contribution
associated with each particle.
\subsection{Gas Production}
\label{ssACER_gasprod}
During the NJOY run that makes the input for ACER processing, the user
can choose to run the \hyperlink{sGASPRhy}{GASPR} module. It goes
through all the reactions given on its input ENDF and PENDF files and
constructs reaction cross sections for the production of the
light charged particles (p, d, t, $^{3}$He, and alpha) and
writes them on a new version of the PENDF file. When
\cword{acelod} processes this PENDF file, the cross sections are
made available in the ACE file for use in MCNP tallies. Watch for
reaction names like ``(n,Xp).''
These gas production cross sections are basically the same as the
charged-particle production cross sections in the new charged-particle
sections on the ACE file (except for reactions using the ENDF LR flags),
but the latter are not available for simple tallies.
\subsection{Consistency Checks and Plotting}
\label{ssACER_chk}
As part of the Quality Assurance (QA) process for producing ACE
library files\index{ACE quality assurance}, ACER has the capability
to read in an ACE file and check the data for some common problems.
These are called ``consistency checks,''\index{ACE consistency checks}
and the checks are provided for class ``c'' libraries are as follows:
\begin{itemize}
\begin{singlespace}
\item check reaction thresholds against Q values,
\item check the main energy grid is monotonic,
\item check angular distributions for correct reference frame,
\item check angular distributions for unreasonable cosine values
($\mu$ out of range, $\mu$ values not monotonic, cumulative probability
out of range, cumulative probabilities not monotonic)
\item check energy distributions (illegal interpolation, $E'$
greater than the maximum possible value, bad cumulative probability,
decreasing cumulative probability, bad Kalbach $r$, bad angular
cumulative probability, decreasing angular commutative probability),
\item check photon production sum,
\item check photon production distributions (bad cumulative probability,
decreasing cumulative probability), and
\item check particle production sections (bad LAW=4 cumulative
probability, decreasing LAW=4 cumulative probability, bad LAW=44
cumulative probability, decreasing LAW=44 cumulative probability,
bad LAW=44 Kalbach $r$, bad LAW=61 cumulative probability,
decreasing LAW=61 cumulative probability, bad LAW=61 angular
cumulative probability, decreasing angular cumulative probability)
\end{singlespace}
\end{itemize}
When $E'$ values greater than the expected limit are found, the
consistency-check routine can correct them. See the sections on
running ACER for the details.
Another important part of the ACE QA procedure is to prepare an
extensive set of plots and to scan through them for possible problems.
The \cword{aplots}\index{aplots@{\ty aplots}} routine does this,
together with a number of subsidiary routines. The plots are
generated in the form of an input file for the
\hyperlink{sVIEWRhy}{VIEWR}\index{VIEWR}
module, which can then prepare the final plots as color Postscript
files. The plots include pages showing the principle ACE
cross sections (total, elastic, absorption, photon production),
non-threshold reactions (such as capture and heating), and
threshold reactions in log form (to feature the low-energy region)
and linear form (for higher energies). Several reactions are given
per page. The routine also prepares expanded views of the cross
sections in the resonance range to make the details of prominent
resonances more apparent. In addition, the plots include 3-D
perspective views of angular distributions for the new format.
The 32-bin representation of the angular distributions is shown as
contour plots. The energy and energy-angle distributions for
tabulated representations are also shown as 3-D perspective plots.
Finally, the particle production data, if present, are shown using
similar 2-D and 3-D plots. Fig.~\ref{pxsec} is an example of
the log plot for the principal cross sections, and Fig.~\ref{dist3d}
is an example of a 3-D plot for particle emission.
\begin{figure}[b]\centering
\includegraphics[keepaspectratio, height=4.0in, angle=0]{figs/acer1ack}
\caption[Principal cross sections for ENDF/B-VII.0 $^{27}$Al]{A log plot
of the ACE principal cross sections for $^{27}$Al from ENDF/B-VII.0. Note
the extension beyond 20 MeV to 150 MeV.}
\label{pxsec}
\end{figure}
\begin{figure}[t]\centering
\includegraphics[keepaspectratio, height=3.6in, angle=0]{figs/acer2ack}
\caption[Neutron energy distributions from $^{27}$Al(n,n'$\alpha$)
reaction]{A 3-D
view of the energy distribution for neutrons emitted from the (n,n$'\alpha$)
reaction on $^{27}$Al from ENDF/B-VII.}
\label{dist3d}
\end{figure}
\subsection{Thermal Cross Sections}
\label{ssACER_t}
Thermal data is the second class of ACE data to be considered,
\index{thermal cross sections}
and they are handled by the \cword{aceth}\index{modules!aceth@{\ty aceth}}
module. This module exports two subroutines:
\cword{acesix}\index{acesix@{\ty acesix}} to process the data into
ACE format, and \cword{thrfix}\index{thrfix@{\ty thrfix}} for edits,
listings, and plots.
For energies below several eV, the thermal motions of nuclei can
lead to significant energy gains in neutron scattering. In addition,
the binding of atoms into liquids and solids begins to affect the
scattering cross section and the distribution of scattered neutrons
in angle and energy. MCNP can handle thermal neutron scattering
from the atoms of a free gas\index{free gas} using internal
kinematic formulas that assume a Boltzmann distribution.
The bound-atom effects are treated using thermal data from ENDF
evaluations stored in a special MCNP thermal library.
The ENDF format allows for several thermal processes. Thermal
inelastic\index{thermal inelastic} scattering is represented using
the scattering law $S(\alpha,\beta)$\index{$S(\alpha,\beta)$}, where
$\alpha$ and $\beta$ are dimensionless momentum and energy transfer
parameters, respectively:
\begin{equation}
\sigma(E{\rightarrow}E',\mu)=\frac{\sigma_{\rm b}}
{4\pi T}\sqrt{\frac{E'}{E}}{\rm e}^{-\beta/2}S(\alpha,\beta)\,\,,
\end{equation}
\vspace{0.5 pt}
\noindent
where
\begin{equation}
\alpha=\frac{E'+E-2\mu\sqrt{EE'}}{AkT}\,\,,
\end{equation}
\vspace{0.5 pt}
\noindent and
%\hbox{ }
\begin{equation}
\beta=\frac{E'-E}{kT}\,\,.
\end{equation}
\vspace{0.5 pt}
\noindent
$E$ and $E'$ are the incident and outgoing neutron
energies, $\mu$ is the scattering cosine, $T$ is the absolute
temperature, $A$ is the mass ratio to the neutron of the
scatterer, and $k$ is Boltzmann's constant. This process
occurs in all the ENDF thermal materials, such as water,
heavy water, graphite, beryllium, beryllium oxide, polyethylene,
benzine, and zirconium hydride.
\index{water}
\index{heavy water}
\index{graphite}
\index{Be}
\index{BeO}
\index{polyethylene}
\index{benzine}
\index{zirconium hydride}
The \hyperlink{sTHERMRhy}{THERMR}\index{THERMR}
module of NJOY uses this equation and evaluated
$S(\alpha,\beta)$\index{$S(\alpha,\beta)$} data from an ENDF-format
evaluation to compute $\sigma(E{\rightarrow}E',\mu)$. The $E'$ dependence
of the integral over $\mu$ is computed adaptively so as to
represent the function using linear interpolation within a
specified tolerance. The angular distribution at each of
these $E'$ values is then calculated in a similar way, but
the curve of $\sigma$ vs. $\mu$ is then converted into
equally probable bins (typically 8), and a discrete angle is
selected for each bin that preserves the average scattering
cosine for that bin. The data are written onto the PENDF
tape using special MF=6-like formats.
The \cword{acesix}\index{acesix@{\ty acesix}} subroutine reads this
thermal section on the input PENDF\index{PENDF} file. In older
versions of this method, the energy distribution
$\sigma(E\rightarrow E')$ is converted into equally probable bins
(typically 16), and a discrete energy is chosen for each bin that
preserves the average energy in that bin. The result of this process
is a set of equally probable events\index{equally probable events}
(typically $8\times 16=128$ events) in $E',\mu$ space for each
incident energy. It is very easy to sample from this representation,
and it is fairly compact. See \cword{iwt}=0 is the input
instructions.
However, it must be recognized that this scheme is only reasonable
if each neutron undergoes several scattering events before being
detected. The artificial discrete lines must be averaged out. Be
careful when using this method to analyze experimental arrangements
using optically thin elements and small-angle detectors. In addition,
as in all equal-probability bin schemes, the wings of functions
(which may be unlikely but important) are not well sampled. ACER
includes a variation to partially relieve this problem: instead of
equal bin weights, the pattern 1, 4, 10, 10,..., 10, 4, 1 is used
(see ``variable weighting'' in the input instructions). This approach
produces some samples fairly far out on the wings of the energy
distribution. Angles are still equally weighted. See \cword{iwt}=1
in the input instructions.
In practice, this method using discrete energies can still leave
some artificial peaks in typical thermal neutron spectra. These
peaks don't have much effect on average quantities for most
applications, but they are visually offensive. The newer versions
of MCNP (version 5.1.50 and later) support continuous distributions
of $\sigma(E\rightarrow E')$ with PDF and CDF values to drive the
sampling. See \cword{iwt}=2 in the input instructions. This is
the preferred representation. The thermal inelastic data prepared by
\cword{acesix}\index{acesix@{\ty acesix}} is loaded into the ACE blocks
ITIE and ITXE by \cword{thrlod}\index{thrlod@{\ty thrlod}}.