1,399
Views
20
CrossRef citations to date
0
Altmetric
Computer Code Abstract

SENSMG: First-Order Sensitivities of Neutron Reaction Rates, Reaction-Rate Ratios, Leakage, keff, and α Using PARTISN

Pages 80-114 | Received 26 Mar 2018, Accepted 26 Apr 2018, Published online: 23 Jul 2018

Abstract

SENSMG is a tool for calculating the first-order sensitivities of reaction-rate ratios, keff, and α in critical problems and reaction-rate ratios, reaction rates, and leakage in fixed-source problems to multigroup cross sections, isotope densities, material mass densities, and interface locations using the PARTISN multigroup discrete-ordinates code by implementing Generalized Perturbation Theory. SENSMG can be used for one-dimensional spherical and slab (r) and two-dimensional cylindrical (r-z) geometries. For fixed-source (leakage) problems, SENSMG relies on the MISC and/or SOURCES4C codes to compute neutron source rate densities from spontaneous fission and (α,n) sources. SENSMG is a combination of Python and Fortran and was developed under Linux. This computer code abstract describes all user inputs, the input file, and output files. This computer code abstract describes how SENSMG can be modified to support different computer platforms, PARTISN versions, or cross-section availability. Several verification problems are presented in which SENSMG results are compared with MCNP6, SCALE6.2, and direct perturbations (central differences). SENSMG is available at https://github.com/jafavorite/SENSMG. SENSMG can be modified to accommodate other deterministic transport codes that have an adjoint capability.

I. INTRODUCTION

SENSMG is a tool for computing first-order sensitivities of neutron reaction rates, reaction-rate ratios, leakage, keff, and α using the PARTISN multigroup discrete-ordinates code.Citation1 Both codes are developed at Los Alamos National Laboratory (LANL). SENSMG computes sensitivities to all of the transport cross sections and data (total, fission,Footnotea nu, chi, and all scattering moments), two edit cross sections (absorption and capture), and the density for every isotope and energy group. The tool can be used for one-dimensional spherical and slab (r) and two-dimensional cylindrical (r-z) geometries. The tool can be used for fixed-source and eigenvalue problems. The tool implements Generalized Perturbation Theory (GPT) as discussed by WilliamsCitation2 and Stacey.Citation3 The tool is thus limited to computing sensitivities only for GPT-allowable responses.Citation4

Neutron leakage is computed only for fixed-source problems, for which an additional code, MISC (CitationRef. 5) and/or SOURCES4C (CitationRef. 6), is used to compute the neutron source rate density from spontaneous fission and (α,n) reactions based on the materials present in the geometry. MISC and SOURCES4C are both developed at LANL.

SENSMG is a combination of Python and Fortran and was developed under Linux. SENSMG is available at https://github.com/jafavorite/SENSMG.

Section II briefly describes the theory behind adjoint-based sensitivities, gives the equations that SENSMG solves, and defines the sensitivities that are output. Section III describes the user interface, including the input file and command line options. Section IV describes the output. Section V gives some notes about the coding that may be of interest. Section VI discusses verification, which is ongoing. Section VII lists needs and ideas for future work. Appendix A lists all of the input files whose results are presented in Sec. VI. Appendix B provides some useful details on one of the cross-section libraries that SENSMG supports.

II. THEORY AND DEFINITIONS

II.A. Reaction Rates, Reaction-Rate Ratios, and Sensitivities

Define two reaction rates as

(1)

and

(2)

where

V ==

problem spatial domain

r ==

a point within the volume V

g ==

energy group index

G ==

number of energy groups

, ==

arbitrary macroscopic cross sections in group g at point r.

Also in Eqs. (1) and (2), is the scalar flux in group g at point r, defined as

(3)

where is the angular flux in group g at point r in direction . The reaction cross sections and are for arbitrary nuclides that need not be present in the problem. They are defined to be zero outside of a subset of V within which the reaction rates are assumed to be measured.

The ratio of the reaction rates is

(4)

The relative sensitivity of R to a transport cross section for reaction x in group g is defined to be

(5)

where subscript 0 indicates the initial base case. The transport cross section is for a specific nuclide that is present in the problem.

The derivative of R with respect to is found by differentiating Eq. (4) with respect to , noting that g denotes a specific energy group. The result is

(6)

Rearranging Eq. (6) and using the result in Eq. (5) yields

(7)

In Eqs. (6) and (7) and the rest of this computer code abstract, we assume that all quantities are evaluated for the base configuration.

The total first-order sensitivity of R to reaction x is the sum over groups:

(8)

As shown in Eq. (7), the relative sensitivity is the sum of two components. The first term in parentheses on the right side is called the direct effect of a perturbation in and the second term in parentheses is called the indirect effect.

The derivatives in the direct effect are nonzero only when and/or , where and are the atom densities for nuclides 1 and 2. The direct effect can therefore be written

(9)

where (j = 1, 2) is the Kronecker delta that is equal to one when x = j and 0 otherwise. Equation (9) can readily be evaluated given the forward scalar flux .

Rearranging the second term in parentheses in Eq. (7), the indirect effect, yields

(10)

This term uses the derivative of the scalar flux with respect to . GPT provides an economical means of computing the indirect effect.

II.B. keff-Eigenvalue Problems

Details of applying GPT to λ-mode (keff) eigenvalue problems are given in CitationRef. 2; a good summary is given in CitationRef. 7. Very briefly, for keff calculations, the forward and adjoint neutron fluxes and satisfy

(11)

and

(12)

respectively, where

F ==

fission neutron production operator

A ==

neutron loss operator

==

* ==

adjoint operators.

Vacuum boundary conditions apply to Eqs. (11) and (12). The indirect effect [Eq. (10)] is

(13)

where is the generalized adjoint function that satisfies

(14)

with

(15)

which is an isotropic volume source. A vacuum boundary condition applies to Eq. (14). Because the operator acting on in Eq. (14) is singular [see Eq. (12)], special techniques are required to solve Eq. (14). Another way of stating this is that Eq. (14) represents a source inserted into a critical system. One technique is the method of successive approximations,Citation3,Citation8 which calculates using

(16)

where

(17)

The are generated recursively using

(18)

The second term on the right side of Eq. (17) is included to remove any fundamental mode contamination. WilliamsCitation2 has a thorough discussion of this issue.

The generalized adjoint for keff-eigenvalue problems must satisfyCitation2

(19)

In fact, as Cacuci has shown,Citation4 Eq. (19) represents a limitation of GPT and thus of SENSMG because only those responses whose generalized adjoints satisfy Eq. (19) are GPT-allowable responses that can be treated with GPT and thus SENSMG. In CitationRef. 4, Cacuci has also proposed an innovative framework that alleviates the shortcomings of GPT, but that framework has not been implemented in PARTISN or in SENSMG.

In practice, of course, the sum in Eq. (16) goes until some user-defined convergence criterion is achieved. Cacuci’s frameworkCitation4 avoids the use of successive approximations altogether.

A more efficient method of solving Eq. (14) was recently implemented into Oak Ridge National Laboratory’s (ORNL’s) Denovo code.Citation9 The method takes advantage of Denovo’s generalized minimal residual method (GMRES) and Krylov solvers.

It may also be of interest to compute the sensitivity of an “absolute” reaction rate, such as R1 of Eq. (1). There is no absolute reaction rate in a critical system unless the amplitude of the flux is constrained. The power level is often used as a constraint on the flux, but for critical experiments the power level is generally unknown. In Williams’s development,Citation2 the constraint is

(20)

and P and essentially replace R2 and in the equations in this section, particularly Eqs. (4), (9), and (15). In the SENSMG sensitivity tool, we use 1 for so that P becomes the flux in the reaction-rate region. (WilliamsCitation2 uses N where we use P.)

The λ-mode forward angular flux is computed to obtain the baseline ratio R from Eq. (4). It is also used in the solution for through R1 and R2 in Eqs. (15) and through Eq. (17). In addition, Eq. (17) requires the λ-mode adjoint angular flux . Because the forward and adjoint fluxes are both computed, keff sensitivities can always be computed with λ-mode reaction-rate ratio sensitivities.

The relative sensitivity of keff to a transport cross section for reaction x in group g is defined to be

(21)

The adjoint-based formulation for is

(22)

Again, the total sensitivity of keff to reaction x is the sum of over groups.

lists the specific equations that are used for the indirect effect of the sensitivities in the SENSMG sensitivity tool with the label that appears in the output (Sec. IV). In , subscript i indicates an isotope. In the scattering sensitivities of , and are the l’th moments of the forward flux and generalized adjoint flux, defined as

(23)

and

(24)

TABLE I Reaction-Rate Ratio Sensitivities for λ-Mode Flux, Indirect Effect*

where are Legendre and associated Legendre polynomials appropriate for the geometry.Citation1 Note that the generalized adjoint moments are inner product moments defined using the Legendre polynomial for the direction opposite the direction of the angular flux.Citation10 When λ-mode, α-mode, or fixed-source adjoint moments are needed, their definition is analogous to Eq. (24):

(25)

Also note that the zeroth forward moment is just of Eq. (3). The number of moments, L in , depends on the scattering order and the number of dimensions (it is equal to the scattering order in one dimension).Citation1

The sensitivity to the total cross section and all contributors to the total cross section have an angle integral of the product of angular fluxes. For α calculations, the integrals in Eq. (34) do as well. If discrete-ordinates angular fluxes are available, then these integrals are computed using

(26)

where

M ==

number of discrete ordinates

ωm ==

weight of ordinate m

subscript –m ==

ordinate that is in the opposite direction of ordinate m.

If discrete-ordinates angular fluxes are not available, then angle integrals are estimated using a moments expansion:Citation10

(27)

Note that the second term in the fission cross section and P0 scattering equations appears because these cross sections are addends in the total cross section.

The numerator of Eq. (22) is the same as Eq. (13) except that the latter has the generalized adjoint where the former has the λ-mode adjoint . Thus, the sensitivities of keff are computed using the equations in , with the following modifications: (1) k is substituted for R in the subscript on S, (2) λ-mode and [Eq. (25)], the solution to Eq. (12), are used instead of and , and (3) the integrals are divided by the denominator of Eq. (22).

SENSMG also computes the relative sensitivity of keff with respect to the mass density of each material defined in the SENSMG input file (Sec. III.B). The adjoint-based formulation for is

(28)

The total sensitivity of keff to the mass density of coarse mesh n is the sum of over groups. It is important to note that the derivative in is a constant-volume partial derivative.

SENSMG also computes the derivative of keff with respect to the location of each material interface location and the location of the outer boundary. The derivative, computed for each energy group, is denoted , where rn is the location of the n’th interface, surface Sn. The adjoint-based formulation for isCitation11

(29)

where is the difference in the fission operator across surface Sn, defined as the operator on the negative side (left, inside, or bottom) minus the operator on the positive side (right, outside, or top), and is defined analogously for the transport operator. The total derivative of keff to the location of surface Sn, , is the sum of over groups. It is important to note that is a constant-density partial derivative.

For all of the problems in this computer code abstract, the constant-volume and constant-density partial derivatives can be combined (with cell volumes and interface areas) to compute constant-mass partial derivatives.Citation12

II.C. α-Eigenvalue Problems

GPT may also be used for α-eigenvalue calculations. The α-mode forward and adjoint neutron fluxes and satisfy

(30)

and

(31)

respectively, where v is the neutron speed. Vacuum boundary conditions apply to Eqs. (30) and (31). The indirect effect is

(32)

where now satisfies

(33)

with given by Eq. (15). A vacuum boundary condition applies to Eq. (33). The method of successive approximations can be used to solve Eq. (33) using Eq. (16) with

(34)

where vg is the neutron speed associated with energy group g. The are generated recursively using

(35)

The second term on the right side of Eq. (34) is included to remove any fundamental mode contamination.

It can be shown that the generalized adjoint for a-eigenvalue problems must satisfy

(36)

Like keff calculations, in α calculations, the α-mode forward and adjoint angular fluxes are computed to apply GPT for reaction-rate ratios, so α sensitivities can always be computed with α-mode reaction-rate ratio sensitivities. The relative sensitivity of the α eigenvalue to a transport cross section for reaction x in group g is defined to be

(37)

The adjoint-based formulation for is

(38)

Again, the total sensitivity of α to reaction x is the sum of over groups.

The equations in are also used for reaction-rate ratios of the α-mode flux, except that keff is set to 1 (and the appropriate fluxes are used).

The numerator of Eq. (38) is the same as Eq. (13) except that the latter has the generalized adjoint where the former has the α-mode adjoint . Thus, the sensitivities of α are computed using the equations in , with the following modifications: (1) λ is set to 1, (2) α is substituted for R in the subscript on S, (3) α-mode and [Eq. (25)], the solution to Eq. (31), are used instead of and , and (4) the integrals are divided by the denominator of Eq. (38) (including the factor of α).

SENSMG also computes the relative sensitivity of α with respect to the mass density of each material defined in the SENSMG input file (Sec. III.B). The adjoint-based formulation for is

(39)

The total sensitivity of α to the mass density of coarse mesh n is the sum of over groups. It is important to note that the derivative in is a constant-volume partial derivative.

SENSMG also computes the derivative of α with respect to the location of each material interface location and the location of the outer boundary. The derivative, computed for each energy group, is denoted . The adjoint-based formulation for , whose derivation is similar to that of in CitationRef. 11, is

(40)

where again the Δ terms are differences across surface Sn. The total derivative of α to the location of surface Sn, , is the sum of over groups. It is important to note that is a constant-density partial derivative.

II.D. Fixed-Source Problems

For fixed-source calculations, the forward and adjoint neutron fluxes and satisfy

(41)

and

(42)

respectively. In SENSMG, the neutron source is an energy- and material-dependent intrinsic source of spontaneous fission neutrons and neutrons from (α,n) reactions occurring in a homogeneous material. It is assumed to be isotropic. The adjoint source is defined by the quantity of interest. In SENSMG, the quantity of interest for the adjoint flux is, for spheres and cylinders, the total neutron leakage L from the system, which is

(43)

where Sb represents the outer boundary and is the outward unit normal vector at each point on Sb. For slabs, the quantity of interest is the leakage from the right boundary, computed using Eq. (43) with Sb representing just the right boundary. Therefore, the adjoint source is an isotropic incoming flux distribution on the outer boundary (for spheres/cylinders) or the right boundary (for slabs). (An isotropic incoming distribution in the flux is equivalent, within the limits of the discrete-ordinates approximation, to a cosine incoming distribution in the neutron density.) Other than that incoming flux condition for Eq. (42), vacuum boundary conditions apply to Eqs. (41) and (42).

The relative sensitivity of the leakage to a transport cross section for reaction x in group g is defined to be

(44)

The adjoint-based formulation for is

(45)

The intrinsic neutron source rate density Q depends on isotopic (α,n) cross sections. However, SENSMG presently considers only neutron reaction cross sections. Therefore, the derivative is zero, and SENSMG uses

(46)

Again, the total sensitivity of L to reaction x is the sum of over groups.

For reaction-rate ratios, the indirect effect of Eq. (10) is

(47)

Again, SENSMG considers only neutron reaction cross sections, so and the indirect effect is

(48)

In Eqs. (47) and (48), satisfies

(49)

with given by Eq. (15). A vacuum boundary condition applies to Eq. (49). For fixed-source problems, the operator on in Eq. (49) is not singular, so Eq. (49) is solved directly, without the need for successive approximations.

For fixed-source problems, Eq. (49) is the same form as Eq. (42) (the sources are different). For reaction-rate ratios, we are following the convention of StaceyCitation3 in referring to the adjoint function as a generalized adjoint and using the symbol . We use for the neutron leakage adjoint so that the discussion in this section parallels somewhat the discussion of eigenvalue problems in Secs. II.B and II.C. However, for reaction-rate ratios in fixed-source problems, only one adjoint is needed, . Therefore, in this case, the neutron leakage sensitivity does require an extra adjoint transport calculation beyond what the reaction-rate ratios sensitivities require, unlike in the eigenvalue case.

For fixed-source problems, the magnitude of the neutron flux is fixed, and an absolute reaction rate R1 of Eq. (1) can be computed. In this case, is

(50)

For a reaction-rate ratio in fixed-source problems, the generalized adjoint must satisfy

(51)

For an absolute reaction rate in fixed-source problems, the generalized adjoint must satisfy

(52)

With one exception, the equations in are also used for reaction-rate ratios of a fixed-source flux, except that keff is set to 1 (and the appropriate fluxes are used). The exception is that the sensitivity of the reaction-rate ratio to the density of nuclide i, Ni, in a fixed-source problem requires the derivative (but is still zero). The contribution of the source sensitivity to the sensitivity of R to the density of isotope i is

(53)

The sensitivity of Eq. (53) is included as another addend on the right side of the equation for in . The source is the sum of the spontaneous fission source in group g and the (α,n) source in group g:

(54)

For spontaneous fission sources, the source rate density in group g for isotope i is

(55)

where is the decay constant for isotope i and includes a spectrum function and the spontaneous fission branching ratio,Citation6 neither of which depend on any isotopic densities. The total spontaneous fission source rate density in group g is the sum over fissioning isotopes:

(56)

The derivative of the spontaneous fission neutron source rate density in group g with respect to the density of spontaneous-fissioning isotope i is

(57)

Whether MISC or SOURCES4C is used to compute spontaneous fission sources, the overall spontaneous-fission neutron spectrum is applied for each spontaneous-fissioning isotope i.

For (α,n) sources, the source rate density in group g for α-emitting isotope j due to target isotope k is

(58)

where depends on the density of the target isotope but also on the density of every isotope in the material because they all contribute to the α-stopping power of the material. The total (α,n) source rate density in group g is the sum over α-emitting isotopes and target isotopes:

(59)

The derivative of the (α,n) neutron source rate density in group g with respect to the density of isotope i is

(60)

The derivative of is too complicated to present here, but it has been worked outCitation13 and implemented in SENSMG.

Using Eqs. (54) and (57) and the left side of Eq. (60), Eq. (53) becomes

(61)

The neutron sources are isotropic, so only the zeroth moment of is needed.

SENSMG makes an approximation in evaluating the terms in Eq. (61). The total spontaneous fission source rate density for each isotope is known, but the spontaneous fission spectrum calculated for the material (the mixture of isotopes) is applied to approximate :

(62)

where j indexes fissioning isotopes. The derivative of the total (α,n) source rate density (for the material) with respect to each isotope is known,Citation13 but the (α,n) neutron spectrum is computed and applied for each α-emitting isotope and each target isotope:

(63)

where j indexes α emitters if i is a target isotope and target isotopes if i is an α emitter. If i is neither an α emitter nor a target, the overall (α,n) neutron spectrum is applied:

(64)

In some cases, a weak α emitter is more important due to its contribution to the material’s α-particle stopping power than to its contribution to the α-particle source rate density.Citation13 Then Eq. (64) is used rather than Eq. (63).

The numerator of Eq. (45) is the same as Eq. (13) except that the latter has the generalized adjoint where the former has the fixed-source adjoint . Thus, the sensitivities of the leakage are computed using the equations in , with the following modifications: (1) λ is set to 1, (2) L is substituted for R in the subscript on S, (3) the fixed-source and [Eq. (25)], the solution to Eq. (42), are used instead of and , (4) of Eq. (61) is included (see 3), and (5) the integrals are divided by L of Eq. (43).

SENSMG also computes the relative sensitivity of L with respect to the mass density of each material defined in the SENSMG input file (Sec. III.B). The adjoint-based formulation for is

(65)

The total sensitivity of L to the mass density of coarse mesh n is the sum of over groups. The derivative of with respect to the material mass density is zero.Citation13 It is important to note that the derivative in is a constant-volume partial derivative.

SENSMG also computes the derivative of L with respect to the location of each material interface location and the location of the outer boundary. The derivative, computed for each energy group, is denoted . The adjoint-based formulation for isCitation14

(66)

where again the Δ terms are differences across surface Sn. The total derivative of L to the location of surface Sn, , is the sum of over groups. It is important to note that is a constant-density partial derivative.

III. USER INTERFACE

The SENSMG sensitivity tool is run by invoking the name of a Python control script with options. On the LANL high-performance computing (HPC) machines, the control script is called /usr/projects/data/nuclear/working/sensitivities/bin/sensmg.py .

There are four ways to input information into SENSMG: (1) through preset environment variables, (2) through an input file, (3) through the command line, and (4) in special cases, through the Python script itself. These are discussed in Secs. III.A through III.D.

III.A. Environment Variables

SENSMG checks the environment variable SENS_PARTISN for the specific executable version of PARTISN to run. If that variable is not set, SENSMG will use (in C-shell notation) /usr/projects/lindet/rel8_27/8_27_15/${HN}-intel-17.0.4-openmpi-2.1.2/partisn, where ${HN} is derived from the HOSTNAME describing the computer that the user is on. See the PARTISN documentation for available versions and systems. SENSMG loads the appropriate modules for the supported PARTISN versions.

When using the Nuclear Data Interface (NDI) at LANL, the user should have an NDI_GENDIR_PATH set. If there is none, SENSMG will use /usr/projects/data/nuclear/ndi/2.1.3/share/gendir.all.

III.B. Input File

The default input file name is sensmg_inp, but this can be changed with the -i parameter on the command line (Sec. III.C). The input file tells what type of calculation to run, fully specifies the geometry and materials, and lists the reaction-rate ratios of interest.

A forward slash (/) designates that the rest of the line is a comment. Forward slashes are required to end material composition lines and reaction-rate ratio lines. Each line of the input file is free format, but the lines must be in a certain order. In some cases, the entries on a line must also be in a certain order. This section describes the order.

SENSMG computes one-dimensional (r) spheres or slabs or two-dimensional (r-z) cylinders. The input file for a spherical geometry is described in . The first card is a title line. The second card has sph or sphere for a sphere and it also tells the type of calculation to run, either keff (keff), α (alpha), or neutron leakage (lkg). The order of these words is not important.

TABLE II Spherical or Slab Input File Description

The third card tells the LIBNAME used to specify cross sections to PARTISN.

The fourth and fifth cards describe materials. The number of materials (NM) is given, and then the composition for each material is specified (each material on a single line) by ZAID (the nuclide identification number) and weight fraction. Numeric ZAIDs, not the full cross-section–specification ZAIDs, are used to identify nuclides. After the material specifications, the material densities are listed in order on a single line. The same material can appear at more than one density but only if it is listed each time (once for each density) in the material list.

It is at this point that sphere/slab and cylinder input files differ. For a spherical or slab input, the sixth card tells the number of radial shells or slabs (NR) and the seventh card specifies the location (not the thickness) of each shell or slab, i.e., the outer radius or surface location. The eighth card assigns materials to spherical shells or slab layers in order.

The rest of the spherical input file tells where the reaction-rate ratios are to be calculated and what they are. The ninth card tells the index of the radial shell in which the ratios are calculated. All reaction rates and fluxes are computed in the same location. The tenth card tells the number of reaction-rate ratios, and the next set of lines gives the reaction-rate ratios in ZAID-reaction pairs; see later in this section for details. If the number of reaction-rate ratios is zero, SENSMG will only compute keff, α, or leakage sensitivities.

The input file for a cylindrical geometry is described in . The first five cards are the same as described above and in for a sphere/slab geometry. The sixth card tells not just NR but also the number of axial layers (NZ). The outer radius of each shell is given on the seventh card. The eighth card gives the location of each axial layer, starting at the bottom. The number of axial surfaces to specify is thus one plus the number of layers.

TABLE III Cylindrical Input File Description

Next, materials are assigned to two-dimensional regions. The layout here is somewhat graphical in that each line has an entry for each radial shell (in order), and there is a line for each axial layer in order from top to bottom.

The tenth card needs to specify both the radial shell and the axial layer in which reaction-rate ratios are to be computed. The rest of the input file is the same as in the sphere/slab case.

Cross sections are specified using the LIBNAME given in the input file. As when PARTISN is run on its own, the LIBNAME library must exist in the gendir file specified in the environment variable NDI_GENDIR_PATH (Sec. III.A). SENSMG searches for LIBNAME in the gendir file to set the cross sections. For each isotope in the problem, including edit isotopes (those only used in reaction rates), SENSMG sets the full ZAID (and therefore the cross sections) using the first instance of the isotope found with the specified LIBNAME in NDI_GENDIR_PATH. As when PARTISN is run on its own, the isotopes in the input file must match those available in the specified LIBNAME and NDI_GENDIR_PATH.

In addition to the libraries available through the NDI at LANL, SENSMG can use the Kynea3 cross sections developed by Varley and Mattingly.Citation15 The Kynea3 cross sections are in 79 groups and have upscattering in the lower 35 groups. Use kynea3 for LIBNAME in the input file. The code will automatically set the number of energy groups to 79. Because the Kynea3 cross sections do not have a full set of edit reactions, this capability is generally applicable only to keff, α, and leakage sensitivities. (The Kynea3 set does include the first four edit positions of , discussed below.) The isotopes available in the Kynea3 set are listed with their ZAIDs in Appendix B.

TABLE IV Edit Reactions Available from the NDI

SENSMG can support users who do not have access to the NDI or Kynea3. If the word special is used for LIBNAME in the input file, SENSMG will look in directory SENS_DATA (see Sec. III.D) for four files from a forward run (for_macrxs, for_snxedt, for_ndxsrf, and for_znatdn), four files from a cross-section run (xs1_macrxs, xs1_snxedt, xs1_ndxsrf, and xs1_znatdn), and a file called spc_gendir, copied from the sensmg.log file (see Sec. IV; below “diagnostics from rdgendir” or “diagnostics from rdbxslib”), that gives the ZAIDs and atomic weights used in the problem. These nine files must correspond exactly to the end user’s input file. The eight cross-section files must be created with the end user’s PARTISN version. SENSMG is presently hard-wired to accept MENDF71X cross sections using this capability.

Using and in Eqs. (1), (2), and (4), reaction-rate ratios are specified as

ZAID1 x1 ZAID2 x2 /

Note that the forward slash at the end of the line is required. For keff and α problems, if ZAID2 and x2 are not present, it means to use 1 for , as discussed in Sec. II.B. Numeric ZAIDS are used to specify nuclides (i.e., the full cross-section specification is not used here). Reactions x1 and x2 are given as integers indicating the position of the desired cross section in the PARTISN edit tables. Available edit positions when the NDI is used are given in . Note from that the location of certain edit reactions changed with PARTISN version 8.

An example of a spherical input file follows (note that though the composition of material 1 wraps here, it should be on a single line):

Pu-Flattop (PU-MET-FAST-006)

keff sph

mt71x / libname

2 / no of materials

1 94239 9.38001E-01 94240 4.79988E-02 94241 2.99996E-03 31069 6.53652E-03 31071 4.46355E-03 / Pu-alloy

2 92234 5.40778E-05 92235 7.10966E-03 92238 9.92836E-01 / Flattop natural U

15.53 19.00 / densities

3 / no of shells

0.155 4.5332 24.142 / outer radii

 1    1    2    / material nos

 1       / index of coarse mesh to use for reaction rates

 3       / number of reaction-rate ratios

 92238 16    92235 16 /numerator and denominator

 93237 16    92235 16 /numerator and denominator

 92235 10        /numerator and flux

An example of a cylindrical input file follows:

HEU-MET-FAST-001-02 Godiva-II

keff cyl

mt71x / libname

1 / no of materials

1 92234 1.01999E-02 92235 9.37100E-01 92238, 5.27004E-02 / Godiva

18.74 / densities

2 3 / no of r layers, no of z layers

 0.635 7.62 / outer radii

 0. 7.86 9.13 16.99 / heights

 1  1  / material nos, top

 1  1  / material nos

 1  1  / material nos, bottom

 1  2  / r and z indices of coarse mesh to use for reaction rates

 1    /number of reaction-rate ratios

 92238 16  92235 16 /numerator and denominator

More examples are given in Appendix A and discussed in Sec. VI.

III.C. Command Line

The available command line options are listed and described in .

TABLE V Command Line Options

If PARTISN version 7 or earlier is used, then spherical and slab problems should be run using a single processor (-np 1). The reason is that Eq. (26) is more accurate than Eq. (27), and PARTISN’s angular fluxes are readily available for one-dimensional problems, except that message passing interface (MPI) runs of PARTISN 7 (and earlier) cannot print the angular flux file. If PARTISN version 8 is used, then spherical and slab problems can be run with as many processors as are available.

Because of memory limitations, cylindrical problems approximate the volume inner product of angular fluxes with a moment expansion [Eq. (27)]. Therefore, cylindrical problems can always be run with as many processors as are available. (This approximation is too crude for surface integrals, so the –rplane and –zplane options discussed below were developed.)

The number of energy groups “-ngroup [G]” available when using the NDI at LANL is G = 618, 301, 250, 141, 133, 130, 91, 75, 70, 49, 47, 30, 21, 16, 14, 13, 12, 10, 9, 8, 7, 6, 5, 4, 3, 2, or 1. Not every value is available for all possible values of LIBNAME (Sec. III.B). (The 130-group libraryCitation16 is particularly limited.) The 79-group Kynea3 setCitation15 is also available (Sec. III.B).

For spheres and slabs, the traditional SN constants are used (iquad = 1 in PARTISN lingoCitation1). For cylinders, the square Chebychev-Legendre built-in set is used (iquad = 6). For both geometries, any even SN quadrature order can be usedCitation1; set with the -isn parameter.

The -epsig parameter is the convergence criterion for the sum in Eq. (16). Before the latest is added to the current sum up to n – 1, each element of (radial fine mesh, axial fine mesh, energy group, and either moment or discrete ordinate) is divided by the corresponding element in the current sum. If the absolute value of the largest ratio is smaller than epsig, the sum is considered to be converged. The latest is then added to the current sum (whether the sum is converged or not).

The –chinorm parameter controls constrained normalization for chi. Constrained normalization is described in CitationRef. 17 for material compositions, but SENSMG uses the same equations for the normalization of chi. The –chinorm parameter is similar to the CONSTRAIN keyword on MCNP6’s KSEN card.Citation18 In MCNP6, “CONSTRAIN = yes” gives full normalizationCitation19 and is the default, as in SENSMG. “CONSTRAIN = no” is the same as “–chinorm none”. MCNP6 does not have a partial normalization option.

For fixed-source neutron leakage problems (keyword lkg in the input file; Section III.B), SENSMG uses the MISC codeCitation5 to compute spontaneous fission sources and the SOURCES4C codeCitation6 to compute (α,n) sources. “–misc no” can be used to have SENSMG use SOURCES4C rather than MISC for spontaneous fission sources. “–alpha_n no” can be used to ignore (α,n) sources altogether.

The –srcacc_no parameter is useful if the PARTISN iterations for the forward or adjoint files are observed to “flip flop” between two states or otherwise have trouble converging. If that happens, turn off source acceleration for the difficult calculation. Source acceleration is always turned off for the generalized adjoint functions.

The –use_existing option is a quick way to see the effect of a change in the chi normalization. However, it was mainly implemented for development and debugging of the SENSMG code.

The –rplane and –zplane options activate PARTISN’s ASLEFT/ASRITE and ASBOTT/ASTOP keywordsCitation1 to write surface angular flux files on the specified surfaces. The radial surfaces are indexed from 1 to NR, where NR is the number of radial regions, and the axial surfaces are indexed from 0 to NZ (bottom to top), where NZ is the number of axial regions. Without this option, in cylindrical problems, the surface fluxes appearing in Eqs. (29), (40), and (66) are approximated using mesh-centered moments. This feature is intended for PARTISN versions before 8.27. Those versions allow only one surface in each coordinate direction to have all angular fluxes written. The default value for both directions is –1, which deactivates this feature.

Beginning with version 8.27, PARTISN is able to write surface angular fluxes for a user-input list of surfaces using the AFLUXX and AFLUXY keywords.Citation1 For cylindrical problems, SENSMG automatically generates that list.

III.D. Python Control Script

The full path specifying the executable code for SENSMG is set in the Python control script as a local variable. The paths to the SOURCES4C codeCitation6 and its data files, used in fixed-source problems, are also set in the script (as local variables). The path to the MISC codeCitation5 and its data files, also used in fixed-source problems, are also set in the script (as local variable for the code and environment variable ISCDATA for the data).

The path to group-structure files, Kynea3 cross sections, and special cross-section files (LIBNAME =  special; see Sec. III.B) is set in the script as environment variable SENS_DATA.

IV. OUTPUT

The main output of SENSMG consists of four files. The files sens_rr_x and one of sens_k_x, sens_a_x, or sens_l_x are the sensitivities of the specified reaction rates and keff or α or neutron leakage, respectively, to all cross sections, as shown in . In these files, sensitivities are given in units of %/%. The sensitivity to the total cross section (denoted “total” in the output tables) is the relative change in the ratio or the eigenvalue if only the total cross section for each isotope changes. This notion of the sensitivity to the total cross section is different from the way it is understood in MCNP6 (CitationRef. 18) and SCALE 6.2 (CitationRef. 20). There, the total cross section is the sum of all other cross sections and the sensitivity to the total cross section is the same as the sensitivity to the isotopic density.Citation17 In PARTISN, it is possible for the total cross section to change independently of all other cross sections. SENSMG uses the label “density” to denote the sensitivity to the total cross section or density as it is understood in MCNP and SCALE (). This explains why it is possible to have an energy-dependent sensitivity to the density in PARTISN (see the equation for the sensitivity to the density in ).

The file sens_rr_x includes a block of data for each reaction-rate ratio. Each ratio block includes the indirect effect as a block for each isotope in each material, the direct effect as a single block that includes the numerator and the denominator, and the total (indirect plus direct) as a block for each unique isotope in the problem. If an isotope appears in more than one material, the total will include all of its appearances and include indirect and direct effects, if any.

The file sens_k_x or sens_a_x or sens_l_x includes a single keff block or α block or leakage block, respectively, that includes the result of Eqs. (22), (38), or (45), respectively, as a block for each isotope in each material and the total as a block for each unique isotope in the problem. If each isotope only appears in one material, then the total isotope block will be the same as the isotope by material block.

The isotope blocks begin with an isotope summary, which is just the sum over groups of each sensitivity of . The group-dependent sensitivities follow. The isotope blocks include the full matrix of sensitivities to chi, each element of which is, for example,

(67)

and the full matrix of sensitivities to scattering, each element of which is, for example,

(68)

for l  > 0. [For α and leakage calculations, keff is set to 1 in Eq. (67).] The zeroth-moment scattering elements include the effect on the total cross section as shown in the entries on . In the chi scattering matrices that are printed, columns are from groups [g′ in Eqs. (67) and (68)] and rows are to groups (g).

The normalization of chi is indicated in the label for chi: chi_(nn) is used for no normalization, chi_(fn) for full normalization, and chi_(pn) for partial normalization. In full normalization, the sum over groups is analytically zero, but the output may have very small nonzero values due to numerical imprecision.

Using Eq. (9), it can be shown that the sum over groups of the direct effect should be one.

The third main output file is one of sens_k_r, sens_a_r, or sens_l_r. These are the sensitivities of keff or α or neutron leakage, respectively, to the mass densities, as given by Eqs. (28), (39), or (65), respectively, and the derivatives with respect to the interface locations, as given by Eqs. (29), (40), or (66), respectively. The sensitivities have units of %/% and the derivatives have units of (units of quantity of interest)/centimeter. This output file has a block for the density sensitivities, followed by a block for the radial surface derivatives, followed by a block for the axial surface derivatives (for cylinders).

For cylinders, the derivative for each surface of each coarse mesh is output individually. The block for radial surface derivatives has an entry for each of the NR radial coarse mesh surfaces and each of the NZ axial zones (in the notation of ). The block for axial surface derivatives has an entry for each of the NR radial zones and each of the NZ + 1 axial surfaces.

If the material is the same on both sides of the coarse mesh, the derivatives will be zero, but they will still be output.

The fourth main output file is sensmg.log, which has all of the input parameters, any warnings that were generated, and information from SENSMG’s reading of NDI_GENDIR_PATH. Diagnostic information about the forward and adjoint transport calculations and the iterations for the generalized adjoint functions is printed as the calculations are run. For example, the normalization of Eqs. (19), (36), (51), or (52) is checked at each iteration. It is difficult to monitor the progress of the iterations in the foreground window because the PARTISN screen output is constantly scrolling. The user can cat the contents of the log file in another window in order to monitor progress. A convergence monitor can be extracted with a command like “ grep convergence sensmg.log”.

For leakage calculations, this file also includes , the derivative of the total (α,n) source rate density with respect to each isotope, labeled as “dQ/dN for (alpha,n) sources”, separated into contributions from each nuclide as a target, stopping element, and α emitter.

SENSMG also keeps all input files, all text output files from transport and source calculations, and all binary cross-section and flux files.

V. SOME NOTES ON THE CODING

SENSMG is a combination of a Python script and a Fortran code. The Python script runs MISC and/or SOURCES4C (for fixed-source problems). It runs PARTISN and controls the iterations in the solution of Eqs. (14) and (33). The Fortran code writes MISC, SOURCES4C, and PARTISN input files and reads MISC, SOURCES4C, and PARTISN output files, including cross-section files. The Fortran code computes and writes the final sensitivities. The Fortran code can probably be replaced with Python.

For fixed-source calculations, SENSMG first computes the intrinsic neutron source using the MISC codeCitation5 and/or the SOURCES4C code.Citation6 The energy group structure is needed for this input before it is available from the PARTISN output files. Thus, the available energy group structures are listed in data files in the sensmg/data directory (set with the SENS_DATA environment variable in the sensmg.py script; see Sec. III.D). These are only used in fixed-source problems. The available energy-group structures are listed with the ngroup keyword in Sec. III.C.

To add a new group structure, follow the example in source file set_ebins.F. Increase the number of available group-structure files and add the file name to the DATA statement. Add logic to select the correct file name. Finally, put the group structure data file in the sensmg/data directory. If it is to be available through the NDI, the data file name is [G] _lanl; otherwise, it is [G]_[LIBNAME].

SENSMG gets cross sections from PARTISN outputs. It writes a special PARTISN input file with one problem or edit isotope per zone, with atom density equal to 1 atom/(b∙cm), and runs it with “nosolv = 1,” a PARTISN block 1 input entryCitation1 that turns off the solver module but not before PARTISN writes a macrxs macroscopic cross-section file and an snxedt microscopic edit cross-section file. The macrxs file now has microscopic transport data for every isotope. The fission and capture cross sections for every isotope are read from the snxedt file.

It has been suggested to use existing tools to use the NDI to read cross-section files directly. However, the present scheme allows SENSMG to compute sensitivities for any cross-section library, not just those available through the NDI. The ability to use the Kynea3 library has been very useful.

After computing the neutron source rate density (if necessary), SENSMG runs PARTISN for the forward input file and the special cross-section input file. In subsequent adjoint and generalized adjoint calculations, SENSMG uses the cross-section files from the forward run with PARTISN’s “lib = macrxs” option.Citation1 This saves a lot of time.

The adjoint keff or α from Eq. (12) or (31) is read from the adjoint output file and compared with the forward value; the comparison is printed in the log file. For fixed-source calculations, the adjoint-based leakage is computed using

(69)

where n is an index representing coarse meshes and Nz is the number of coarse meshes (zones). Equation (69) is evaluated using PARTISN’s edit module for the adjoint calculation, with the forward source in coarse mesh n used as the response function in coarse mesh n.

SENSMG supports older versions of PARTISN (5.69 and 7.72) as well as newer (8, up to 8.27). One place in the Fortran code that depends on the PARTISN version is where the code writes the forward input file. Because it might be of interest to the user, all available reaction-rate edits are specified for the edit isotopes. There are 18 available in PARTISN version 7 (and earlier) but 20 in version 8 (see ). For now, it appears to be an easy thing to support this difference, but if it becomes a burden, then the code will be changed to print only the reaction rates specified in the input file. If an unsupported PARTISN version is used, SENSMG will simply not specify edits in the forward input file.

SENSMG automatically loads the correct modules for the specified PARTISN version and the detected host. As modules, PARTISN versions, and computers get updated and deprecated, this logic will have to be maintained. The “–use_existing yes” option is intended for use when the user knows that his/her modules are the correct ones.

New cross-section libraries that become available through the NDI should work automatically. Stand-alone libraries such as Kynea3 can be accommodated with a small amount of effort, using the coding for Kynea3 as an example.

SENSMG is generally LANL-HPC-centric, but it should be straightforward to generalize it to other platforms. In the Python script, modify the default value of SENS_PARTISN and the construction of PARTISN_EXE, which uses the variable MACH, derived from the environment variable HOSTNAME. If your system does not use modules, set the default MY_MODULES to yes (for convenience). Modify the location of your cross-section data files. The Fortran code does not need to be modified.

PARTISN solves Eqs. (18) and (35) using “nosigf = 1” to inhibit fission multiplication. PARTISN solves Eq. (35) using “anorm = [α]” to put the α/v term on the left side. For Eqs. (18), (35), and (49), the sources are input to PARTISN using the fixsrc file rather than the standard input file.

SOURCES4C can be used to compute the intrinsic neutron source for fixed-source problems. [It is presently required for (α,n) sources.] A special version of SOURCES4C was made that does not stop on certain errors (namely, “Target nuclide not found in tape3”, “Target nuclide not found in tape4”, “Source nuclide not found in tape5”, “S.F. source nuclide not found on tape5”, and “D.N. source nuclide not found on tape5”). Also, more digits are written to the SOURCES4C output files in certain places. These digits are not improving the accuracy of the simulation, but they are needed so that sources are balanced correctly, particularly for the central-difference calculations used for verification. In addition, SOURCES4C was modified to print the quantities that are needed to compute Eq. (60) (CitationRef. 13).

VI. VERIFICATION

This section provides a few results for a few problems. A more thorough verification by comparison with results from MCNP6 (CitationRef. 18) has been performed for keff problems for fast spherical systems.Citation21,Citation22

VI.A. Comparison with MCNP6 and SCALE 6.2 for keff Sensitivities for a Cylinder

A test problem was documented in CitationRef. 17 in which the sensitivities of keff to isotopic densities in a homogeneous cylinder were computed using MCNP6 (CitationRef. 18), SCALE 6.2 (CitationRef. 20), and PARTISN. Results are repeated here. The fuel is similar to that used in the Transient Reactor Test FacilityCitation23 (TREAT) at Idaho National Laboratory. The height and radius of the reactor are 240 and 60 cm, respectively. The atom density and the mass density of the fuel are 0.113705 atoms/(b·cm) and 2.27 g/cm3, respectively. The composition of the fuel is given in . The enrichment is 92.9168 wt% 235U. The input file for SENSMG is listed in Appendix A. The calculations used S64 angular quadrature and a P7 scattering expansion.

TABLE VI Composition of TREAT Fuel

In MCNP6, the S(α,β) table grph.20t was associated with the fuel. Otherwise, ENDF/B-VII.1 cross sections were used. In SCALE, the cross-section table for carbon in graphite was associated with natural carbon, and ENDF/B-VII.1 cross sections were used. SENSMG used Kynea3 with the “C(gph)” S(α,β) data for carbon and it used S64 angular quadrature and a P7 scattering expansion. Also it used 16 processors.

Results are shown in . The deterministic sensitivities are in excellent agreement with the Monte Carlo sensitivities. They are within 1.4% of the MCNP6 results, except for the sensitivity to 1H, for which the deterministic sensitivity is 11% smaller. It is likely that the deterministic neutron flux spectrum, with only 79 groups, is not quite as thermal as the continuous-energy Monte Carlo spectrum.

TABLE VII Sensitivity to Constituents of TREAT Fuel

VI.B. Comparison with MCNP6 KSEN Results for a Sphere

Results from SENSMG were compared with results from the KSEN cardCitation18 of MCNP6 for a one-dimensional spherical Flattop-Pu model. The SENSMG input file and the MCNP6 input file are listed in Appendix A. The PARTISN sensitivities used 30 groups, S32 angular quadrature, and a P3 scattering expansion.

The sensitivity profiles of keff to the density of 235U in the reflector are compared in . The agreement is excellent.

Fig. 1. Sensitivity of keff to 235U density in Flattop-Pu reflector.

Fig. 1. Sensitivity of keff to 235U density in Flattop-Pu reflector.

Group-dependent results for the unconstrained (unnormalized) sensitivity of keff to the chi distribution of 235U in the reflector are compared in , and results using full normalization are compared in . In both cases, the agreement is excellent. The full-normalization results are in the same output file as the density results of . The unconstrained results were obtained using the same flux files with “–use_existing yes –chinorm none” (Sec. III.C).

Fig. 2. Sensitivity (unconstrained) of keff to 235U chi in Flattop-Pu reflector.

Fig. 2. Sensitivity (unconstrained) of keff to 235U chi in Flattop-Pu reflector.

Fig. 3. Sensitivity (full normalization) of keff to 235U chi in Flattop-Pu reflector.

Fig. 3. Sensitivity (full normalization) of keff to 235U chi in Flattop-Pu reflector.

VI.C. Comparison with TSUNAMI-1D for a Reaction-Rate Ratio with λ-Mode Flux

As part of a verification for a continuous-energy Monte Carlo GPT capability for SCALE, Perfetti recently published TSUNAMI-1D results.Citation7 The multigroup sensitivity tool SENSMG of this paper is more similar to the deterministic TSUNAMI-1D capability than to the Monte Carlo capability, so TSUNAMI-1D results were used for comparison. CitationReference 7 shows graphs of sensitivity profiles.Citation24

The problem is the one-dimensional spherical Flattop-Pu model and the ratio of interest is the 237Np fission rate (F37) to the 235U fission rate (F25) in a central sphere of radius 0.155 cm (whose volume matches that of the cylindrical foil described in CitationRef. 7). The TSUNAMI-1D calculation used 238 energy groups and S16 angular quadrature.Citation7 It used ENDF/B-VII.0 cross sections with self-shielding and a P5 scattering expansion.Citation24 SENSMG used ENDF/B-VII.1 cross sections in 70 energy groups with no self-shielding, S32 quadrature, and a P3 scattering expansion. The SENSMG input file is listed in Appendix A.

The sensitivity profiles of the ratio F37/F25 to the 239Pu density and fission cross section are shown in , where SENSMG results are compared with TSUNAMI-1D results (compare with Fig. 9 of CitationRef. 7, where “total” is “density” of this report; see Sec. IV). The two codes generally agree very well. The peaks in the SENSMG profiles are about 5% smaller than the peaks in the TSUNAMI-1D profiles.

Fig. 4. Sensitivity of the 237Np fission to 235U fission ratio to the 239Pu density and fission cross section in Flattop-Pu.

Fig. 4. Sensitivity of the 237Np fission to 235U fission ratio to the 239Pu density and fission cross section in Flattop-Pu.

VI.D. Comparison with Direct Perturbations for a Reaction Rate with λ-Mode Flux

A spherical Jezebel model was run. The reaction rate of interest, calculated in a central sphere with a radius of 0.5 cm, was capture in 239Pu. The SENSMG input file is listed in Appendix A. As discussed in Sec. II.B, the reaction rate is put in a ratio with the flux in the reaction-rate region in the denominator. The sensitivity of this reaction rate to the 239Pu capture cross section (indirect effect only, sum of groups) was computed by SENSMG to be –3.1228E−02%/%. (The direct effect, of course, is 1%/%, which was correctly calculated by SENSMG.) A chi vector was used (–fissdata 2) to facilitate the comparisons with direct perturbations.

A direct calculation of this reaction rate is shown in . The reaction rate of interest, called R1, and the flux are plotted as a function of the relative change in the 239Pu capture cross section in . plots the ratio.

Fig. 5. Sensitivity of the ratio of R1 = 239Pu capture reaction rate to the flux to the 239Pu capture cross section (indirect effect) in a one-dimensional Jezebel model: (a) R1 and flux plotted separately and (b) R1/flux.

Fig. 5. Sensitivity of the ratio of R1 = 239Pu capture reaction rate to the flux to the 239Pu capture cross section (indirect effect) in a one-dimensional Jezebel model: (a) R1 and flux plotted separately and (b) R1/flux.

The plots show that the reaction rate, the flux, and the ratio are all very linear in this range of perturbations (±10%). The sensitivity estimated from the slopes of the reaction rate and the flux is –3.1253E−02%/%, and the sensitivity estimated from the slope of the ratio is –3.1251E−02%/%. Both are in excellent agreement with the SENSMG result.

To run the direct perturbation cases, the cross sections for each perturbed case were written directly into a PARTISN input file. A chi matrix cannot be entered this way, which is why a chi vector was used for the sensitivity calculations.

Twenty PARTISN calculations in addition to the base case were run to produce the plots of . This seems like overkill, when only two calculations are required for a central difference. However, in verifying SENSMG, many cases were encountered in which central differences gave unreliable results. Indeed, the difficulty computing central differences is another argument for the use of GPT.

VI.E. Comparison with Direct Perturbations for a Reaction-Rate Ratio with λ-Mode Flux

A spherical Godiva model was run. The reaction-rate ratio of interest, calculated in a central sphere with a radius of 0.574 cm, was fission in 238U to fission in 235U. The SENSMG input file is listed in Appendix A. The number of energy groups was 70. The sensitivity of this reaction rate to the 234U fission cross section in group 30 (indirect effect only; the direct effect is zero) was computed by SENSMG to be 2.1113E−04%/%. A chi vector was used (–fissdata 2) to facilitate the comparisons with direct perturbations.

The sensitivity of the reciprocal of this reaction rate was also calculated. It was (correctly) the negative of the original sensitivity.

A direct calculation of this reaction-rate ratio is shown in . The numerator, fission in 238U, is R1 and the denominator, fission in 235U, is R2. R1 and R2 are plotted as a function of the relative change in the 234U fission cross section in . plots the ratio.

Fig. 6. Sensitivity of the ratio of R1 = 238U fission to R2 = 235U fission to the 234U fission cross section in group 30 in a one-dimensional Godiva model: (a) R1 and R2 plotted separately and (b) R1/R2.

Fig. 6. Sensitivity of the ratio of R1 = 238U fission to R2 = 235U fission to the 234U fission cross section in group 30 in a one-dimensional Godiva model: (a) R1 and R2 plotted separately and (b) R1/R2.

Note from the y-axis scales that the changes plotted are extremely small, even though the range of perturbations is ±100%. The reason that R1 is jagged is that the reaction rates were obtained from PARTISN’s edit output, which prints only six significant figures. A smoother curve would be obtained by reading the binary flux file and the binary edit cross-section file and constructing the reaction rates in postprocessing, as SENSMG does. However, the slope would be close to the least-squares slope shown in and the conclusions of this section would be the same.

The plots show that R1 is fairly linear and R2 and the ratio are very linear in this range of perturbations (±100%). The sensitivity estimated from the slopes of the reaction rates is 2.3777E−04%/%, and the sensitivity estimated from the slope of the ratio is 2.3778E−04%/%. The difference between these and the SENSMG result is ~13%.

The sensitivity for each of the 70 groups was computed directly as in (20 PARTISN calculations in addition to the base case and a least-squares fit for the slope of the ratio). The sensitivities from SENSMG are compared with the direct sensitivities in . The average energy of group 30, whose result is shown in , is 0.732 MeV; the sensitivity there is the largest in both curves.

Fig. 7. Sensitivity profile of the ratio of R1 = 238U fission to R2 = 235U fission to the 234U fission cross section in a one-dimensional Godiva model.

Fig. 7. Sensitivity profile of the ratio of R1 = 238U fission to R2 = 235U fission to the 234U fission cross section in a one-dimensional Godiva model.

shows the difference discussed previously in this section for group 30 and also differences for other energies. The shapes of the curves are similar, but the adjoint-based sensitivities are more negative by ~10% to 15%.

Since the energy-dependent sensitivities are both positive and negative, these differences strongly affect the total (sum over groups). The total adjoint-based sensitivity is –2.6119E−04%/% and the total direct sensitivity is 3.3178E−05%/%. The direct sensitivity obtained by perturbing the 234U fission cross section in all 70 groups is 2.6441E−05, indicating either nonlinear behavior or inaccuracies in the methodology used to compute direct sensitivities.

It should be noted that the sensitivities computed and discussed in this section are extremely small.

VI.F. Comparison with Direct Perturbations for α and a Reaction-Rate Ratio with α-Mode Flux

This is an α-eigenvalue problem. The problem is the one-dimensional Jezebel model with the benchmark radius (6.39157 cm) but the realistic Pu-alloy density (15.82 g/cm3) rather than the benchmark density (15.61 g/cm3). The reaction-rate ratio of interest, fission in 238U to fission in 235U, was computed in a central sphere of radius 0.5 cm. The SENSMG input file is listed in Appendix A. The 30-group MENDF71X cross sections, S32 angular quadrature, and P3 scattering were used. A chi vector was used (–fissdata 2) to facilitate comparisons with direct perturbations. The α eigenvalue for this model was 0.0373818/sh.

The sensitivities of the α eigenvalue and the reaction-rate ratio to the P0 and P1 (separately) 239Pu self scattering cross sections in every group (simultaneously) are compared with central differences (computed using cross-section perturbations of ±1%) in . The agreement is excellent.

TABLE VIII Sensitivity to 239Pu Self-Scattering for the High-Density Jezebel Model

VI.G. Comparison with Direct Perturbations for Leakage and a Reaction-Rate Ratio in a Fixed-Source Problem

This is a fixed-source problem. The problem is a simplified model of the BeRP ball reflected by 3.81 cm of polyethylene.Citation25,Citation26 The simplified model has only α-phase plutonium and polyethylene, no steel can or gas fill. The ratio of fission in 238U to fission in 235U was computed in a central sphere of radius 0.25 cm (the actual BeRP ball does not have a cavity for samples). The absolute fission rate in 238U was also computed. The SENSMG input file is listed in Appendix A. The 30-group MENDF71X cross sections, S32 and S128 angular quadrature, and P3 scattering were used. A chi vector was used (–fissdata 2). The neutron leakage for this model [using MISC for spontaneous fission and SOURCES4C for (α,n)] was 1.81174 × 106/s using S32 and 1.80663 × 106/s using S128. A slightly modified version of this problem is discussed in detail in CitationRef. 13, but without the reaction rates.

The sensitivities of the leakage to the two material densities and to the 9Be and 240Pu atom densities in the plutonium are shown in . They are compared with central differences. The results of used S32 quadrature. The agreement is excellent.

TABLE IX Sensitivity of the Leakage to Density for the BeRP Ball Model

The sensitivities of the ratio of fission in 238U to fission in 235U and the absolute fission rate in 238U to the 240Pu density are shown in , where they are compared with central differences. These calculations were done with S32 and S128 quadrature, as shown in . When going from S32 to S128 quadrature, the relative differences are reduced by a factor of about 10.

TABLE X Sensitivity of Reaction Rates to 240Pu Density for the BeRP Ball Model

The results of suggest that this problem is not converged with respect to angular quadrature order at S32. compares several adjoint-weighted quantities as a function of SN order. In , is the leakage computed using the solution of Eq. (42):

(70)

TABLE XI Adjoint-Weighted Quantities as a Function of SN Order for the BeRP Ball Model

which should be equal to L of Eq. (43). also evaluates Eq. (51) for the reaction-rate ratio and Eq. (52) for the absolute reaction rate. These quantities are all quite different from their exact values at low SN orders but they all approach their exact values as the SN order increases, particularly when the spatial discretization is refined as well. The PARTISN convergence criterion for all cases was 10−6.

The results of this section suggest that adjoint-based sensitivities for leakage problems require larger angular quadrature orders than might be expected.

VI.H. Comparison with Direct Perturbations for Leakage from a Slab in a Fixed-Source Problem

This is a fixed-source problem. The problem is a three-region slab. The left region is 1.8 cm of polyethylene, the middle region is 2 cm of a simplified version of the BeRP plutonium, and the right region is 1.8 cm of polyethylene. The only quantity of interest is the leakage from the right side of the slab. The SENSMG input file is listed in Appendix A. The 30-group MENDF71X cross sections, S32 angular quadrature, and P3 scattering were used. A chi vector was used (–fissdata 2). The neutron leakage for this model [using MISC for spontaneous fission; there was no (α,n)] was 1.08877 × 104/s.

The sensitivities of the leakage to the four boundaries and internal interfaces are shown in . They are compared with central differences. The agreement is excellent.

TABLE XII Sensitivity of the Leakage to Boundaries and Internal Interfaces for the BeRP Slab

The derivatives of are not symmetric about the slab’s center because the quantity of interest is the leakage from the right side, not the total leakage.

VI.I. Comparison with Direct Perturbations for keff and Total Neutron Leakage from a Cylinder

Constant-density adjoint-based derivatives of keff and total neutron leakage with respect to interface and outer boundary locations for a cylinder are compared in detail with direct perturbations in CitationRef. 12. These calculations used the rplane/zplane capability (Sec. III.C). General comparisons for constant-volume adjoint-based derivatives with respect to material mass density are also given in CitationRef. 12. The main point of CitationRef. 12 is to derive an equation for constant-mass derivatives with respect to interface and outer boundary locations and to make comparisons with direct perturbations. The SENSMG input files used for the neutron problems in CitationRef. 12 are listed in Appendix A.

For these problems, particularly the keff problem, the moments expansion approximation of the inner product of angular fluxes, Eq. (27), was extremely inaccurate. Using it lead to errors of 11%, 13%, and 15% in the sensitivity of keff to the mass density of lead, aluminum, and 238U, respectively (and 0.3% in the sensitivity of keff to the mass density of 235U). A seventeenth-order expansion was required to reduce all of the errors below 0.1%.

These results suggest that caution should be applied when using the moments expansion approximation. Better memory management in SENSMG and the ability for PARTISN to print mesh-centered angular flux files from MPI runs of cylindrical problems would obviate this problem.

VII. SUMMARY AND FUTURE WORK

SENSMG is a tool for calculating the first-order sensitivities of reaction-rate ratios, keff, and α in critical problems and reaction-rate ratios, reaction rates, and leakage in fixed-source problems to multigroup cross sections, isotope densities, material mass densities, and interface locations using PARTISN. SENSMG treats only GPT-allowable responses.Citation4 SENSMG is a combination of Python and Fortran and was developed under Linux.

For all of the problems that SENSMG can treat, the constant-volume and constant-density partial derivatives can be combined (with cell volumes and interface areas) to compute constant-mass partial derivatives.Citation1

SENSMG continues to undergo verification. Future work for SENSMG includes:

  1. implement a more efficient strategy for memory management so that larger cylindrical problems can be run and angular fluxes used

  2. develop and implement a better method for an absolute reaction rate for critical problems

  3. implement a more efficient convergence scheme for the generalized adjoint calculations

  4. compute the derivatives of reaction-rate ratios to material densities

  5. compute the derivatives of reaction-rate ratios to internal interface locations

  6. compute higher-order sensitivities

  7. implement a continue-run capability.

It would be worth making some modifications to PARTISN that would allow for more efficient and accurate sensitivity calculations. Two specific suggestions are

  1. have PARTISN print more flux moments than the number used in the transport

  2. implement a solver such as described in CitationRef. 4 so that the successive approximation scheme is unnecessary. (This would obviate items 2 and 3 in the SENSMG to-do list.)

SENSMG can be modified to accommodate other deterministic transport codes that have an adjoint capability.

Acknowledgments

SENSMG was begun in July 2016 with encouragement from M. C. White and P. Talou (LANL) and funding from the U.S. Department of Energy Advanced Simulation and Computing program, Physics and Engineering Models project, at LANL. Since October 2016, SENSMG has been funded by the U.S. National Nuclear Security Administration’s Office of Defense Nuclear Nonproliferation Research & Development. C. Perfetti at ORNL ran the SCALE calculations for Sec. VI.A and provided the TSUNAMI-1D numerical results Sec. VI.C.

This manuscript has been authored by Los Alamos National Security under Contract No. De-AC52-06NA25396 with the U.S. Department of Energy. The United States Government retains and the publisher, by accepting the article for publication, acknowledges that the United States Government retains a non-exclusive, paid-up, irrevocable, world-wide license to publish or reproduce the published form of this manuscript, or allow others to do so, for United States Government purposes.

Notes

a Technically, fission is an edit cross section in PARTISN because only the product with nu is used in the transport.

References

  • R. E. ALCOUFFE et al., “PARTISN: A Time-Dependent, Parallel Neutral Particle Transport Code System,” LA-UR-08-7258 ( revised Sep. 2017), Los Alamos National Laboratory (2017).
  • M. L. WILLIAMS, “Perturbation Theory for Nuclear Reactor Analysis,” CRC Handbook of Nuclear Reactor Calculations, Vol. III, Y. RONEN, Ed., CRC Press, Boca Raton, Florida (1986).
  • W. M. STACEY JR., Variational Methods in Nuclear Reactor Physics, Chap. 1, Academic Press, New York (1974).
  • D. G. CACUCI, “A Paradigm-Shifting Methodology for Sensitivity Analysis of Multiplying Nuclear Systems,” Nucl. Sci. Eng., 185, 3, 361 (2017); https://doi.org/10.1080/00295639.2016.1272993.
  • C. J. SOLOMON, “MCNP Intrinsic Source Constructor (MISC): A User’s Guide,” Internal Memorandum LA-UR-12-20252 (updated Mar. 27, 2012), Los Alamos National Laboratory (2012).
  • W. B. WILSON et al., “SOURCES 4C: A Code for Calculating (α,n), Spontaneous Fission, and Delayed Neutron SOURCES and Spectra,” Proc. American Nuclear Society/Radiation Protection and Shielding Division 12th Biennial Topl. Mtg., Santa Fe, New Mexico, April 14–18, 2002, American Nuclear Society (2002).
  • C. M. PERFETTI and B. T. REARDEN, “Development of a Generalized Perturbation Theory Method for Sensitivity Analysis Using Continuous-Energy Monte Carlo Methods,” Nucl. Sci. Eng., 182, 354 (2016); https://doi.org/10.13182/NSE15-13.
  • J. A. FAVORITE, “Second-Order Reactivity Worth Estimates Using an Off-the-Shelf Multigroup Discrete Ordinates Transport Code,” Proc. Int. Conf. Physics of Reactors (PHYSOR’08), Interlaken, Switzerland, Paul Scherrer Institut, September 14–19, 2008.
  • R. T. EVANS and D. G. CACUCI, “A Parallel Krylov-Based Adjoint Sensitivity Analysis Procedure,” Nucl. Sci. Eng., 172, 216 (2012); https://doi.org/10.13182/NSE11-110.
  • J. A. FAVORITE, “Flux Moments and Inner Products (U),” X-1–RN(U)09–02 (Nov. 25, 2008), Los Alamos National Laboratory (2008).
  • J. A. FAVORITE and K. C. BLEDSOE, “Eigenvalue Sensitivity to System Dimensions,” Ann. Nucl. Energy, 37, 4, 522 (2010); https://doi.org/10.1016/j.anucene.2010.01.004.
  • J. A. FAVORITE, “Adjoint-Based Constant-Mass Partial Derivatives,” Ann. Nucl. Energy, 110, 1052 (2017); https://doi.org/10.1016/j.anucene.2017.08.015.
  • J. A. FAVORITE and S. L. WEIDENBENNER, “Sensitivity of a Response to the Composition of an (α,n) Neutron Source,” 20th Topl. Mtg. Radiation Protection and Shielding Division of the American Nuclear Society (RPSD-2018), Santa Fe, New Mexico, August 26–31, 2018, American Nuclear Society (accepted).
  • K. C. BLEDSOE, J. A. FAVORITE, and T. ALDEMIR, “Using the Levenberg-Marquardt Method for Solutions of Inverse Transport Problems in One- and Two-Dimensional Geometries,” Nucl. Technol., 176, 1, 106 (2011); https://doi.org/10.13182/NT176-106.
  • E. S. VARLEY and J. MATTINGLY, “Rapid Feynman-Y Synthesis: Kynea3 Cross-Section Library Development,” Trans. Am. Nucl. Soc., 98, 575 (2008).
  • S. FRANKLE, “A Prototype Fine-Group Library for Gamma-Ray Spectroscopy, ACTI,” Internal Memorandum XCI:SCF–99–19 (U) (updated Feb. 2, 2004), Los Alamos National Laboratory (2004).
  • J. A. FAVORITE et al., “Adjoint-Based Sensitivity and Uncertainty Analysis for Density and Composition: A User’s Guide,” Nucl. Sci. Eng., 185, 2, 384 (2017); https://doi.org/10.1080/00295639.2016.1272990.
  • “MCNP® User’s Manual, Code Version 6.2,” C. J. WERNER, Ed., LA-UR-17-29981, Rev. 0 (Oct. 27, 2017), Los Alamos National Laboratory (2017).
  • B. C. KIEDROWSKI, University of Michigan, Private Communication regarding clarification of CONSTRAIN on KSEN card (2016).
  • “SCALE Code System,” B. T. REARDEN and M. A. JESSEE, Eds., ORNL/TM-2005/39, Version 6.2, Oak Ridge National Laboratory (2016).
  • W. HAECK et al., “A Comparison of Monte Carlo and Deterministic Solvers for keff and Sensitivity Calculations,” LA-UR-17-31177 (Dec. 1, 2017), Los Alamos National Laboratory (2017); http://permalink.lanl.gov/object/tr?what=info:lanl-repo/lareport/LA-UR-17-31177 (current as of Mar. 26, 2018).
  • W. HAECK et al., “Comparison of Monte Carlo and Deterministic Solvers for keff and Sensitivity Calculations,” Proc. Int. Conf. Physics of Reactors (PHYSOR’18), Cancun, Mexico, April 22–26, Mexican Nuclear Society 2018.
  • J. D. BESS and M. D. DeHART, “TREAT Fuel Assembly Characterization for Modern Neutronics Validation Methods,” Trans. Am. Nucl. Soc., 112, 373 (2015).
  • C. M. PERFETTI, Oak Ridge National Laboratory, Private Communication regarding TSUNAMI results (2016).
  • J. MATTINGLY, “Polyethylene-Reflected Plutonium Metal Sphere: Subcritical Neutron and Gamma Measurements,” SAND2009-5804 Revision 3 ( revised July 2012), Sandia National Laboratories (2012).
  • E. C. MILLER et al., “Computational Evaluation of Neutron Multiplicity Measurements of Polyethylene-Reflected Plutonium Metal,” Nucl. Sci. Eng., 176, 167 (2014); https://doi.org/10.13182/NSE12-53.

APPENDIX A SENSMG and MCNP6 INPUT FILES

A.I. SENSMG Input File for Sec. VI.A

(Because of memory management issues, this file will only run if it has the title shown [line 1] and if it is named “bck01”.)

brian’s problem, inspired by TREAT

keff 2d

kynea3

1 / no of materials

1 1001 8.38215E-05 5010 4.16390E-06 106012 9.97955E-01 92235 1.81803E-03 92238 1.38591E-04 / TREAT fuel 2.27 / densities

1 1 / no of r layers, no of z layers

 60.  / outer radii

 0. 240. / heights

1   / material nos

0  0  / index of coarse mesh to use for reaction rates

0     / number of reaction-rate ratios

A.II. SENSMG Input File for Sec. VI.B

Pu-Flattop (PU-MET-FAST-006)

keff 1d

mendf71x

2 / no of materials

1 94239 9.38001E-01 94240 4.79988E-02 94241 2.99996E-03 31069 6.53652E-03 31071 4.46355E-03 / Pu-alloy

2 92234 5.40778E-05 92235 7.10966E-03 92238 9.92836E-01 / Flattop natural U

15.53 19.00 / densities

3 / no of shells

0.5 4.5332 24.142 / outer radii

1  1   2   / material nos

1     / index of coarse mesh to use for reaction rates

0     / number of reaction-rate ratios

A.III. MCNP6 Input File for Sec. VI.B

Pu-Flattop (PU-MET-FAST-006)

1   1  -15.53  -1     imp:n = 1

2   1  -15.53  -2   1  imp:n = 1

3   2  -19.00  -3   2  imp:n = 1

9   0            3  imp:n = 0

1  so  0.5

2  so  4.5332

3  so  24.142

mode n

totnu

rand gen = 2 seed = 100001

kcode 1200000 1.0 50 2050

prdmp j 500

sdef rad = d1 erg = d2

si1  0. 24.142

sp1  −21 2

sp2  −3 0.988 2.249

m1    94239-9.38001E-01

    94240-4.79988E-02

    94241-2.99996E-03

    31069-6.53652E-03

    31071-4.46355E-03

m2   92234-5.40778E-05

    92235-7.10966E-03

    92238-9.92836E-01

m3   77191 1.

m4   92235 1.

m5   77193 1.

m6   77193 1.

e0   1.3900E-10 1.5200E-07 4.1400E-07 1.1300E-06 3.0600E-06

    8.3200E-06 2.2600E-05 6.1400E-05 1.6700E-04 4.5400E-04

    1.2350E-03 3.3500E-03 9.1200E-03 2.4800E-02 6.7600E-02

    1.8400E-01 3.0300E-01 5.0000E-01 8.2300E-01 1.3530E+00

    1.7380E+00 2.2320E+00 2.8650E+00 3.6800E+00 6.0700E+00

    7.7900E+00 1.0000E+01 1.2000E+01 1.3500E+01 1.5000E+01

    1.7000E+01t

f04:n 1

fm04 (1. 3-1) $ total

sd04  1.

f14:n  1

fm14 (1. 4-6) $ fission

sd14 1.

f24:n 1

fm24 (1. 5-1) $ total

sd24 1.

f34:n 1

fm34 (1. 6-2:-6) $ absorption (capture+fission)

sd34 1.

print −30

kopts  blocksize = 5

c total

ksen01   xs   cell = (1 2)

ksen02   xs   cell = (1 2)

      erg = 1.3900E-10 1.5200E-07 4.1400E-07 1.1300E-06 3.0600E-06

         8.3200E-06 2.2600E-05 6.1400E-05 1.6700E-04 4.5400E-04

         1.2350E-03 3.3500E-03 9.1200E-03 2.4800E-02 6.7600E-02

         1.8400E-01 3.0300E-01 5.0000E-01 8.2300E-01 1.3530E+00

         1.7380E+00 2.2320E+00 2.8650E+00 3.6800E+00 6.0700E+00

         7.7900E+00 1.0000E+01 1.2000E+01 1.3500E+01 1.5000E+01

         1.7000E+01

c chi

ksen03   xs   cell = (1 2) rxn = −1018 constrain = yes

      erg = 1.3900E-10 1.5200E-07 4.1400E-07 1.1300E-06 3.0600E-06

         8.3200E-06 2.2600E-05 6.1400E-05 1.6700E-04 4.5400E-04

         1.2350E-03 3.3500E-03 9.1200E-03 2.4800E-02 6.7600E-02

         1.8400E-01 3.0300E-01 5.0000E-01 8.2300E-01 1.3530E+00

         1.7380E+00 2.2320E+00 2.8650E+00 3.6800E+00 6.0700E+00

         7.7900E+00 1.0000E+01 1.2000E+01 1.3500E+01 1.5000E+01

         1.7000E+01

c chi

ksen04   xs   cell = (1 2) rxn = −1018 constrain = no

      erg = 1.3900E-10 1.5200E-07 4.1400E-07 1.1300E-06 3.0600E-06

         8.3200E-06 2.2600E-05 6.1400E-05 1.6700E-04 4.5400E-04

         1.2350E-03 3.3500E-03 9.1200E-03 2.4800E-02 6.7600E-02

         1.8400E-01 3.0300E-01 5.0000E-01 8.2300E-01 1.3530E+00

         1.7380E+00 2.2320E+00 2.8650E+00 3.6800E+00 6.0700E+00

         7.7900E+00 1.0000E+01 1.2000E+01 1.3500E+01 1.5000E+01

         1.7000E+01

c nu

ksen05   xs   cell = (1 2) rxn = −7

      erg = 1.3900E-10 1.5200E-07 4.1400E-07 1.1300E-06 3.0600E-06

         8.3200E-06 2.2600E-05 6.1400E-05 1.6700E-04 4.5400E-04

         1.2350E-03 3.3500E-03 9.1200E-03 2.4800E-02 6.7600E-02

         1.8400E-01 3.0300E-01 5.0000E-01 8.2300E-01 1.3530E+00

         1.7380E+00 2.2320E+00 2.8650E+00 3.6800E+00 6.0700E+00

         7.7900E+00 1.0000E+01 1.2000E+01 1.3500E+01 1.5000E+01

         1.7000E+01

c total

ksen11   xs   cell = 3

ksen12   xs   cell = 3

      erg = 1.3900E-10 1.5200E-07 4.1400E-07 1.1300E-06 3.0600E-06

         8.3200E-06 2.2600E-05 6.1400E-05 1.6700E-04 4.5400E-04

         1.2350E-03 3.3500E-03 9.1200E-03 2.4800E-02 6.7600E-02

         1.8400E-01 3.0300E-01 5.0000E-01 8.2300E-01 1.3530E+00

         1.7380E+00 2.2320E+00 2.8650E+00 3.6800E+00 6.0700E+00

         7.7900E+00 1.0000E+01 1.2000E+01 1.3500E+01 1.5000E+01

         1.7000E+01

c chi

ksen13   xs   cell = 3 rxn = −1018 constrain = yes

      erg = 1.3900E-10 1.5200E-07 4.1400E-07 1.1300E-06 3.0600E-06

         8.3200E-06 2.2600E-05 6.1400E-05 1.6700E-04 4.5400E-04

         1.2350E-03 3.3500E-03 9.1200E-03 2.4800E-02 6.7600E-02

         1.8400E-01 3.0300E-01 5.0000E-01 8.2300E-01 1.3530E+00

         1.7380E+00 2.2320E+00 2.8650E+00 3.6800E+00 6.0700E+00

         7.7900E+00 1.0000E+01 1.2000E+01 1.3500E+01 1.5000E+01

         1.7000E+01

c chi

ksen14   xs   cell = 3 rxn = −1018 constrain = no

      erg = 1.3900E-10 1.5200E-07 4.1400E-07 1.1300E-06 3.0600E-06

         8.3200E-06 2.2600E-05 6.1400E-05 1.6700E-04 4.5400E-04

         1.2350E-03 3.3500E-03 9.1200E-03 2.4800E-02 6.7600E-02

         1.8400E-01 3.0300E-01 5.0000E-01 8.2300E-01 1.3530E+00

         1.7380E+00 2.2320E+00 2.8650E+00 3.6800E+00 6.0700E+00

         7.7900E+00 1.0000E+01 1.2000E+01 1.3500E+01 1.5000E+01

         1.7000E+01

c nu

ksen15   xs   cell = 3 rxn = −7

      erg = 1.3900E-10 1.5200E-07 4.1400E-07 1.1300E-06 3.0600E-06

         8.3200E-06 2.2600E-05 6.1400E-05 1.6700E-04 4.5400E-04

         1.2350E-03 3.3500E-03 9.1200E-03 2.4800E-02 6.7600E-02

         1.8400E-01 3.0300E-01 5.0000E-01 8.2300E-01 1.3530E+00

         1.7380E+00 2.2320E+00 2.8650E+00 3.6800E+00 6.0700E+00

         7.7900E+00 1.0000E+01 1.2000E+01 1.3500E+01 1.5000E+01

         1.7000E+01

A.IV. SENSMG Input File for Sec. VI.C

Pu-Flattop (PU-MET-FAST-006)

keff

mendf71x

2 / no of materials

1 94239 9.38001E-01 94240 4.79988E-02 94241 2.99996E-03 31069 6.53652E-03 31071 4.46355E-03 / Pu-alloy

2 92234 5.40778E-05 92235 7.10966E-03 92238 9.92836E-01 / Flattop natural U

15.53 19.00 / densities

3 / no of shells

0.155 4.5332 24.142 / outer radii

1   1   2  / material nos

1      / index of coarse mesh to use for reaction rates

2      / number of reaction-rate ratios

92238 16   92235 16/numerator and denominator

93237 16   92235 16/numerator and denominator

A.V. SENSMG Input File for Sec. VI.D

Pu-239 Jezebel (PU-MET-FAST-001)

1d keff

mendf71x / libname

1/no of materials

1 94239 9.42090E-01 94240 4.47189E-02 94241 2.99354E-03 31069 6.12984E-03 31071 4.06790E-03 / Pu-alloy

15.61 / densities

2 / no of shells

0.5 6.39157 / outer radii

1  1     /material nos

1    / index of coarse mesh to use for reaction rates

1    / number of reaction-rate ratios

94239 10    / denominator is flux

A.VI. SENSMG Input File for Sec. VI.E

HEU-MET-FAST-001-02 Godiva

1d keff

mendf71x / libname

1 / no of materials

1 92234 1.01999E-02 92235 9.37100E-01 92238 5.27004E-02/Godiva

18.74 / densities

2 / no of shells

0.5738912155190165 8.7407  / outer radii

1   1   / material nos

1    / index of coarse mesh to use for reaction rates

2    / number of reaction-rate ratios

92238 16  92235 16 / numerator and denominator

92235 16  92238 16 / numerator and denominator

A.VII. SENSMG Input File for Sec. VI.F

Pu-239 Jezebel (benchmark radius, realistic density)

alpha 1d

mendf71x / libname

1 / no of materials

1 94239 9.42090E-01 94240 4.47189E-02 94241 2.99354E-03 31069 6.12984E-03 31071 4.06790E-03 / Pu-alloy

15.82 / densities

2/no of shells

0.5 6.39157  / outer radii

1  1   / material nos

1   / index of coarse mesh to use for reaction rates

1   / number of reaction-rate ratios

92238 16   92235 16 / numerator and denominator

A.VIII. SENSMG Input File for Sec. VI.G

(Though the composition of material 1 wraps here, it should be on a single line.)

BeRP ball, 38.1 mm reflector, no steel or NO

1d lkg

mendf71x

2/no of materials

1 31069 1.99071E-04 31071 1.35938E-04 6000 2.29800E-04 26054 5.65054E-07 26056 9.19000E-06 26057 2.16145E-07 26058 2.90477E-08 20040 2.89993E-06 20042 2.03213E-08 20043 4.34122E-09 20044 6.86363E-08

20046 1.37596E-10 20048 6.71243E-09 42092 1.27960E-06 42094 8.14938E-07 42095 1.41752E-06 42096

1.50082E-0642097 8.68256E-07 42098 2.21645E-06 42100 9.02647E-07 40090 5.07075E-05 40091 1.11812E-05 40092 1.72786E-05 40094 1.78916E-05 40096 2.94387E-06 11023 5.00013E-05 24050 2.08690E-07 24052 4.18508E-06 24053 4.83692E-07 24054 1.22671E-07 28058 3.36013E-06 28060 1.33868E-06 28061 5.91747E-08 28062 1.91509E-07 28064 5.06485E-08 4009 1.00003E-06 5010 1.84314E-07 5011 8.15712E-07 12024 7.79520E-07 12025 1.02804E-07 12026 1.17702E-07 94238 1.59585E-04 92234 3.94427E-05 94239 9.35361E-01 92235

7.51202E-04 94240 5.92435E-02 92236 1.75085E-04 94241 6.77410E-04 95241 2.48513E-03 93237 7.84266E-05 94242 2.79593E-04/BeRP Pu from John Mattingly

2 6000 8.56299E-01 1001 1.43701E-01/HDPE, C2H4

19.6 0.95/densities

3/no of shells

0.25 3.794 7.604/radii

1  1   2   / material nos

1    / index of coarse mesh to use for reaction rates

2    / number of reaction-rate ratios

92238 16   92235 16 / numerator and denominator

92238 16       / numerator and denominator

A.IX. SENSMG Input File for Sec. VI.H

BeRP ball slab

slab lkg

mendf71x

2/no of materials

1 94239 9.38039E-01 94240 5.94113E-02 31069 1.51516E-03 31071 1.03465E-03/simple BeRP

2 6000 8.56299E-01 1001 1.43701E-01/HDPE, C2H4

19.6 0.95/densities

3/no of shells

-2.800 -1.000 1.000 2.800/radii

2   1   2   / material nos

1   / index of coarse mesh to use for reaction rates

0   / number of reaction-rate ratios

92238 16  92235 16/numerator and denominator

92238 16   / numerator and denominator

A.X. SENSMG Input File for Sec. VI.I (CitationRef. 12)

(This is the keff input file. To change to the neutron leakage input, change “keff” to “lkg”.)

4 material input file U235 U238 Al Pb

2d keff

mendf70x

4/no. of materials

1 92235 1.000000 /

2 92238 1.000000 /

3 13027 1.000000 /

4 82000 1.000000 /

18.00 18.00 2.70 11.4/

3 7/number of cylinders, number of heights

1.   2. 4./

0. 1. 1.5 2. 4. 4.5 6. 7./heights, bottom to top

  3 3 3/material map, top layer

  1 1 3/material map, next layer

  0 1 3/material map, next layer

  0 1 4/material map, next layer

  1 1 4/material map, next layer

4 4 4/material map, next layer

2 2 2/material map, bottom layer

1 4/index of coarse mesh to use for reaction rates

0/number of reaction rates

79197 10 92235 16/

APPENDIX B ISOTOPES AVAILABLE IN THE Kynea3 LIBRARY

The ZAIDs listed here are the ones to enter in the input file; SENSMG converts them to the names when writing the PARTISN forward input file. The ZAIDS are intuitive except for four special ones that are needed to distinguish between pairs of the same isotope: 101001 and 1001 for “H1(H2O)” and “H1,” respectively; 104009 and 4009 for “Be9(th)” and “Be9,” respectively; 6012 and 106012 for “C12” and “C12(gph),” respectively; and 95242 and 195242 for “Am242” and “Am242m,” respectively. Note that “H1” does have an S(α,β) association: It is “H1(CH2)” from the Vitamin-B6 library.Citation15

The order listed in is the order that they appear in the library. The last seven (from “H3” through “Li7”) do not have atomic weights in the library. Their atomic weights are hard-coded in the SENSMG source code.

The neutron group velocities in Kynea3 are in units of centimeters/microsecond, so divide by 100 to get centimeters/shake.

TABLE B.I Isotopes Available in the Kynea3 Library