diff git a/.DS_Store b/.DS_Store
index 97f3967ddfd0c7d51fa0cb7affede92514a4e336..9f679e8510684ee28acc51b408243ce0520b2b94 100644
Binary files a/.DS_Store and b/.DS_Store differ
diff git a/CAAScapability.rst b/CAAScapability.rst
index b2e9c7ba607ce2a55e695e223a7ca5787f5f80f0..33ab5fd99be24487c66f2cbd6d262229d09e315a 100644
 a/CAAScapability.rst
+++ b/CAAScapability.rst
@@ 294,14 +294,14 @@ calculate a dose map for the entire building.
.. _fig4a1:
.. figure:: figs/fig4a1.png
+.. figure:: figs/MAVRIC/fig4a1.png
:align: center
:width: 60 %
Cutaway view of Jezebel.
.. _fig4a2:
.. figure:: figs/fig4a2.png
+.. figure:: figs/MAVRIC/fig4a2.png
:align: center
:width: 60 %
@@ 390,14 +390,14 @@ and details about the calculated fission distribution are shown in
+++++
.. _fig4a3:
.. figure:: figs/fig4a3.png
+.. figure:: figs/MAVRIC/fig4a3.png
:align: center
:width: 60 %
Fission source spatial distribution for the center horizontal slice.
.. _fig4a4:
.. figure:: figs/fig4a4.png
+.. figure:: figs/MAVRIC/fig4a4.png
:align: center
:width: 60 %
@@ 427,7 +427,7 @@ room, 100 cm above the floor. Assume the detector in the control room is
a 30 cm diameter sphere located at position (1145, 55, 285).
.. _fig4a5:
.. figure:: figs/fig4a5.png
+.. figure:: figs/MAVRIC/fig4a5.png
:align: center
Coordinates of the floor, walls, ceiling, and door of the simple block building model (in cm).
@@ 768,8 +768,6 @@ The grid geometry for this calculation does not need extra planes around the det
A second grid geometry also needs to be added to the definitions block for the mesh tally to use.
.. _a test

.. code:: scale
gridGeometry 2
@@ 844,13 +842,13 @@ and forward weighting to help calculate each component of dose with more
uniform relative uncertainties.
.. _fig4a6:
.. figure:: figs/4a6.png
+.. figure:: figs/MAVRIC/4a6.png
:align: center
Dose (rem) results for the z=100 cm plane (containing the source).
.. _fig4a7:
.. figure:: figs/fig4a7.png
+.. figure:: figs/MAVRIC/fig4a7.png
:align: center
Relative uncertainties in the dose, most less than 1%, for the z=100 cm plane.
diff git a/DEVC.rst b/DEVC.rst
index 4c900e10278099a2850f61cc9c46e3fc0c5d4937..9a57c7c3a763bc266825ed78459c0b5ca39727c0 100644
 a/DEVC.rst
+++ b/DEVC.rst
@@ 681,7 +681,7 @@ calculations are shown in :numref:`fig24a10`.
.. listtable:: Sample problem results
 :name: tab24a10:
+ :name: tab24a10
:align: center
*  .. image:: figs/DEVC/tab10.png
diff git a/Keno.rst b/Keno.rst
new file mode 100644
index 0000000000000000000000000000000000000000..a2e9cbe121b66cd1524dd1f6dc3c5d4a6a334754
 /dev/null
+++ b/Keno.rst
@@ 0,0 +1,21809 @@
+.. _Keno:
+
+Keno: A Monte Carlo Criticality Program
+=======================================
+
+*L. M. Petrie, K. B. Bekar, C. Celik, D. F. Hollenbach*,\ :sup:`1` *C. M.*
+*Perfetti, S. Goluoglu,*\ :sup:`1` *N. F. Landers,*\ :sup:`1` *M. E. Dunn, B.*
+*T. Rearden*
+
+KENO is a threedimensional (3D) Monte Carlo criticality transport
+program developed and maintained for use as part of the SCALE Code
+System. It can be used as part of a sequence or as a standalone program.
+There are two versions of the code currently supported in SCALE.
+KENO V.a is the older of the two. KENOVI contains all current KENO V.a
+features plus a more flexible geometry package known as the SCALE
+Generalized Geometry Package. The geometry package in KENOVI is capable
+of modeling any volume that can be constructed using quadratic
+equations. In addition, such features as geometry intersections, body
+rotations, hexagonal and dodecahedral arrays, and array boundaries have
+been included to make the code more flexible.
+
+The simpler geometry features supported by KENO V.a allow for
+significantly shorter execution times than KENOVI, while the additional
+geometry features supported in KENOVI make the code appropriate for
+cases where geometry modeling is not possible with KENO V.a. In
+particular, KENOVI allows intersections, body truncations with planes,
+and a much wider variety of geometrical bodies. KENOVI also has the
+ability to rotate bodies so that volumes no longer must be positioned
+parallel to a major axis. Hexagonal arrays are available in KENOVI and
+dohecahedral arrays enable the code to model pebble bed reactors and
+other systems composed of close packed spheres. The use of array
+boundaries makes it possible to fill a noncuboidal volume with an
+array, specifying the boundary where a particle leaves and enters the
+array.
+
+Except for geometry capabilities, the two versions of KENO share most of
+the computational capabilities and the input flexibility specific to
+most SCALE modules. They can both operate in multigroup or continuous
+energy mode, run as standalone codes, or integrated in computational
+sequences such as CSAS, TSUNAMI3D, or TRITON. Both versions of the code
+are continually updated and are written in FORTRAN 90.
+
+Computational capabilities shared by the two versions of KENO include
+the determination of k‑effective, neutron lifetime, generation time,
+energydependent leakages, energy and regiondependent absorptions,
+fissions, the system meanfreepath, the regiondependent
+meanfreepath, average neutron energy, flux densities, fission
+densities, reaction rate tallies, mesh tallies, source convergence
+diagnostics, problemdependent continuous energy temperature treatments,
+parallel calculations, restart capabilities, and many more.
+
+:sup:`1`\ Formerly with Oak Ridge National Laboratory
+
+ACKNOWLEDGMENTS
+
+Many individuals have contributed significantly to the development of
+KENO. Special recognition is given to G. E. Whitesides, former Director
+of the Computing Applications Division, who was responsible for the
+concept and development of the original KENO code. He has also
+contributed significantly to some of the techniques used in both KENO
+versions. The late J. T. Thomas offered many ideas that have been
+implemented in the code. R. M. Westfall, retired from ORNL, provided
+early consultation, encouragement, and benchmarks for validating the
+code. The special abilities of J. R. Knight, retired from ORNL,
+contributed substantially to debugging early versions of the code. S. W.
+D. Hart was instrumental in implementing continuous energy temperature
+treatments. W. J. Marshall has provided substantial validation and
+quality assurance reviews. Appreciation is expressed to C. V. Parks and
+S. M. Bowman for their support of KENO and the KENO3D visualization
+tool. The late P. B. Fox provided many of the figures in this document.
+D. Ilas, B. J. Marshall, and D. E. Mueller consolidated the previous
+KENO V.a and KENOVI manuals into this present form. The efforts of
+L. F. Norris (retired), W. C. Carter (retired), S. J. Poarch, D. J.
+Weaver (retired), S. Y. Walker and R. B. Raney in preparing this
+document are gratefully acknowledged.
+
+The authors thank the U. S. Nuclear Regulatory Commission and the DOE
+Nuclear Criticality Safety Program for sponsorship of the continuous
+energy, source convergence diagnostics, and grid geometry features in
+the current version.
+
+Introduction to KENO
+
+
+KENO, a functional module in the SCALE system, is a Monte Carlo
+criticality program used to calculate :math:`k_{eff}`, fluxes, reaction rates,
+and other data for threedimensional (3D) systems. Special features
+include multigroup or continuous energy mode, simplified data input, the
+ability to specify origins for spherical and cylindrical geometry
+regions, a P\ :sub:`n` scattering treatment, and restart capability.
+
+The KENO data input features flexibility in the order of input. The only
+restrictions are that the sequence identifier, title, and cross section
+library must be entered first. A large portion of the data has been
+assigned default values found to be adequate for many
+problems. This feature enables the user to run a problem with a minimum
+of input data.
+
+In addition to the features listed above, KENOVI uses the SCALE
+Generalized Geometry Package (SGGP), which contains a much larger set of
+geometrical bodies, including cuboids, cylinders, spheres, cones,
+dodecahedrons, elliptical cylinders, ellipsoids, hoppers,
+parallelepipeds, planes, rhomboids, and wedges. The code’s flexibility
+is increased by allowing: intersecting geometry regions; hexagonal,
+dodecahedral, and cuboidal arrays; bodies and holes rotated to any angle
+and translated to any position; and a specified array boundary that
+contains only that portion of the array located inside the boundary.
+Users should be aware that the added geometry features in KENO‑VI can
+result in significantly longer run times than KENO V.a. A KENOVI
+problem that can be modeled in KENO V.a will typically run about four
+times as long with KENOVI as it does with KENO V.a. Therefore KENOVI
+is not a replacement for KENO V.a, but rather an additional version for
+more complex geometries that could not be modeled previously.
+
+Blocks of input data are entered in the form
+
+**READ XXXX** *input_data* **END XXXX,**
+
+where **XXXX** is the keyword for the type of data being entered. The
+types of data entered include parameters, geometry region data, array
+definition data, biasing or weighting data, albedo boundary conditions,
+starting distribution information, the cross section mixing table, extra
+onedimensional (1D) (reaction rate) cross section IDs for special
+applications, energy group boundaries for tallying in the continuous
+energy mode, a mesh grid for collecting flux moments, and printer plot
+information.
+
+A block of data can be omitted unless it is needed or desired for the
+problem. Within the blocks of data, most of the input is activated by
+using keywords to override default values.
+
+The treatment of the energy variable can be either multigroup or
+continuous. Changing the calculation mode from multigroup to continuous
+energy or vice versa is established by simply changing the cross section
+library used. All available calculated entities in the multigroup mode
+can also be calculated in the continuous energy mode. If the calculated
+entity is energy or group dependent, it is automatically tallied into
+the appropriate group structure in the continuous energy mode.
+
+The KENO V.a geometry input consists of spheres, hemispheres, cylinders,
+hemicylinders, and cuboids. Although the origin of the cylinders,
+hemicylinders, spheres, and hemispheres is zero by default, they may be
+specified to any value that will allow the geometry to fit in the
+problem. This feature allows the use of nonconcentric cylindrical and
+spherical shapes and provides a great deal of freedom in positioning
+them. Another feature that expands the generality of the code is the
+ability to place the cut surface of the hemicylinders and hemispheres at
+any distance between the radius and the origin.
+
+An additional convenience is the availability of an alternative method
+for specifying the array definition unitlocation data. This method uses
+FIDOlike options for filling the array.
+
+As mentioned above, KENOVI uses the SGGP, which contains a much more
+flexible geometry package than the one in KENO V.a. In KENOVI, geometry
+regions are constructed and processed as sets of quadratic equations. A
+set of geometric shapes (including all of those used in KENO V.a plus
+others) is available in KENOVI, as well as the ability to build more
+complex geometric shapes using sets of quadratic equations. Unlike
+KENO V.a, KENOVI allows intersections between geometry regions within a
+unit, and it provides the ability to specify an array boundary that
+intersects the array.
+
+The most flexible KENO V.a geometry features are the
+“\ **ARRAY**of**ARRAY**\ s” and “\ **HOLE**\ s” capabilities. The
+**ARRAY**of**ARRAY**\ s option allows the construction of **ARRAY**\ s
+from other **ARRAY**\ s. The depth of nesting is limited only by
+computer space restrictions. This option greatly simplifies the setup
+for **ARRAY**\ s involving different **UNIT**\ s at different spacings.
+The **HOLE** option allows a **UNIT** or an **ARRAY** to be placed at
+any desired location within a geometry region. The emplaced **UNIT** or
+**ARRAY** cannot intersect any geometry region and must be wholly
+contained within a region. As many **HOLE**\ s as will snugly fit
+without intersecting can be placed in a region. This option is
+especially useful for describing shipping casks and reflectors that have
+gaps or other geometrical features. Any number of **HOLE**\ s can be
+described in a problem, and **HOLE**\ s can be nested to any depth.
+
+The primary difference between the KENO V.a and KENOVI geometry input
+is the methodology used to represent the geometry/material regions in a
+unit. KENOVI uses two geometry records (cards) to describe a region.
+The first record, called the GEOMETRY record, contains the geometry
+(**shape**) keyword, region boundary definitions, and any geometry
+modification data. Using geometry modification data, regions can be
+rotated and translated to any angle and position within a unit. The
+second record, the **CONTENT** record, contains the **MEDIA** keyword;
+the material, **HOLE**, or **ARRAY** ID number; the bias ID number; and
+the region definition vector. KENOVI requires that a **GLOBAL UNIT** be
+specified in all problems, including single unit problems.
+
+In addition to the *cuboidal* **ARRAY**\ s available in KENO V.a,
+*hexagonal* **ARRAY**\ s and *dodecahedral* **ARRAY**\ s can be directly
+constructed in KENOVI. Also, the ability to specify an **ARRAY**
+boundary that intersects the **ARRAY** makes it possible to construct a
+lattice in a cylinder using one **ARRAY** in KENOVI instead of multiple
+**ARRAY**\ s and **HOLE**\ s as would be required in KENO V.a.
+
+Anisotropic scattering is treated by using discrete scattering angles.
+The angles and associated probabilities are generated in a manner that
+preserves the moments of the angular scattering distribution for the
+selected grouptogroup transfer. These moments can be derived from the
+coefficients of a P\ :sub:`n` Legendre polynomial expansion. All moments
+through the 2n − 1 moment are preserved for n discrete scattering
+angles. A onetoone correspondence exists such that n Legendre
+coefficients yield n moments. The cases of zero and one scattering angle
+are treated in a special manner. Even when the user specifies multiple
+scattering angles, KENO can recognize that the distribution is
+isotropic, and therefore KENO selects from a continuous isotropic
+distribution. If the user specifies one scattering angle, the code
+selects the scattering angle from a linear function if it is positive
+between 1 and +1, and otherwise it performs semicontinuous scattering
+by picking scattering angle cosines uniformly over some range between –1
+and +1. The probability is zero over the rest of the range.
+
+The KENO restart option is easy to activate. Certain changes can be made
+when a problem is restarted, including using a different random sequence
+or turning off certain print options such as fluxes or the fissions and
+absorptions by region.
+
+KENO can also compute angular fluxes and flux moments in multigroup
+calculations, which are required to compute scattering terms for
+generation of sensitivity coefficients with the SAMS module or the
+TSUNAMI3D control module. Fluxes can also be accumulated in a Cartesian
+mesh that is superimposed over the userdefined geometry in an automated
+manner.
+
+KENO can perform Monte Carlo transport calculations concurrently on a
+number of computational nodes. By introducing a simple masterslave
+approach via MPI, KENO runs different random walks concurrently on the
+replicated geometry within the same generation. Fission source and other
+tallied quantities are gathered at the end of each generation by the
+master process and are then processed either for final edits or
+subsequent generations. Code parallel performance is strongly dependent
+on the size of the problem simulated and the size of the tallied
+quantities.
+
+KENO Data Guide
+
+
+KENO may be run stand alone or as part of a SCALE criticality safety or
+sensitivity and uncertainty analysis sequence. If KENO is run stand
+alone in the multigroup mode, cross section data can be used from an
+AMPX :cite:`dunn_ampx2000_2002` working format library or from a Monte Carlo format cross
+section library. If KENO uses an AMPX working format library, a mixing
+table data block must be entered. If a Monte Carlo format library is
+used, a mixing table data block is not entered, and the mixtures
+specified in the KENO geometry description must be consistent with the
+mixtures created on the Monte Carlo format library file.
+
+If KENO is run stand alone in the continuous energy mode, a mixing table
+data block must be provided unless the restart option is used.
+
+If KENO is run as part of a SCALE criticality safety or sensitivity and
+uncertainty analysis sequence, the mixtures are defined in the CSAS or
+TSUNAMI3D input, and a mixing table data block cannot be entered in
+KENO. Furthermore, the mixture numbers used in the KENO geometry
+description must correspond to those defined in the composition data
+block of the CSAS or TSUNAMI3D input. To use a cellweighted mixture in
+KENO, the keyword “\ **CELLMIX**\ =,” followed by a unique mixture
+number, must be specified in the unit cell data of the CSAS or
+TSUNAMI‑3D sequence. Unit cell data are applicable only in the
+multigroup mode. The mixture number used in the KENO input is the unique
+mixture number immediately following the keyword “\ **CELLMIX**\ =.” A
+cell‑weighted mixture is available only in SCALE sequences that use
+XSDRN to perform a cellweighting calculation using a multigroup cross
+section library. :numref:`tab811` through :numref:`tab8114` summarize the KENO
+input data blocks. These input data blocks are discussed in detail in
+the following sections.
+
+In order to run KENO parallel (standalone execution), the user must
+provide a name with the “%” prefix in the input file (=%kenovi). Control
+modules like CSAS, TRITON, and TSUNAMI3D automatically initiate
+parallel KENO execution if the user provides the required arguments
+while running this code.
+
+.. listtable:: Summary of parameter data.
+ :name: tab811
+ :align: center
+
+ *  .. image:: figs/Keno/tab1.svg
+ :align: center
+ :width: 800
+
+.. listtable:: Summary of array data.
+ :name: tab812
+ :align: center
+
+ *  .. image:: figs/Keno/tab2.svg
+ :align: center
+ :width: 1000
+
+.. listtable:: Summary of biasing data.
+ :name: tab813
+ :align: center
+
+ *  .. image:: figs/Keno/tab3.svg
+ :align: center
+ :width: 1000
+
+.. listtable:: Summary of boundary condition data.
+ :name: tab814
+ :align: center
+
+ *  .. image:: figs/Keno/tab4.svg
+ :width: 1200
+ :align: center
+
+.. listtable:: Summary of boundary condition data specific to KENOVI.
+ :name: tab815
+
+ *  .. image:: figs/Keno/tab5.svg
+ :width: 800
+ :align: center
+
+.. listtable:: Summary of geometry data in KENO V.a.
+ :name: tab816
+ :align: center
+
+ *  .. image:: figs/Keno/tab6.svg
+ *  .. image:: figs/Keno/tab6cont.svg
+
+.. listtable:: Summary of geometry data in KENOVI.
+ :name: tab817
+ :align: center
+
+ *  .. image:: figs/Keno/tab7.svg
+
+.. listtable:: Summary of mixing table data.
+ :name: tab818
+ :align: center
+
+ *  .. image:: figs/Keno/tab8.svg
+
+.. listtable:: Summary of plot data.
+ :name: tab819
+ :align: center
+
+
+ *  .. image:: figs/Keno/tab9.svg
+ :align: center
+ :width: 1000
+
+.. listtable:: Summary of starting data.
+ :name: tab8110
+ :align: center
+
+ *  .. image:: figs/Keno/tab10.svg
+ :align: center
+ :width: 1000
+
+.. listtable:: Summary of volume data (KENOVI).
+ :name: tab8111
+ :align: center
+
+ *  .. image:: figs/Keno/tab11.svg
+ :width: 10000
+ :align: center
+
+.. listtable:: Summary of grid geometry data.
+ :name: tab8112
+ :align: center
+
+ *  .. image:: figs/Keno/tab12.svg
+ :width: 1000
+ :align: center
+
+
+
+.. _tab8113:
+.. table:: Summary of energy group boundary data.
+ :align: center
+
+ +++
+  ENERGY  Format: READ ENERGY energy group 
+   boundaries END ENERGY 
+   
+   Enter upper energy boundary for 
+   each group in eV. The last entry 
+   is the lower energy boundary of 
+   the last group. For N groups, 
+   there are N+1 entries. Entries 
+   must be in descending order and 
+   in units of eV. 
+ +++
+
+.. listtable:: Summary of reaction data.
+ :name: tab8114
+ :align: center
+
+ *  .. image:: figs/Keno/tab14.svg
+ :width: 1000
+ :align: center
+
+.. _8121:
+
+Keno input outline
+~~~~~~~~~~~~~~~~~~
+
+The data input for KENO is outlined below. Default data for KENO have
+been found to be adequate for many problems. These values should be
+carefully considered when entering data.
+
+Blocks of input data are entered in the form:
+
+**READ XXXX** *input_data* **END XXXX**
+
+where **XXXX** is the keyword for the type of data being entered. The
+keywords that can be used are listed in Table 8.1.15. A minimum of four
+characters is required for a keyword, and some keyword names may be as
+long as twelve characters (**READ PARAMETER**, **READ GEOMETRY**, etc.).
+Keyword inputs are not case sensitive. Data input is activated by
+entering the words **READ XXXX** followed by one or more blanks. All
+input data pertinent to **XXXX** are then entered. Data for **XXXX** are
+terminated by entering **END XXXX** followed by two or more blanks. Note
+that multiple **READ GRID** blocks are used if multiple grid definitions
+are needed.
+
+.. _tab8115:
+.. table:: Types of input data.
+ :align: center
+
+ +++
+  Type of data  First four characters 
+ +++
+  Parameters  PARA or PARM 
+ +++
+  Geometry  GEOM 
+ +++
+  Biasing  BIAS 
+ +++
+  Boundary conditions  BOUN or BNDS 
+ +++
+  Start  STAR or STRT 
+ +++
+  Energy  ENER 
+ +++
+  Array (unit orientation)  ARRA 
+ +++
+  Extra 1D cross sections  X1DS 
+ +++
+  Cross section mixing table\  MIXT or MIX 
+  :sup:`a`  
+ +++
+  Plot\ :sup:`a`  PLOT or PLT or PICT 
+ +++
+  Volumes  VOLU 
+ +++
+  Grid geometry  GRID 
+ +++
+  Reactions  REAC 
+ +++
+  :sup:`a` MIX and PLT must include  
+  a trailing blank, which is  
+  considered part of the keyword.  
+ +++
+
+Three data records **must** be entered for every problem: first the
+SCALE sequence identifier, then the problem title, and then the **END
+DATA** to terminate the problem.
+
+(1) KENO is typically run using one of the SCALE CSAS or TSUNAMI
+sequences, but it may also be run stand alone using KENO V.a or KENOVI.
+The sequence identifier is specified using one line similar to:
+
+=kenovi
+
+This line may also include additional runtime directives that are
+described throughout the SCALE manual. For example:
+
+=kenova parm=check
+
+The following guidance generally assumes the user is running KENO stand
+alone. If KENO is to be run using of the other sequences (e.g., CSAS5),
+see the appropriate manual section for additional guidance.
+
+(2) **problem title**
+
+ Enter a problem title (limit 80 characters, including blanks; extra
+ characters will be discarded). A title **must be entered**.
+ See Sect. 8.1.2.3.
+
+(3) **READ PARA** *parameter_data* **END PARA**
+
+ Enter parameter input as needed to describe a problem. If parameter
+ data are desired in standalone KENO calculations (i.e., nonCSAS),
+ they must immediately follow the problem title. Default values are
+ assigned to all parameters. A problem **can** be run without entering
+ any parameter data if the default values are acceptable.
+
+ Parameter data must begin with the words **READ PARA**, **READ
+ PARM**, or **READ PARAMETER.** Parameter data may be entered in any
+ order. If a parameter is entered more than once, the last value is
+ used. The words **END PARA** or **END PARM**, or **END PARAMETER**
+ terminate the parameter data. See :ref:`8123`.
+
+(n\ :sub:`1`)...( n\ :sub:`13`) The following data may be entered in any
+order. Data not needed to describe the problem may be omitted.
+
+(n\ :sub:`1`) **READ GEOM** *all_geometry_region_data* **END GEOM**
+
+Geometry region data must be entered for every problem that is not a
+restart problem. Geometry data must begin with the words **READ GEOM**
+or **READ GEOMETRY**. The words **END GEOM** or **END GEOMETRY**
+terminate the geometry region data. See :ref:`8124`.
+
+(n\ :sub:`2`) **READ ARRA** *array_definition_data* **END ARRA**
+
+ Enter array definition data as needed to describe the problem. Array
+ definition data define the array size and position units (defined in
+ the geometry data) in a 3D lattice that represents the physical
+ problem being analyzed. Array data must begin with the words **READ
+ ARRA** or **READ ARRAY** and must terminate with the words **END
+ ARRA** or **END ARRAY**. See :ref:`8125`.
+
+(n\ :sub:`4`) **READ BOUN** *albedo_boundary_conditions* **END BOUN**
+
+ Enter albedo boundary conditions as needed to describe the problem.
+ Albedo data must begin with the words **READ BOUN, READ BNDS**,
+ **READ BOUND**, or **READ BOUNDS,** and it must terminate with the
+ words **END BOUN**, **ENDS BNDS**, **END BOUND**, or **END BOUNDS**.
+ See :ref:`8126`.
+
+(n\ :sub:`3`) **READ BIAS** *biasing_information* **END BIAS**
+
+ The *biasing_information* is used to define the weight given to a
+ neutron surviving Russian roulette. Biasing data must begin with the
+ words **READ BIAS**. The words **END BIAS** terminate the biasing
+ data. See :ref:`8127`.
+
+(n\ :sub:`5`) **READ STAR** *starting_distribution_information* **END
+STAR**
+
+ Enter starting information data for starting the initial source
+ neutrons only if a uniform starting distribution is undesirable.
+ Start data must begin with the words **READ STAR, READ STRT** or
+ **READ START**, and it must terminate with the words **END STAR**,
+ **END STRT** or **END START**. See :ref:`8128`.
+
+(n\ :sub:`6`) **READ ENER** *energy_group_boundaries* **END ENER**
+
+ Enter upper energy boundaries for each neutron energy group to be
+ used for tallying in the continuous energy mode. Energy bin data
+ begin with the words **READ ENER** or **READ ENERGY** and terminate
+ with the words **END ENER** or **END ENERGY**. The last entry is the
+ lower energy boundary of the last group. The values must be in
+ descending order. This block is only applicable to continuous energy
+ KENO calculations. See :ref:`81212`.
+
+(n\ :sub:`7`) **READ MIXT** *cross_section_mixing_table* **END MIXT**
+
+ Enter a mixing table to define all the mixtures to be used in the
+ problem. The mixing table must begin with the words **READ MIXT** or
+ **READ MIX** and must end with the words **END MIXT** or **END MIX**.
+ Do not enter mixing table data if KENO is being executed as a part of
+ a SCALE sequence. See :ref:`81210`.
+
+(n\ :sub:`8`) **READ X1DS** *extra_1D_cross_section_IDs* **END X1DS**
+
+ Enter the IDs of any extra 1D cross sections to be used in the
+ problem. These must be available on the mixture cross section
+ library. Extra 1D cross section data must begin with the words
+ **READ X1DS** and terminate with the words **END X1DS**. See
+ :ref:`8129`.
+
+(n\ :sub:`9`) **READ PLOT** *plot_data* **END PLOT**
+
+ Enter the data needed to provide a 2D character or color plot of a
+ slice through a specified portion of the 3D geometrical
+ representation of the problem. Plot data must begin with the words
+ **READ PLOT**, **READ PLT**, or **READ PICT** and terminate with the
+ words **END PLOT**, **END PLT**, or **END PICT**. See :ref:`81211`.
+
+(n\ :sub:`10`) **READ VOLU** *volume_data* **END VOLU**
+
+ Enter the data needed to specify the volumes of the geometry data.
+ Volume data must begin with the words **READ VOLU** or **READ
+ VOLUME** and end with the words **END VOLU** or **END VOLUME**. See
+ Sect.Volume data.
+
+(n\ :sub:`11`) **READ GRID** *mesh_grid_data* **END GRID**
+
+ Enter the data needed to specify a simple Cartesian grid over either
+ the entire problem or part of the problem geometry for tallying
+ fluxes, moments, fission sources, etc. Grid data may be entered using
+ the keywords **READ GRID**, **READ GRIDGEOM**, or **READ
+ GRIDGEOMETRY**, and they are terminated with either **END GRID**,
+ **END GRIDGEOM**, or **END GRIDGEOMETRY**. Multiple grids may be
+ defined by repeating the **READ GRID** block several times,
+ specifying a different mesh grid identification number for each so
+ defined grid. See Sect. Grid geometry data for further information.
+
+(n\ :sub:`12`) **READ REAC** *reaction_data* **END REAC**
+
+ Enter the data needed to specify filters for the reaction tally
+ calculations. Reaction data must begin with the words **READ REAC**
+ and terminate with **END REAC**. This block is only applicable to
+ calculations in the continuous energy mode. See :ref:`81215`.
+
+(n\ :sub:`13`) **END DATA must be entered**
+
+ Terminate the data for the problem.
+
+Procedure for data input
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+For a standalone KENO problem, the first data records **must** be the
+sequence identifier (e.g., =kenovi or =kenova) and the title. The next
+block of data **must** be the parameters if they are to be entered. A
+problem can be run without entering the parameters, which causes KENO to
+use default values for input parameters. The remaining blocks of data
+can be entered in any order.
+
+ **BOLD TYPE** specifies keywords. A keyword is used to identify the
+ data that follow it. When a keyword is used, it must be entered
+ exactly as shown in the data guide. All keywords except those ending
+ with an equal sign must be followed by at least one blank.
+
+ *small_italics* correlate data with a program variable name. The
+ actual values are entered in place of the program variable name and
+ are terminated by a blank or a comma.
+
+ *CAPITAL ITALICS* identify general data items. General data items are
+ general classes of data including
+
+ (1) geometry data such as *UNIT INITIALIZATION* and *UNIT NUMBER
+ DEFINITION, GEOMETRY REGION DESCRIPTION, GEOMETRY WORD, MIXTURE
+ NUMBER, BIAS ID,* and *REGION DIMENSIONS*,
+
+ (2) albedo data such as *FACE CODES* and *ALBEDO NAMES*,
+
+(3) weighting data such as *BIAS ID NUMBERS*, etc.
+
+ Square brackets The square brackets, [ and ], are used to show that
+ an entry is optional.
+
+ Broken line The broken line, \, is used as a logical “or” symbol to
+ show that the entries to its left and right are alternatives that
+ cannot be used simultaneously.
+
+.. _8123:
+
+Title and parameter data
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+A *title*, a character string, must be entered at the top of the input
+file. The syntax is:
+
+*title* a string of characters with a length of up to 80 characters,
+including blanks.
+
+The **PARAMETER** block may contain parameter initializations for those
+parameters that need to be changed from their default value. The syntax
+for the **PARAMETER** block is:
+
+**READ** **PARA**\ [**METER**] *p\ 1 … p\ N* **END**
+**PARA**\ [**METER**]
+
+or
+
+**READ** **PARM** *p\ 1 … p\ N* **END** **PARM**
+
+*p\ 1 … p\ N* are *N* (*N* greater than or equal to zero) keyworded
+parameters that together make up the *PARAMETER DATA*
+
+The commonly changed parameters are **TME**\ *,* **GEN**\ *,* **NSK**,
+and **NPG**. Seldom changed parameters are **NBK**\ *,* **NFB**\ *,*
+**XNB**\ *,* **XFB**\ *,* **WTH**\ *,* **WTL**\ *,* **TBA**\ *,*
+**BUG**\ *,* **TRK**\ *,* and **LNG**.
+
+The *PARAMETER DATA*, *p\ 1 … p\ N*, consists of one or more of the
+parameters described below.
+
+Floating point parameters
+
+ **RND** = *rndnum* input hexadecimal random number, a default value is
+ provided.
+
+ **TME** = *tmax* execution time (in minutes) for the problem, default =
+ 0.0 (no limit).
+
+ **TBA** = *tbtch* time allotted for each generation (in minutes),
+ default = 10 minutes. If *tbtch* is exceeded in any generation, the
+ problem is assumed to be looping. Execution is terminated, and final
+ edits are performed. The problem can loop indefinitely on a computer if
+ the systemdependent routine to interrupt the problem (PULL) is not
+ functional. **TBA=** is also used to set the amount of time available
+ for generating the initial starting points.
+
+ **SIG** = *tsigma* if entered and > 0.0, this is the standard deviation
+ at which the problem will terminate, default = 0.0, which means do not
+ check sigma.
+
+ **WTA** = *dwtav* the default average weight given a neutron that
+ survives Russian roulette, *dwtav* default = 0.5.
+
+ **WTH** = *wthigh* the default value of *wthigh* is 3.0 and should be
+ changed only if the user has a valid reason to do so. The weight at
+ which splitting occurs is defined to be *wthigh x wtavg*, where *wtavg*
+ is the weight given to a neutron that survives Russian roulette.
+
+ **WTL** = *wtlow* Russian roulette is played when the weight of a
+ neutron is less than *wtlow x wtavg*. The *wtlow* default =
+ 1.0/\ *wthigh*.
+
+ .. note:: The default values of *wthigh* and *wtlow* have been determined to minimize the deviation per unit running time for many problems.
+
+ **MSH** = *mesh_size* Length (cm) of one side of a cubic mesh for
+ tallying fluxes. Default = 0.0. A positive nonzero value must be
+ entered if **MFX**\ =YES and **READ GRID** input is not entered.
+
+ **TTL =** *temperature_tolerance* The continuous energy cross sections
+ must be within the *temperature_tolerance* (in degrees Kelvin) of the
+ requested temperature for the problem to run. A negative value specifies
+ the use of the closest temperature to that requested. TTL is ignored
+ when **DBX** is nonzero. The default = 1.0.
+
+ **DBH** = *dbrc_high* the energy cutoff (in eV) up to which the Doppler
+ Broadening Rejection Correction (DBRC) method will be used on nuclides
+ for which DBRC is enabled, and cross section libraries are available.
+ DBH is only used in CE simulations. Default = 210.0 eV.
+
+ **DBL** = *dbrc_low* the energy cutoff (in eV) down to which DBRC will
+ be used on nuclides for which DBRC is enabled and cross section
+ libraries are available. Only used in CE simulations. Default = 0.4 eV.
+
+Integer parameters
+
+ **GEN** = *nba* number of generations to be run, default = 203.
+
+ **NPG** = *npb* number of neutrons per generation, default = 1000.
+
+ **NSK** = *nskip* number of generations (1 through *nskip*) to be
+ omitted when collecting results, default = 3.
+
+ **RES** = *nrstrt* number of generations between writing restart data,
+ default = 0. If **RES** is zero, restart data are not written. When
+ restarting a problem, **RES** is defaulted to the value that was used
+ when the restart data block was written. Thus, it must be entered as
+ zero to terminate writing restart data for a restarted problem.
+
+ **NBK** = *nbank* number of positions in the neutron bank, default =
+ *npb* + 25.
+
+ **XNB** = *nxnbk* number of extra entries in the neutron bank, default =
+ 0.
+
+ **NFB** = *nfbnk* number of positions in the fission bank, default =
+ *npb.*
+
+ **XFB** = *nxfbk* number of extra entries in the fission bank, default =
+ 0.
+
+ **X1D** = *numx1d* number of extra 1D cross sections, default = 0.
+
+ **BEG** = *nbas* beginning generation number, default = 1. If **BEG** is
+ greater than 1, restart data must be available. **BEG** must be 1
+ greater than the number of generations retrieved from the restart file.
+
+ **NB8** = *nb8* number of blocks allocated for the first directaccess
+ unit, default = 1000.
+
+ **NL8** = *nl8* length of blocks allocated for the first directaccess
+ unit, default = 512.
+
+ **NQD** = *nquad* quadrature order for angular flux tallies, default =
+ 0, which means do not collect. Angular fluxes are typically only needed
+ for TSUNAMI3D calculations.
+
+ **NGP** = *ngp* number of neutron energy groups to be used for tallying
+ in the continuous energy mode. If *NGP* corresponds to a standard SCALE
+ group structure, then the SCALE group structure will be used. If it does
+ not correspond to a standard structure, an equally spaced in lethargy
+ group structure will be used. If nothing is specified for a continuous
+ energy problem, the SCALE 238 group structure will be used.
+
+ **PNM** = *isctr* highest order of flux moment tallies, default = 0.
+ Flux moments are typically only tallied for TSUNAMI3D calculations.
+
+ **CET** = *ce_tsunami_mode*.
+ mode for CE TSUNAMI (See TSUNAMI3D manual).
+
+ 0 = No sensitivity calculations
+
+ 1 = CLUTCH sensitivity calculation
+
+ 2 = IFP sensitivity calculation
+
+ 4 = GEARMC calculation (with CLUTCH only)
+
+ 5 = GEARMC calculation (with CLUTCH+IFP)
+
+ 7 = Undersampling metric calculation
+
+ **CFP** = *number_of_latent_generations*
+
+ number of latent generations used for IFP sensitivity or
+ :math:`F^{*}\left( r \right)` calculations. Note:
+
+  If CET=1 and CFP= 1 then :math:`F^{*}\left( r \right)` is assumed to
+ equal one everywhere.
+
+  If CET=4 and CFP= 1 then :math:`F^{*}\left( r \right)` is assumed to
+ equal zero everywhere.
+
+
+ **DBR** = *lusedbrc* use Doppler Broadening Rejection Correction method.
+ See Sect. 8.1.6.2.9 for more details. Only used in CE simulations.
+ Default = 2.
+
+ 0 = No DBRC
+
+ 1 = DBRC for :sup:`238`\ U only
+
+ 2 = DBRC for all available nuclides (:sup:`232`\ Th, :sup:`234`\ U,
+ :sup:`235`\ U, :sup:`236`\ U, :sup:`238`\ U, :sup:`237`\ Np,
+ :sup:`239`\ Pu, :sup:`240`\ Pu)
+
+ **DBX** = *db_xs_mode*
+
+ option for performing problemdependent or onthefly Doppler
+ Broadening. See Sect. 8.1.6.2.10 for more details. Default = 2.
+
+ 0 = No problemdependent or onthefly Doppler Broadening
+
+ 1 = Perform problemdependent Doppler Broadening for 1D cross
+ sections only.
+
+ 2 = Perform problemdependent Doppler Broadening for both 1D and 2D
+ (thermal scattering data) cross sections.
+
+Alphanumeric parameter data
+
+ **CEP** = *lcep* key for choosing the calculation mode in stand alone
+ KENO calculations. The parameter is set to the appropriate value by the
+ calling sequence if not stand alone KENO. For stand alone KENO, enter NO
+ for multigroup mode, or enter the continuous energy directory filename
+ for the continuous energy mode. The directory file is the file
+ containing pointers to files significant for the continuous energy run.
+
+ **FNI** = *mode_in* extra field in the input restart file name
+ [restart\_*mode_in*.keno_input] and
+ [restart\_*mode_in*.keno_calculated]. The default is an empty field.
+
+ **FNO** = *mode_out* extra field in the output restart filename
+ [restart\_*mode_out*.keno_input] and
+ [restart\_*mode_out*.keno_calculated]. The default is an empty field.
+
+Logical parameter data … enter *YES* or *NO*
+
+ **APP** = *lappend* key for appending the restart data, default = NO.
+
+ **FLX** = *nflx* key for collecting and printing fluxes, default = NO.
+
+ **FDN** = *nfden* key for collecting and printing fission densities,
+ default = YES.
+
+ **ADJ** = *nadj* key for running adjoint calculation, default = NO.
+ Adjoint cross sections must be available to run an adjoint problem. If
+ LIB= is specified, the cross sections will be adjointed by the code. If
+ XSC= is specified, the cross sections must already be in adjoint order.
+
+ **PTB** = *ptb* key for using probability tables in the continuous
+ energy mode, default = YES
+
+ **PNU =** *lpromptnu* key for using delayed or prompt ν in the
+ continuous energy mode, default = NO – use total.
+
+ **FRE** = *lfree_analytic* key for using free analytic gas treatment,
+ default = YES.
+
+ **AMX** = *amx* key for printing all mixture cross section data. This is
+ the same as activating *XAP, XS1, XS2, PKI*, and *P1D*. If any of these
+ are entered in addition to *AMX*, that portion of *AMX* will be
+ overridden, default = NO.
+
+ **XAP** = *prtap* key for printing discrete scattering angles and
+ probabilities for the mixture cross sections, default = NO.
+
+ **XS1** = *prtp0* key for printing mixture 1D cross sections, default =
+ NO.
+
+ **XS2** = *prt1* key for printing mixture 2D cross sections, default =
+ NO.
+
+ **XSL** = *prtl* key for printing mixture 2D P\ :sub:`L` cross
+ sections, default = NO. The Legendre expansion order L is automatically
+ read from the cross section library.
+
+ **PKI** = *prtchi* print input fission spectrum, default = NO.
+
+ **P1D** = *prtex* print extra 1D cross sections, default = NO.
+
+ **FAR** = *lfa* key for generating regiondependent fissions and
+ absorptions for each energy group, default = NO.
+
+ **GAS** = *lgas* key for printing regiondependent fissions and
+ absorptions by energy group, applicable only if FAR = YES. Default =
+ FAR. GAS = YES prints regiondependent data by energy group. GAS = NO
+ suppresses regiondependent data by energy group.
+
+ **MKP** = *larpos* calculate and print matrix keffective by unit
+ location, default = NO. Unit location may also be referred to as array
+ position or position index.
+
+ **CKP** = *lckp* calculate and print cofactor keffective by unit
+ location, default = NO. Unit location may also be referred to as array
+ position or position index.
+
+ **FMP** = *pmapos* print fission production matrix by array position,
+ default = NO.
+
+ **MKU** = *lunit* calculate and print matrix keffective by unit type,
+ default = NO.
+
+ **CKU** = *lcku* calculate and print cofactor keffective by unit type,
+ default = NO.
+
+ **FMU** = *pmunit* print fission production matrix by unit type, default
+ = NO.
+
+ **MKH** = *lmhole* calculate and print matrix keffective by hole
+ number, default = NO.
+
+ **CKH** = *lckh* calculate and print cofactor keffective by hole
+ number, default = NO.
+
+ **FMH** = *pmhole* print fission production matrix by hole number,
+ default = NO.
+
+ **HHL** = *lhhgh* collect matrix information by hole number at the
+ highest hole nesting level, default = NO.
+
+ **MKA** = *lmarry* calculate and print matrix keffective by array
+ number, default = NO.
+
+ **CKA** = *lcka* calculate and print cofactor keffective by array
+ number, default = NO.
+
+ **FMA** = *pmarry* print fission production matrix by array number,
+ default = NO.
+
+ **HAL** = *langh* collect matrix information by array number at the
+ highest array nesting level, default = NO.
+
+ **BUG** = *ldbug* print debug information, default = NO. Enter *YES* for
+ code debug purposes only.
+
+ **TRK** = *ltrk* print tracking information, default = NO. Enter *YES*
+ for code debug purposes only.
+
+ **PWT** = *lpwt* print weight average array, default = NO.
+
+ **PGM** = *lgeom* print unprocessed geometry as it is read, default =
+ NO.
+
+ **SMU** = *lmult* calculate the average selfmultiplication of a unit,
+ default = NO.
+
+ **NUB** = *nubar* calculate the average number of neutrons per fission
+ and the average energy group at which fission occurred, default = YES.
+
+ **PAX** = *lcorsp* print the arrays defining the correspondence between
+ the cross section energy group structure and the albedo energy group
+ structure, default = NO.
+
+ **TFM** = *ltfm* perform coordinate transform for flux moments and
+ angular flux calculations, default = NO.
+
+ **PMF** = *prtmore* print angular fluxes or flux moments if calculated,
+ default = NO.
+
+ **CFX** = *nflx* collect fluxes, default = NO.
+
+ **UUM** = *lUnionizedMix* use unionized mixture cross section,
+ default=NO. Only used in CE simulations. See Sect. 8.1.6.2.3 for further
+ details.
+
+ **M2U =** *luseMap2Union* store cross sections for each nuclide on a
+ unionized energy grid, default=NO. Only used in CE simulations. See
+ Sect. 8.1.6.2.3 for further details.
+
+ **SCX** = *lxsecSave* save CE cross sections to restart file,
+ default=NO.
+
+ **MFX** = *make_mesh_flux* compute mesh fluxes on intervals defined by
+ **MSH** above or by READ GRID data block, default = NO.
+
+ **PMS** = *print_mesh_flux* print mesh fluxes if computed, default = NO.
+
+ **MFP** = *meanfreepath* compute and print the meanfreepath of a
+ neutron by region, default = NO.
+
+ **HTM** = *html_output* produce HTML formatted output for interactive
+ browsing, sorting, and plotting of results, default = YES.
+
+ **PMM** = *print_mesh_moments* print the angular moments of the mesh
+ flux, if computed, default = NO.
+
+ **PMV** = *print_mesh_volumes* print the volume of each mesh interval,
+ if computed. Default = NO.
+
+ **FST** = *lprint_FStar* Create a .3dmap file that contains the
+ *F*\ :sup:`\*`\ (r) mesh used by a CETSUNAMI CLUTCH sensitivity
+ calculation.
+
+ **RUN** = *lrun* key for determining if the problem is to be executed
+ when data checking is complete, default = YES.
+
+ **PLT** = *lplot* key for drawing specified plots of the problem
+ geometry, default = YES.
+
+.. note:: The parameters RUN and PLOT can also be entered in the PLOT
+ data. See Sect. 8.1.2.11. It is recommended that these parameters be
+ entered only in the parameter data in order to ensure that the data
+ printed in the Logical Parameters table is actually performed. If RUN
+ and/or PLT are entered in both the parameter data and plot data, the
+ results vary depending on whether the problem is run (1) stand alone,
+ (2) as a restarted problem, (3) as CSAS with parm=check, or (4) as CSAS
+ without parm=check. These conditions are detailed below.
+
+KENO standalone and CSAS with PARM=CHECK
+ The values of RUN and/or PLT entered in KENO parameter data are printed in the Logical Parameters table of the problem output. However, values for RUN and/or PLT entered in the **KENO plot data** will override the values entered in the parameter data.
+
+Restarted KENO
+ The values of RUN and/or PLT printed in the Logical Parameters table of the problem output are the final values from the parent problem unless those values are overridden by values entered in the **KENO parameter data** of the restarted problem. If the problem is restarted at generation 1, **KENO plot data** can be entered, and the values for RUN and/or PLT will override the values printed in the Logical Parameters table.
+
+CSAS Without PARM=CHECK
+ The values of RUN and/or PLT entered in the KENO parameter data override values entered in the KENO plot data. The values printed in the Logical Parameters table control whether the problem is to be executed and whether a plot is performed.
+
+Parameters that are either Integer or Logical
+
+**SCD**\ = *lScnvgDiag* enable fission source convergence diagnostics
+(ScnvgDiag), default=YES. See Sect. 8.1.6.7for further details.
+
+**CDS** = *lcadis/lGridFissions* accumulate neutron fissions to use as
+fission source in subsequent MAVRIC/Monaco shielding calculation or for
+visualization, default = NO
+
+**GFX** = *lGridFlux* compute grid fluxes averaged over the volume of
+the mesh on intervals defined by a READ GRID data block, default = NO.
+
+**MFX** = *lMeshFlux* compute mesh fluxes averaged over the volume of
+mixtures/materials in a mesh on intervals defined by **MSH** above or by
+READ GRID data block, default = NO.
+
+**CGD** = *lStarMesh* grid ID for the *F*\ :sup:`\*`\ (r) mesh for
+continuous energy CLUTCH sensitivity calculations. This mesh is defined
+in the **READ GRID** data block, default = NO.
+
+.. note:: The KENO codes in previous SCALE versions allowed for only one
+ mesh definition in the user input with either MSH parameter or **READ
+ GRID** data block, and (2) calculation of a single meshbased quantity,
+ such as **MFX** (mesh fluxes) or **CDS** (fission source accumulation on
+ a mesh), per KENO simulation.
+
+ The option to define multiple spatial meshes during a single simulation
+ has been implemented in the KENO codes to add flexibility to meshbased
+ quantity calculations. The new implementation requires that each mesh
+ definition in the **READ GRID** block should have a unique NUMBER (grid
+ ID), which is used for mesh assignment. Users can assign any number of
+ meshbased quantities by setting the mesh parameters **SCD**, **CDS**,
+ **GFX**, **MFX** and **CGD** to this grid NUMBER.
+
+ To support these former and new definition formats, the parameters
+ **SCD**, **CDS**, **GFX**, **MFX** and **CGD** have been redesigned to
+ allow either integer or logical entries. Integer entries are required if
+ multiple meshbased quantities are requested by the user. In this case,
+ each integer entry must point to a grid ID specified in any **READ
+ GRID** data block. See Sect. 8.1.2.14. for several examples for the use
+ of these parameter definitions. These entries are detailed below.
+
+ **SCD**\ =yes Enable source convergence diagnostics using the fission
+ source accumulation on the default mesh, which is 5 × 5 × 5 Cartesian
+ mesh overlaying the whole problem geometry, generated automatically.
+ See Sect. 8.1.6.7.
+
+ **SCD**\ =\ *id* Enable source convergence diagnostics using the
+ fission source accumulation on the mesh defined with **READ GRID**
+ data block with grid ID, *id*.
+
+ **MFX**\ =yes Compute mesh fluxes (fluxes averaged over each region
+ volume in a voxel) on intervals defined by **MSH** above or by the
+ first specified **READ GRID** data block.
+
+ **MFX**\ =\ *id* Compute mesh fluxes on intervals defined by the
+ **READ GRID** data block with grid ID, *id*.
+
+ **CDS**\ =yes Accumulate fission sources on intervals defined by the
+ first specified **READ GRID** data block.
+
+ **CDS**\ =\ *id* Accumulate fission source on intervals defined by
+ the specified **READ GRID** data block with grid ID, *id*.
+
+ **GFX**\ =\ *id* Compute grid fluxes (fluxes averaged over a voxel
+ volume) on intervals defined by the READ GRID data block with grid
+ ID, *id*.
+
+ **CGD**\ =\ *id* Enable a mesh grid defined by the READ GRID data
+ block with grid ID, id for CLUTCH :math:`F^{*}\left( r \right)`
+ calculations.
+
+ All of the above quantities may be requested in a single input using
+ either the same or different grids. See Sect. 8.1.2.14 for further
+ details.
+
+I/O Unit Numbers
+
+ **XSC** = *xsecs* I/O unit number for a Monte Carlo format mixed cross
+ section library. When LIB≠0, default = 14. To read a mixed cross section
+ library from a Monte Carlo format library file or CSASI, XSC must be
+ specified.
+
+ **ALB** = *albdo* I/O unit number for albedo data, default = 79.
+
+ **WTS** = *wts* I/O unit number for weights, default = 80.
+
+ **LIB** = *lib* I/O unit number for *AMPX* working format cross section
+ library, default = 0.
+
+ **SKT** = *skrt* I/O unit number for scratch space, default = 16.
+
+ **RST** = *rstrt* I/O unit number for reading restart data, default = 0.
+
+ Enter a logical unit number to restart if *BEG* > 1.
+
+ **WRS** = *wstrt* I/O unit number for writing restart data, default = 0.
+
+ A nonzero value must be entered if *RES* > 0.
+
+ **GRP** = *grpbs* I/O unit number for an energy group boundary library,
+ default = 77.
+
+ Example: **READ PARAM** **NPG**\ =203 **FLX**\ =YES **END PARAM**
+
+.. _8124:
+
+Geometry data
+~~~~~~~~~~~~~
+
+The *GEOMETRY\_ DATA* consists of a series of **UNIT** descriptions, one
+of which may be the **GLOBAL UNIT**. The **UNIT** is the basic geometry
+piece in KENO and often corresponds to a welldefined physical entity
+(e.g., a fuel pin). A **UNIT**, therefore, may consist of multiple
+*material regions*. Each **UNIT** has its own, local coordinate system.
+The **UNIT**\ s are assembled to construct the problem’s global geometry
+for KENO. The *GEOMETRY\_ DATA* must be entered unless the problem is
+being restarted. See :ref:`8136` for detailed examples.
+
+.. _81241:
+
+UNITS
+^^^^^
+
+Geometric arrangements in KENO are achieved in a manner similar to using
+a child’s building blocks. Each building block is called a **UNIT**. An
+**ARRAY** or lattice is constructed by stacking these **UNIT**\ s. Once
+an **ARRAY** or lattice has been constructed, it can be placed in a
+**UNIT** by using an **ARRAY** specification.
+
+Each **UNIT** in an **ARRAY** or lattice has its own coordinate system.
+In KENO V.a, all coordinate systems in all **UNIT**\ s must have the
+same orientation. This restriction is removed in KENOVI. All geometry
+data used in a problem are correlated to the absolute coordinate system
+by specifying a **GLOBAL UNIT**. **UNIT**\ s are constructed of
+combinations from several allowed **shape**\ s or geometric regions.
+These regions can be placed anywhere within a **UNIT**. In KENO V.a the
+regions are oriented along the coordinate system of the **UNIT** and do
+not intersect other regions. This means, for example, that a
+**CYLINDER** must have its axis parallel to one of the coordinate axes,
+while a rectangular parallelepiped must have its faces perpendicular to
+a coordinate axis. The most stringent KENO V.a geometry restriction is
+that none of the options allow geometry regions to intersect. In KENO
+V.a, each region in a unit must entirely contain each preceding region.
+The orientation, intersection, and containment restrictions are
+eliminated in KENOVI. :numref:`fig811` shows some situations that are not
+allowed in KENO V.a, but are allowed in KENOVI.
+
+.. _fig811:
+.. figure:: figs/Keno/fig1.png
+ :align: center
+
+ Examples of geometry allowed in KENOVI but not allowed in KENO V.a.
+
+For KENO V.a, unless special options are invoked, each geometric region
+in a **UNIT** must completely enclose each interior region. Regions may
+touch at points of tangency and may share faces. See :numref:`fig812` for
+examples of allowable situations.
+
+.. _fig812:
+.. figure:: figs/Keno/fig2.png
+ :align: center
+
+ Examples of correct KENO V.a units.
+
+Special options are provided to circumvent the complete enclosure
+restriction in KENO V.a or to enhance the basic geometry package in
+KENOVI. These options include **ARRAY** and **HOLE** descriptions. The
+**HOLE** option is the simplest of these and allows placing a **UNIT**
+anywhere within a region of another **UNIT.** In KENO V.a, **HOLE**\ s
+are not allowed to intersect the region into which they are placed; this
+restriction does not apply in KENOVI (see :numref:`fig813`). In both geometry
+packages, a **HOLE** cannot intersect the **UNIT** boundary. It is
+recommended that the outer boundary of a **UNIT** used as a **HOLE**
+should not be tangent to or share a boundary with another **HOLE** or a
+region of the **UNIT** containing the **HOLE** because the code may find
+that the regions are intersecting due to precision and roundoff. Since
+a particle must check every region to determine its location within a
+**UNIT**, using **HOLE**\ s to contain complex sections of a problem may
+decrease the CPU time needed for the problem in KENOVI. Inclusion of
+**HOLE**\ s increases runtime in KENO V.a, but in many cases cannot be
+avoided. An arbitrary number of **HOLE**\ s can be placed in a region in
+combination with a series of surrounding regions. The only restrictions
+on **HOLE**\ s are (1) when they are placed in a **UNIT,** they must be
+entirely contained within the **UNIT**, and (2) they cannot intersect
+other **HOLE**\ s or nested **ARRAY**\ s. **HOLE**\ s in KENO V.a cannot
+intersect an **ARRAY**; in KENOVI, the **HOLE** cannot intersect the
+**ARRAY** boundary.
+
+.. _fig813:
+.. figure:: figs/Keno/fig3.png
+ :align: center
+
+ Example demonstrating HOLE capability in KENO.
+
+Lattices or arrays are created by stacking **UNIT**\ s. In KENO V.a,
+only rectangular parallelepipeds can be organized in an **ARRAY**.
+**HEXPRISM**\ s and **DODECAHEDRON**\ s are allowed in KENOVI to
+construct triangular pitched or closedpacked dodecahedral **ARRAY**\ s,
+respectively. The adjacent faces of adjacent **UNIT**\ s stacked in this
+manner must match exactly. See :ref:`81364` for additional
+clarification and :numref:`fig814` and :numref:`fig815` for typical examples.
+
+.. _fig814:
+.. figure:: figs/Keno/fig4.png
+ :align: center
+ :width: 400
+
+ Example of triangular pitched ARRAY construction.
+
+.. _fig815:
+.. figure:: figs/Keno/fig5.png
+ :align: center
+
+ Example of ARRAY construction.
+
+The **ARRAY** option is provided to allow for placing an **ARRAY** or
+lattice within a **UNIT**. In KENOVI, an **ARRAY** is placed in a
+**UNIT** by inserting it directly into a geometry/material region as a
+content record. In KENO V.a, the **ARRAY** is placed directly in the
+unit like a **CUBOID**: it must be the first region in the **UNIT**, or
+the **ARRAY** elements must intersect with the smaller region.
+Subsequent regions in the **UNIT** containing the **ARRAY** must contain
+it entirely. In KENOVI, the reverse is true: the region boundary
+containing the **ARRAY** must coincide with or be contained within the
+**ARRAY** boundary. Therefore, in KENOVI the region boundary becomes
+the **ARRAY** boundary, with the problem ignoring any part of the
+**ARRAY** outside the boundary. A particle enters or leaves the
+**ARRAY** when the region boundary is crossed. In KENO V.a, only one
+**ARRAY** can be placed directly in a UNIT. However, multiple
+**ARRAY**\ s can be placed within a **UNIT** by using **HOLE**\ s. When
+an **ARRAY** is placed in a **UNIT** via a **HOLE**, the **UNIT** that
+contains the **ARRAY** (rather than the **ARRAY** itself) is placed in
+the **UNIT**. **ARRAY**\ s of dissimilar **ARRAY**\ s can be created by
+stacking **UNIT**\ s that contain **ARRAY**\ s. In KENOVI, it is
+possible to place multiple **ARRAY**\ s in a **UNIT** by placing them in
+separate regions. Also in KENOVI, using **HOLE**\ s to insert
+**ARRAY**\ s allows the **ARRAY**\ s to be rotated when placed. See
+:numref:`fig816` for an example of an **ARRAY** composed of **UNIT**\ s
+containing **HOLE**\ s and **ARRAY**\ s.
+
+.. _fig816:
+.. figure:: figs/Keno/fig6.png
+ :align: center
+
+ Example of an ARRAY composed of UNITs containing ARRAYs and HOLEs.
+
+The method of entering *GEOMETRY_DATA* in the geometry data block
+follows:
+
+**READ GEOM** *GEOMETRY\_ DATA* **END GEOM**
+
+.. _812411:
+
+UNIT initialization
+...................
+
+The description of a **UNIT** starts out with the **UNIT**
+*INITIALIZATION* and is terminated by encountering another **UNIT**
+*INITIALIZATION* or **END GEOM**.
+
+The **UNIT** *INITIALIZATION* has the following format:
+
+[**GLOBAL**] **UNIT** *u*
+
+*u* is the identification number (positive integer) assigned to the
+particular **UNIT**. It may be used later to reference a **UNIT**
+previously constructed that the user wishes to place in a **HOLE**, or
+it may be used in an **ARRAY** (see below for more details).
+
+**GLOBAL** is an attribute that specifies that the respective **UNIT**
+is the most comprehensive **UNIT** in the KENO problem to be solved, the
+**UNIT** that includes all the other **UNIT**\ s and defines the overall
+geometric boundaries of the problem. In general, a \ **GLOBAL UNIT**
+must be entered for each problem.
+
+ In KENO V.a, the **GLOBAL** specification is optional. If it is used,
+ it can precede either a **UNIT** command or an **ARRAY**
+ *PLACEMENT_DESCRIPTION*. If it is not entered and the problem does
+ not contain **ARRAY** data, **UNIT** 1 is the default **GLOBAL
+ UNIT**. If there is no **GLOBAL UNIT** specified and **UNIT** 1 is
+ absent from the geometry description, an error message is printed. If
+ the geometry description contains an **ARRAY**, KENO V.a defaults the
+ global array to the array referenced by the last **ARRAY**
+ *PLACEMENT_DESCRIPTION* that is not immediately preceded by a unit
+ description. Otherwise, it is the largest array number specified in
+ the array data (:ref:`8125`).
+
+Examples of initiating a **UNIT**:
+
+1. Initiate input data for **UNIT** No. 6.
+
+..
+
+ **UNIT** 6
+
+2. Initiate input data for the **GLOBAL UNIT** which is **UNIT** No. 4.
+
+..
+
+ **GLOBAL UNIT** 4
+
+For each **UNIT**, the **UNIT**\ ’s *DESCRIPTION* follows the
+**UNIT**\ ’s *INITIALIZATION*. The *DESCRIPTION* is realized by
+combining the commands listed below. The basic principles for
+constructing a **UNIT** are different between KENO V.a and KENOVI. A
+brief discussion of these principles, together with a few examples, is
+presented at the end of this section following the description of the
+basic input used to build the geometry of a **UNIT**. The keywords that
+may be used to define a **UNIT** in KENO are as follows:
+
+**shape**
+
+**COM=**
+
+**HOLE**
+
+**ARRAY**
+
+**REPLICATE** (KENO V.a only)
+
+**REFLECTOR** (KENO V.a only)
+
+**MEDIA** (KENOVI only)
+
+**BOUNDARY** (KENOVI only)
+
+Shape
+.....
+
+**Shape** is a generic keyword used to describe a basic geometric shape
+that may be used in building the geometry of a particular **UNIT**. The
+general format varies between KENO V.a and KENOVI. In KENO V.a, the
+**shape** defines a region containing a material, so the user is
+required to provide both a material and a *bias ID*. In KENOVI the
+**shape** is used strictly as a surface, which is later used to define
+the monomaterial regions (using the **MEDIA** card). The user is
+therefore required to enter a label for this surface so that the
+**shape** can be referenced later.
+
+KENO V.a:
+
+**shape** *m* *b* *d*\ :sub:`1` … *d*\ :sub:`N` [*a*\ :sub:`1` …* [*a*\ :sub:`M` ]…]
+
+KENOVI:
+
+**shape** *l* *d*\ :sub:`1` … *d*\ :sub:`N` [*a*\ :sub:`1` …* [*a*\ :sub:`M` ]…]
+
+**shape** is a generic keyword that describes a basic predefined KENO
+shape (e.g., **CUBOID**, **CYLINDER**) that is used to build the
+geometry of the **UNIT**. The predefined shapes differ between KENO V.a
+and KENOVI. See Appendix A for a description of the KENO V.a basic
+shapes and Appendix B for the KENOVI shapes.
+
+*m* is the mixture number of the material (positive integer) that fills
+the particular shape in KENO V.a **UNIT** description. A material number
+of zero indicates a void region (i.e., no material is present in the
+volume defined by the **shape**).
+
+*b* is the bias identification number (*bias ID*, a positive integer)
+assigned to the particular region defined by the **shape** in the KENO
+V.a **UNIT** description.
+
+*l* is the label (positive integer) assigned to the particular **shape**
+in the KENOVI **UNIT** description. This label is used later to define
+a certain monomaterial region within the **UNIT**.
+
+*d*\ :sub:`1` … *d*\ :sub:`N` represent the *N* dimensions (floating point numbers) that
+define the particular **shape** (e.g., radius of a sphere or cylinder).
+See Appendixes A and B for the particular value of *N* and how each
+**shape** is described.
+
+*a*\ :sub:`1` … *a*\ :sub:`M` are *M* optional *ATTRIBUTES* for the **shape**. The
+attributes provide additional flexibility in the **shape** description.
+The attributes that may be used with either KENO V.a or KENOVI are
+described below (see shape ATTRIBUTES).
+
+shape ATTRIBUTES
+
+The *ATTRIBUTES* that can be used to enhance the **shape** description
+are **CHORD**, **ORIG**\ [**IN**], **CENTER**, and **ROTATE** (KENOVI
+only).
+
+The CHORD attribute
+
+This attribute has different formats in KENO V.a and KENOVI. The user
+will notice that it is more restrictive in KENO V.a. Only the
+**HEMISPHERE and HEMICYLINDER shape**\ s can be **CHORD**\ ed in KENO
+V.a, but all 3D shapes may be **CHORD**\ ed in KENOVI.
+
+KENO V.a:
+**CHORD** *ρ*
+
+KENOVI:
+**CHORD** [**+X**\ =\ *x\ +*] [**X**\ =\ *x\ *] [**+Y**\ =\ *y\ +*]
+[**Y**\ =\ *y\ *] [**+Z**\ =\ *z\ +*] [**Z**\ =\ *z\ *]
+
+:math:`p`
+ is the distance *ρ* from the cut surface to the center of the sphere
+ or the axis of a hemicylinder. See :numref:`fig817` and :numref:`fig818`. Negative
+ values of *ρ* indicate that less than half of the **shape** is retained,
+ while positive values indicate that more than half of the **shape** will
+ be retained.
+
+**+X=**, **X=**, **+Y=**, **Y=**, **+Z=**, **Z=**
+ are subordinate
+ keywords that define the axis parallel to the chord. The “+” and “”
+ signs are used to define the side of the chord which is included in the
+ volume. A “+” in the keyword indicates that the more positive side of
+ the chord is included in the volume. A “” in the keyword indicates that
+ the more negative side of the chord is included in the volume.
+
+*x\ +, x\ , y\ +, y\ , z\ +, z\ *
+ are the coordinates of the plane
+ perpendicular to the chord. For each chord added to a body, the keyword
+ **CHORD** must be used, followed by one of the subordinate keywords and
+ its dimension.
+
+In KENO V.a, the CHORD attribute is applicable for only hemispherical
+and hemicylindrical shapes, *not* for SPHERE, XCYLINDER, YCYLINDER,
+CYLINDER, ZCYLINDER, CUBE, or CUBOID.
+
+.. _fig817:
+.. figure:: figs/Keno/fig7.png
+ :align: center
+
+ Partial hemisphere or hemicylinder; less than half exists (less than half is defined by ρ < 0).
+
+.. _fig818:
+.. figure:: figs/Keno/fig8.png
+ :align: center
+
+ Partial hemisphere of hemicylinder; more than half exists (more than half is defined by ρ > 0).
+
+:numref:`fig819` provides two examples of the use of the CHORD option in
+KENOVI.
+
+.. _fig819:
+.. figure:: figs/Keno/fig9.png
+ :align: center
+
+ Examples of the CHORD option in KENOVI.
+
+The ORIG\ [IN] attribute
+
+The format is slightly different between KENO V.a and KENOVI. Since the
+entries in KENOVI are key worded, the user has more flexibility in
+choosing the order of these entries or in using default values. Only
+nonzero values must be entered in KENOVI, but all applicable values,
+whether zero or nonzero, must be entered in KENO V.a.
+
+KENO V.a:
+**ORIG**\ [**IN**] *a b* [*c*]
+
+KENOVI:
+**ORIGIN** [**X**\ =\ *x*\ :sub:`0`] [**Y**\ =\ *y*\ :sub:`0`] [**Z**\ =\ *z*\ :sub:`0`]
+
+:math:`a`
+ is the X coordinate of the origin of a sphere or hemisphere; the X
+ coordinate of the centerline of a Z or Y cylinder or hemicylinder; the Y
+ coordinate of the centerline of an X cylinder or hemicylinder.
+
+:math:`b`
+ is the Y coordinate of the origin of a sphere or hemisphere; the Y
+ coordinate of the centerline of a Z cylinder or hemicylinder; the Z
+ coordinate of the centerline of an X or Y cylinder or hemicylinder.
+
+:math:`c`
+ is the Z coordinate of the origin of a sphere or hemisphere; it must
+ be omitted for all cylinders or hemicylinders.
+
+**X=**, **Y=**, **Z=**
+ are the subordinate keywords used to define the
+ new position of the origin of the **shape**. If the a subordinate
+ keyword appears more than once after the **ORIGIN** keyword, the values
+ are summed. If the new value is zero, the particular coordinate does not
+ need to be specified.
+
+*x*\ :sub:`0`, *y*\ :sub:`0`, *z*\ :sub:`0`
+ are the values for the new coordinates where the
+ origin of the **shape** is to be translated.
+
+The CENTER attribute
+
+This attribute establishes the reference center for the flux moment
+calculations, which can be useful in TSUNAMI calculations. The syntax
+for this attribute is:
+
+**CENTER** *center_type* [*u*] [*x y z*]
+
+*center_type*
+ is the reference center value, as described in
+ :numref:`tab8116`. The default value is **global**.
+
+*u*
+ is the **UNIT** number to be used as a reference center for this
+ region when the *center_type* is **unit**.
+
+*x*, *y*, *z*
+ are the offset from the point specified by the
+ *center_type*. The default is 0.0 for all three entries.
+
+.. _tab8116:
+.. table:: Reference center values
+ :align: center
+
+ +++
+  **center_type**  **Reference point** 
+ +++
+  **unit**  Reference is defined as the 
+   origin of **UNIT** *unit_number* 
+   plus the offset defined by 
+   *x*, \ *y*, and *z*. 
+ +++
+  **global**  Reference is defined as system 
+   origin—i.e., (0,0,0) point of the 
+   **GLOBAL UNIT**—plus the offset 
+   defined by *x*, *y*, and *z*. 
+ +++
+  **local**  Reference is defined as the 
+   origin of the current **UNIT** 
+   plus the offset defined by *x*, 
+   *y*, and *z*. 
+ +++
+  **fuelcenter**  Reference is defined as the 
+   center of all fissile material in 
+   the system plus the offset 
+   defined by *x*, *y*, and *z*. 
+ +++
+  **wholeunit**  When entered for the first region 
+   in a unit, the reference for all 
+   regions in the unit are defined 
+   as the origin of the current unit 
+   plus the offset defined by 
+   *x*, \ *y*, and *z*. 
+ +++
+
+
+The ROTATE attribute
+
+This attribute can only be used in the KENOVI input. It allows for the
+rotation of the **shape** or **HOLE** to which it is applied. If
+**ORIGIN** and **ROTATE** data follow the same **shape** or **HOLE**
+record, the **shape** is always rotated prior to translation, regardless
+of the order in which the data appear. Fig. 8.1.10 provides an example
+of the use of the **ROTATE** option. Its syntax is:
+
+**ROTATE** [**A1**\ =\ *a*\ :sub:`1`] [**A2**\ =\ *a*\ :sub:`2`] [**A3**\ =\ *a*\ :sub:`3`]
+
+**A1**\ =, **A2**\ =, **A3**\ =
+ are subordinate keywords to specify the
+ angles of rotation of the particular shape with respect to the origin of
+ the coordinate system. The Euler Xconvention is used for rotation.
+
+*a*\ :sub:`1`, *a*\ :sub:`2`, *a*\ :sub:`3`
+ are the values of the Euler rotation angles in
+ degrees. The default is 0 degrees. If a subordinate keyword appears more
+ than once following the ROTATE keyword, the values are summed.
+
+.. _fig8110:
+.. figure:: figs/Keno/fig10.png
+ :align: center
+ :width: 500
+
+ Explanation of the ROTATE option.
+
+Examples of **shape**\ s:
+
+1. Specify a hemisphere labeled 10, containing material 2 with a radius
+ of 5.0 cm which contains only material where Z > 2.0 within the
+ sphere centered at the origin, and its origin translated to X=1.0,
+ Y=1.5, and Z=3.0.
+ KENO V.a (no label, but material and bias ID are the first two numerical entries):
+
+ **HEMISPHERE** 2 1 5.0 **CHORD** 2.0 **ORIGIN** 1.0 1.5 3.0
+
+ or
+
+ **HEMISPHE+Z** 2 1 5.0 **CHORD** 2.0 **ORIGIN** 1.0 1.5 3.0
+
+ KENOVI (no material; this is to be specified with **MEDIA**):
+
+ **SPHERE** 10 5.0 **CHORD** **+Z**\ =2.0 **ORIGIN** **X**\ =1.0
+ **Y**\ =1.5 **Z**\ =3.0
+
+2. Specify a hemicylinder labeled 10, containing material 1, having a
+ radius of 5.0 cm and a length extending from Z=2.0 cm to Z=7.0 cm.
+ The hemicylinder has been truncated perpendicular to the X axis at
+ X= −3 such that material 1 does not exist between X= −3 and X= −5.
+ Position the origin of the truncated hemicylinder at X=10 cm and
+ Y=15 cm with respect to the origin of the unit, and rotate it (in
+ KENOVI input) so it is in the YZ plane at X=10 and at a 45° angle
+ with the Y plane.
+
+ KENO V.a (no rotation possible, no label):
+
+ **ZHEMICYL+X** 1 1 5.0 7.0 2.0 **CHORD** 3.0 **ORIGIN** 10.0 15.0
+
+ KENOVI (no material; this is to be specified with **MEDIA** card):
+
+ **CYLINDER** 10 5.0 7.0 2.0 **CHORD** **+X**\ = −3.0 **ORIGIN**
+ **X**\ =10.0 **Y**\ =15.0 **ROTATE** **A2**\ = −45
+
+.. _812412:
+
+COM=
+....
+
+The keyword **COM**\ = signals that a comment is to be read. The
+optional comment can be placed anywhere within a unit definition. Its
+syntax is:
+
+**COM** = *delim comment delim*
+
+*delim*
+ is the delimiter, which may be any one of “ , ‘ , \* , ^ , or !
+
+*comment*
+ is the comment string, up to 132 characters long.
+
+Example of comment within a **UNIT**:
+
+**COM**\ =“This is a fuel pin”
+
+.. _814213:
+
+HOLE
+....
+
+This entry is used to position a **UNIT** within a surrounding **UNIT**
+relative to the origin of the surrounding **UNIT**. **HOLE**\ s may
+share surfaces with but may not intersect other **HOLE**\ s, the
+**BOUNDARY** of the **UNIT** which contains the **HOLE**, or an
+**ARRAY** boundary. In KENOVI, the **BOUNDARY** record of a **UNIT**
+placed in a **HOLE** may contain more than one geometry label, but all
+labels must be positive, indicating inside the respective geometry
+bodies. The syntax for **HOLE** is:
+
+KENO V.a:
+**HOLE** *u x y z*
+
+KENOVI:
+**HOLE** *u* [*a*\ :sub:`1` … [*a*\ :sub:`M` ]…]
+
+*u*
+ is the unit previously defined that is to be placed within the
+ **HOLE**.
+
+*x y z*
+ is the position of the **HOLE** in the KENO V.a host **UNIT**.
+
+*a\ 1 … a\ M*
+ are optional KENOVI *ATTRIBUTES* for the **HOLE**. The
+ *ATTRIBUTES* can be **ORIGIN** or **ROTATE** and follow the same syntax
+ previously defined for KENOVI **shape** *ATTRIBUTES*. These
+ *ATTRIBUTES* allow for the translation and/or rotation of the **HOLE**
+ within the host region.
+
+Examples of **HOLE** use:
+
+Place **UNIT** 2 in the surrounding **UNIT** such that the **ORIGIN** of
+**UNIT** 2 is at **X**\ =3, **Y**\ =3.5, **Z**\ =4 relative to the
+origin of the surrounding **UNIT**.
+
+KENO V.a:
+**HOLE** 2 3 3.5 4
+
+KENOVI:
+**HOLE** 2 **ORIGIN** **X**\ =3.0 **Y**\ =3.5 **Z**\ =4.0
+
+.. _812414:
+
+ARRAY
+.....
+
+When used within a **UNIT** description, this entry provides an
+**ARRAY** placement description. In KENO V.a, it always starts a new
+**UNIT** and generates a rectangular parallelepiped that fits the outer
+boundaries of the specified **ARRAY**. The specified **ARRAY** is
+positioned in the **UNIT** according to the most negative point in the
+**ARRAY** with respect to the coordinate system of the surrounding
+**UNIT**. Thus, the location of the minimum x, minimum y, and minimum z
+point in the array is specified in the coordinate system of the **UNIT**
+into which the **ARRAY** is being placed.
+
+In KENOVI, the **ARRAY** keyword is used to position an **ARRAY**
+within a region in a surrounding **UNIT** relative to the origin of the
+surrounding **UNIT**. When the subordinate keyword **PLACE** is entered,
+it is followed by six numbers that precisely locate the **ARRAY** within
+the surrounding **UNIT** as shown in the example below. The first three
+numbers consist of the element in the **ARRAY** of the **UNIT** selected
+to position the **ARRAY**. The next three numbers consist of the
+position of the origin of the selected **UNIT** in the surrounding
+**UNIT**. Higher level **ARRAY** boundaries may intersect lower level
+**ARRAY** boundaries as long as they do not intersect **HOLE**\ s in the
+**UNIT**\ s contained in the **ARRAY** or in **UNIT**\ s contained in
+lower level **ARRAY**\ s.
+
+The syntax for the **ARRAY** card is as follows:
+
+KENO V.a:
+**ARRAY** *array_id* *x y z*
+
+KENOVI:
+**ARRAY** *array_id* *l*\ :sub:`1` … *l*\ :sub:`N` [**PLACE** *N*\ :sub:`x` *N*\ :sub:`y` *N*\ :sub:`z` *x y
+z*]
+
+*array_id*
+ is the label that identifies the array to be placed.
+
+*l\ 1* … *l\ N*
+ is the *REGION DEFINITION VECTOR*. These are previously
+ defined **shape** labels, and together they define the region in which
+ the array *array_id* is to be placed. This is used only in KENOVI.
+
+*N\ x N\ y N\ z*
+ are three integers that define the element in the
+ **ARRAY** of the **UNIT** selected to position the **ARRAY**. This is
+ used only in KENOVI.
+
+*x y z*
+ specify the position of the **ARRAY** in the **UNIT**.
+
+ In KENO V.a, the x, y, and z values are the point where the most
+ negative x, y, and z point of the **ARRAY** is to be located in the
+ **UNIT**\ ’s coordinates.
+
+ In KENOVI, the x, y, and z values are the point where the origin of the
+ **UNIT** specified by *N\ x*, *N\ y*, and *N\ z* is to be located in the
+ **shape** specified by the *REGION DEFINITION VECTOR*.
+
+Example of **ARRAY** use:
+
+In KENO V.a, position the most negative point of **ARRAY** 6 at X = 2.0,
+Y = 3.0, Z = 4.0 relative to the origin of the containing **UNIT**.
+
+**ARRAY** 6 2.0 3.0 4.0
+
+In KENOVI, position instead the origin of **UNIT** (1,2,3) of **ARRAY**
+6 at X = 2.0, Y = 3.0, Z = 4.0 and specify the **ARRAY** boundary to be
+the region that is inside the geometry **shape**\ s labeled 10 and 20
+and outside the geometry **shape** labeled 30 used to describe the
+surrounding **UNIT**.
+
+**ARRAY** 6 10 20 −30 **PLACE** 1 2 3 2.0 3.0 4.0
+
+REPLICATE and REFLECTOR
+.......................
+
+
+These keywords specific to KENO V.a are used to generate additional
+geometry regions having the **shape** of the previous region. The
+geometry keyword **REFLECTOR** is a synonym for **REPLICATE**. The
+desired weighting functions can be applied to those regions by
+specifying biasing data as described in :ref:`8127`. The total
+thickness generated for each surface is the thickness per region for
+that surface times the number of regions to be generated, *nreg*.
+
+The replicate specification is frequently used to generate weighting
+regions external to an **ARRAY** placement description. Thus an
+**ARRAY** placement description followed by a **REPLICATE** description
+would generate regions of a cuboidal shape. A cylindrical reflector
+could be generated by following the **ARRAY** placement description with
+a **CYLINDER** and then a **REPLICATE**. A **HOLE** cannot immediately
+follow a **REPLICATE**.
+
+Extra regions using default weights can be generated by specifying the
+first importance region, *imp*, to be one that was not defined in the
+*BIASING INFORMATION* provided in a **READ BIAS** block. This capability
+can be used to generate extra regions for collecting information such as
+fluxes, leakage, etc.
+
+Multiple replicate descriptions can be used in any problem. This
+capability can be used to model different reflector materials of
+different thicknesses on different faces.
+
+The number of appropriate region dimensions needed for specifying
+**REPLICATE** is determined by the preceding region. For example, if the
+previous region were a **SPHERE**, one entry (i.e., *t*\ :sub:`1`) would be
+required. If the previous region were a **CYLINDER**, the first entry,
+*t*\ :sub:`1`, would be the thickness/region in the radial direction, the
+second entry, *t*\ :sub:`2`, would the thickness/region in the positive length
+direction, the third entry, *t*\ :sub:`3`, would be the thickness/region in the
+negative length direction, etc. The **REPLICATE** specification
+requirements for a **CUBE** are the same as for a **CUBOID**.
+
+Syntax:
+
+**REPLICATEREFLECTOR** *m* *b* *t*\ :sub:`1` … *t*\ :sub:`N` *nreg*
+
+*m*
+ is the number of the material (nonnegative integer) that fills the
+ particular REPLICATE/REFLECTOR region in the **UNIT** description. A
+ material of zero indicates a void region (i.e., no material is present
+ in the volume defined by the **shape**).
+
+*b*
+ is the bias identification number (positive integer) assigned to the
+ particular region defined by the **shape** in the KENO V.a **UNIT**
+ description. If the specified bias ID is defined in a **READ BIAS**
+ block, the bias ID number will be incremented automatically, increasing
+ one for each additional region up to *nreg*.
+
+*t*\ :sub:`1` … *t*\ :sub:`N`
+ represent the thickness (floating point number) per region
+ for each of the *N* surfaces that define the particular **shape**. If
+ the specified bias ID is one that is defined in the READ BIAS block, the
+ region thicknesses should be consistent with the thicknesses used to
+ generate the bias data being used. See :ref:`9127`.
+
+*nreg*
+ is the number of regions (integer) to be generated.
+
+Example:
+
+Create five regions of material 4, each being 3 cm thick, outside a
+cuboid region (a cuboid has six dimensions). The innermost of the five
+generated regions has a *bias id* of 2. The following four regions have
+*bias id* of 3, 4, 5, and 6.
+
+MEDIA
+.....
+
+This card is used in the KENOVI input file to define the location of a
+mixture relative to the geometric **shape**\ s in the **UNIT**.
+:numref:`fig8111` shows the input for a set of three intersecting
+**SPHERE**\ s in a **CUBOID**. The total volume data for a region in the
+problem may be entered as the last entry on the **MEDIA** card by using
+the keyword “\ **VOL**\ =” keyword immediately followed by the volume in
+cm\ :sup:`3`. The volume entered is the volume of the region in the unit
+multiplied by the number of times the unit occurs in the problem minus
+any volume excluded from the problem by **ARRAY** boundaries and
+**HOLE**\ s. The volumes for any or all regions may be entered. If the
+volume is entered here, this value will be used even if volumes are also
+entered as a file or calculated (See :ref:`81213`). Volumes not
+entered will be determined by the input specified in the VOLUME DATA
+block. If no volume is supplied, the KENOVI default volume of 1 will
+be used. This only affects volumeaveraged quantities, i.e., not
+*k*\ :sub:`eff`.
+
+Syntax:
+
+**MEDIA** *m* *b* *l*\ :sub:`1` … *l*\ :sub:`N` [**VOL**\ =\ *v*]
+
+*m*
+ is the material (positive integer or zero for vacuum) that fills the
+ region defined by **MEDIA**.
+
+*b*
+ is the *bias id* for the material sector being defined.
+
+*l*\ :sub:`1` … *l*\ :sub:`N`
+ is the region definition vector (*N* integers). These
+ are *N* previously defined **shape** labels that together define the
+ material sector.
+
+**VOL**\ =
+ is an optional subkeyword used to input the material sector
+ volume.
+
+*v*
+ is the volume in cm\ :sup:`3` of the material sector defined by the
+ **MEDIA** card.
+
+.. _fig8111:
+.. figure:: figs/Keno/fig11.png
+ :align: center
+ :width: 500
+
+ Example of the MEDIA record.
+
+BOUNDARY
+........
+
+This card is used in KENOVI to define the outer boundary of the
+**UNIT**. In KENO V.a, the outer boundary of the **UNIT** is implicitly
+defined by the last **shape** in the **UNIT**. Each **UNIT** must have
+one and only one **BOUNDARY** card.
+
+Syntax:
+
+**BOUNDARY** *l\ 1* … *l\ N*
+
+*l*\ :sub:`1` … *l*\ :sub:`N`
+ is the **UNIT** *BOUNDARY DEFINITION VECTOR* (*N*
+ integers). These are *N* previously defined **shape** labels that
+ together define the outer boundary of the **UNIT**. All entries must be
+ positive for the **UNIT** being defined to be used subsequently as a
+ **HOLE**.
+
+.. _8125:
+
+ARRAY Data
+~~~~~~~~~~
+
+The array definition data block is used to define the size of an
+**ARRAY** and to position **UNIT**\ s (defined in the geometry data) in
+a 3D lattice that represents the **ARRAY** being described. As many
+arrays as are necessary can be described in a problem, subject to
+computer storage limitations. In KENO V.a, only one **ARRAY** may be
+placed directly in a **UNIT**, but as many **ARRAY**\ s as are needed
+may be placed in the **UNIT** by using **HOLE**\ s. In KENOVI,
+any number of arrays can be placed in any **UNIT** either directly or
+indirectly using **HOLE**\ s. There is no default global array. If a
+global array is desired it must be explicitly defined.
+
+The **ARRAY** definition data is entered as:
+
+READ ARRAY ARRAY_ DATA END ARRAY
+
+The *ARRAY\_ DATA* consists of *ARRAY_PARAMETERS* and
+*UNIT_ORIENTATION_DESCRIPTION*.
+
+.. _81251:
+
+ARRAY Parameters
+^^^^^^^^^^^^^^^^
+
+The ARRAY parameters that can be used in the definition of an ARRAY are:
+
+**ARA**\ =
+
+**GBL**\ =
+
+**NUX**\ =, **NUY**\ =, **NUZ**\ =
+
+**PRT**\ =
+
+**COM**\ =
+
+**TYP**\ = (KENOVI only)
+
+ARA=
+....
+
+The **ARA**\ = parameter defines a reference number for an **ARRAY**. It
+has no default in KENOVI. In KENO V.a, if is missing, the default is 1.
+
+Syntax:
+
+**ARA**\ =\ *a*
+
+*a*
+ is the reference number for the **ARRAY**. It has no default in
+ KENOVI. In KENO V.a, if is missing, the default is 1.
+
+GBL=
+....
+
+This is used to input the number of the global array.
+
+Syntax:
+
+**GBL**\ =\ *g*
+
+*g*
+ is the reference number for the global **ARRAY**. In KENO V.a it
+ must not be entered more than once. The default is the largest value for
+ *a*, the reference number for the **ARRAY**. In KENOVI it is no default
+ value and if entered more than once, the last value is used.
+
+PRT=
+....
+
+This entry is used to enable printing the **ARRAY** of **UNIT** numbers.
+
+Syntax:
+
+**PRT**\ =\ *print*
+
+*print*
+ is a logical constant which defaults to YES, indicating that the
+ **ARRAY** of **UNIT** numbers is printed. If the value is NO, then a
+ summary table is printed instead containing the number of times each
+ unit is used in each array.
+
+.. _812514:
+
+NUX=, NUY=, NUZ=
+................
+
+
+These entries are used to input the number of units in the X, Y, and Z
+directions, respectively.
+
+Syntax:
+
+**NUX**\ =\ *n*\ :sub:`x` **NUY**\ =\ *n*\ :sub:`y` **NUZ**\ =\ *n*\ :sub:`z`
+
+*n*\ :sub:`x` *n*\ :sub:`y` *n*\ :sub:`z`
+ are the number of units in the X, Y, and Z directions,
+ respectively. There is no default in KENOVI. In KENO V.a, each of them
+ defaults to 1.
+
+TYPE=
+.....
+
+This entry is used to specify the type of **ARRAY** and is specific to
+KENOVI, where more than one type of arrays can be used. It cannot be
+used in KENO V.a.
+
+Syntax:
+
+**TYP**\ =\ *atyp*
+
+*atyp*
+ type of array (**cuboidal** or **square**, **hexagonal** or
+ **triangular**, **rhexagonal**, **shexagonal**, **dodecahedral**),
+ default = **cuboidal**
+
+.. _812516:
+
+COM=
+....
+
+This keyword is used to enter a comment.
+
+Syntax:
+
+**COM**\ =\ *delim comment delim*
+
+*delim*
+ is a delimiter. Acceptable delimiters are “, ‘, \* , ^ , or !.
+
+*comment*
+ is the comment string. Maximum *comment* length is
+ 132 characters.
+
+.. _81252:
+
+ARRAY orientation data
+^^^^^^^^^^^^^^^^^^^^^^
+
+There are two methods to enter the **UNIT** numbers constituting an
+**ARRAY**: **LOOP** and **FILL**.
+
+LOOP Construct
+..............
+
+The **LOOP** construct resembles a FORTRAN DOloop construct.
+The arrangement of **UNIT**\ s may be considered as consisting of a 3D
+matrix of **UNIT** numbers, with the **UNIT** position increasing in the
+positive X, Y, and Z directions, respectively.
+
+Syntax:
+
+**LOOP** *u* *ix*\ :sub:`1` *ix*\ :sub:`2` incx *iy*\ :sub:`1` *iy*\ :sub:`2` incy *iz*\ :sub:`1` *iz*\ :sub:`2` *incz* **END
+LOOP**
+
+*u*
+ is the **UNIT** identification number (a positive integer).
+
+*ix*\ :sub:`1`
+ is the starting position in the X direction; *ix*\ :sub:`1` must be at
+ least 1 and less than or equal to *n*\ :sub:`x` of :ref:`812514`.
+
+*ix*\ :sub:`2` is the ending position in the X direction; *ix*\ :sub:`2` must be at
+least 1 and less than or equal to *n\ x*.
+
+*incx*
+ is the number of **UNIT**\ s by which increments are made in the
+ positive X direction; *incx* must be greater than zero and less than or
+ equal to *n*\ :sub:`x`.
+
+*iy*\ :sub:`1`
+ is the starting position in the Y direction; *iy*\ :sub:`1` must be at
+ least 1 and less than or equal to *n*\ :sub:`y`.
+
+*iy*\ :sub:`2`
+ is the ending position in the Y direction; *iy*\ :sub:`2` must be at
+ least 1 and less than or equal to *n*\ :sub:`y`.
+
+*incy*
+ is the number of **UNIT**\ s by which increments are made in the
+ positive Y direction; *incy* must be greater than zero and less than or
+ equal to *n*\ :sub:`y`.
+
+*iz*\ :sub:`1`
+ is the starting position in the Z direction; *iz*\ :sub:`1` must be at
+ least 1 and less than or equal to *n*\ :sub:`z`.
+
+*iz*\ :sub:`2`
+ is the ending position in the Z direction;, *iz*\ :sub:`2` must be at
+ least 1 and less than or equal to *n*\ :sub:`z`.
+
+*incz*
+ is the number of **UNIT**\ s by which increments are made in the
+ positive Z direction; *incz* must be greater than zero and less than or
+ equal to *n*\ :sub:`z`.
+
+The syntax for ending the **LOOP** construct is:
+
+**END LOOP**
+
+The sequence *u* through *incz* is repeated until the entire **ARRAY**
+is described. If any portion of an **ARRAY** is defined in a conflicting
+manner, the last entry to define that portion will determine the
+**ARRAY**\ ’s configuration. To use this feature, fill the entire
+**ARRAY** with the most relevant **UNIT** number and superimpose the
+other **UNIT** numbers in their proper places. An example showing the
+use of the **LOOP** option is given below. This 5 × 4 × 3 **ARRAY** of
+**UNIT**\ s is a matrix of **UNIT**\ s that has 5 \ **UNIT**\ s stacked
+in the X direction, 4 \ **UNIT**\ s in the Y direction, and
+3 \ **UNIT**\ s in the Z direction. X increases from left to right, and
+Y increases from bottom to top. Each Z layer is shown separately.
+
+.. highlight:: scale
+
+Given:
+
+::
+
+ 1 2 1 2 1 2 1 2 1 2 1 1 1 1 1
+ 1 1 1 1 1 2 2 2 2 2 1 3 3 3 1
+ 1 1 1 1 1 2 2 2 2 2 1 3 3 3 1
+ 1 2 1 2 1 2 1 2 1 2 1 1 1 1 1
+ Z Layer 1 Z Layer 2 Z Layer 3
+
+The data for this array could be entered using the following entries.
+
+(1) 1 1 5 1 1 4 1 1 3 1
+This fills the entire array with 1s.
+
+(2) 2 2 5 2 1 4 3 1 1 1
+This loads the four 2s in the first Z layer.
+
+(3) 2 1 5 1 2 3 1 2 2 1
+This loads the second and third rows of 2s in the second Z layer.
+
+(4) 2 1 5 2 1 4 3 2 2 1
+This loads the desired 2s in the first and fourth rows of the second Z layer.
+
+(5) 3 2 4 1 2 3 1 3 3 1
+This loads the 3s in the third Z layer and completes the array data input.
+
+The second layer could have been defined by substituting the following data for entries (3) and (4):
+
+(3) 2 1 5 1 1 4 1 2 2 1
+This completely fills the second layer with 2s.
+
+(4) 1 2 4 2 1 4 3 2 2 1
+This loads the four 1s in the second layer.
+
+When using the **LOOP** option, there is no single correct method of
+entering the data. If a **UNIT** is improperly positioned in the
+**ARRAY** or if some positions in the **ARRAY** are left undefined, it
+is often easier to add data to correctly define the **ARRAY** than to
+try to correct the existing data.
+
+FILL Construct
+..............
+
+The **FILL** construct enters data by stringing in **UNIT** numbers
+starting at X=1, Y=1, Z=1, and varying X, then Y, and then Z to fill the
+**ARRAY**. *n*\ :sub:`x` x *n*\ :sub:`y` x *n*\ :sub:`z` entries are required. FIDOlike
+input options specified in :numref:`tab8117` are also available for filling
+the **ARRAY**.
+
+Syntax:
+
+**FILL** *u*\ :sub:`1` … *u*\ :sub:`N` {**END FILL}**\ \\ **T**
+
+*u*\ :sub:`1` … *u*\ :sub:`N` are the *N*\ =\ *n*\ :sub:`x` x *n*\ :sub:`y` x *n*\ :sub:`z` **UNIT** numbers
+that make up the **ARRAY**
+
+The syntax for ending the **FILL** construct is
+
+**END FILL**
+
+An alternative to end the **UNIT** data in **FILL** is by entering the
+letter **T**.
+
+.. _tab8117:
+.. table:: FIDOlike input for mixed box orientation fill option.
+ :align: center
+
+ +++++
+  Count  Option  Operand  Function 
+     
+  field  field  field  
+ +++++
+    *j*  stores *j* at 
+     the current 
+     position in the 
+     array 
+ +++++
+  *i*  R  *j*  stores *j* in 
+     the next *i* 
+     positions in 
+     the array 
+ +++++
+  *i*  \*  *j*  stores *j* in 
+     the next *i* 
+     positions in 
+     the array 
+ +++++
+  *i*  $  *j*  stores *j* in 
+     the next *i* 
+     positions in 
+     the array 
+ +++++
+   F  *j*  fills the 
+     remainder of 
+     the array with 
+     unit number 
+     *j*, starting 
+     with the 
+     current 
+     position in the 
+     array 
+ +++++
+   A  *j*  sets the 
+     current 
+     position in the 
+     array to *j* 
+ +++++
+  *i*  S   increments the 
+     current 
+     position in the 
+     array by *i* 
+     (This allows 
+     for skipping 
+     *i* positions; 
+     *i* may be 
+     positive or 
+     negative.) 
+ +++++
+  *i*  Q  *j*  repeats the 
+     previous *j* 
+     entries *i* 
+     times (default 
+     value of *i* is 
+     1) 
+ +++++
+  *i*  N  *j*  repeats 
+     previous *j* 
+     entries *i* 
+     times, 
+     inverting the 
+     sequence each 
+     time. (default 
+     value of *i* is 
+     1) 
+ +++++
+  *i*  B  *j*  backs *i* 
+     entries. From 
+     that position, 
+     repeats the 
+     previous *j* 
+     entries in 
+     reverse order 
+     (default value 
+     of *i* is 1) 
+ +++++
+  *i*  I  *j k*  provides the 
+     end points j 
+     and k, with i 
+     entries 
+     linearly 
+     interpolated 
+     between them 
+     (i.e., a total 
+     of i+2 points). 
+     At least one 
+     blank must 
+     separate j and 
+     k. When used 
+     for an integer 
+     array, the 
+     I option should 
+     only be used to 
+     generate 
+     integer 
+     steps—i.e., (k− 
+     j)/(i+1) 
+     should be a 
+     whole number 
+ +++++
+   T   terminates the 
+     data reading 
+     for the array 
+ +++++
+
+.. note:: When entering data using the options in this table, the *count
+ field* and *option field* must be adjacent with no imbedded blanks.
+ The operand field may be separated from the option field by one or
+ more blanks.
+
+Example: Consider a 3 × 3 × 1 **ARRAY** filled with 8 **UNIT** 1s and a
+**UNIT** 2, as shown below.
+
+::
+
+
+ 1 1 1
+ 1 2 1
+ 1 1 1
+
+The input data to describe this **ARRAY** could be entered as follows:
+
+Option (1) 1 1 1 1 2 1 1 1 1 **T**
+ This fills the array one position at a time,
+ starting at the lower left corner. The \ **T** terminates the data.
+
+\
+
+or
+
+\
+
+Option (2) F1 A5 2 **END FILL**
+ The F1 fills the entire array with 1s, the A5
+ locates the fifth position in the array, and the 2 loads a 2 in that
+ position. The **END FILL** terminates the data.
+
+
+.. _8126:
+
+Albedo data
+~~~~~~~~~~~
+
+Albedo boundary conditions are entered by assigning an albedo condition
+to each face of the outermost boundary. The **default value for each
+face is vacuum**. The default values are overridden only on faces for
+which other albedo names are specified. Albedo boundary conditions are
+applied **only** to **the outermost region of a problem.** In KENO V.a
+this geometry region must be a rectangular parallelepiped. The outer
+boundary can be any **shape** (or combination of **shape**\ s) in
+KENOVI. Materialspecific albedos (e.g., H2O and CONC) may not be used
+in continuous energy calculations.
+
+KENOVI users need to be aware that when a neutron reaches a surface
+with a vacuum albedo, that neutron is lost. If a model contains features
+that are reentrant, that is a neutron could exit the model and reenter
+the model on the other side of an unmodeled region, all neutrons passing
+through the problem boundary are lost when they reach the unmodeled
+region. Neutrons are not “transported” across unmodeled areas between
+reentrant surfaces. It is not possible to create a KENO V.a model with
+reentrant problem outer boundary surfaces.
+
+The syntax for entering the albedo boundary conditions is:
+
+**READ BOUNDS** **fc**\ :sub:`1`\ =\ *a*\ :sub:`1` [**fc**\ :sub:`2`\ =\ *a*\ :sub:`2`\ …
+[**fc**\ :sub:`N`\ =\ *a*\ :sub:`N` ]…] **END BOUNDS**
+
+**fc**\ :sub:`1` … **fc**\ :sub:`N` are **N** face codes as defined in :numref:`tab8118`.
+
+*a*\ :sub:`1` … *a*\ :sub:`N` are the albedo types as defined in :numref:`tab8119`
+
+:numref:`tab8119` lists some materialspecific albedo sets. Care must be
+exercised when using materialspecific albedo types. These data sets
+were generated using a real problem, and they implicitly reflect the
+neutron energy spectrum, materials, and geometry from that model. Where
+neutron energy spectra, materials, and geometry vary from that model,
+the materialspecific albedos may give significantly incorrect results.
+This may be checked by comparing results from a sample of calculations
+performed with both explicitly modeled reflectors and materialspecific
+albedos. In general, use of materialspecific albedos is not
+recommended.
+
+.. _tab8118:
+.. table:: Face codes and surface numbers for entering boundary (albedo) conditions (continued in the next table).
+ :align: center
+
+
+ +++
+  Face code  Faces defined by face codes 
+ +++
+  +XB=  Positive X face 
+ +++
+  &XB=  Positive X face 
+ +++
+  −XB=  Negative X face 
+ +++
+  +YB=  Positive Y face 
+ +++
+  &YB=  Positive Y face 
+ +++
+  −YB=  Negative Y face 
+ +++
+  +ZB=  Positive Z face 
+ +++
+  &ZB=  Positive Z face 
+ +++
+  −ZB=  Negative Z face 
+ +++
+  ALL=  All six faces 
+ +++
+  XFC=  Both positive and negative X 
+   faces 
+ +++
+  YFC=  Both positive and negative Y 
+   faces 
+ +++
+  ZFC=  Both positive and negative Z 
+   faces 
+ +++
+  +FC=  Positive X, Y, and Z faces 
+ +++
+  &FC=  Positive X, Y, and Z faces 
+ +++
+  −FC=  Negative X, Y, and Z faces 
+ +++
+  XYF=  Positive and negative X and Y 
+   faces 
+ +++
+  XZF=  Positive and negative X and Z 
+   faces 
+ +++
+  YZF=  Positive and negative Y and Z 
+   faces 
+ +++
+  +XY=  Positive X and Y faces 
+ +++
+  +YX=  Positive X and Y faces 
+ +++
+  &XY=  Positive X and Y faces 
+ +++
+  &YZ=  Positive X and Y faces 
+ +++
+  +XZ=  Positive X and Z faces 
+ +++
+  +ZX=  Positive X and Z faces 
+ +++
+  &XZ=  Positive X and Z faces 
+ +++
+  &ZX=  Positive X and Z faces 
+ +++
+  +YZ=  Positive Y and Z faces 
+ +++
+  +ZY=  Positive Y and Z faces 
+ +++
+  &YZ=  Positive Y and Z faces 
+ +++
+  &ZY=  Positive Y and Z faces 
+ +++
+  −XY=  Negative X and Y faces 
+ +++
+  −XZ=  Negative X and Z faces 
+ +++
+  −YZ=  Negative Y and Z faces 
+ +++
+  YXF=  Positive and negative X and Y 
+   faces 
+ +++
+  ZXF=  Positive and negative X and Z 
+   faces 
+ +++
+  ZYF=  Positive and negative Y and Z 
+   faces 
+ +++
+  −YX=  Negative X and Y faces 
+ +++
+  −ZX=  Negative X and Z faces 
+ +++
+  −ZY=  Negative Y and Z faces 
+ +++
+  BODY= x  x is the body’s geometry label in 
+   the global unit (KENOVI only) 
+ +++
+  SURFACE( ii )=  Boundary condition for surface 
+   number ii of body x (KERNOVI) 
+   only 
+ +++
+
+.. listtable::
+ :align: center
+
+ *  .. image:: figs/Keno/tab18_Page_1.png
+ *  .. image:: figs/Keno/tab18_Page_2.png
+
+.. listtable::
+
+ *  .. image:: figs/Keno/tab18_Page_3.png
+
+.. _tab8119:
+.. table:: Albedo names available on the KENO albedo library for use with the face codes \*
+ :align: center
+
+ +++
+  DP0H2O  12 in. (30.48 cm) double 
+   P\ :sub:`0` water differential 
+  DPOH2O  albedo with 4 incident angles 
+   
+  DP0  
+   
+  DPO  
+ +++
+  H2O  12 in. (30.48 cm) water 
+   differential albedo with 
+  WATER  4 incident angles 
+ +++
+  PARAFFIN  12 in. (30.48 cm) paraffin 
+   differential albedo with 
+  PARA  4 incident angles 
+   
+  WAX  
+ +++
+  CARBON  78.74 in. (200.00 cm) carbon 
+   differential albedo with 
+  GRAPHITE  4 incident angles 
+   
+  C  
+ +++
+  ETHYLENE  12 in. (30.48 cm) polyethylene 
+   differential albedo with 
+  POLY  4 incident angles 
+   
+  CH2  
+ +++
+  CONC4  4 in. (10.16 cm) concrete 
+   differential albedo with 
+  CON4  4 incident angles 
+   
+  CONC4  
+ +++
+  CONC8  8 in. (20.32 cm) concrete 
+   differential albedo with 
+  CON8  4 incident angles 
+   
+  CONC8  
+ +++
+  CONC12  12 in. (30.48 cm) concrete 
+   differential albedo with 
+  CON12  4 incident angles 
+   
+  CONC12  
+ +++
+  CONC16  16 in. (40.64 cm) concrete 
+   differential albedo with 
+  CON16  4 incident angles 
+   
+  CONC16  
+ +++
+  CONC24  24 in. (60.96 cm) concrete 
+   differential albedo with 
+  CON24  4 incident angles 
+   
+  CONC24  
+ +++
+  VACUUM  Vacuum condition 
+   
+  VOID  
+ +++
+  SPECULAR  Mirror image reflection 
+   
+  MIRROR  
+   
+  REFLECT  
+ +++
+  PERIODIC  Periodic boundary condition 
+ +++
+  WHITE  White boundary condition 
+ +++
+  \* Materialspecific albedos may not be used in continuous energy\ 
+  mode 
+ ++
+
+The **BODY** and **SURFACE** keywords are unique to KENOVI. The face
+code **BODY**\ = refers to the body label in global unit input. For
+example, assume the **GLOBAL UNIT** boundary record in a KENOVI input
+consisted of the following: **BOUNDARY** 10 −30 20. In this case
+**BODY**\ =10 would refer to the geometry record labeled 10,
+**BODY**\ =20 would refer to the geometry record labeled 20, and
+**BODY**\ =30 would refer to the geometry record labeled 30. All surface
+numbers following the **BODY** keyword apply to that body. The default
+value of **BODY** is the first geometry label listed in the **GLOBAL
+UNIT** boundary record.
+
+All the face codes, listed in the first part of :numref:`tab8118`, except
+**BODY**\ = and **SURFACE**\ (ii)= were intended to apply only to
+cuboids (KENO V.a). However, when used with noncuboidal surfaces
+(KENOVI) they will fill in the first six surface positions of a body in
+the following order, +X, −X, +Y, −Y, +Z, −Z. The **ALL** face code will
+apply the listed boundary conditions to all surfaces of the body
+currently being considered.
+
+Albedo boundary conditions may be entered on each **GLOBAL UNIT**
+boundary surface multiple times. The boundary condition that applies to
+the surface is the last one entered. If no boundary data are entered or
+if no albedo boundary condition is applied to a **GLOBAL UNIT** boundary
+surface, then the boundary surface is assumed to have a void or vacuum
+boundary condition. Any **CHORD**\ ed surfaces that are **GLOBAL UNIT**
+boundaries will use the default (void) boundary condition, and it cannot
+be changed. This restriction may need to be considered when building the
+geometry of the **GLOBAL UNIT**.
+
+Example:
+ Use a 24 in. concrete albedo boundary condition on the −Z face
+ of a problem with a cuboidal boundary and use mirror image reflection on
+ the +X and −X faces of the cuboid to represent an infinite linear array
+ on a 2 ft. thick concrete pad.
+
+ **READ BOUNDS** **−ZB**\ =CON24 **XFC**\ =MIRROR **END BOUNDS**
+
+Example:
+ Use a 24 in. concrete albedo boundary condition on the −Z face
+ of a problem with a hexagonal boundary, and use mirror image reflection
+ on all side faces of the hexprism to represent an infinite planar array
+ on a 2 ft. thick concrete pad.
+
+ **READ BOUNDS**
+
+ **SURFACE**\ (1)=MIRROR **SURFACE**\ (2)=MIRROR **SURFACE**\ (3)=MIRROR
+
+ **SURFACE**\ (4)=MIRROR **SURFACE**\ (5)=MIRROR **SURFACE**\ (6)=MIRROR
+
+ **SURFACE**\ (7)=VACUUM **SURFACE**\ (8)=CONC24
+
+ **END BOUNDS**
+
+Example:
+ The outer boundary of the global unit consists of a cuboid
+ (body label 10) and a sphere (body label 20). The sphere is large enough
+ to cut the corners of the cuboid leaving most of the cuboid intact. Use
+ a 24 in. concrete albedo boundary condition on the −Z face of the cuboid
+ to represent a 2 ft. thick concrete pad. Use the DP0H2O on the other
+ surfaces to represent an infinite water reflector.
+
+ **READ BOUNDS**
+
+ **BODY**\ =10 **ALL**\ =DP0H2O **−ZB**\ =CON24
+
+ **BODY**\ =20 **SURFACE**\ (1)=DP0H2O
+
+ **END BOUNDS**
+
+.. WARNING:: The user should thoroughly understand materialspecific
+ albedos (e.g., DP0H2O, CON24, etc.) before attempting to use these
+ reflectors. Missapplication of these problemspecific albedo data can
+ cause the code to produce incorrect results without obvious symptoms.**
+
+.. _8127:
+
+Biasing or weighting data
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The biasing data block is used (in only multigroup mode) to define the
+weight that is given to a neutron surviving Russian roulette. The
+average weight of a neutron that survives Russian roulette, *wtavg*, is
+defaulted to *dwtav* (**WTA**\ = in the parameter data [see :ref:`8123`])
+for all *BIAS IDs* and can be overridden by entering biasing
+information.
+
+The *biasing_information* is used to relate a *BIAS ID* to the desired
+energydependent values of *wtavg*. This concept is similar to the way
+the *MIXTURE ID, mat*, is related to the macroscopic cross section data.
+
+The weighting functions used in KENO are energydependent values of
+*wtavg* that are applicable over a given thickness interval of a
+material. For example, the weighting function for water is composed of
+sets of energydependent values of *wtavg* for 11 intervals, each
+interval being 3 cm thick. The first set of *wtavg’s* is for the 0–3 cm
+interval of water, the second set of *wtavg’s* is for the 3–6 cm
+interval of water, etc. The eleventh set of *wtavg’s* is for the 30–33
+cm interval of water.
+
+To input biasing information, a *BIAS ID* must be assigned to correspond
+to a set of *wtavg*. Biasing data can specify a *MATERIAL ID* from the
+existing KENO V.a weighting library or from the *AUXILIARY DATA* input.
+The materials available from the KENO weighting library are listed in
+:numref:`tab8120`.
+
+The *biasing_information* is entered in one of the following two forms.
+The first set is said to input the *CORRELATION DATA*, while the second
+form is said to input the *AUXILIARY DATA*.
+
+**READ BIAS ID**\ =\ *m ib ie* **END BIAS**
+
+or
+
+**READ BIAS WT**\ [**S**]=\ *wttitl id s* *t*\ :sub:`1` *i*\ :sub:`1` *g*\ :sub:`1` *w*\ :sub:`1,1` …
+*w*\ :sub:`1,i1xg1` … *t*\ :sub:`s` *i*\ :sub:`s` *g*\ :sub:`s` *w*\ :sub:`s,1` … *w*\ :sub:`s,isxgs` **END BIAS**
+
+**ID=** specifies that *CORRELATION DATA* will be entered next.
+
+**WT=** or **WTS=** specifies that *AUXILIARY DATA* will be entered
+next.
+
+*m*
+ is the identification (material ID) for the material whose weighting
+ function is to be used. A material ID can be chosen from the existing
+ KENO weighting library (:numref:`tab8120`) or from the *auxiliary data* input
+ using the second form of the **BIAS** block as described later. If a
+ material ID appears in both the KENO weighting library and the
+ *auxiliary data*, the *weights* from the *auxiliary data* will be used.
+
+*ib*
+ is the bias ID of the weighting function for the first interval of
+ material *m*. The geometry record having the bias ID equal to *ib* will
+ use the groupdependent *weights* from the first interval of material
+ *m*.
+
+*ie*
+ is the bias ID of the groupdependent *weights* from the (*ie* −
+ *ib* + 1)\ *th* interval of material *m*.
+
+*wttitl*
+ is an arbitrary title name (12 characters maximum), such as
+ CONCRETE, WATER, SPECIALH2O, etc., to identify the material for which
+ the user is entering data. Embedded blanks are not allowed.
+
+*id*
+ is an identification number (material ID). The value is arbitrary.
+ However, if the data are to be utilized in the problem, this ID must
+ also be used at least once in the first form of the **BIAS** block.
+
+*s*
+ is the number of sets of group structures for which *weights* will
+ be read for this ID.
+
+*t*\ :sub:`1`\ … *t*\ :sub:`s`
+ are *s* thicknesses of each increment for which *weights*
+ will be read for this ID.
+
+*i*\ :sub:`1`\ … *i*\ :sub:`s`
+ are *s* numbers of increments for which *weights* will be
+ read for this ID.
+
+*g*\ :sub:`1`\ … *g*\ :sub:`s`
+ are *s* numbers of energy groups for which *weights* will
+ be read.
+
+*w*\ :sub:`1,i1xg1`\ … *w*\ :sub:`s,isxgs`
+ are *s* sets of *weights*, each set containing
+ a number of *weights* equal to the product of number of increments times
+ the number of groups for that set. The group index varies the fastest.
+
+.. _tab8120:
+.. table:: IDs, group structure and incremental thickness for weighting data available on the KENO weighting library.
+ :align: center
+
+ ++++++
+  Material  Material  Group  Increment\  Total 
+    structure  :sup:`a`  
+   ID    number of 
+    for which  thickness  
+    weights   increments 
+     (cm)  available 
+    are   
+    available   
+ ++++++
+  Concrete  301  27  5  20 
+      
+    28  5  20 
+      
+    56  5  20 
+      
+    200  5  20 
+      
+    238  5  20 
+      
+    252  5  20 
+ ++++++
+  Paraffin  400  27  3  10 
+      
+    28  3  10 
+      
+    56  3  10 
+      
+    200  3  10 
+      
+    238  3  10 
+      
+    252  3  10 
+ ++++++
+  Water  500  27  3  10 
+      
+    28  3  10 
+      
+    56  3  10 
+      
+    200  3  10 
+      
+    238  3  10 
+      
+    252  3  10 
+ ++++++
+  Graphite  6100  27  20  10 
+      
+    28  20  10 
+      
+    56  20  10 
+      
+    200  20  10 
+      
+    238  20  10 
+      
+    252  20  10 
+ ++++++
+  :sup:`a`\ Groupdependent weight averages are supplied for each 
+  increment of the specified incremental thickness (i.e., for any 
+  given material) the first ngp (number of energy groups) weights 
+  apply to the first increment of the thickness specified here, the 
+  next ngp weights apply to the next increment of that thickness, etc
+  CAUTIONIf bias IDs defined in the weighting information data are 
+  used in the geometry, the region thickness should be consistent wi\
+  th the incremental thickness of the weighting data in order to avo\
+  id overbiasing or underbiasing. 
+ ++
+
+.. Warning:: The user should thoroughly understand weighted tracking
+ before attempting to generate and use auxiliary data for biasing. Incorrect
+ weighting can cause the code to produce incorrect results without obvious symptoms.
+
+.. caution:: 1. Each set of *AUXILIARY* or *CORRELATION* data must be completely
+ described in conjunction with its keyword. Complete sets of these data
+ can be interspersed in an arbitrary order but data within each set must
+ be entered in the specified order.
+
+ 2. *AUXILIARY DATA*: If the same *m* is specified in more than one set
+ of data, the last set having the group structure used in the problem is
+ the set that will be utilized. When *AUXILIARY DATA* are entered,
+ *CORRELATION DATA* must also be entered in order to use the *AUXILIARY
+ DATA*.
+
+ 3. *CORRELATION DATA*: If biasing data define the same bias ID (from the
+ geometry data) more than once, the value that is entered last supersedes
+ previous entries. *Be well aware that multiple definitions for the same
+ bias ID can cause erroneous answers due to overbiasing.*
+
+ 4. Bias data may not be used in continuous energy mode.
+
+.. centered:: Examples
+
+1. Use the first form of the **BIAS** block to utilize the water biasing
+ factors in bias IDs 2 through 11. From :numref:`tab8120`, water has
+ material ID m=500 and has bias parameters for 10 intervals that are
+ each 3 cm thick.
+
+**READ BIAS ID**\ =500 2 11 **END BIAS**
+
+2. Use the second form of the **BIAS** block to specify biasing factors
+ for SPECIALWATER to be used in bias IDs 6 and 7. The SPECIALWATER
+ biasing factors have a value of 0.69 for BIAS ID 6 and 0.86 for bias
+ ID 7 in each energy group. Sixteengroup cross sections are being
+ used. Each weighting region is 3.048 cm thick. The material ID is
+ arbitrarily chosen to be 510. Note that the first form of the
+ **BIAS** block must be entered to allow the second form of the
+ **BIAS** block to be used for BIAS IDs 6 and 7.
+
+**READ BIAS WT**\ =SPECIALWATER 510 1 3.048 2 16 16*0.69 16*0.86
+**ID**\ =510 6 7 **END BIAS**
+
+3. An example of multiple definitions for the same bias ID follows:
+
+**READ BIAS ID**\ =400 2 7 **ID**\ =500 5 7 **END BIAS** .
+
+The data for paraffin (**ID**\ =400) will be used for bias IDs 2, 3, and
+4, and the data for water (**ID**\ =500) will be used for bias IDs 5, 6,
+and 7. The paraffin data for bias IDs 5, 6, and 7 have been overwritten
+by water data.
+
+Multiple definitions for the same bias ID are not necessarily incorrect,
+but the user should be cautious about using multiple definitions and
+should ensure that the desired biasing or weighting functions are used
+in the desired geometry regions.
+
+4. An example of how the *bias ID* relates to the energydependent
+ values of *weights* is given below.
+
+Assume that a paraffin reflector is to be used, and it is desirable to
+use the weighting function from the KENO weighting library to minimize
+the running time for the problem. Also assume that these weighting
+functions are to be used in the volumes defined in the geometry records
+having the *bias ID* (defined on a **shape** or **MEDIA** card for KENO
+V.a and KENOVI, respectively) equal to 6, 7, 8, and 9. *Correlation
+data* are then entered and *auxiliary data* will not be entered.
+
+The biasing data would be:
+
+**READ BIAS ID**\ =400 6 9 **END BIAS**.
+
+The results of these data are
+
+(1) the groupdependent *weights* for the 0–3 cm interval of paraffin
+will be used in the volume defined by the geometry region having *bias
+ID*\ = 6.
+
+(2) the groupdependent *weights* for the 3–6 cm interval of paraffin
+will be used in the volume defined by the geometry region having *bias
+ID*\ = 7.
+
+(3) the groupdependent *weights* for the 6–9 cm interval of paraffin
+will be used in the volume defined by the geometry region having *bias
+ID*\ = 8.
+
+(4) the groupdependent *weights* for the 9–12 cm interval of paraffin
+will be used in the volume defined by the geometry region having *bias
+ID*\ = 9.
+
+.. _8128:
+
+Start data
+~~~~~~~~~~
+
+Special start options are available for controlling the initial neutron
+distribution. The default starting distribution for an array is flat
+over the overall array dimensions, in fissile material only. The default
+starting distribution for a single unit is flat over the system, in
+fissile material only. See :numref:`tab8121` for the starting distributions
+available in KENO. The syntax for the **START** block is:
+
+**READ START** *p\ 1* …\ *p\ N* **END START**
+
+*p*\ :sub:`1` …\ *p*\ :sub:`N` are *N* initializations for the parameters listed
+below.
+
+The starting information that can be entered is given below. Enter only
+the data necessary to describe the desired starting distribution.
+
+**NST =** *ntypst*
+ start type, default = 0
+ :numref:`tab8121` lists the available options under the heading, “Start
+ type.”
+
+**TFX =** *tfx*
+ the X coordinate of the point at which neutrons are to
+ be started. Default = 0.0. Use for start types 3, 4, and 6.
+
+**TFY =** *tfy*
+ the Y coordinate of the point at which neutrons are to
+ be started. Default = 0.0. Use for start types 3, 4, and 6.
+
+**TFZ =** *tfz*
+ the Z coordinate of the point at which neutrons are to
+ be started. Default = 0.0.
+ Use for start types 3, 4, and 6.
+
+**NXS =** *nbxs*
+ the x index of the unit’s position in the global array.
+ Default = 0.
+ Use for start types 2, 3, and 6.
+
+**NYS =** *nbys*
+ the y index of the unit’s position in the global array.
+ Default = 0.
+ Use for start types 2, 3, and 6.
+
+**NZS =** *nbzs*
+ the z index of the unit’s position in the global array.
+ Default = 0.
+ Use for start types 2, 3, and 6.
+
+**KFS =** *kfis*
+ the mixture whose fission spectrum is to be used for
+ starting neutrons that are not in a fissionable medium. Defaulted to the
+ fissionable mixture having the smallest mixture number. Available for
+ start types 3, 4, and 6.
+
+**LNU =** *lfin*
+ the final neutron to be started at a point. Default =
+ 0. Each *lfin* should be greater than zero and less than or equal to
+ NPG. Each successive *lfin* should be greater than the previous one. Use
+ for start types 6 and 8.
+
+**NBX =** *nboxst*
+ the unit in which neutrons will be started. Default =
+ 0.
+ Use for start types 4 and 5.
+
+**FCT =** *fract*
+ the fraction of neutrons that will be started as a
+ spike. Default = 0.
+ Use for start type 2.
+
+**XSM =** *xsm*
+ the −X dimension of the cuboid in which the neutron will
+ be started. For an array problem, **XSM** is defaulted to the minimum
+ X coordinate of the global array. If the reflector key **RFL** is YES,
+ then and the outer reflector region is a cube or cuboid, **XSM** is
+ defaulted to the minimum X coordinate of the outer reflector region. If
+ **RFL** is YES and the outer region of the reflector is not a cube or
+ cuboid, then **XSM** must be entered in the start data and must fit
+ inside the outer reflector region.
+ Available for start types 0, 1, 2, and 8.
+
+**XSP =** *xsp*
+ the +X dimension of the cuboid in which the neutrons
+ will be started. For an array problem, **XSP** is defaulted to the
+ maximum X coordinate of the global array. If the reflector key **RFL**
+ is YES, then and the outer reflector region is a cube or cuboid, **XSP**
+ is defaulted to the maximum X coordinate of the outer reflector region.
+ If **RFL** is YES and the outer region of the reflector is not a cube or
+ cuboid, then **XSP** must be entered in the data and must fit inside the
+ outer reflector region.
+ Available for start types 0, 1, 2, and 8.
+
+**YSM =** *ysm*
+ the −Y dimension of the cuboid in which the neutron will
+ be started. For an array problem, **YSM** is defaulted to the minimum
+ Y coordinate of the global array. If the reflector key **RFL** is YES,
+ then **YSM** is defaulted to the minimum Y coordinate of the outer
+ reflector region, provided that region is a cube or cuboid. If **RFL**
+ is YES and the outer region of the reflector is not a cube or cuboid,
+ then **YSM** must be entered in the start data and must fit inside the
+ outer reflector region.
+ Available for start types 0, 1, 2, and 8.
+
+**YSP =** *ysp*
+ the +Y dimension of the cuboid in which the neutrons
+ will be started. For an array problem, **YSP** is defaulted to the
+ maximum Y coordinate of the global array. If the reflector key **RFL**
+ is YES, then **YSP** is defaulted to the maximum Y coordinate of the
+ outer reflector region, provided that region is a cube or cuboid. If
+ **RFL** is YES and the outer region of the reflector is not a cube or
+ cuboid, then **YSP** must be entered in the start data and must fit
+ inside the outer reflector region.
+ Available for start types 0, 1, 2, and 8.
+
+**ZSM =** *zsm*
+ the −Z dimension of the cuboid in which the neutrons
+ will be started. For an array problem, **ZSM** is defaulted to the
+ minimum Z coordinate of the global array. If the reflector key **RFL**
+ is YES, then **ZSM** is defaulted to the minimum Z coordinate of the
+ outer reflector region, provided that region is a cube or cuboid. If
+ **RFL** is YES and the outer region of the reflector is not a cube or
+ cuboid, then **ZSM** must be entered in the start data and must fit
+ inside the outer reflector region.
+ Available for start types 0, 1, 2, and 8.
+
+**ZSP =** *zsp*
+ the +Z dimension of the cuboid in which the neutrons
+ will be started. For an array problem, **ZSP** is defaulted to the
+ maximum Z coordinate of the global array. If the reflector key **RFL**
+ is YES, then **ZSP** is defaulted to the maximum Z coordinate of the
+ outer reflector region, provided that region is a cube or cuboid. If
+ **RFL** is YES and the outer region of the reflector is not a cube or
+ cuboid, then **ZSP** must be entered in the start data and must fit
+ inside the outer reflector region.
+ Available for start types 0, 1, 2, and 8.
+
+**RFL =** *rflkey*
+ the reflector key. If the reflector key is YES, then
+ neutrons can be started in the reflector. If it is NO, then all the
+ neutrons will be started in the array. Enter YES or NO. Default = NO.
+ Available for start types 0, 1, and 2.
+
+**PS6 =** *lprt6*
+ the key for printing start type 6 input data. If the
+ key is YES, then start type 6 data are printed. If it is NO, then start
+ type 6 data are not printed. Enter YES or NO. Default = NO.
+ Available for start type 6.
+
+**PSP =** *lpstp*
+ the key for printing the neutron starting points using
+ the tracking format. If the key is YES, then print the neutron starting
+ points. If it is NO, then do not print the starting points. Enter YES or
+ NO. Default = NO.
+ Available for all start types.
+
+**RDU =** *rdu*
+ the file from which ASCII start data are to be read for
+ start type 6.
+
+**WS6** = *ws6*
+ the file to which ASCII start data are written.
+
+**MSS** = *filename.msl*
+ the file from which ASCII start data are to be
+ read. *filename* may include a valid pathname. Available for start type
+ 9.
+
+.. _tab8121:
+.. table:: Starting distributions available in KENO.
+ :align: center
+
+ +++++
+  Start  Required  Optional  Starting 
+     distribution 
+  type  data  data  
+ +++++
+  0  None  NST  Uniform 
+     throughout 
+    XSM  fissile 
+     material within 
+    XSP  the volume 
+     defined by 
+    YSM  (1) the outer 
+     region of a 
+    YSP  single unit, 
+     (2) the outer 
+    ZSM  region of a 
+     reflected array 
+    ZSP  having the 
+     reflector key 
+    RFL  set true, 
+     (3) the 
+    PSP  boundary of the 
+     global array, 
+     or (4) a cuboid 
+     specified by 
+     XSM, XSP, YSM, 
+     YSP, ZSM, and 
+     ZSP. 
+ +++++
+  1  NST  XSM  The starting 
+     points are 
+    XSP  chosen 
+     according to a 
+    YSM  cosine 
+     distribution 
+    YSP  throughout the 
+     volume of a 
+    ZSM  cuboid defined 
+     by XSM, XSP, 
+    ZSP  YSM, YSP, ZSM, 
+     and ZSP. Points 
+    RFL  that are not in 
+     fissile 
+    PSP  material are 
+     discarded. 
+ +++++
+  2  NST  XSM  An arbitrary 
+     fraction (FCT) 
+   NXS  XSP  of neutrons are 
+     started 
+   NYS  YSM  uniformly in 
+     the unit 
+   NZS  YSP  located at 
+     position NXS, 
+   FCT  ZSM  NYS, NZS in the 
+     global array. 
+    ZSP  The remainder 
+     of the neutrons 
+    RFL  is started in 
+     fissile 
+    PSP  material, from 
+     points chosen 
+     from a cosine 
+     distribution 
+     throughout the 
+     volume of a 
+     cuboid defined 
+     by XSM, XSP, 
+     YSM, YSP, ZSM, 
+     ZSP. 
+ +++++
+  3  NST  KFS  All neutrons 
+     are started at 
+   TFX  PSP  position TFX, 
+     TFY, TFZ within 
+   TFY   the unit 
+     located at 
+   TFZ   position NXS, 
+     NYS, NZS in the 
+   NXS   global array. 
+     
+   NYS   
+     
+   NZS   
+ +++++
+  4  NST  KFS  All neutrons 
+     are started at 
+   TFX  PSP  position TFX, 
+     TFY, TFZ within 
+   TFY   units NBX in 
+     the global 
+   TFZ   array. 
+     
+   NBX   
+ +++++
+
++++++
+    
+ Starting    
+ distributions    
+ available in    
+ KENO    
+ (continued)    
++++++
+ Start  Required  Optional  Starting 
+    distribution 
+ type  data  data  
++++++
+ 5  NST  PSP  Neutrons are 
+    started 
+  NBX   uniformly in 
+    fissile 
+    material in 
+    units NBX in 
+    the global 
+    array. 
++++++
+ 6  NST  NXS  The starting 
+    distribution is 
+  TFX  NYS  arbitrarily 
+    input. LNU is 
+  TFY  NZS  the final 
+    neutron to be 
+  TFZ  KFS  started at a 
+    point TFX, TFY, 
+  LNU\ *a*  PS6  TFZ relative to 
+    the global 
+   PSP  coordinate 
+    system or at a 
+   RDU  point TFX, TFY, 
+    TFZ, relative 
+    to the unit 
+    located at the 
+    global array 
+    position NXS, 
+    NYS, NZS. 
++++++
+ 7   XSM  The starting 
+    points are 
+   XSP  chosen 
+    according to a 
+   YSM  flat 
+    distribution in 
+   YSP  the X and 
+    Ydimensions 
+   ZSM  and a (1.0 − 
+    cos(z))\ 
+   ZSP  :sup:`2` 
+    distribution in 
+    the Zdimension 
+    throughout the 
+    volume of a 
+    cuboid defined 
+    by XSM, XSP, 
+    YSM, YSP, ZSM, 
+    and ZSP. Points 
+    that are not in 
+    fissile 
+    material are 
+    discarded. 
++++++
+ 8  NST  XSM  Neutrons are 
+    started with 
+  ZSM  XSP  flat 
+    distribution in 
+  ZSP  YSM  X and Y, and a 
+    segmented 
+  FCT  YSP  distribution in 
+    Z, with the XY 
+    limits defined 
+    by XSM, XSP, 
+    YSM, YSP and 
+    the relative 
+    fraction in 
+    ZSPZSM defined 
+    by FCT. FCT 
+    must be the 
+    last thing 
+    entered for 
+    each segment. 
++++++
+ 9  NST   Mesh source 
+    from Sourcerer. 
+  MSS   The starting 
+    distribution is 
+    read from a 
+    previously 
+    created mesh 
+    source file 
+    declared with 
+    MSS=\ *filename 
+    .msl*, 
+    where 
+    *filename* may 
+    include a valid 
+    pathname. See 
+    Sourcerer 
+    section of 
+    SCALE manual 
+    for more 
+    details. 
++++++
+ *a* When    
+ entering data    
+ for start 6,    
+ LNU must be the    
+ last entry for    
+ each set of    
+ data and the    
+ LNU in each    
+ successive set    
+ of data must be    
+ larger than the    
+ previous value    
+ of LNU. A set    
+ of data    
+ consists of    
+ required and    
+ optional data.    
+ The last LNU    
+ entered should    
+ be equal to the    
+ number per    
+ generation    
+ (parameter NPG=    
+ in the    
+ parameter    
+ input,    
+ :ref:`8123`).   
++++++
+
+.. _8129:
+
+Extra 1D XSECS IDs data
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+Extra 1D cross section IDs are not required. They are allowed as input
+in order to simplify future modifications to calculate reaction rates,
+etc., as well as for compatibility with other SCALE codes. The syntax
+for the extra 1D cross section data block is:
+
+**READ X1DS** **NEUTRON** *i\ 1 …i\ x1d* **END X1DS**
+
+**NEUTRON**
+ is a keyword to indicate that the following ID identifies a
+ neutron interaction.
+
+*i*\ :sub:`1` … *i*\ :sub:`x1d`
+ **X1D** 1D identification numbers or keyword identifiers
+ for the 1D cross section to be used. These cross sections must be
+ available on the mixture cross section library. **X1D** entries are
+ expected to be read (see integer PARAMETER data).
+
+.. _81210:
+
+Mixing table data
+~~~~~~~~~~~~~~~~~
+
+A cross section mixing table must be entered if KENO is being run stand
+alone and a Monte Carlo cross section format library is not being used
+in the multigroup mode, or KENO is being run stand alone in the
+continuous energy mode. If the parameter **LIB**\ = (Sect. 8.1.2.3) is
+entered, then mixing table data must be entered. A cross section mixing
+table is entered using the following syntax:
+
+**READ MIXT** *p*\ :sub:`1` … *p*\ :sub:`N` **END MIXT**
+
+*p*\ :sub:`1` … *p*\ :sub:`N`
+ are *N* parameters that might or might not be keyworded.
+
+The possible parameters that can be used in a **MIXT** block are
+described below.
+
+**SCT =** *nsct*
+ is used to input the number of scattering angles and
+ only applies in multigroup mode. *nsct* is the number of discrete
+ scattering angles, default = 1. The number of scattering angles
+ specifies the number of discrete scattering angles to be used for the
+ cross sections. If SCT is not set (i.e., SCT= −1), then the number of
+ scattering angles is determined from the cross section library
+ specified. The number of scattering angles defaults to (ncoef+1)/2,
+ where ncoef is the largest Legendre polynomial order used in the
+ problem. It needs to be entered only once for a problem. If more than
+ one value is entered, the last one is used for the problem. For
+ assistance in determining the number of discrete scattering angles for
+ the cross sections, see :ref:`81343`.
+
+**EPS =** *pbxs*
+ is used to enter the cross section message cutoff
+ value, and it only applies in multigroup mode. *pbxs* is the value of
+ the P\ :sub:`0` cross section for each transfer, above which generated
+ warning messages will be printed, default = 3 × 10\ :sup:`−5`. The
+ primary purpose of entering this cutoff value is to suppress printing
+ these messages when they are generated during cross section processing.
+ For assistance in determining a value for EPS, see :ref:`81344`.
+
+**MIX =** *mix*
+ is used to input the identification number of the
+ mixture being described. *mix* defines the mixture being described.
+
+**NCM** = *ncmx*
+ is used to input the nuclide mixture IDs to be used for
+ this mixture. *ncmx* defines the nuclide mixture ID. When
+ **MIX**\ =\ *mix* is read, *ncmx* is defaulted to *mix* also. Then, as
+ long as all the nuclides that need to be mixed into *mix* already have
+ *mix* specified as their nuclide mixture (frequently the case when using
+ SCALE), the user does not need to specify **NCM**. The most usual case
+ where **NCM** must be specified is when the mixtures were specified as a
+ different mixture number when they were created in SCALE as compared to
+ the mixture number used for them in KENO. Cell homogenized mixtures also
+ need **NCM** specified.
+
+**TMP**\ \\ **TEM** = *temperature*
+ is used to input the desired
+ temperature of the CE cross section data.
+
+*nucl*
+ is the nuclide ID number from the AMPX working format cross
+ section library.
+
+**XS**\ =\ *fname*
+ is used to input the optional continuous energy cross
+ section filename to override the default cross sections. *fname* is the
+ name of the file.
+
+*dens*
+ is the number density (atoms/bcm) associated with nuclide ID
+ number *nucl*.
+
+The sequence “\ *nucl* **NCM**\ =\ *ncmx* [**XS**\ =\ *fname*] *dens*\ ”
+may be repeated until the mixture defined by **MIX**\ =\ *mix* has been
+completely described.
+
+The sequence “\ **MIX =** *mix* **NCM** = *ncmx* **TMP**\ \\ **TEM** =
+*temperature nucl* **NCM**\ =\ *ncmx* [**XS**\ =\ *fname*] *dens*\ ” may
+be repeated until all the mixtures have been described.
+
+.. note:: If a given nuclide ID is entered more than once in the same
+ mixture, then the number densities for that nuclide are summed.
+
+ If a mixture number is used as a nuclide ID, then it is treated as a
+ nuclide and the number density associated with it is used as a
+ density modifier. (If the density is entered as 1, then the mixture
+ is mixed in at full density. If it is entered as 0.5, the mixture is
+ mixed in at one half of its full density.) A Monte Carlo formatted
+ cross section library is generated on the unit defined by the
+ parameter **XSC=**. If this data set is saved, subsequent cases can
+ utilize these mixtures without remixing.
+
+ The entry **XS**\ =\ *fname* is optional. If a nuclide is entered
+ more than once in a mixture and this entry is specified, then they
+ must be the same (i.e., cannot use more than one continuous energy
+ cross section sets for a nuclide in a given mixture). Different
+ mixtures may have the same nuclide with different continuous energy
+ cross section sets.
+
+.. _81211:
+
+Plot data
+~~~~~~~~~
+
+Plots of slices specified through the geometry can be generated and
+displayed (1) as character plots using alphanumeric characters to
+represent mixture numbers, unit numbers or bias ID numbers or (2) as
+color plots which generate a PNG file using colors to represent mixture
+numbers, unit numbers or bias ID numbers. Color plots require an
+independent program to display the PNG file to a PC or workstation
+monitor or to convert the file to be displayed using a plotting device.
+The keyword **SCR=** is used to control the plot display method.
+**SCR**\ =YES, the default value, uses the color plot display method.
+**SCR**\ =NO uses the character plot display method. The value of
+**SCR** determines the plot display method for all the plots specified
+in a problem. If **SCR**\ = is entered more than once, the last entry
+determines the plot display method. In other words, all plots generated
+by a problem will be either character plots or color plots.
+
+The plot data can include the data for any or all types of plots. A plot
+by mixture number is the default. The kind of plot is defined by the
+parameter **PIC=**. Character plots are printed after the volumes are
+printed and before the final preparations for tracking are completed.
+Plot data are not required for a problem, but theyb can be used to
+verify the problem description. The actual plotting of the picture can
+be suppressed by entering **PLT= NO** in the parameter data or plot
+data. This allows plot data to be kept in the problem input for
+reference purposes without actually plotting the picture(s). Entering a
+value for **PLT** in the plot data will override any value entered in
+the parameter data. However, if a problem is restarted, the value of
+**PLT** from the parameter data is used. The upper left and lower right
+coordinates of the plot must be specified relative to the origin of the
+problem. See :ref:`8139` for a discussion of plot origins and plot
+data.
+
+Enter the plot data using the following syntax:
+
+**READ PLOT** *p*\ :sub:`1` … *p*\ :sub:`N` **END PLOT**
+
+*p*\ :sub:`1` … *p*\ :sub:`N`
+ are *N* parameters entered using keywords followed by the
+ appropriate data. The plot title and the plot character string must be
+ contained within delimiters. Enter as many picture parameters as
+ necessary to describe the plot. Multiple sets of plot data can be
+ entered. The parameter input for each plot is terminated by a labeled or
+ unlabeled **END**. The labeled **END** cannot use the word **PLOT** as
+ the first four characters of the label. For example, **END PLT1** is a
+ valid label, but **END PLOT1** is not. If an unlabeled **END** is used,
+ it cannot start in column 1.
+
+The possible parameters that can be used in a **PLOT** block are
+described below.
+
+**TTL=** *delim ptitl delim*
+ Enter a onecharacter delimiter *delim* to
+ signal the beginning of the title (132 characters maximum). The title is
+ terminated when *delim* is encountered the second time. Acceptable
+ delimiters include “ , ‘ , \* , ^ , or !.
+ Default = title of the KENO case.
+
+**PIC=** *wrd*
+The plot type, *wrd*, is followed by one or more blanks
+and must be one of the keywords listed below. The plot type is
+initialized to MAT; the default is the value from the previous plot.
+
+ +++
+  MAT  These keywords will cause the 
+   plot to represent the mixture 
+  MIX[T[URE]]  numbers used in the specified 
+   geometry slice. 
+  MEDI[A]  
+ +++
+  UNT  These keywords will cause the 
+   plot to represent the units used 
+  UNIT[TYPE]  in the specified geometry slice. 
+   In the legend of the color plot, 
+   the material number actually 
+   refers to the units. 
+ +++
+  IMP  These keywords will cause the 
+   plot to represent the bias ID 
+  BIAS[ID]  numbers used in the specified 
+   geometry slice. In the legend of 
+  WTS  the color plot, the material 
+   number actually refers to the 
+  WEIG[HTS]  bias ID numbers. 
+   
+  WGT[S]  
+ +++
+
+**TYP**\ =
+ Enter the type desired.
+ XY for an XY plot
+ XZ for an XZ plot
+ YZ for a YZ plot
+ Direction cosines do not need to be entered if TYP is entered.
+
+Plot coordinates
+ Enter values for the upper left and lower right
+ coordinates of the plot as described below. **Data must be entered for
+ all nonzero coordinates unless all six values from the previous plot are
+ to be used.**
+
+Upper left coordinates
+ Enter the X, Y, and Z coordinates of the upper
+ lefthand corner of the plot.
+
+**XUL=**\ *xul*
+ is used to enter the X coordinate of the upper
+ lefthand corner of the plot.
+ Default = value from previous plot; initialized to zero if any other
+ coordinates are entered.
+
+**YUL=** *yul*
+ is used to enter the Y coordinate of the upper lefthand
+ corner of the plot. Default = value from previous plot; initialized to
+ zero if any other coordinates are entered.
+
+**ZUL=** *zul*
+ is used to enter the Z coordinate of the upper lefthand
+ corner of the plot. Default = value from previous plot; initialized to
+ zero if any other coordinates are entered.
+
+Lower right coordinates
+ Enter the X, Y, and Z coordinates of the lower
+ righthand corner of the plot.
+
+**XLR=** *xlr*
+ is used to enter the X coordinate of the lower righthand
+ corner of the plot. Default = value from previous plot; initialized to
+ zero if any other coordinates are entered.
+
+**YLR=** *ylr*
+ is used to enter the Y coordinate of the lower righthand
+ corner of the plot.
+ Default = value from previous plot; initialized to zero if any other
+ coordinates are entered.
+
+**ZLR=** *zlr*
+ is used to enter the Z coordinate of the lower righthand
+ corner of the plot. Default = value from previous plot; initialized to zero if any other
+ coordinates are entered.
+
+Direction cosines across the plot
+ Enter direction numbers proportional to the direction cosines for the AX axis of the plot.
+ The AX axis is from left to right across the plot. If any one of the AX direction cosines is entered,
+ the other two are set to zero. The direction cosines are normalized by the code.
+
+ **UAX=** *uax* is used to enter the X component of the direction
+ cosines for the AX axis of the plot. Default = value from previous
+ plot; initialized to zero if any other direction cosines are entered.
+
+ **VAX=** *vax* is used to enter the Y component of the direction
+ cosines for the AX axis of the plot. Default = value from previous
+ plot; initialized to zero if any other direction cosines are entered.
+
+ **WAX=** *wax* is used to enter the Z component of the direction
+ cosines for the AX axis of the plot. Default = value from previous
+ plot; initialized to zero if any other direction cosines are entered.
+
+Direction cosines down the plot
+ Enter direction numbers proportional
+ to the direction cosines for the DN axis of the plot.
+ The DN axis is from top to bottom down the plot. If any one of the DN direction
+ cosines is entered, the other two are set to zero. The direction cosines are normalized
+ by the code.
+
+ **UDN=** *udn* is used to enter the X component of the direction
+ cosines for the DN axis of the plot. Default = value from previous
+ plot; initialized to zero if any other direction cosines are entered.
+
+ **VDN=** *vdn* is used to enter the Y component of the direction
+ cosines for the DN axis of the plot. Default = value from previous
+ plot; initialized to zero if any other direction cosines are entered.
+
+ **WDN=** *wdn* is used to enter the Z component of the direction
+ cosines for the DN axis of the plot. Default = value from previous
+ plot; initialized to zero if any other direction cosines are entered.
+
+Scaling parameters
+ Enter one or more scaling parameters to define the
+ size of the plot.
+
+ .. note:: If any of the scaling parameters are entered for a plot,
+ the value of those that were not entered is recalculated. If none of
+ the scaling parameters are specified for a plot, the values from the
+ previous plot are used.
+
+**DLX=** *dlx*
+ is used to input the horizontal spacing between points on
+ the plot. Default = value from previous plot; initialized to zero if
+ **NAX** or **NDN** is entered.
+
+**DLD=** *dld*
+ is used to input the vertical spacing between points on
+ the plot. Default = value from previous plot; initialized to zero if
+ **NAX** or **NDN** is entered.
+
+.. note:: If either DLX or DLD is entered, the code will calculate the
+ value of the other. If both are entered, the plot may be distorted.
+
+**NAX=** *nax*
+ is used to input the number of intervals to be printed
+ across the plot. Default = value from previous plot; initialized to zero
+ if **DLX** or **DLD** is entered.
+
+**NDN=** *ndn*
+ is used to input the number of intervals to be printed
+ down the plot. Default = value from previous plot; initialized to zero
+ if **DLX** or **DLD** is entered.
+
+Global scaling parameter
+
+**LPI=** *lpi*
+ is used to input a scaling factor used to control the
+ horizontal to vertical proportionality of a plot or plots. SCALE 4.3 and
+ later versions allow *lpi* to be input as a floating point number. For
+ an undistorted character plot, *lpi* should be specified as the number
+ of characters down the page that occupy the same distance as ten
+ characters across the page. For an undistorted color plot, *lpi* should
+ be entered as ten times the ratio of the vertical pixel dimension to the
+ horizontal pixel dimension. The default value of *lpi* is 8.0 for a
+ character plot and 10.0 for a color plot. *lpi*\ =10 will usually
+ display an undistorted color plot.
+
+ The value entered for *lpi* applies to all plot data following it
+ until a new value of *lpi* is specified.
+
+ .. note:: Plot data must include the specification of the upper left
+ corner of the plot and the direction cosines across and down the
+ plot.
+
+ Additional data required to generate a plot are one of the following
+ combinations:
+
+ 1. the lower right corner of the plot, the global scaling parameter,
+ **LPI**, and one of the scaling parameters (**DLX**, **DLD**,
+ **NAX**, **NDN**).
+
+ 2. the lower right corner of the plot, one of the scaling parameters
+ related to the horizontal specifications of the plot (**DLX** or
+ **NAX**), and one of the scaling parameters related to the vertical
+ specification of the plot (**DLD** or **NDN**). **LPI**, even if
+ specified will not be used.
+
+ 3. **NAX** and **NDN** and any two of **LPI, DLX**, and **DLD**. If
+ **LPI, DLX**, and **DLD** are all specified, **LPI** is not used.
+
+ The data required to generate a plot may be supplied from
+ (1) defaulted values, (2) data from the previous plot, or (3) data
+ that are specifically entered for the current plot.
+
+Miscellaneous parameters
+ Enter miscellaneous parameters
+
+**RUN**\ = *run*
+ is used to determine if the problem is executed or is
+ terminated after data checking. A value of YES for *run* means the
+ problem will be executed if all the data were acceptable. A value of NO
+ specifies the problem will be terminated after data checking is
+ completed. The default value of **RUN** is YES.
+
+**PLT**\ = *plt*
+ is used to specify if a plot is to be made. A value of
+ YES for *plt* specifies that a plot is to be made. If plot data are
+ entered, **PLT** is defaulted to YES.
+
+.. note:: The parameters **RUN** and **PLT** can also be entered in the
+ PARAMETER data. See :ref:`8123`. It is recommended that these
+ parameters be entered only in the parameter data block in order to
+ ensure that the data printed in the “Logical Parameters” table are what
+ is actually performed.
+
+**SCR=** *src*
+ This is used to determine the plot display method. The
+ plot display method is specified by entering either YES or NO for *src*.
+ The default value is YES. **SCR**\ =YES uses the color plot display
+ method. **SCR**\ =NO uses the character plot display method. If **SCR**
+ is entered more than once in a problem, the last value entered is the
+ one that is used.
+
+**NCH=** *delim char delim*
+ Enter only if plots are to be made utilizing
+ the character plot display method (**SCR**\ =NO). Enter a delimiter
+ (i.e., “ , ‘ , \* , ^ , or !) to signal the beginning of character
+ string *char*. The character string is terminated when the *delim*
+ character is encountered the second time. Do not use the initial
+ delimiter in the *char* string, as it will be read as terminating the
+ string. *char* is a character string with each entry representing a
+ plottable quantity (i.e., media {mixture} number, unit number, or bias
+ ID). These are the characters that will be used in the plot. The first
+ entry represents media, unit, or bias ID zero; the second entry
+ represents the smallest media, unit, or bias ID used in the problem; the
+ third entry represents the next larger media, unit, or bias ID used in
+ the problem; etc. For example, assume **PIC**\ =MAT is specified, and
+ 15 mixtures are defined in the mixing table, and the geometry data use
+ only mixtures 3 and 7. By default, a blank will be printed for mixture
+ zero, a 1 will be printed for mixture 3, and a 2 will be printed for
+ mixture 7. If you wish to print a zero for a void (mixture 0), a 3 for
+ mixture 3, and a 7 for mixture 7, enter NCH=‘037’.
+
+The default values of CHAR are the following:
+
+ ++++++++++++++++++
+  Quantity  0  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15 
+ ++++++++++++++++++
+  SYMBOL   1  2  3  4  5  6  7  8  9  A  B  C  D  E  F 
+ ++++++++++++++++++
+                  
+ ++++++++++++++++++
+  Quantity  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31 
+ ++++++++++++++++++
+  SYMBOL  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V 
+ ++++++++++++++++++
+                  
+ ++++++++++++++++++
+  Quantity  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  
+ ++++++++++++++++++
+  SYMBOL  W  X  Y  Z  ‘#’  ,  ‘$’  ‘−’  ‘+’  ‘)’  ‘’  ‘&’  ‘>’  ‘:’  ‘;’  
+ ++++++++++++++++++
+                  
+ ++++++++++++++++++
+  Quantity  47  48  49  50  51  52  53  54  55  56  57  58     
+ ++++++++++++++++++
+  SYMBOL  ‘⋅’  ‘−’  “%”  “*”  “”“  “=”  “!”  “(“  “@”  “<“  “/”  0     
+ ++++++++++++++++++
+
+**CLR=** *n*\ :sub:`1` *r*(*n*\ :sub:`1`) *g*(*n*\ :sub:`1`) *b*(*n*\ :sub:`1`) … *n*\ :sub:`N` *r*(*n*\ :sub:`N`) *g*(*n*\ :sub:`N`) *b*(*n*\ :sub:`N`) **END COLOR**
+ this entry is used to define the colors to be used by the color plot.
+ It may be entered only if plots are to be made utilizing the color
+ plot display method (**SCR**\ =YES). After entering the keyword
+ **CLR=**, 4 numbers are entered *N* times. The first number, *n*\ :sub:`1`,
+ represents a media (mixture) number, unit number, or bias ID. The
+ next three numbers, whose values can range from 0 through 255, define
+ the *red, green, and blue* components of the color that will
+ represent this *n*\ :sub:`1` in the plot. The sequence of 4 numbers is
+ repeated until the colors associated with all of the media (mixture)
+ numbers, unit numbers, or bias IDs used in the problem have been
+ defined. The smallest number that can be entered for *n*\ :sub:`i` is −1,
+ representing undefined regions in the plot. An *n\ i* of 0 represents
+ void regions; *n*\ :sub:`i` of 1 represents the smallest media, unit, or
+ bias ID used in the problem; *n*\ :sub:`i` of 2 represents the next larger
+ media, unit, or bias ID used in the problem, etc. The color plot
+ definition data are terminated by entering the keywords **END
+ COLOR**. A total of 256 default colors are provided in :numref:`tab8122`
+ Two of those colors represent undefined regions, *n*\ :sub:`i`\ =1*, as
+ black and void regions, and *n*\ :sub:`i`\ =0 as gray. The remaining 254
+ colors represent the default values for mixtures, bias IDs, or unit
+ numbers used in the problem. If **num** is entered as **−1**, the
+ next three numbers define the color that will be used to represent
+ undefined regions of the plot. The default color for undefined
+ regions is black, represented as 0 0 0. If *n*\ :sub:`i` is entered as 0,
+ the next three numbers define the color that will represent void
+ regions in the plot. The default color for void is gray, represented
+ as 200 200 200. For example, assume a color plot is to be made for a
+ problem that uses void regions and mixture numbers 1, 3, and 5. By
+ default, the undefined regions (Index −1) will be black; void regions
+ (Index 0) will be gray; the first mixture, mixture 1 (Index 1), will
+ be medium blue; the next larger mixture, mixture 3 (Index 2), will be
+ turquoise2; and the last mixture, mixture 5 (Index 3), will be
+ green2. If these values are acceptable, data do not need to be
+ entered for **CLR**\ =. If the user decides to define void to be
+ white (255 255 255), mixture 1 to be red (255 0 0), mixture 3 to be
+ bright blue (0 0 255), and mixture 5 to be green (0 255 0), then the
+ following data could be entered:
+
+ **CLR**\ =0 255 255 255 1 255 0 0 2 0 0 255 3 0 255 0 **END COLOR**
+
+ In this example, the first number (0) defines the void, and the next
+ three numbers are the *red, green, and blue* components that combine
+ as the color white. The fifth number (1) represents the smallest
+ mixture number (mixture 1), and the next three numbers are the *red,
+ green, and blue* components of red. The ninth number (2) represents
+ the next larger mixture number (mixture 3), and the next three
+ numbers are the *red, green, and blue* components of bright blue. The
+ thirteenth number (3) represents the next larger mixture number
+ (mixture 5), and the next three numbers are the red, green, and blue
+ components of green. The **END COLOR** terminates the color
+ definition data. Because color data were not entered for *n\ i* of
+ −1, undefined regions will be represented by the color black, the
+ default specification from :numref:`tab8122`. The *red, green, and blue*
+ components of some bright colors are listed below.
+
+ +++++
+  **Display Color**  **red**  **green**  **blue** 
+ +=====================+=========+===========+==========+
+  black  0  0  0 
+ +++++
+  white  255  255  255 
+ +++++
+  “default void gray”  200  200  200 
+ +++++
+  red  255  0  0 
+ +++++
+  green  0  255  0 
+ +++++
+  brightest blue  0  0  255 
+ +++++
+  yellow  255  255  0 
+ +++++
+  brightest cyan  0  255  255 
+ +++++
+  magenta  255  0  255 
+ +++++
+
+The 256 default colors are listed in :numref:`tab8122`.
+
+.. listtable:: Default color specifications for the color plot display method
+ :name: tab8122
+ :align: center
+
+ *  .. image:: figs/Keno/tab22_Page_01.png
+ :width: 400
+ :align: center
+
+.. listtable::
+
+ *  .. image:: figs/Keno/tab22_Page_02.png
+ :width: 400
+ :align: center
+
+.. listtable::
+ :align: center
+
+ *  .. image:: figs/Keno/tab22_Page_03.png
+ :width: 400
+ :align: center
+
+.. listtable::
+
+ *  .. image:: figs/Keno/tab22_Page_04.png
+ :width: 400
+ :align: center
+
+.. listtable::
+ :align: center
+
+ *  .. image:: figs/Keno/tab22_Page_05.png
+ :width: 400
+ :align: center
+
+.. listtable::
+
+ *  .. image:: figs/Keno/tab22_Page_06.png
+ :width: 400
+ :align: center
+
+.. listtable::
+ :align: center
+
+ *  .. image:: figs/Keno/tab22_Page_07.png
+ :width: 400
+ :align: center
+
+.. listtable::
+
+ *  .. image:: figs/Keno/tab22_Page_08.png
+ :width: 400
+ :align: center
+
+.. listtable::
+ :align: center
+
+ *  .. image:: figs/Keno/tab22_Page_09.png
+ :width: 400
+ :align: center
+
+.. listtable::
+
+ *  .. image:: figs/Keno/tab22_Page_10.png
+ :width: 400
+ :align: center
+
+.. listtable::
+ :align: center
+
+ *  .. image:: figs/Keno/tab22_Page_11.png
+ :width: 400
+ :align: center
+
+.. _81212:
+
+Energy group boundary data
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Upper energy group boundary data in eV are entered to determine the
+groups into which the tallies will be collected in the continuous energy
+mode. For *G* groups *G*\ +1 entries are entered. The last entry is the
+lower energy boundary of the last group. The values must be in
+descending order. The parameter **NGP** is set equal to the number of
+entries−1. The syntax is:
+
+**READ ENERGY** *u*\ :sub:`1` …u\ *G* *u*\ :sub:`G+1` **END ENERGY**
+
+*u*\ :sub:`1` … *u*\ :sub:`G`
+ are the upper energy limits of energy groups 1 … *G*,
+ respectively.
+
+*u*\ :sub:`G+1`
+ is the lower energy limit of energy group *G*.
+
+Example:
+
+ **READ ENERGY**
+
+ 2e7 1e5 1 1e−5
+
+ **END ENERGY**
+
+Defines a 3group structure with group 1 (2e+7 eV to 1e+5 eV), group 2
+(1e+5 eV to 1 eV), and group 3 (1 eV to 1e−5 eV) and sets **NGP**\ =3.
+
+Energy group boundary data are optional. Default values for the energy
+group boundaries in the calculations are determined as in the following
+order:
+
+ i. Use energy group boundaries from **READ ENERGY** block if specified
+ in the input. The number of entries in the **READ ENERGY** block is
+ **NGP**\ +1.
+
+ ii. If only **NGP** is specified (in **READ PARAMETER**) in the input
+ and **NGP** is equal to the number of energy groups in one of the
+ SCALE neutron cross section libraries, the energy group structure
+ from that library will be used.
+
+ iii. If only **NGP** is specified (in **READ PARAMETER**) in the input
+ and **NGP** is not equal to the number of energy groups in one of
+ the SCALE neutron cross section libraries, **NGP** equal lethargy
+ bins will be used.
+
+ iv. Use SCALE 238 group structure as default, **NGP**\ =238.
+
+.. _81213:
+
+Volume data
+~~~~~~~~~~~
+
+If volumes are needed (for calculating fission densities, fluxes, etc.),
+then the data necessary to determine them are entered. The syntax for
+this block is:
+
+**READ VOLUME** *p*\ :sub:`1` … *p*\ :sub:`N` **END VOLUME**
+
+*p*\ :sub:`1` … *p*\ :sub:`N`
+ are *N* parameters entered using keywords followed by the
+ appropriate data.
+
+The possible parameters that can be used in a **VOLUME** block are
+described below.
+
+**READVOL**\ =\ *vol*
+ used to input the file name (up to 256 characters)
+ of the file from which userspecified volumes are read. This is an
+ optional parameter and only works for KENOVI. The data are read in
+ sections for each **UNIT** contained in the problem. First the keyword
+ “\ **UNIT**\ ” is read, followed by the **UNIT** number. For that
+ **UNIT** the data for each region containing material in the order shown
+ in the input is read as follows: the keyword “\ **MEDIA**\ ” is read,
+ followed by the mixture number, followed by the keyword “\ **VOL**\ =”,
+ followed by the total volume for that region. Regions containing
+ **ARRAY**\ s and **HOLE**\ s are skipped. An example of the data
+ contained in a volume file is given later in this section.
+
+**TYPE**\ =\ *vcalc*
+ used to determine the type of volume calculation.
+ *vcalc* can have the values:
+
+ NONE: (only works in KENOVI, where it is also the default) No volume
+ calculation, volumes are set to –1.0 (only in KENOVI).
+
+ TRACE: A trapezoidal integration will be performed (only in KENO‑VI).
+
+ RANDOM: A Monte Carlo integration will be performed.
+
+**NRAYS**\ =\ *ntotal*
+ the number of intervals used in the trapezoidal
+ integration (default 100,000). Used only with TYPE=TRACE (KENOVI).
+
+**BATCHES**\ =\ *nloop*
+ the number of batches to be used in the
+ Monte Carlo integration (default 500). Used only with TYPE=RANDOM.
+
+**POINTS**\ =nplp
+ the number of points per batch used in the Monte Carlo
+ integration (default 1000). Used only with TYPE=RANDOM.
+
+**XP**\ =\ *xp*
+ the plus X face of the encompassing cuboid.
+
+**XM**\ =\ *xm*
+ the minus X face of the encompassing cuboid.
+
+**YP**\ =\ *yp*
+ the plus Y face of the encompassing cuboid.
+
+**YM**\ =\ *ym*
+ the minus Y face of the encompassing cuboid.
+
+**ZP**\ =\ *zp*
+ the plus Z face of the encompassing cuboid.
+
+**ZM**\ =\ *zm*
+ the minus Z face of the encompassing cuboid.
+
+**SAMPLE_DEN=**\ *sampleden*
+ the density of sampling points per
+ cm\ :sup:`3` per batch. Used only with TYPE=RANDOM.
+
+**IFACE** =\ *fname*
+ the face of the enclosing cuboid where the
+ trapezoidal integration will be performed. Enter either **XFACE**,
+ **YFACE**, or **ZFACE**. KENOVI will integrate over the face with the
+ smallest area by default. This allows specifying a different face. Used
+ only for **TYPE**\ =TRACE (KENOVI).
+
+The volume parameters include specifying the type of calculation to
+determine the volumes and additional parameters needed for the selected
+type. In KENOVI the default type is NONE (i.e., no volume calculation
+will be performed), and the volumes for regions not containing
+**HOLE**\ s or **ARRAY**\ s will be set to 1.0. No other data are
+needed for this type.
+
+In KENOVI the volume data may be entered for any or all regions within
+the geometry data by placing the keyword **VOL**\ = followed by the
+total volume of that region in the problem at the end of the **MEDIA**
+card. See :ref:`8124` (Geometry Data) for more details.
+
+For KENOVI, in the same problem, volumes may be entered using a
+combination of three methods: (1) in the geometry data using **VOL**\ =,
+(2) read from a volume file, and (3) calculated. The calculated volumes
+(method 3) are obtained for both the regions, and the meshes are defined
+by a grid (such as in TSUNAMI runs). As for KENO V.a, the mesh volumes
+must always be calculated (i.e., there is no method to input the mesh
+volumes). If volumes are entered or calculated using more than one
+method, the following hierarchy is used to determine which volume is
+used for the regions.
+
+1. Volumes entered as part of a **MEDIA** card using **VOL**\ = are
+ always used.
+
+2. Volumes read from the volume file are used if that volume for the
+ region was not specified using VOL= following a **MEDIA** card.
+
+3. Calculated volumes are used if they are not specified using
+ **VOL**\ = and if there is no volume file or data for that region on
+ the volume file.
+
+4. Volumes that have not been set or calculated will be set to –1.0.
+ This may result in negative fluxes and fission densities for these
+ regions.
+
+5. Volumes are only calculated for regions containing material. Regions
+ containing **ARRAY**\ s or **HOLE**\ s have no volume. Those volumes
+ are associated with the **UNIT** contained in the **ARRAY** or
+ **HOLE**.
+
+In KENO V.a, the region volumes are always calculated by the code
+without the user’s intervention. This is possible because KENO V.a has
+no region intersections, so calculation of the volumes is always
+possible using analytical methods. The use of the (RANDOM) calculated
+volumes using the **VOLUME** block is then only justified when the user
+needs to calculate the volumes defined by a grid, such as for TSUNAMI
+calculations.
+
+When volumes are calculated using either RANDOM or TRACE, then a file
+containing volumes and named \_volxxxx (where xxxx is an 18digit number
+with the leftmost unused digits padded with zeros) is created in the
+temporary directory. The program searches the temporary directory for a
+file name beginning with \_vol. If it is not found, the volume file that
+is created is named \_vol000000000000000000. If a file exists, then a
+new file will be created where the file number is the largest number
+associated with a previous volume file incremented by 1. The file is
+automatically copied to the user directory with the input file base name
+prepended to it, such as inputfile.volxxxx.volumes.
+
+Below is an example of the **VOLUME** data block associated with a case
+in which volumes are being calculated using ray tracing. The number of
+rays used is set to one million, and if the outer unit volume is not a
+cuboid, then a cuboid will be placed around the global region prior to
+calculating volumes.
+
+::
+
+ read volume
+ type=trace nrays=1000000
+ XP=10 XM=15 YP=15 YM=15 ZP=15 ZM=15
+ end volume
+
+Below is an example of the **VOLUME** data block associated with a case
+where volumes are being calculated using random sampling. The number of
+particles per batch is set to 100,000, and the number of batches used is
+set to 500. After being calculated, the volume data will be written to a
+file in the temporary directory as discussed above.
+
+::
+
+ read volume
+ type=random points=100000 batches=500
+ XP=10 XM=10 YP=15 YM=15 ZP=25 ZM=15
+ end volume
+
+Below is an example of the **VOLUME** data block associated with a case
+where volumes are both read in from the file VOLUME_DATA and calculated
+using random sampling. The number of particles per generation is set to
+1,000,000, and the number of generations used is set to 500. The file
+VOLUME_DATA must be formatted as shown below. The calculated volume data
+are written in the temporary working directory to a file as discussed
+above. Calculating volume data for some volume regions and providing
+input volume data for others may be useful if only part of the volume
+data is known and the remaining data need to be calculated.
+
+::
+
+ read volume
+ type=random points=1000000 batches=500
+ readvol=volume_DAta
+ end volume
+
+Example volume file VOLUME_DATA:
+
+::
+
+ UNIT 1
+ MEDIA 1 VOL=110.0
+ MEDIA 2 VOL=2435.8
+ MEDIA 2 VOL=3242.9
+ UNIT 2
+ MEDIA 2 VOL=342.8
+ MEDIA 0 VOL=4235.0
+
+Below is an example of a sample problem in which volumes are being
+calculated using random sampling. The number of particles per generation
+is set to 100,000, and the number of generations used is set to 500.
+After being calculated, the **VOLUME** data will be written as described
+above.
+
+::
+
+ =CSAS6
+ SAMPLE PROBLEM WITH VOLUMES CALCULATED AND PRINTED TO FILE
+ v7.1252n
+ READ COMP
+ URANIUM 1 DEN=18.76 1 293 92235 93.2 92238 5.6 92234 1.0 92236 0.2 END
+ END COMP
+ READ GEOMETRY
+ UNIT 3
+ COM='SINGLE UNIT CENTERED'
+ SPHERE 10 4.000
+ CUBOID 20 6P6.0
+ MEDIA 1 1 10
+ MEDIA 0 1 20 10
+ BOUNDARY 20
+ UNIT 1
+ COM='SINGLE UNIT CENTERED'
+ SPHERE 10 5.000
+ CUBOID 20 6P6.0
+ MEDIA 1 1 10
+ MEDIA 0 1 20 10
+ BOUNDARY 20
+ GLOBAL UNIT 2
+ COM='Global UNIT'
+ CUBOID 10 6P18.0
+ ARRAY 1 10 PLACE 2 2 2 3R0.0
+ BOUNDARY 10
+ END GEOMETRY
+ READ ARRAY ARA=1 NUX=3 NUY=3 NUZ=3 TYP=CUBOIDAL FILL
+ 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 END ARRAY
+ READ VOLUME
+ TYPE=RANDOM POINTS=100000 BATCHES=500
+ END VOLUME
+ END DATA
+ END
+
+Example volume file _volxxxx:
+
+::
+
+ UNIT 1
+ MEDIA 1 VOL=9423.45
+ MEDIA 0 VOL=21678.6
+ UNIT 3
+ MEDIA 1 VOL=2410.81
+ MEDIA 0 VOL=13143.1
+
+Below is an example of a problem with the volumes entered in the
+geometry data block using **VOL**\ = followed by the volume for all
+**MEDIA** type content records. Note that the keyword “\ **VOL**\ =”
+should never follow a **HOLE** or **ARRAY** content record.
+
+::
+
+ =csas26
+ Sample problem with volumes input in geometry data
+ v7.1252n
+ read comp
+ uranium 1 den=18.76 1 293 92235 93.2 92238 5.6 92234 1.0 92236 0.2 end
+ end comp
+ read geometry
+ unit 3
+ com='unit 3'
+ sphere 10 4.000
+ cuboid 20 6p6.0
+ media 1 1 10 vol=2412.7
+ media 0 1 20 10 vol=13139.3
+ boundary 20
+ unit 1
+ com='UNIT 1'
+ sphere 10 5.000
+ cuboid 20 6p6.0
+ media 1 1 10 vol=9424.8
+ media 0 1 20 10 vol=21679.2
+ boundary 20
+ global unit 2
+ com='GLOBAL Unit 2'
+ cuboid 10 6p18.0
+ array 1 10 place 2 2 2 3r0.0
+ boundary 10
+ end geometry
+ read array ara=1 nux=3 nuy=3 nuz=3 typ=cuboidal fill
+ 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 end array
+ end data
+ end
+
+.. _81214:
+
+Grid geometry data
+~~~~~~~~~~~~~~~~~~
+
+This data block is used to input the data needed to define a Cartesian
+grid for tallying purposes.
+
+**READ GRID N** *p*\ :sub:`1` … *p*\ :sub:`L` **END GRID**
+
+*N*
+ mesh grid identifier, always entered.
+
+*p*\ :sub:`1` … *p*\ :sub:`L`
+ are *L* parameters chosen from the list below. The
+ parameters are entered using keywords followed by the appropriate data,
+ except for the grid identifier, which is always entered first as an
+ integer.
+
+**N**\ [**UM**]\ **XCELLS**\ =\ *numx*
+ number of cells in the x
+ direction, default = 1.
+
+**N**\ [**UM**]\ **YCELLS**\ =\ *numy*
+ number of cells in the y
+ direction, default = 1.
+
+**N**\ [**UM**]\ **ZCELLS**\ =\ *numz*
+ number of cells in the z
+ direction, default = 1.
+
+**XMIN=**\ *xmin*
+ minimum cell boundary in the x direction, default = 0.
+
+**XMAX**\ =\ *xmax*
+ maximum cell boundary in the x direction, default =
+ 1.
+
+**YMIN**\ =\ *ymin*
+ minimum cell boundary in the y direction, default =
+ 0.
+
+**YMAX**\ =\ *ymax*
+ maximum cell boundary on the y direction, default =
+ 1.
+
+**ZMIN**\ =\ *zmin*
+ minimum cell boundary in the z direction, default =
+ 0.
+
+**ZMAX=**\ *zmax*
+ maximum cell boundary in the z direction, default = 1.
+
+**XPLANES**\ =\ *xplanes*
+ the cell boundaries in the x direction
+ followed by end, default = 0, 1 end.
+
+**YPLANES**\ =\ *yplanes*
+ the cell boundaries in the y direction
+ followed by end, default = 0, 1 end.
+
+**ZPLANES**\ =\ *zplanes*
+ the cell boundaries in the z direction
+ followed by end, default = 0, 1 end.
+
+**XLINEAR**\ =\ *numcellsx *x*\ :sub:`min` *x*\ :sub:`max`
+ generate yz planes from
+ x\ :sub:`min` to x\ :sub:`max` creating *numcellsx* intervals.
+
+**YLINEAR**\ =\ *numcellsy *y*\ :sub:`min` *y*\ :sub:`max`
+ generate xz planes from
+ y\ :sub:`min` to y\ :sub:`max`, creating *numcellsy* intervals.
+
+**ZLINEAR**\ =\ *numcellsz *z*\ :sub:`min` *z*\ :sub:`max`
+ generate xy planes from
+ z\ :sub:`min` to z\ :sub:`max`, creating *numcellsz* intervals.
+
+**TITLE**\ =\ *title*
+ optional title for this mesh grid. Only used in
+ KENO if an error in the grid causes a debug print.
+
+If *numx, xmin, xmax* are entered, then the code will calculate *numx*
+equally spaced cells in the x direction between *xmin* and *xmax*.
+
+If *xplanes* is entered, then the code will count the number of unique
+*xplanes*, and order them from minimum to maximum, deleting any
+duplicates.
+
+If the user inputs both sets of data, then the code will use the
+*xplanes* data.
+
+If *xplanes* and *xlinear* are both entered, then the code will retain
+all unique planes from *xplanes* and all *xlinear* entries provided. The
+above also applies to Y and Z.
+
+**NOTE**: The user **MUST** set the minimum and maximum values in each
+direction so that the actual geometry is totally covered by the mesh for
+mesh flux tally that is used in TSUNAMI sensitivity calculations.
+
+KENO checks for and eliminates duplicate or nearly duplicate planes.
+
+The user may specify multiple mesh grids; each must be defined in
+separate **READ GRID** blocks. In this case, each grid should have
+different *N* (grid ID number). See :ref:`81310` for details and
+samples.
+
+.. _81215:
+
+Reaction data
+~~~~~~~~~~~~~
+
+The reaction data block is used to specify the type of tally (e.g.,
+reaction rates, flux, and few group reaction cross sections) and the
+reaction/nuclide pairs in any mixture used in the problem for reaction
+tally calculations. This block is operational only with the continuous
+energy mode, and it provides the specifications for reaction rate,
+neutron flux, and reaction cross section tallies. See :ref:`8166` for
+more details. For multigroup KENO calculations, use KMART5 or KMART6,
+which are described in the KMART section of the SCALE manual.
+
+A reaction data block consists of REACTION FILTERS, TALLY TYPE, ENERGY
+GROUP BOUNDARIES, and OUTPUT EDITS. These data types can be entered in
+any order. A combination of parameters for describing the REACTION
+FILTERS and TALLY TYPE must be entered for any reaction or cross section
+tally calculation. ENERGY GROUP BOUNDARIES and OUTPUT EDITS data are
+optional. Tally calculations can be performed for multiple reactions
+specified by the REACTION FILTERS. Only one energy grid, either
+specified with the data in ENERGY GROUP BOUNDARIES or from the READ
+ENERGY block or from the code defaults, is used for all reaction tally
+calculations. To provide data for the continuous energy depletion
+calculations, another energy grid can be specified and used for tallying
+only the mixture flux.
+
+Enter REACTION DATA in the form:
+
+**READ REACTION** *REACTION FILTERS [TALLY TYPE] [ENERGY GROUP BOUNDARIES][OUTPUT EDITS]* **END REACTION**
+
+*REACTION FILTERS*
+ define a reaction map that is used in reaction tally
+ calculations. The *REACTION FILTERS* must be entered in the following
+ order; mixture data (**MIX** or **MIXLIST**) followed by nuclide data
+ (**NUC** or **NUCLIST**) followed by reaction IDs (**MT** or
+ **MTLIST**). Each filter is defined using a combination of the following
+ keywords:
+
+**MIX**\ =\ *mixnum*
+ Mixture number, no default value. Specified mixture
+ number must exist in the mixing table and be used in the problem for a
+ valid filter generation. A wildcard “\ *\**\ ” can be used to define a
+ filter applicable for all mixtures in the problem.
+
+**MIXLIST** *mixnum*\ :sub:`1` *mixnum*\ :sub:`2` … *mixnum*\ :sub:`N`\ **END**
+ A list of mixture
+ numbers followed by *end,* no default values. Specified mixture numbers
+ must exist in the mixing table and be used in the problem for a valid
+ reaction tally calculation. Within each filter, use either **MIX** or
+ **MIXLIST**, but not both.
+
+**NUC**\ =\ *nucid*
+ Nuclide identifier, no default value. Specified
+ nuclide must be a constituent of the mixtures used in this filter
+ definition (specified with MIX or MIXLIST). A wildcard “*” can be used
+ to define a filter applicable for all nuclides in each mixture in this
+ filter definition. Nuclide identifiers are listed for all isotopes in
+ the Standard Composition Library section of the SCALE manual (see :ref:`72`).
+
+**NUCLIST** *nucid*\ :sub:`1` *nucid*\ :sub:`2` … *nucid*\ :sub:`N`\ **END**
+ A list of nuclide
+ identifiers followed by *end,* no default values. Specified nuclides
+ must be the constituents of the mixtures used in this filter definition
+ (specified by **MIX** or **MIXLIST**). Within each filter, use either
+ **NUC** or **NUCLIST**, but not both.
+
+**MT**\ =\ *mt*
+ Reaction MT number, no default value. Specified reaction
+ MT number should be available for the nuclides defined in this filter
+ definition (specified by **NUC** or **NUCLIST**). Otherwise, the code
+ skips the filter definition with this given reaction MT. A wildcard “*”
+ can be used to define a filter with all reaction MTs. Valid SCALE
+ library MT values are listed in the SCALE Cross Section Libraries
+ section of the SCALE manual (see Appendix A of :ref:`111`).
+
+**MTLIST** *mt*\ :sub:`1` *mt*\ :sub:`2` … *mt*\ :sub:`N`\ **END**
+ A list of reaction **MT**
+ numbers followed by *end,* no default values. Specified MT numbers
+ should be available for the nuclides defined in this filter definition
+ (specified by **MIX** or **MIXLIST**). Otherwise, KENO skips that
+ reaction specified in the filter for the reaction tally calculations.
+ Within each filter, use either **MT** or **MTLIST**, but not both.
+
+A reaction filter consists of either single or multiple mixture, nuclide
+and reaction definitions. A valid reaction filter starts with mixture
+specification, followed by nuclide specification, and ends with reaction
+specification. Mixture(s) must be specified with either **MIX** or
+**MIXLIST** keywords. Nuclide(s) in these mixtures must be entered with
+either **NUC** or **NUCLIST**, and reactions for each nuclide must be
+specified with either **MT** or **MTLIST**.
+
+Mixture, nuclide, and reaction number are required for mixture average
+fluxes, even though the nuclide and reaction numbers are not used for
+the neutron flux tallies.
+
+Multiple reaction filter definitions are allowed. KENO processes all the
+definitions and creates a reaction map based on them. The following
+examples demonstrate the reaction filter specifications for different
+problems. In these examples, reaction filters are specified based on the
+following composition data used in the problem:
+
+compositions in the example problem
+
++++
+ mixture  nuclides 
++=========+========================+
+ 10  92235, 92238, 8016 
++++
+ 20  92238, 94239, 8016 
++++
+ 30  92235, 92238, 8016 
++++
+ 40  1001, 8016 
++++
+ 100  1001, 8016, 5010, 5011 
++++
+
+Example1:
+
+::
+
+ READ REACTION
+ MIX=10 NUC=92235 MT=18
+ …
+ END REACTION
+
+Defines a reaction filter used to tally only fission reaction
+(**MT**\ =18) of :sup:`235`\ U in mixture 10.
+
+Example2:
+
+::
+
+ READ REACTION
+ MIX=10 NUC=92235 MT=*
+ …
+ END REACTION
+
+Defines a reaction filter used to tally all available reactions of
+:sup:`235`\ U in mixture 10.
+
+Example3:
+
+::
+
+ READ REACTION
+ MIX=10 NUC=92235 MTLIST 2 18 102 END
+ …
+ END REACTION
+
+Defines a reaction filter used to tally the elastic scattering (mt=2),
+fission (mt=18), and capture (mt=102) reactions of :sup:`235`\ U in
+mixture 10.
+
+Example4:
+
+::
+
+ READ REACTION
+ MIX=10 NUC=92235 MT=2
+ MIX=10 NUC=92235 MT=18
+ MIX=10 NUC=92235 MT=102
+ …
+ END REACTION
+
+Defines a reaction filter used to tally the elastic scattering
+(**MT**\ =2), fission (**MT**\ =18), and capture (**MT**\ =102)
+reactions of :sup:`235`\ U in mixture 10. Reaction filter definition in
+this example is identical to the filter definition given in Example3.
+
+Example5:
+
+::
+
+ READ REACTION
+ MIX=10 NUC=* MT=18
+ …
+ END REACTION
+
+Defines a reaction filter used to tally the fission reaction
+(**MT**\ =18) of :sup:`235`\ U and :sup:`238`\ U in mixture 10. Code
+skips the reaction tally request for :sup:`16`\ O since the requested
+reaction is not available for this nuclide in the data library.
+
+Example6:
+
+::
+
+ READ REACTION
+ MIX=10 NUC=92235 MT=18
+ MIX=10 NUC=92238 MT=18
+ …
+ END REACTION
+
+Defines a reaction filter used to tally the fission reaction
+(**MT**\ =18) of :sup:`235`\ U and :sup:`238`\ U in mixture 10. Reaction
+filter definition in this example is identical to the filter definition
+given in Example5.
+
+Example7:
+
+::
+
+ READ REACTION
+ MIX=* NUC=8016 MT=102
+ …
+ END REACTION
+
+Defines a reaction filter used to tally the capture reaction
+(**MT**\ =102) of :sup:`16`\ O in all mixtures.
+
+Example8:
+
+::
+
+ READ REACTION
+ MIX=10 NUC=8016 MT=102
+ MIX=20 NUC=8016 MT=102
+ MIX=30 NUC=8016 MT=102
+ MIX=40 NUC=8016 MT=102
+ MIX=100 NUC=8016 MT=102
+ …
+ END REACTION
+
+Defines a reaction filter used to tally the capture reaction
+(**MT**\ =102) of :sup:`16`\ O in mixtures 10, 20, 30, 40, and 100
+respectively. Reaction filter definition in this example is identical to
+the filter definition given in Example7.
+
+Example9:
+
+::
+
+ READ REACTION
+ MIXLIST 10 20 30 40 100 END NUC=8016 MT=102
+ …
+ END REACTION
+
+Defines a reaction filter used to tally the capture reaction
+(**MT**\ =102) of :sup:`16`\ O in mixtures 10, 20, 30, 40, and 100
+respectively. Reaction filter definition in this example is identical to
+the filter definition given in Examples 7 and 8.
+
+Example10:
+
+::
+
+ READ REACTION
+ MIXLIST 10 20 30 END NUC=92238 MT=102
+ MIX=20 NUC=94239 MT=18
+ MIX=40 NUC=1001 MT=*
+ MIX=* NUC=8016 MT=2
+ MIX=* NUC=* MT=27
+ …
+ END REACTION
+
+Defines a complex reaction filter used to tally:
+
+a) Capture reaction (**MT**\ =102) of :sup:`238`\ U in mixtures 10, 20
+ and 30 respectively,
+
+b) Fission reaction (**MT**\ =18) of :sup:`239`\ Pu in mixture 20,
+
+c) All reactions of :sup:`1`\ H in mixture 40,
+
+d) Elastic scattering reaction of :sup:`16`\ O in all mixtures,
+
+e) Total absorption reaction of all nuclides in all mixtures.
+
+Parameters of TALLY TYPE are logical parameters used to select
+quantities (reaction cross section, reaction rate, and mixture flux)
+that are tallied for the given problem. The user specifies any
+combination of these TALLY TYPEs once for all filters:
+
+**XSTALLY**\ *=lCEXSTally*
+ Enter YES or NO. A value of YES specifies that reaction cross
+ sections be tallied for the reactions listed in *REACTION FILTERS*.
+ The default value of **XSTALLY** is NO. Computed reaction cross
+ sections are saved in a file named *BASENAME_keno_micro_xs.0* in
+ RTNDIR, which is a SCALE environment variable for the directory from
+ where the calculation was started. BASENAME is a SCALE environment
+ variable that is the base name of the input file. (BASENAME is equal
+ to *“mytest”* if the SCALE input name is *“mytest.inp.”*)
+
+**RRTALLY**\ *=lCERRTally*
+ Enter YES or NO. A value of YES specifies that reaction rates be
+ tallied for the reactions listed in *REACTION FILTERS*. The default
+ value of RRTALLY is NO. Computed reaction rates are saved in a file
+ named *BASENAME_keno_micro_rr.0* in RTNDIR.
+
+.. note:: KENO combines and saves reaction rate and reaction cross
+ section tallies to the same file, named *BASENAME_keno_micro_xs_rr.0* in
+ RTNDIR, if both **XSTALLY** and **RRTALLY** are set to YES.
+
+**MIXFLX**\ *=lCEMixFlux*
+ Enter YES or NO. A value of YES specifies that mixture fluxes are to
+ be tallied for the mixtures listed in *REACTION FILTERS*. The default
+ value of **MIXFLX** is NO. Computed mixture fluxes are saved in a
+ file named *BASENAME_keno_mixture_flux.0* in RTNDIR.
+
+ Mixture, nuclide, and reaction number are required for mixture
+ average fluxes, even though the nuclide and reaction numbers are not
+ used for the neutron flux tallies.
+
+Example11:
+
+::
+
+ READ REACTION
+ MIX=10 NUC=92235 MT=18
+ XSTALLY=YES
+ …
+ END REACTION
+
+Defines a reaction filter, which uses fission reaction (**MT**\ =18) of
+:sup:`235`\ U in mixture 10, for tallying reaction cross sections.
+
+.. note:: Computed data are saved in a file named
+ *BASENAME_keno_micro_xs.0*
+
+Example12:
+
+::
+
+ READ REACTION
+ MIX=10 NUC=92235 MT=18
+ XSTALLY=YES RRTALLY=YES
+ …
+ END REACTION
+
+Defines a reaction filter, which uses fission reaction (**MT=**\ 18) of
+:sup:`235`\ U in mixture 10, for tallying reaction rates as well as the
+reaction cross sections.
+
+.. note:: Computed data are saved in files named
+ *BASENAME_keno_micro_xs_rr.0*
+
+Example13:
+
+::
+
+ READ REACTION
+ MIX=10 NUC=92235 MT=18
+ XSTALLY=YES MIXFLX=YES
+ …
+ END REACTION
+
+Defines a reaction filter, which uses fission reaction (**MT=**\ 18) of
+:sup:`235`\ U in mixture 10, for tallying reaction cross sections. In
+addition, mixture flux is tallied for mixture 10 given in this reaction
+filter.
+
+.. note:: Computed data are saved in files named
+ *BASENAME_keno_micro_xs.0*, and *BASENAME_keno_mixture_flux.0*,
+ respectively.
+
+*ENERGY GROUP BOUNDARIES* data define energy group structure other than
+the defaults for tallying both reaction cross sections/reaction rates
+and mixture fluxes.
+
+**ENER_XS** *e\ 1 e\ 2 e\ 3 …*\ **END** Upper energy boundary for each
+group. The last entry is the lower energy boundary of the last group.
+For N groups, there are N+1 entries. Entries must be in descending
+order. This may be specified once in the REACTION block and, if used, is
+applied to all cross section and reaction rate tallies.
+
+**ENER_FLX** *e\ 1 e\ 2 e\ 3 …*\ **END** Upper energy boundary for each
+group, default is **NGP**group data. The last entry is the lower energy
+boundary of the last group. For N groups, there are N +1 entries.
+Entries must be in descending order. This may be specified once in the
+REACTION block and, if used, is applied to all mixture flux tallies.
+
+.. note:: Default values for the energy group boundaries in reaction
+ tally calculations are determined as in the order described in :ref:`81212`.
+
+Example14: (no **READ ENERGY** block, no **NGP** in **READ PARAMETER**
+block, no energy group
+
+::
+
+ READ REACTION
+ MIX=10 NUCLIST 92235 92238 END
+ MTLIST 16 17 18 END
+ MIXFLX=YES XSTALLY=YES
+ …
+ END REACTION
+
+Default SCALE 238group energy structure is used for tallying both
+mixture flux and reaction cross sections.
+
+Example15: (energy group bounds specified in **READ ENERGY** block)
+
+::
+
+ READ ENERGY
+ 20.E6 0.6 1.E4
+ END ENERGY
+ …
+ READ REACTION
+ MIX=10 NUCLIST 92235 92238 END
+ MTLIST 16 17 18 END
+ MIXFLX=YES XSTALLY=YES
+ …
+ END REACTION
+
+2group energy structure given in **READ ENERGY** block is used for
+tallying both mixture flux and reaction cross sections.
+
+Example16: (**NGP** is set in **READ PARAMETER** block)
+
+::
+
+ READ PARAMETER
+ …
+ NGP=4
+ END PARAMETER
+ …
+ READ REACTION
+ MIX=10 NUCLIST 92235 92238 END
+ MTLIST 16 17 18 END
+ MIXFLX=YES XSTALLY=YES
+ …
+ END REACTION
+
+4group energy group structure (4equal lethargy bins) is used for
+tallying both mixture flux and reaction cross sections.
+
+Example17:
+
+::
+
+ READ REACTION
+ MIX=10 NUCLIST 92235 92238 END
+ MTLIST 16 17 18 END
+ MIXFLX=YES XSTALLY=YES
+ ENER_XS 20.E6 1.E3 1.0 1.E4 END
+ …
+ END REACTION
+
+3group energy group structure given in **READ REACTION** block is used
+for tallying reaction cross sections, and default SCALE 238 group energy
+structure is used for tallying mixture flux.
+
+Example18:
+
+::
+
+ READ REACTION
+ MIX=10 NUCLIST 92235 92238 END
+ MTLIST 16 17 18 END
+ MIXFLX=YES XSTALLY=YES
+ ENER_FLX 20.E6 1.E3 1.0 1.E4 END
+ ENER_XS 20.E6 1.0 1.E4 END
+ …
+ END REACTION
+
+2group energy group structure given in **READ REACTION** block is used
+for tallying reaction cross sections, and 3group energy group structure
+given in **READ REACTION** block is used for tallying mixture flux.
+
+Parameters of *OUTPUT EDITS* are logical parameters used to print
+reaction tallies and mixture fluxes in separate files. These parameters
+are optional parameters.
+
+**PRNTXS**\ *=lCEprintXS* Enter YES or NO. A value of YES specifies that
+reaction cross sections tallies for each mixture be written in separate
+files in RTNDIR (*BASENAME_keno_micro_xs_mix{mixnum}.0, mixnum* is the
+mixture numbers specified in the reaction filters)\ *.* The default
+value of **PRNTXS** is NO.
+
+**PRNTRR**\ *=lCEprintRR* Enter YES or NO. A value of YES specifies that
+reaction rate tallies for each mixture be written in separate files in
+RTNDIR (*BASENAME_keno_micro_rr_mix{mixnum}.0, mixnum* is the mixture
+numbers specified in the reaction filters)\ *.* The default value of
+**PRNTRR** is NO.
+
+**PRNTFLX**\ *=lCEprintMixFlux* Enter YES or NO. A value of YES
+specifies that mixture flux tallies for each mixture be written in
+separate files in RTNDIR (*BASENAME_keno_mixture_flux_mix{mixnum}.0,
+mixnum* is the mixture numbers specified in the reaction filters)\ *.*
+The default value of **PRNTFLX** is NO.
+
+.. _813:
+
+Notes for Keno Users
+
+
+This section provides assorted tips designed to assist the KENO user with problem mockups.
+Some information concerning methods used by KENO is also included.
+
+.. _8131:
+
+Data entry
+~~~~~~~~~~
+
+The KENO data is entered in blocks that begin and end with keywords as
+described in :ref:`8121`. Only one set of parameter data can be
+entered for a problem. However, for other data blocks, it is possible to
+enter more than one block of the same kind of data. When this is done,
+only the last block of that kind of data is retained for use by the
+problem, except for the GRID block for which all blocks are retained.
+
+Within data blocks, a number, x, can be repeated n times by specifying
+nRx, n*x, or n$x.
+
+Numbers in engineering notation may be specified with or without an “E”
+between the base and the exponent. For example; 0.0011 may be specified
+as 1.1e3 or as 1.13.
+
+.. _81311:
+
+Multiple and scattered entries in the mixing table
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+In the following examples, assume 1001 is the nuclide ID for hydrogen,
+8016 is the nuclide ID for oxygen, 92235 is the nuclide ID for
+:sup:`235`\ U, and 92238 is the nuclide ID for :sup:`238`\ U. If a given
+nuclide ID is used more than once in the same mixture, the result is the
+summing of all the number densities associated with that nuclide. For
+example:
+
+**MIX**\ =1 92235 4.3e2 92238 2.6e3 1001 3.7e2 92235 1.1e3 8016
+1.8e2
+
+would be the same as entering:
+
+**MIX**\ =1 92235 4.41e2 92238 2.6e3 1001 3.7e2 8016 1.8e2
+
+A belated entry for a mixture can be made as follows:
+
+**MIX**\ =1 1001 6.6e2 MIX=2 92235 4.3e2 92238 2.6e3 MIX=1 8016
+3.3e2
+
+This is the same as entering:
+
+**MIX**\ =1 1001 6.6e2 8016 3.3e2 MIX=2 92235 4.3e2 92238 2.6e3
+
+.. _81312:
+
+Multiple entries in geometry data
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Individual geometry regions cannot be replaced by adding an additional
+description. However, entire unit descriptions can be replaced by adding
+a new description having the same unit number. The last description
+entered for a unit is used in the calculation. For example, the
+following geometry descriptions are equivalent in KENO V.a and KENOVI,
+respectively:
+
+In KENO V.a:
+
+::
+
+ READ GEOM UNIT 1 SPHERE 1 1 5.0 CUBE 0 1 10.0 10.0
+ UNIT 2 CYLINDER 1 1 2.0 5.0 5.0 CUBE 0 1 10.0 10.0
+ UNIT 1 CUBOID 1 1 1.0 1.5 2.5 2.0 5.0 6.0 CUBE 0 1 10.0 10.0
+ END GEOM
+
+is the same as entering:
+
+::
+
+ READ GEOM UNIT 1 CUBOID 1 1 1.0 1.5 2.5 2.0 5.0 6.0
+ CUBE 0 1 10.0 10.0
+ UNIT 2 CYLINDER 1 1 2.0 5.0 5.0 CUBE 0 1 10.0 10.0 END GEOM
+
+or
+
+::
+
+ READ GEOM UNIT 2 CYLINDER 1 1 2.0 5.0 5.0 CUBE 0 1 10.0 10.0
+ UNIT 1 CUBOID 1 1 1.0 1.5 2.5 2.0 5.0 6.0 CUBE 0 1 10.0 10.0
+ END GEOM
+
+In KENOVI:
+
+::
+
+ READ GEOM
+ UNIT 1 SPHERE 10 5.0
+ CUBOID 20 10.0 10.0 10.0 10.0 10.0 10.0
+ MEDIA 1 1 10
+ MEDIA 0 1 20 10
+ BOUNDARY 20
+ UNIT 2
+ CYLINDER 10 2.0 5.0 5.0
+ CUBOID 20 10.0 10.0 10.0 10.0 10.0 10.0
+ MEDIA 1 1 10
+ MEDIA 0 1 20 10
+ BOUNDARY 20
+ UNIT 1
+ CUBOID 10 1.0 1.5 2.5 2.0 5.0 6.0
+ CUBOID 20 10.0 10.0 10.0 10.0 10.0 10.0
+ MEDIA 1 1 10
+ MEDIA 0 1 10 20
+ BOUNDARY 20
+ END GEOM
+
+is the same as entering
+
+::
+
+ READ GEOM
+ UNIT 1
+ CUBOID 10 1.0 1.5 2.5 2.0 5.0 6.0
+ CUBOID 20 10.0 10.0 10.0 10.0 10.0 10.0
+ MEDIA 1 1 10
+ BOUNDARY 20
+ MEDIA 0 1 10 20
+ UNIT 2
+ CYLINDER 10 2.0 5.0 5.0
+ CUBOID 20 10.0 10.0 10.0 10 10.0 10.0
+ MEDIA 1 1 10
+ MEDIA 0 1 10 20
+ BOUNDARY 20
+ END GEOM
+
+or
+
+::
+
+ READ GEOM
+ UNIT 2
+ CYLINDER 30 2.0 5.0 5.0
+ CUBOID 40 6P10.0
+ MEDIA 1 1 30
+ MEDIA 0 1 30 40
+ BOUNDARY 40
+ UNIT 1
+ CUBOID 20 1.0 1.5 2.5 2.0 5.0 6.0
+ CUBOID 10 6P10.0
+ MEDIA 1 1 20
+ MEDIA 0 1 10 20
+ BOUNDARY 10
+ END GEOM
+
+The order of entry for **UNIT** descriptions is not important because
+the **UNIT** number is assigned as the value following the word
+**UNIT**. They do not need to be entered sequentially, and they do not
+need to be numbered sequentially. It is perfectly acceptable to enter
+**UNIT**\ s 2, 3, and 5, omitting Units 1 and 4 as long as **UNIT**\ s 1
+and 4 are not referenced in the problem. It is also acceptable to
+scramble the order of entry as in entering **UNIT**\ s 3, 2, and 5.
+
+.. _8132:
+
+Default logical unit numbers for KENO
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The logical unit numbers for data used by KENO are listed in
+:numref:`tab8123`.
+
+.. _tab8123:
+.. table:: KENO logical unit numbers
+ :align: center
+
+
+ +++++
+  Function  Parameter  Unit  Variable 
+   name  number  name 
+ +++++
+  Problem input   5  INPT 
+  data (ASCII)    
+ +++++
+  Problem input   95  BIN 
+  data (binary)    
+ +++++
+  Program output   6  OUTPT 
+  (ASCII)    
+ +++++
+  Albedo data  ALB=  79  ALBDO 
+ +++++
+  Scratch unit  SKT=  16  SKRT 
+ +++++
+  Read restart  RST=  0\ :sup:`a`  RSTRT 
+  data    
+ +++++
+    34\ :sup:`b`  RSTRT 
+ +++++
+  Write restart  WRS=  0\ :sup:`a`  WSTRT 
+  data    
+ +++++
+    35\ :sup:`c`  WSTRT 
+ +++++
+  Direct access   8  DIRECT(1) 
+  storage for    
+  input data    
+ +++++
+  Direct access   9  DIRECT(2) 
+  storage for    
+  supergrouped    
+  data    
+ +++++
+  Direct access   10  DIRECT(3) 
+  storage for    
+  cross section    
+  mixing    
+ +++++
+  Mixed cross  XSC=  14\ :sup:`d`  ICEXS 
+  section data    
+  set    
+ +++++
+  Groupdependent  WTS=  80  WTS 
+  weights    
+ +++++
+  AMPX working  LIB=  0\ :sup:`a`  AMPXS 
+  format cross    
+  sections    
+ +++++
+  Group boundary  GRP=  77  GRPBS 
+  Library    
+  (KENOVI)    
+ +++++
+  *a* Defaulted    
+  to zero.    
+     
+  *b* Defaulted    
+  to 34 if BEG= a    
+  number greater    
+  than 1 and    
+  RSTRT=0.    
+     
+  *c* Defaulted    
+  to 35 if RES= a    
+  number greater    
+  than zero and    
+  WSTRT=0.    
+     
+  *d* Defaulted    
+  to 0; if LIB= a    
+  number greater    
+  than zero,    
+  ICEXS is    
+  defaulted to    
+  14.    
+ +++++
+
+.. _8133:
+
+Parameter input
+~~~~~~~~~~~~~~~
+
+When the parameter data block is entered for a problem, the same keyword
+may be entered several times. The last value that is entered is used in
+the problem. Data may be entered as follows:
+
+::
+
+ READ PARAM FLX=YES NPG=1000 TME=0.5 TME=1.0
+ NPG=50 TME=10.0 FLX=NO
+ NPG=500
+ END PARA
+
+This will result in the problem having **FLX=NO**, **TME=10.0**, and
+**NPG=500**. It may be more convenient for the user to insert a new
+value than to change the existing data.
+
+Certain parameter default values should not be overridden unless the
+user has a very good reason to do so. These parameters are as follows:
+
+ 1. **X1D=** which defines the number of extra 1D cross sections. The
+ use of extra 1‑D cross sections—other than the use of the fission
+ cross section for calculating the average number of neutrons per
+ fission—requires programming changes to the code;
+
+ 2. **NFB=** which defines the number of neutrons that can be entered
+ in the fission bank (the fission bank is where the information
+ related to a fission is stored);
+
+ 3. **XFB=** which defines the number of extra positions in the
+ fission bank;
+
+ 4. **NBK=** which defines the number of neutrons that can be entered
+ in the neutron bank (the neutron bank contains information about each
+ history);
+
+ 5. **XNB=** which defines the number of extra positions in the
+ neutron bank;
+
+ 6. **WTH=** which defines the factor that determines when splitting
+ occurs;
+
+ 7. **WTA=** which defines the default average weight given to a
+ neutron that survives Russian roulette;
+
+ 8. **WTL=** which defines the factor that determines when Russian
+ roulette is played; and
+
+ 9. **LNG=** which sets the maximum words of storage available to the
+ program.
+
+It is recommended that **BUG=**, the flag for printing debug
+information, **never** be set to YES. The user would have to look at the
+FORTRAN coding to determine what information is printed. **BUG**\ =YES
+prints massive amounts of sparsely labeled information. The user should
+only rarely consider using **TRK**\ =YES. This generates thousands of
+lines of welllabeled output that provides information about each
+history at key locations during the tracking procedure. All other
+parameters can be changed at will to provide features the user wishes to
+activate.
+
+.. _8134:
+
+Cross sections
+~~~~~~~~~~~~~~
+
+In multienergy group mode, KENO always uses cross sections from a mixed
+cross section data file. The format of this file is the Monte Carlo
+processed cross section file. A mixed cross section file can be created
+by previous KENO run, or by using an AMPX working format library and
+entering mixing table data in KENO.
+
+.. _81341:
+
+Use a mixed cross section Monte Carlo format library
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+A mixed cross section Monte Carlo format library (premixed cross section
+data file) from a previous KENO case may be used. This file is specified
+using the parameter **XSC**\ =. If a mixing table data block is entered,
+the premixed cross section data file will be rewritten. Therefore, a
+mixing table should not be entered if a premixed cross section data file
+is used. The user should verify that the mixtures created by a previous
+KENO case are consistent with those used in the geometry data of the
+problem.
+
+.. _81342:
+
+Use an AMPX working format library
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+When an AMPX working format library is used, it must be specified using
+the parameter **LIB**\ =, and mixing table data must always be entered.
+IDs used in the mixing table must match the IDs on the AMPX working
+format library. The user must provide a file with the correct cross
+sections with a name that matches the pattern ftNNf001, with NN being
+the number of the logical unit.
+
+.. _81343:
+
+Number of scattering angles
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The number of scattering angles is defaulted to 1 (defaulted to 2 when
+KENOVI is run as part of the CSAS6 sequence). This stand alone default
+is not adequate for many applications. The user should specify the
+scattering angle to be consistent with the cross sections being used.
+The number of scattering angles is entered in the cross section mixing
+table by using the keyword **SCT**\ =. See :ref:`81210`.
+
+The order of the last Legendre coefficient to be preserved in the
+scattering distribution is equal to (2 × SCT − 1). **SCT**\ =1 could be
+used with a P\ :sub:`1` cross section set such as the 16group
+HansenRoach cross section library, and **SCT**\ =2, for a P\ :sub:`3`
+cross section set such as the SCALE 27group cross section library.
+ENDF/BV cross section libraries such as the 44group or 238group
+libraries contain many nuclides having P\ :sub:`5` cross section sets.
+Isotropic scattering is achieved by entering **SCT**\ =0.
+
+.. _81344:
+
+Cross section message cutoff
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The cross section message cutoff value, *pbxs*, is defaulted to
+3 × 10\ :sup:`−5`. Warning messages generated when errors are
+encountered in the P\ :sub:`L` expansion of the grouptogroup transfers
+will be suppressed if the P\ :sub:`0` cross section for that particular
+energy transfer is less than *pbxs*. The value of *pbxs* is specified in
+the cross section mixing table by using the keyword **EPS**\ =. See
+:ref:`81210`.
+
+The default value of *pbxs* is sufficient to assure that warning
+messages will not be printed for most of the SCALE P\ :sub:`1` and
+P\ :sub:`3` cross section libraries. However, the v7.0238n library may
+print a few errors if P\ :sub:`5` cross sections are specified.
+
+The error messages below were printed for a problem using the 238group
+cross section library and *pbxs* = 3.0 × 10\ :sup:`–5`. If the default
+value of *pbxs* allows too many warning messages to be printed, a value
+can be determined which does not print the error messages from the
+printed messages by choosing a number larger than the P\ :sub:`0`
+component on the first line, as shown below.
+
+THE LEGENDRE EXPANSION OF THE CROSS SECTION (P\ :sub:`0`\P\ :sub:`N`) IS
+P\ :sub:`0` P\ :sub:`1` P\ :sub:`2` ... P\ :sub:`n`
+
+THE MOMENTS CORRESPONDING TO THIS DISTRIBUTION ARE
+M\ :sub:`1` M\ :sub:`2` ... M\ :sub:`n`
+
+THE MOMENTS CORRESPONDING TO THE GENERATED DISTRIBUTION ARE
+M\ :sub:`1` M\ :sub:`2` ... M\ :sub:`n`
+
+THE LEGENDRE EXPANSION CORRESPONDING TO THESE MOMENTS IS
+P\ :sub:`0` P\ :sub:`1` P\ :sub:`2` ... P\ :sub:`n`
+
+___ MOMENTS WERE ACCEPTED
+
+
+For the following messages, **EPS**\ =6.9e−5 would cause all three
+messages to be suppressed. A value less than 5.615159e−5 and greater
+than 4.767635e−5 would suppress the second message, and a value less
+than 6.855362e−5 and greater than 5.615159e−5 would suppress the first
+two messages.
+
+::
+
+ KMSG060 THE ANGULAR SCATTERING DISTRIBUTION FOR MIXTURE 2 HAS BAD MOMENTS FOR THE TRANSFER FROM GROUP 28 TO GROUP 72
+ 1 MOMENTS WERE ACCEPTED
+ THE LEGENDRE EXPANSION OF THE CROSS SECTION (P0PN) IS
+ 5.615159E05 1.155527E06 2.804013E05 1.732067E06
+ THE MOMENTS CORRESPONDING TO THIS DISTRIBUTION ARE
+ 2.057870E02 4.234578E04 8.710817E06
+ THE MOMENTS CORRESPONDING TO THE GENERATED DISTRIBUTION ARE
+ 2.057870E02 4.235078E04 8.710817E06
+ THE LEGENDRE EXPANSION CORRESPONDING TO THESE MOMENTS IS
+ 5.615159E05 1.155527E06 2.804011E05 1.732066E06
+ THE WEIGHTS/ANGLES FOR THIS DISTRIBUTION ARE
+ 9.999995E01 5.268617E07
+ 2.057881E02 1.973451E01
+ THE MOMENTS CORRESPONDING TO THIS DISTRIBUTION ARE
+ 2.057870E02 4.235078E04 8.710817E06
+
+
+ KMSG060 THE ANGULAR SCATTERING DISTRIBUTION FOR MIXTURE 2 HAS BAD MOMENTS FOR THE TRANSFER FROM GROUP 31 TO GROUP 75
+ 1 MOMENTS WERE ACCEPTED
+ THE LEGENDRE EXPANSION OF THE CROSS SECTION (P0PN) IS
+ 4.767635E05 7.834378E07 2.381887E05 1.174626E06
+ THE MOMENTS CORRESPONDING TO THIS DISTRIBUTION ARE
+ 1.643242E02 2.700205E04 4.451724E06
+ THE MOMENTS CORRESPONDING TO THE GENERATED DISTRIBUTION ARE
+ 1.643242E02 2.700282E04 4.437279E06
+ THE LEGENDRE EXPANSION CORRESPONDING TO THESE MOMENTS IS
+ 4.767635E05 7.834378E07 2.381885E05 1.174627E06
+ THE WEIGHTS/ANGLES FOR THIS DISTRIBUTION ARE
+ 9.999858E01 1.420136E05
+ 1.643265E02 2.334324E07
+ THE MOMENTS CORRESPONDING TO THIS DISTRIBUTION ARE
+ 1.643242E02 2.700282E04 4.437279E06
+
+
+ KMSG060 THE ANGULAR SCATTERING DISTRIBUTION FOR MIXTURE 2 HAS BAD MOMENTS FOR THE TRANSFER FROM GROUP
+ 32 TO GROUP 74 (1)
+ 1 MOMENTS WERE ACCEPTED (2)
+ THE LEGENDRE EXPANSION OF THE CROSS SECTION (P0PN) IS (3)
+ 6.855362E05 1.341944E06 3.423741E05 2.011613E06 (4)
+ THE MOMENTS CORRESPONDING TO THIS DISTRIBUTION ARE (5)
+ 1.957510E02 3.831484E04 7.601939E06 (6)
+ THE MOMENTS CORRESPONDING TO THE GENERATED DISTRIBUTION ARE (7)
+ 1.957510E02 3.832207E04 7.502292E06 (8)
+ THE LEGENDRE EXPANSION CORRESPONDING TO THESE MOMENTS IS (9)
+ 6.855362E05 1.341944E06 3.423740E05 2.011629E06 (10)
+ THE WEIGHTS/ANGLES FOR THIS DISTRIBUTION ARE (11)
+ 9.999056E01 9.437981E05 (12)
+ 1.957695E02 1.848551E06 (13)
+ THE MOMENTS CORRESPONDING TO THIS DISTRIBUTION ARE (14)
+ 1.957510E02 3.832207E04 7.502292E06 (15)
+
+The user does not need to attempt to suppress all these messages. They
+are printed to inform the user of the fact that the moments of the
+angular distribution are not moments of a valid probability
+distribution. The original P\ :sub:`n` coefficients and their moments
+are listed in lines 3–6 of the message. Lines 7–10 list the new
+corrected moments and their corresponding P\ :sub:`n` coefficients.
+
+The weights and angles printed in lines 11–13 were generated from the
+corrected moments. The last two lines of the message list the moments
+generated from those weights and angles. They should match line 8, which
+lists the moments corresponding to the generated distribution.
+
+For most criticality problems, the first moment contributions are much
+more significant than the contributions of the higher order moments.
+Thus, the higher order moments may not affect the results significantly.
+The user may compare the original moments and corrected moments to make
+a judgment as to the significance of the change in the moments.
+
+.. _8135:
+
+Mixing table
+~~~~~~~~~~~~
+
+Mixtures can be used in defining other mixtures. When defining mixture
+numbers, care should be taken to avoid using a mixture number that is
+identical to a nuclide ID number if the mixture is to be used in
+defining another mixture. If a mixture number is defined more than once,
+it results in a summing effect.
+
+The nuclide mixing loop is done before the mixture mixing loop, which
+performs mixing in the order of data entry. Thus, the order of mixing
+mixtures into other mixtures is important because a mixture must be
+defined before it can be used in another mixture. Some examples of
+correct and incorrect mixing are shown below, using 1001 as the nuclide
+ID for hydrogen, 8016 as the nuclide ID for oxygen, 92235 as the nuclide
+ID for :sup:`235`\ U, and 92238 as the nuclide ID for :sup:`238`\ U.
+
+EXAMPLES OF CORRECT USAGE
+
+::
+
+ 1. READ MIXT
+ MIX=1 1001 6.6e2 8016 3.3e2
+ MIX=2 1 0.5
+ END MIXT
+
+This results in mixture 1 being fulldensity water and mixture 2 being halfdensity water.
+
+::
+
+ 2. READ MIXT
+ MIX=1 2 0.5
+ MIX=3 1 0.5
+ MIX=2 1001 6.6e2 8016 3.3e2
+ END MIXT
+
+This results in mixture 1 being halfdensity water, mixture 2 being
+fulldensity water, and mixture 3 being quarterdensity water. Because
+the nuclide mixing loop is done first, mixture 2 is created first and is
+available to create mixture 1, which is then available to create
+mixture 3.
+
+::
+
+ 3. READ MIXT
+ MIX=1 1001 6.6e2 8016 3.3e2
+ MIX=2 92235 7.5e4 92238 2.3e2 8016 4.6e2 1 .01
+ END MIXT
+
+This results in mixture 1 being fulldensity water and mixture 2 being uranium oxide containing 0.01 density water.
+
+::
+
+ 4. READ MIXT
+ MIX=1 1001 6.6e2 8016 3.3e2
+ MIX=2 92235 4.4e2 92238 2.6e3
+ MIX=1 1 0.5
+ END MIXT
+
+This results in mixture 1 being water at 1.5 density (1001 9.9e2 and 8016 4.95e2)
+and mixture 2 is highly enriched uranium metal.
+
+EXAMPLES OF INCORRECT USAGE
+
+
+::
+
+ 1. READ MIXT
+ MIX=3 1 0.75
+ MIX=1 2 0.5
+ MIX=2 1001 6.6e2 8016 3.3e2
+ END MIXT
+
+Here the intent is for mixture 2 to be fulldensity water, mixture 1 to
+be halfdensity water, and mixture 3 to be 3/8 (0.75 × 0.5) density
+water. Instead, the result for mixture 3 is a void, mixture 1 is
+halfdensity water, and mixture 2 is fulldensity water. This is because
+the nuclide mixing loop is done first, thus defining mixture 2. The
+mixture mixing loop is done next. Mixture 3 is defined to be mixture 1
+multiplied by 0.75, but since mixture 1 has not been defined yet, 0.75
+of zero is zero. Mixture 1 is then defined to be mixture 2 multiplied by
+0.5. If the definition of mixture 1 preceded the definition of
+mixture 3, as in item (2) under examples of correct usage, it would work
+correctly.
+
+::
+
+ 2. READ MIXT
+ MIX=1 1001 6.6e2 8016 3.3e2
+ MIX=1001 92235 4.4e2 92238 2.6e3
+ MIX=2 1001 0.5
+ END MIXT
+
+This results in mixture 1 being fulldensity water, mixture 1001 being
+uranium metal, and mixture 2 being hydrogen with a number density of 0.5
+because 1001 is the nuclide ID number for hydrogen. When a mixture
+number is identical to a nuclide ID and is used in mixing, that number
+is assumed to be a nuclide ID rather than a mixture number. The intent
+was for mixture 1 to be fulldensity water, mixture 1001 to be uranium
+metal, and mixture 2 to be halfdensity uranium metal.
+
+.. _8136:
+
+Geometry
+~~~~~~~~
+
+In general, KENO geometry descriptions consist of (1) geometry data
+(:ref:`8124`) defining the geometrical shapes present in the problem,
+and (2) array data (:ref:`8125`) defining the placement of the units
+that were defined in the geometry data. The geometry data block is
+prefaced by **READ GEOM**, and the array data block is prefaced by
+**READ ARRAY**.
+
+When a 3D geometrical configuration is described as KENO geometry data,
+it may be necessary to describe portions of the configuration
+individually. These individual partial descriptions of the configuration
+are called **UNIT**\ s. KENO geometry modeling is subject to the
+following restrictions:
+
+1. Units are composed of regions. These regions are created using
+ geometric bodies and surfaces (**shape**\ s) that are previously
+ defined.
+
+ 1. In KENOVI the geometric bodies and surfaces may intersect.
+ Regions are defined relative to the geometric bodies and surfaces
+ in a **UNIT**. **HOLE**\ s provide a means of creating complex
+ geometries in a **UNIT** and then inserting the **UNIT** into
+ existing **UNIT**\ s. For complex geometries the use of
+ **HOLE**\ s may decrease the CPU time required for the problem.
+
+ 2. In KENO V.a, each geometry region in a **UNIT** must completely
+ enclose all geometry regions which precede it. Boundaries of the
+ surfaces of the regions may be shared or tangent, but they must
+ not intersect. The use of **HOLE**\ s in KENO V.a provides an
+ exception to this complete enclosure rule. The use of **HOLE**\ s
+ in KENO V.a will increase the CPU time required for the problem.
+
+2. All geometrical surfaces must be describable in KENO V.a as spheres,
+ hemispheres, cylinders, hemicylinders, cubes, cuboids, or as a set
+ of quadratic equations in KENOVI.
+
+3. When specifying an **ARRAY**, each **UNIT** used in a cuboidal
+ **ARRAY** must have a **CUBE** or **CUBOID** as its outer region
+ (this is the only option in KENO V.a); a hexprism as the outer
+ boundary if it is a hexagonal, triangular, or shexagonal
+ **ARRAY**; a rhexprism as the outer boundary if it is a rhexagonal
+ **ARRAY**; and a dodecahedron as the outer boundary if it is a
+ dodecahedral **ARRAY**. In addition, the outer boundary of a
+ **UNIT** cannot be rotated or translated in KENO V.a.
+
+4. When several **UNIT**\ s are used to describe an **ARRAY**, the
+ adjacent faces of the **UNIT**\ s in contact with each other must
+ be the same size and shape.
+
+5. **UNIT**\ s are placed directly into regions using **HOLE**\ s. As
+ many **HOLE**\ s as will fit without intersecting other
+ **HOLE**\ s, nested **ARRAY**\ s or **HOLE**\ s, or the **UNIT**
+ **BOUNDARY** can be placed in a **UNIT** without intersecting each
+ other. In KENO V.a, **HOLE**\ s cannot intersect any of the
+ regions within the **UNIT** in which they are placed. **HOLE**\ s
+ are described in more detail in :ref:`81361`, and nested
+ **HOLE**\ s are described in :ref:`81362`.
+
+6. Multiple **ARRAY**\ s may be required to describe a complicated
+ system. In KENO V.a, only one **ARRAY** may be placed directly
+ into a **UNIT**. However, multiple **ARRAY**\ s may be placed in a
+ **UNIT** by placing the **ARRAY**\ s in other **UNIT**\ s and
+ placing those **UNIT**\ s in the original **UNIT** using
+ **HOLE**\ s. Multiple **ARRAY**\ s may be placed directly into a
+ **UNIT** in KENOVI. These **UNIT**\ s may then be used to create
+ other **ARRAY**\ s, or they may be placed in other **UNIT**\ s
+ using **HOLE**\ s. **UNIT**\ s placed in **ARRAY**\ s or
+ **HOLE**\ s that are contained in other **HOLE**\ s or
+ **ARRAY**\ s are said to be nested. The nesting level of a
+ **UNIT** is the number of **ARRAY**\ s and **HOLE**\ s between the
+ **ARRAY** or **HOLE** in the **GLOBAL UNIT** or **ARRAY** and the
+ **UNIT**. Multiple **ARRAY**\ s are described in more detail in
+ :ref:`81363`.
+
+The KENO V.a geometry package allows any applicable **shape** to be
+enclosed by any other applicable **shape**, subject only to the complete
+enclosure restriction. The KENOVI geometry package allows any **shape**
+describable using quadratic equations to be enclosed or intersected by
+any other allowable **shape**. The implication of this type of
+description is that the entire volume between two adjacent geometrical
+surfaces contains only one mixture, **HOLE**, or **ARRAY**. A void is
+specified by a mixture ID of zero. If **HOLE**\ s are present in the
+volume between two surfaces, the volume of that region is reduced by the
+**HOLE**\ ’s volume(s).
+
+In KENO V.a geometry, if the problem requires several **UNIT**\ s to
+describe its geometrical characteristics, each **UNIT** that is used in
+an **ARRAY** must have a rectangular parallelepiped as its outer
+surface. This restriction is relaxed in KENOVI, where the outer surface
+may be a rectangular parallelepiped, a hexagonal prism, a 90º rotated
+hexagonal prism, or a dodecahedron, but all units placed in an array
+must use the same shape as their outer **BOUNDARY**. In order to
+describe the composite overall geometrical characteristics of the
+problem, these **UNIT**\ s may be arranged in a rectangular **ARRAY**
+for KENO V.a geometry, or in either a rectangular, hexagonal,
+shexagaonal, rhexagonal, or dodecahedral **ARRAY** for KENOVI geometry.
+This is done by specifying the number of units in the X, Y, and
+Z directions. If more than one **UNIT** is involved, data must be
+entered to define the number assigned to the **ARRAY** and the placement
+of the individual **UNIT**\ s in the **ARRAY**. The **ARRAY** number,
+the number of **UNIT**\ s in the X, Y, and Z directions, and the
+placement data are called *array data* (:ref:`8125`).
+
+In the KENO V.a geometry description, the surrounding regions of any
+**shape** may be placed around an **ARRAY**, and they may consist of any
+number of regions in any order subject to the complete enclosure
+restriction. **ARRAY**\ s are positioned relative to the **UNIT ORIGIN**
+by specifying the location of the most negative point in the array, i.e.
+the most negative X, most negative Y, and most negative Z corner of the
+**ARRAY**. In KENOVI geometry, an **ARRAY** may be placed in a region
+of any shape if the region boundary is contained within the **ARRAY** or
+shares the **ARRAY** boundary and does not cut across nested
+**ARRAY**\ s or **HOLE**\ s. In this case, only the section of the
+**ARRAY** contained within the region is recognized by the problem.
+**ARRAY**\ s are positioned relative to the **UNIT** **ORIGIN** by
+placing the **ORIGIN** of a specified **UNIT** in the **ARRAY** at a
+specified location in the **UNIT**.
+
+To create a geometry mockup from a physical configuration, the user
+should keep the restrictions mentioned earlier in mind. There may be
+several ways of correctly describing the same physical configuration.
+Careful analysis of the system can result in a simpler mockup and
+shorter computer running time. A mockup with fewer geometry regions may
+run faster than the same mockup with extraneous regions. The number of
+**UNIT**\ s used can affect the running time, because a transformation
+of coordinates must be made every time a history moves from one **UNIT**
+into another. Thus, if the size of a **UNIT** is small relative to the
+mean free path, a larger percentage of time is spent processing the
+transformation of coordinates. Because all boundaries in a **UNIT** must
+be checked for crossings, it may be more efficient to break up complex
+**UNIT**\ s into several smaller, simpler **UNIT**\ s. The tradeoff
+involves the time required to process more boundary crossings vs the
+time required to transform coordinate systems when **UNIT** boundaries
+are crossed.
+
+**Geometry dimensions:** The use of FIDO syntax may help simplify the
+description of the geometry. For example, a 20 × 20 × 2.5 cm rectangular
+parallelepiped would have been described as **CUBOID** 1 1 10.0 −10.0
+10.0 −10.0 1.25 −1.25 in KENO V.a and **CUBOID** 1 10.0 –10.0 10.0 –10.0
+1.25 –1.25 in KENOVI. By using the P option (see Table 8.1.17), the
+same rectangular parallelepiped could be described as **CUBOID** 1 1
+4P10.0 2P1.25 in KENO V.a and or **CUBOID** 1 4P10.0 2P1.25 in KENOVI,
+where the last 6 entries describe the geometry. The P option simply
+repeats the dimension following the P for the number of times stated
+before the P, and it reverses the sign every time. Therefore, 6P8.0 is
+equivalent to 8.0 −8.0 8.0 −8.0 8.0 −8.0.
+
+**Geometry comments:** One comment can be entered for each **UNIT** in
+the *geometry region data*. Similarly, one comment can be entered for
+each **ARRAY** in the *array definition data*. A comment can be entered
+using the keyword **COM**\ =. This is followed by a comment with a
+maximum length of 132 characters. The comment must be preceded and
+terminated by a delimiter character. Acceptable delimiters include “ , ‘
+, \* , ^ , or !. One comment is allowed for each **UNIT** in the
+*geometry region data*. If multiple comments are entered for a **UNIT**,
+the last comment is used. The comment can be entered anywhere after the
+**UNIT** number where a keyword is expected (:ref:`8124`). See the
+following example.
+
+KENO V.a:
+
+::
+
+ READ GEOM
+ UNIT 1
+ COM=*SPHERICAL METAL UNIT*
+ SPHERE 1 1 5.0
+ CUBE 0 1 2P5.0
+ UNIT 2
+ CYLINDER 1 1 5.0 2P5.0
+ CUBE 0 1 2P5.0
+ COM=!CYLINDRICAL METAL UNIT!
+ UNIT 3
+ HEMISPHE+X 1 1 5.0
+ COM='HEMISPHERICAL METAL UNIT'
+ CUBE 0 1 2P5.0
+ UNIT 4
+ COM=^ARRAY OF SPHERICAL UNITS^
+ ARRAY 1 3*0.0
+ UNIT 5
+ COM=“ARRAY OF CYLINDRICAL UNITS”
+ ARRAY 2 3*0.0
+ UNIT 6
+ COM='ARRAY OF HEMISPHERICAL UNITS'
+ ARRAY 3 3*0.0
+ END GEOM
+
+KENOVI:
+
+::
+
+ READ GEOM
+ UNIT 1
+ COM=*SPHERICAL METAL UNIT*
+ SPHERE 1 5.0
+ CUBOID 2 6P5.0
+ MEDIA 1 1 1
+ MEDIA 0 1 1 2
+ BOUNDARY 2
+ UNIT 2
+ CYLINDER 1 5.0 2P5.0
+ CUBOID 2 6P5.0
+ MEDIA 1 1 1
+ COM=!CYLINDRICAL METAL UNIT!
+ MEDIA 0 1 1 2
+ BOUNDARY 2
+ UNIT 3
+ SPHERE 1 5.0 CHORD +X=0.0
+ MEDIA 1 1 1
+ COM='HEMISPHERICAL METAL UNIT'
+ CUBOID 2 6P5.0
+ MEDIA 0 1 1 2
+ BOUNDARY 2
+ UNIT 4
+ COM='ARRAY OF SPHERICAL UNITS'
+ CUBOID 1 6P15
+ ARRAY 1 1 PLACE 2 2 2 3*0.0
+ BOUNDARY 1
+ UNIT 5
+ CUBOID 1 6P15.0
+ COM='ARRAY OF CYLINDRICAL UNITS'
+ ARRAY 2 1 PLACE 2 2 2 3*0.0
+ BOUNDARY 1
+ UNIT 6
+ COM='ARRAY OF HEMISPHERICAL UNITS'
+ CUBOID 1 6P15.0
+ ARRAY 3 1 PLACE 2 2 2 3*0.0
+ BOUNDARY 1
+ GLOBAL UNIT 7
+ COM='ARRAY OF ARRAYS'
+ CUBOID 1 4P15.0 2P45.0
+ ARRAY 4 1 PLACE 1 1 2 3*0.0
+ BOUNDARY 1
+ END GEOM
+
+One comment is allowed for each array in the *array definition data*.
+The rules governing these comments are the same as those listed above.
+However, the comment for an **ARRAY** must precede the **UNIT**
+arrangement description, and it can precede the **ARRAY** number
+(:ref:`8125`). Examples of correct **ARRAY** comments are given below.
+
+KENO V.a:
+
+::
+
+ READ ARRAY
+ COM='ARRAY OF SPHERICAL METAL UNITS'
+ ARA=1 NUX=2 NUY=2 NUZ=2 FILL F1 END FILL
+ ARA=2 COM='ARRAY OF CYLINDRICAL METAL UNITS'
+ NUX=2 NUY=2 NUZ=2 FILL F2 END FILL
+ ARA=3 NUX=2 NUY=2 NUZ=2
+ COM='ARRAY OF HEMISPHERICAL METAL UNITS'
+ FILL F3 END FILL
+ ARA=4 COM='COMPOSITE ARRAY OF ARRAYS. Z=1 IS SPHERES, Z=2 IS CYLINDERS, Z=3 IS HEMISPHERES'
+ NUX=1 NUY=1 NUZ=3 FILL 4 5 6 END FILL
+ END ARRAY
+
+KENOVI:
+
+::
+
+ READ ARRAY
+ COM='ARRAY OF SPHERICAL METAL UNITS'
+ ARA=1 NUX=3 NUY=3 NUZ=3 FILL F1 END FILL
+ ARA=2 COM='ARRAY OF CYLINDRICAL METAL UNITS'
+ NUX=3 NUY=3 NUZ=3 FILL F2 END FILL
+ ARA=3 NUX=3 NUY=3 NUZ=3
+ COM='ARRAY OF HEMISPHERICAL METAL UNITS'
+ FILL F3 END FILL
+ ARA=4 COM='COMPOSITE ARRAY OF ARRAYS. Z=1 IS SPHERES, Z=2 IS CYLINDERS, Z=3 IS HEMISPHERES'
+ NUX=1 NUY=1 NUZ=3 FILL 4 5 6 END FILL
+ END ARRAY
+
+Some of the basics of KENO geometry are illustrated in the following examples:
+
+EXAMPLE 1. Assume a stack of six cylindrical disks each measuring 5 cm
+in radius and 2 cm thick. The bottom disk is composed of material 1, and
+the next disk is composed of material 2, etc., alternating throughout
+the stack. A square plate of material 3 that is 20 cm on a side and
+2.5 cm thick is centered on top of the stack. This configuration is
+shown in :numref:`fig8112`.
+
+.. _fig8112:
+.. figure:: figs/Keno/fig12.png
+ :align: center
+ :width: 400
+
+ Stack of disks with a square top.
+
+This problem can be described as a single **UNIT** problem, describing
+the cylindrical portion first. In this instance, the origin has been
+chosen at the center bottom of the bottom disk. The bottom disk is
+defined by the first cylinder description, and the next disk is defined
+by the difference between the first and second cylinder descriptions.
+Since both disks have a radius of 5.0 and a −Z length of 0.0, the first
+cylinder containing material 1 exists from Z = 0.0 to Z = 2.0, and the
+second cylinder containing material 2 exists from Z = 2.0 to Z = 4.0.
+When all the disks have been described, a void cuboid having the same X
+and Y dimensions as the square plate and the same Z dimensions as the
+stack of disks is defined. The square plate of material 3 is then
+defined on top of the stack. Omission of the first cuboid description
+would result in the stack of disks being encased in a solid cuboid of
+material 3 instead of having a flat plate on top of the stack. The
+geometry input is shown below.
+
+.. centered:: Data description 1, Example 1.
+
+KENO V.a:
+
+::
+
+ READ GEOM
+ CYLINDER 1 1 5.0 2.0 0.0
+ CYLINDER 2 1 5.0 4.0 0.0
+ CYLINDER 1 1 5.0 6.0 0.0
+ CYLINDER 2 1 5.0 8.0 0.0
+ CYLINDER 1 1 5.0 10.0 0.0
+ CYLINDER 2 1 5.0 12.0 0.0
+ CUBOID 0 1 10.0 10.0 10.0 10.0 12.0 0.0
+ CUBOID 3 1 10.0 10.0 10.0 10.0 14.5 0.0
+
+KENOVI:
+
+::
+
+ READ GEOM
+ GLOBAL UNIT 1
+ CYLINDER 1 5.0 2.0 0.0
+ CYLINDER 2 5.0 4.0 2.0
+ CYLINDER 3 5.0 6.0 4.0
+ CYLINDER 4 5.0 8.0 6.0
+ CYLINDER 5 5.0 10.0 8.0
+ CYLINDER 6 5.0 12.0 10.0
+ CUBOID 7 10.0 10.0 10.0 10.0 12.0 0.0
+ CUBOID 8 10.0 10.0 10.0 10.0 14.5 0.0
+ MEDIA 1 1 1
+ MEDIA 2 1 2
+ MEDIA 1 1 3
+ MEDIA 2 1 4
+ MEDIA 1 1 5
+ MEDIA 2 1 6
+ MEDIA 0 1 1 2 3 4 5 6 7
+ MEDIA 3 1 7 8
+ BOUNDARY 8
+ END GEOM
+
+
+An alternative description of the same example is given below. The
+origin has been chosen at the center of the disk of material 1 nearest
+the center of the stack. This disk of material 1 is defined by the first
+cylinder description, and the disks of material 2 on either side of it
+are defined by the second cylinder description. The top and bottom disks
+of material 1 are defined by the third cylinder, and the top disk of
+material 2 is defined by the last cylinder. The square plate is defined
+by the two cuboids. This description is more efficient than the previous
+one because there are fewer surfaces to check for crossings.
+
+.. centered:: Data description 2, Example 1.
+
+KENO V.a:
+
+::
+
+ READ GEOM
+ CYLINDER 1 1 5.0 1.0 1.0
+ CYLINDER 2 1 5.0 3.0 3.0
+ CYLINDER 1 1 5.0 5.0 5.0
+ CYLINDER 2 1 5.0 7.0 5.0
+ CUBOID 0 1 10.0 10.0 10.0 10.0 7.0 5.0
+ CUBOID 3 1 10.0 10.0 10.0 10.0 9.5 5.0
+
+KENOVI:
+
+::
+
+ READ GEOM
+ GLOBAL UNIT 1
+ CYLINDER 10 5.0 1.0 1.0
+ CYLINDER 20 5.0 3.0 3.0
+ CYLINDER 30 5.0 5.0 5.0
+ CYLINDER 40 5.0 7.0 5.0
+ CUBOID 50 10.0 10.0 10.0 10.0 7.0 5.0
+ CUBOID 60 10.0 10.0 10.0 10.0 9.5 5.0
+ MEDIA 1 1 10
+ MEDIA 2 1 10 20
+ MEDIA 1 1 20 30
+ MEDIA 2 1 30 40
+ MEDIA 0 1 40 50
+ MEDIA 3 1 50 60
+ BOUNDARY 60
+ END GEOM
+
+Example 1 can also be described as an **ARRAY**. Define three different
+**UNIT** types. **UNIT** 1 will define a disk of material 1, **UNIT** 2
+will define a disk of material 2, and **UNIT** 3 will define the square
+plate of material 3. The origin of each **UNIT** is defined at the
+center bottom of the disk or plate being described. As mentioned
+earlier, only **UNIT**\ s with a **CUBE** or **CUBOID** as their outer
+boundary can be placed in a cuboidal **ARRAY**. The geometry input for
+this arrangement is shown below.
+
+.. centered:: Data description 3, Example 1.
+
+KENO V.a:
+
+::
+
+ READ GEOM
+ UNIT 1
+ CYLINDER 1 1 5.0 2.0 0.0
+ CUBOID 0 1 10.0 10.0 10.0 10.0 2.0 0.0
+ UNIT 2
+ CYLINDER 2 1 5.0 2.0 0.0
+ CUBOID 0 1 10.0 10.0 10.0 10.0 2.0 0.0
+ UNIT 3
+ CUBOID 3 1 10.0 10.0 10.0 10.0 2.5 0.0
+ END GEOM
+ READ ARRAY NUX=1 NUY=1 NUZ=7 FILL 1 2 1 2 1 2 3 END ARRAY
+
+.. note:: The **ARRAY** is assumed to be the **GLOBAL ARRAY** because
+ only a single **ARRAY** is defined.
+
+KENOVI:
+
+::
+
+ READ GEOM
+ UNIT 1
+ CYLINDER 1 5.0 2.0 0.0
+ CUBOID 2 10.0 10.0 10.0 10.0 2.0 0.0
+ MEDIA 1 1 1
+ MEDIA 0 1 1 2
+ BOUNDARY 2
+ UNIT 2
+ CYLINDER 1 5.0 2.0 0.0
+ CUBOID 2 10.0 10.0 10.0 10.0 2.0 0.0
+ MEDIA 2 1 1
+ MEDIA 0 1 2 1
+ BOUNDARY 2
+ UNIT 3
+ CUBOID 1 10.0 10.0 10.0 10.0 2.5 0.0
+ MEDIA 3 1 1
+ BOUNDARY 1
+ GLOBAL UNIT 4
+ CUBOID 1 10 10 10 10 14.5 0.0
+ ARRAY 1 1 PLACE 1 1 1 3*0.0
+ BOUNDARY 1
+ END GEOM
+ READ ARRAY ARA=1 NUX=1 NUY=1 NUZ=7 FILL 1 2 1 2 1 2 3 END ARRAY
+
+If the user prefers for the origin of each unit to be at its center, the
+geometry region data can be entered as shown below. The array data would
+be identical to that of data description 3, Example 1.
+
+.. centered:: Data description 4, Example 1.
+
+KENO V.a:
+
+::
+
+ READ GEOM
+ UNIT 1
+ CYLINDER 1 1 5.0 1.0 1.0
+ CUBOID 0 1 10.0 10.0 10.0 10.0 1.0 1.0
+ UNIT 2
+ CYLINDER 2 1 5.0 1.0 1.0
+ CUBOID 0 1 10.0 10.0 10.0 10.0 1.0 1.0
+ UNIT 3
+ CUBOID 3 1 10.0 10.0 10.0 10.0 1.25 1.25
+ END GEOM
+
+KENOVI:
+
+::
+
+ READ GEOM
+ UNIT 1
+ CYLINDER 1 5.0 1.0 1.0
+ CUBOID 2 10.0 10.0 10.0 10.0 1.0 1.0
+ MEDIA 1 1 1
+ MEDIA 0 1 1 2
+ BOUNDARY 2
+ UNIT 2
+ CYLINDER 1 5.0 1.0 1.0
+ CUBOID 2 10.0 10.0 10.0 10.0 1.0 1.0
+ MEDIA 2 1 1
+ MEDIA 0 1 1 2
+ BOUNDARY 2
+ UNIT 3
+ CUBOID 1 10.0 10.0 10.0 10.0 1.25 1.25
+ MEDIA 3 1 1
+ BOUNDARY 1
+ GLOBAL UNIT 4
+ CUBOID 1 10 10 10 10 14.5 0.0
+ ARRAY 1 1 PLACE 1 1 1 0.0 0.0 1.0
+ BOUNDARY 1
+ END GEOM
+
+Be aware that each **UNIT** in a geometry description can have its
+origin defined independent of the other **UNIT**\ s. It would be correct
+to use **UNIT**\ s 1 and 3 from data descriptions 3, and **UNIT** 2 from
+data description 4. The *array data* would remain the same as data
+description 3, Example 1. The user should define the origin of each unit
+to be as convenient as possible for the chosen description. Care should
+be taken when assigning coordinates to the **UNIT** used to **PLACE**
+the **ARRAY** in its surrounding region.
+
+Another method of describing Example 1 as a bare array is to define
+**UNIT** 1 to be a disk of material 1 topped by a disk of material 2.
+The origin has been chosen at the center bottom of the disk of
+material 1. **UNIT** 2 is the square plate of material 3 with the origin
+at the center of the **UNIT**. The **ARRAY** consists of three
+**UNIT** 1s, topped by a **UNIT** 2, as shown below.
+
+
+.. centered:: Data description 5, Example 1.
+
+KENO V.a:
+
+::
+
+ READ GEOM
+ UNIT 1
+ CYLINDER 1 1 5.0 2.0 0.0
+ CYLINDER 2 1 5.0 4.0 0.0
+ CUBOID 0 1 10.0 10.0 10.0 10.0 4.0 0.0
+ UNIT 2
+ CUBOID 3 1 10.0 10.0 10.0 10.0 1.25 1.25
+ END GEOM
+ READ ARRAY NUX=1 NUY=1 NUZ=4 FILL 3R1 2 END ARRAY
+
+KENOVI:
+
+::
+
+ READ GEOM
+ UNIT 1
+ CYLINDER 1 5.0 2.0 0.0
+ CYLINDER 2 5.0 4.0 2.0
+ CUBOID 3 10.0 10.0 10.0 10.0 4.0 0.0
+ MEDIA 1 1 1
+ MEDIA 2 1 2
+ MEDIA 0 1 1 2 3
+ BOUNDARY 3
+ UNIT 2
+ CUBOID 1 10.0 10.0 10.0 10.0 1.25 1.25
+ MEDIA 3 1 1
+ BOUNDARY 1
+ GLOBAL UNIT 3
+ CUBOID 1 10 10 10 10 14.5 0.0
+ ARRAY 1 1 PLACE 1 1 1 3*0.0
+ BOUNDARY 1
+ END GEOM
+ READ ARRAY ARA=1 NUX=1 NUY=1 NUZ=4 FILL 3R1 2 END ARRAY
+
+Example 1 can be described as a reflected **ARRAY** by treating the
+square plate as a reflector in the positive Z direction. One means of
+describing this situation is to define **UNIT**\ s 1 and 2 as in data
+description 3, Example 1. The origin of the **GLOBAL UNIT** is defined
+to be at the center of the **ARRAY**. The corresponding input geometry
+is shown below.
+
+.. centered:: Data description 6, Example 1.
+
+KENO V.a:
+
+::
+
+ READ GEOM
+ UNIT 1
+ CYLINDER 1 1 5.0 2.0 0.0
+ CUBOID 0 1 10.0 10.0 10.0 10.0 2.0 0.0
+ UNIT 2
+ CYLINDER 2 1 5.0 2.0 0.0
+ CUBOID 0 1 10.0 10.0 10.0 10.0 2.0 0.0
+ GLOBAL UNIT 3
+ ARRAY 1 10.0 10.0 6.0
+ CUBOID 3 1 10.0 10.0 10.0 10.0 8.5 6.0
+ END GEOM
+ READ ARRAY NUX=1 NUY=1 NUZ=6 FILL 1 2 1 2 1 2 END ARRAY
+
+KENOVI:
+
+::
+
+ READ GEOM
+ UNIT 1
+ CYLINDER 1 5.0 2.0 0.0
+ CUBOID 2 10.0 10.0 10.0 10.0 2.0 0.0
+ MEDIA 1 1 1
+ MEDIA 0 1 1 2
+ BOUNDARY 2
+ UNIT 2
+ CYLINDER 1 5.0 2.0 0.0
+ CUBOID 2 10.0 10.0 10.0 10.0 2.0 0.0
+ MEDIA 2 1 1
+ MEDIA 0 1 1 2
+ BOUNDARY 2
+ GLOBAL UNIT 3
+ CUBOID 1 10.0 10.0 10.0 10.0 6.0 6.0
+ CUBOID 2 10.0 10.0 10.0 10.0 8.5 6.0
+ ARRAY 1 1 PLACE 1 1 1 0.0 0.0 6.0
+ MEDIA 3 1 1 2
+ BOUNDARY 2
+ END GEOM
+ READ ARRAY ARA=1 NUX=1 NUY=1 NUZ=6 FILL 1 2 1 2 1 2 END ARRAY
+
+The user could have chosen the origin of the **ARRAY** boundary to be at
+the center bottom of the **ARRAY**, in which case the geometry
+description for the **GLOBAL UNIT** would be:
+
+KENO V.a:
+
+::
+
+ ARRAY 1 10.0 10.0 0.0
+ CUBOID 3 1 10.0 10.0 10.0 10.0 14.5 0.0
+
+or
+
+::
+
+ ARRAY 1 10.0 10.0 0.0
+ REPLICATE 3 4*0.0 2.5 0 1
+
+The reflector region at the top of the array can be added by using a
+**CUBOID** or by using a **REPLICATE** description in KENO V.a. Recall
+that there is no **REPLICATE** function in KENOVI.
+
+A simpler method of describing Example 1 as a reflected array is to
+define only one unit as in data description 5, Example 1. The square
+plate is treated as a reflector, as in data description 6, Example 1.
+The input for this arrangement is given below.
+
+.. centered:: Data description 7, Example 1.
+
+KENO V.a:
+
+::
+
+ READ GEOM
+ UNIT 1
+ CYLINDER 1 1 5.0 2.0 0.0
+ CYLINDER 2 1 5.0 4.0 0.0
+ CUBOID 0 1 10.0 10.0 10.0 10.0 4.0 0.0
+ GLOBAL UNIT 2
+ ARRAY 1 10.0 10.0 0.0
+ CUBOID 3 1 10.0 10.0 10.0 10.0 14.5 0.0
+ END GEOM
+ READ ARRAY NUX=1 NUY=1 NUZ=3 END ARRAY
+
+KENOVI:
+
+::
+
+ READ GEOM
+ UNIT 1
+ CYLINDER 1 5.0 2.0 0.0
+ CYLINDER 2 5.0 4.0 2.0
+ CUBOID 3 10.0 10.0 10.0 10.0 4.0 0.0
+ MEDIA 1 1 1
+ MEDIA 2 1 2
+ MEDIA 0 1 1 2 3
+ BOUNDARY 3
+ GLOBAL UNIT 2
+ CUBOID 1 10.0 10.0 10.0 10.0 12.0 0.0
+ CUBOID 2 10.0 10.0 10.0 10.0 14.5 0.0
+ ARRAY 1 1 PLACE 1 1 1 3*0.0
+ MEDIA 3 1 1 2
+ BOUNDARY 2
+ END GEOM
+ READ ARRAY ARA=1 NUX=1 NUY=1 NUZ=3 FILL F1 END FILL END ARRAY
+
+EXAMPLE 2. Assume that the stack of six disks in Example 1 is placed at
+the center bottom of a cylindrical container composed of material 6
+whose inside diameter is 16.0 cm. The bottom and sides of the container
+are 0.25 cm thick, the top is open, and the total height of the
+container is 18.25 cm. Assume the square plate of Example 1 is centered
+on top of the container.
+
+The geometry input can be described utilizing most of the data
+description methods associated with Example 1. One method of describing
+Example 2 as a single **UNIT** is given below.
+
+.. centered:: Data description 1, Example 2.
+
+KENO V.a:
+
+::
+
+ READ GEOM
+ UNIT 1
+ CYLINDER 1 1 5.0 1.0 1.0
+ CYLINDER 2 1 5.0 3.0 3.0
+ CYLINDER 1 1 5.0 5.0 5.0
+ CYLINDER 2 1 5.0 7.0 5.0
+ CYLINDER 0 1 8.0 13.0 5.0
+ CYLINDER 6 1 8.25 13.0 5.25
+ CUBOID 0 1 10.0 10.0 10.0 10.0 13.0 5.25
+ CUBOID 3 1 10.0 10.0 10.0 10.0 15.5 5.25
+ END GEOM
+
+KENOVI:
+
+::
+
+ READ GEOM
+ GLOBAL UNIT 1
+ CYLINDER 1 5.0 1.0 1.0
+ CYLINDER 2 5.0 3.0 3.0
+ CYLINDER 3 5.0 5.0 5.0
+ CYLINDER 4 5.0 7.0 5.0
+ CYLINDER 5 8.0 13.0 5.0
+ CYLINDER 6 8.25 13.0 5.25
+ CUBOID 7 10.0 10.0 10.0 10.0 13.0 5.25
+ CUBOID 8 10.0 10.0 10.0 10.0 15.5 5.25
+ MEDIA 1 1 1
+ MEDIA 2 1 1 2
+ MEDIA 1 1 2 3
+ MEDIA 2 1 3 4
+ MEDIA 0 1 4 5
+ MEDIA 6 1 5 6
+ MEDIA 0 1 6 7
+ MEDIA 3 1 7 8
+ BOUNDARY 8
+ END GEOM
+
+In the above description, the origin is defined to be at the center of
+the disk of material 1 nearest the center of the stack. This disk is
+defined by the first cylinder description. The disks of material 2 above
+and below it are defined by the second cylinder description. The disks
+of material 1 above and below them are defined by the third cylinder
+description. The top disk of material 2 is defined by the fourth
+cylinder description. The void interior of the container is defined by
+the fifth cylinder description. The container is defined by the last
+cylinder description. The first cuboid description is used to define a
+void whose X and Y dimensions are the same as the square plate and whose
+Z dimensions are the same as the container. The last cuboid description
+defines the square plate. Omission of the first cuboid description would
+result in the container being encased in a solid cuboid of material 3.
+Thus, both cuboids are necessary to properly define the square plate.
+
+Example 2 can be described as a reflected **ARRAY**. One of the
+descriptions uses only one **UNIT** and is similar to data
+description 7, Example 1. This description is shown below.
+
+.. centered:: Data description 2, Example 2.
+
+KENO V.a:
+
+::
+
+ READ GEOM
+ UNIT 1
+ CYLINDER 1 1 5.0 2.0 0.0
+ CYLINDER 2 1 5.0 4.0 0.0
+ CUBOID 0 1 5.0 5.0 5.0 5.0 4.0 0.0
+ GLOBAL UNIT 2
+ ARRAY 1 5.0 5.0 0.0
+ CYLINDER 0 1 8.0 18.0 0.0
+ CYLINDER 6 1 8.25 18.0 0.25
+ CUBOID 0 1 10.0 10.0 10.0 10.0 18.0 0.25
+ CUBOID 3 1 10.0 10.0 10.0 10.0 20.5 0.25
+ END GEOM
+ READ ARRAY NUX=1 NUY=1 NUZ=3 END ARRAY
+
+KENOVI:
+
+::
+
+ READ GEOM
+ UNIT 1
+ CYLINDER 1 5.0 2.0 0.0
+ CYLINDER 2 5.0 4.0 2.0
+ CUBOID 3 5.0 5.0 5.0 5.0 4.0 0.0
+ MEDIA 1 1 1
+ MEDIA 2 1 2
+ MEDIA 0 1 1 2 3
+ BOUNDARY 3
+ GLOBAL UNIT 2
+ CUBOID 1 5.0 5.0 5.0 5.0 12.0 0.0
+ ARRAY 1 1 PLACE 1 1 1 3*0.0
+ CYLINDER 2 8.0 18.0 0.0
+ MEDIA 0 1 1 2
+ CYLINDER 3 8.25 18.0 0.25
+ MEDIA 6 1 2 3
+ CUBOID 4 10.0 10.0 10.0 10.0 20.5 18.0
+ CUBOID 5 10.0 10.0 10.0 10.0 20.5 0.25
+ MEDIA 3 1 4
+ MEDIA 0 1 3 4 5
+ BOUNDARY 5
+ END GEOM
+ READ ARRAY ARA NUX=1 NUY=1 NUZ=3 FILL F1 END FILL END ARRAY
+
+In the above data description, the first two cylinder descriptions
+define a disk of material 1 with a disk of material 2 directly on top of
+it. A tight fitting void cuboid is placed around them so they can be
+stacked three high to achieve the stack of disks shown in Example 1,
+:numref:`fig8112`. This array comprises the array portion of the geometry
+region description. The origin of the array boundary, a tight fitting
+cube or cuboid that encompasses the array, is defined by the **ARRAY**
+description. Everything after the **ARRAY** record is considered part of
+the reflector. The first cylinder after the **ARRAY** record defines the
+void interior of the cylindrical container. The next cylinder defines
+the walls of the container. The secondtolast cuboid defines a void
+volume outside the container from its bottom to its top and having the
+same X and Y dimensions as the square plate. The last cuboid defines the
+square plate of material 3 that is sitting on top of the container.
+
+Another method to describe Example 2 is as an array composed of units
+that contain both the stack and container. This description requires a
+minimum of four units to describe the problem. This configuration is
+given below in data description 3, Example 2.
+
+.. centered:: Data description 3, Example 2.
+
+KENO V.a:
+
+::
+
+ READ GEOM
+ UNIT 1
+ CYLINDER 6 1 8.25 0.25 0.0
+ CUBOID 0 1 10.0 10.0 10.0 10.0 0.25 0.0
+ UNIT 2
+ CYLINDER 1 1 5.0 2.0 0.0
+ CYLINDER 2 1 5.0 4.0 0.0
+ CYLINDER 0 1 8.0 4.0 0.0
+ CYLINDER 6 1 8.25 4.0 0.0
+ CUBOID 0 1 10.0 10.0 10.0 10.0 4.0 0.0
+ UNIT 3
+ CYLINDER 0 1 8.0 3.0 3.0
+ CYLINDER 6 1 8.25 3.0 3.0
+ CUBOID 0 1 10.0 10.0 10.0 10.0 3.0 3.0
+ CUBOID 3 1 10.0 10.0 10.0 10.0 5.5 3.0
+ END GEOM
+ READ ARRAY NUX=1 NUY=1 NUZ=5 FILL 1 3R2 3 END ARRAY
+
+KENOVI:
+
+::
+
+ READ GEOM
+ UNIT 1
+ CYLINDER 1 8.25 0.25 0.0
+ CUBOID 2 10.0 10.0 10.0 10.0 0.25 0.0
+ MEDIA 6 1 1
+ MEDIA 0 1 2 1
+ BOUNDARY 2
+ UNIT 2
+ CYLINDER 10 5.0 2.0 0.0
+ CYLINDER 20 5.0 4.0 0.0
+ CYLINDER 30 8.0 4.0 0.0
+ CYLINDER 40 8.25 4.0 0.0
+ CUBOID 50 10.0 10.0 10.0 10.0 4.0 0.0
+ MEDIA 1 1 10
+ MEDIA 2 1 20 10
+ MEDIA 0 1 30 20
+ MEDIA 6 1 40 30
+ MEDIA 0 1 50 40
+ BOUNDARY 50
+ UNIT 3
+ CYLINDER 1 8.0 3.0 3.0
+ CYLINDER 2 8.25 3.0 3.0
+ CUBOID 3 10.0 10.0 10.0 10.0 5.5 3.0
+ CUBOID 4 10.0 10.0 10.0 10.0 5.5 3.0
+ MEDIA 0 1 1
+ MEDIA 6 1 2 1
+ MEDIA 3 1 3
+ MEDIA 0 1 4 3 2
+ BOUNDARY 4
+ GLOBAL UNIT 4
+ CUBOID 1 10.0 10.0 10.0 10.0 20.75 0.0
+ ARRAY 1 1 PLACE 1 1 1 3*0.0
+ BOUNDARY 1
+ END GEOM
+ READ ARRAY NUX=1 NUY=1 NUZ=5 FILL 1 3R2 3 END ARRAY
+
+
+In the above description, **UNIT** 1 is the bottom of the cylindrical
+container. The void **CUBOID** is only as tall as the bottom of the
+container, and its X and Y dimensions are the same as the square plate
+on top of the container. If all the **UNIT**\ s in the **ARRAY** use
+these same dimensions in the X and Y directions, the requirement that
+adjacent faces of units in contact with each other must be the same size
+and shape is satisfied. This **ARRAY** is stacked in the Z direction, so
+all **UNIT**\ s must have the same overall dimensions in the X direction
+and in the Y direction. **UNIT** 2 will be used in the **ARRAY** three
+times to create the stack of disks. It contains a disk of material 1
+topped by a disk of material 2. The portion of the container that
+contains the disks and the cuboid that defines the outer boundaries of
+the unit are included in **UNIT** 2. **UNIT** 3 describes the empty top
+portion of the container and the square plate on top of it. The
+Z dimensions of **UNIT** 3 were determined by subtracting three times
+the total Z dimension of **UNIT** 2 from the inside height of the
+container [18.0 − (3 × 4.0) = 6.0]. This can also be determined from the
+overall height of the container by subtracting off the bottom thickness
+of the container and three times the height of **UNIT** 2 [18.25 − 0.25
+− (3 × 4.0) = 6.0]. The origin of **UNIT** 3 is located at the center of
+this distance. For the KENOVI input, a **GLOBAL UNIT** is also
+provided, **UNIT** 4, containing the **ARRAY** built with **UNIT**\ s 1,
+2, 3.
+
+EXAMPLE 3. Refer to Example 1, :numref:`fig8112`, and imagine a **HOLE**
+1.5 cm in diameter is drilled along the centerline of the stack through
+the disks and the square plate. In KENO V.a this **HOLE** would
+eliminate the possibility of describing the system as a single unit
+because the **HOLE** in the center of the alternating materials of the
+stack cannot be described in a manner that allows each successive
+geometry region to encompass the regions interior to it. Therefore, it
+must be described as an **ARRAY**. The square plate on the top of the
+disks is defined as a **UNIT** in the **ARRAY**. In the geometry
+description given below, the square plate is defined in **UNIT** 3.
+KENOVI can easily describe this configuration as a single **UNIT**.
+
+.. centered:: Data description 1, Example 3.
+
+KENO V.a:
+
+::
+
+ READ GEOM
+ UNIT 1
+ CYLINDER 0 1 0.75 2.0 0.0
+ CYLINDER 1 1 5.0 2.0 0.0
+ CUBOID 0 1 10.0 10.0 10.0 10.0 2.0 0.0
+ UNIT 2
+ CYLINDER 0 1 0.75 2.0 0.0
+ CYLINDER 2 1 5.0 2.0 0.0
+ CUBOID 0 1 10.0 10.0 10.0 10.0 2.0 0.0
+ UNIT 3
+ CYLINDER 0 1 0.75 2.5 0.0
+ CUBOID 3 1 10.0 10.0 10.0 10.0 2.5 0.0
+ END GEOM
+ READ ARRAY NUX=1 NUY=1 NUZ=7 FILL 1 2 2Q2 3 END FILL END ARRAY
+
+KENOVI:
+
+::
+
+ READ GEOM
+ GLOBAL UNIT 1
+ CYLINDER 1 0.75 7.0 5.0
+ CYLINDER 2 5.0 1.0 1.0
+ CYLINDER 3 5.0 3.0 3.0
+ CYLINDER 4 5.0 5.0 5.0
+ CYLINDER 5 5.0 7.0 5.0
+ CYLINDER 6 8.0 13.0 5.0
+ CYLINDER 7 8.25 13.0 5.25
+ CUBOID 8 10.0 10.0 10.0 10.0 15.5 13.0
+ CUBOID 9 10.0 10.0 10.0 10.0 15.5 5.25
+ MEDIA 0 1 1
+ MEDIA 1 1 1 2
+ MEDIA 2 1 1 2 3
+ MEDIA 1 1 1 3 4
+ MEDIA 2 1 1 4 5
+ MEDIA 0 1 5 6
+ MEDIA 6 1 6 7
+ MEDIA 3 1 8
+ MEDIA 0 1 7 8 9
+ BOUNDARY 9
+ END GEOM
+
+In data description 1, Example 3 above, KENO V.a input, **UNIT** 1
+describes a disk of material 1 with a **HOLE** through its centerline.
+The first **CYLINDER** defines the **HOLE**, the second defines the rest
+of the disk, and the **CUBOID** defines the size of the **UNIT** to be
+consistent with the square plate so they can be stacked together in an
+**ARRAY**. **UNIT** 2 describes a disk of material 2 in similar fashion.
+**UNIT** 3 describes the square plate of material 3 with a **HOLE**
+through its center. The **CYLINDER** defines the **HOLE** and the
+**CUBOID** defines the square plate. These three **UNIT**\ s are stacked
+in the Z direction to achieve the composite system. This is represented
+by **FILL** 1 2 2Q2 3. The 2Q2 repeats the two entries preceding the 2Q2
+twice. Alternatively, this can be achieved by entering **FILL** 1 2 1 2
+1 2 3 **END FILL**. The same **ARRAY** can also be achieved using the
+**LOOP** option. An example of the data for this option is:
+
+**LOOP** 1 6R1 1 5 2 2 6R1 2 6 2 3 6R1 7 7 1 **END LOOP**.
+
+**UNIT** 1 is placed at the X = 1, Y = 1, and Z = 1,3,5 positions of the
+**ARRAY** by entering 1 6R1 1 5 2. **UNIT** 2 is positioned at the X =
+1, Y = 1 and Z = 2,4,6 positions in the **ARRAY** by entering 2 6R1 2 6
+2. **UNIT** 3 is placed at the X = 1, Y = 1, Z = 7 position of the
+**ARRAY** by entering 3 6R1 7 7 1. See Sect. 8.1.2.5 for additional
+information regarding **ARRAY** specifications.
+
+For the KENOVI input, **UNIT** 1 contains the entire problem
+description. The first **CYLINDER** describes the 1.5 cm diameter hole
+through the stack. The next four **CYLINDER**\ s define the stack. The
+sixth and seventh **CYLINDER**\ s describe the void and container. The
+two **CUBOID**\ s describe the top plate and surrounding global region
+of void. The **MEDIA** cards are used to place the materials in the
+appropriate regions.
+
+EXAMPLE 4. Assume two large cylinders that are 2.5 cm in radius and 5 cm
+long are connected by a smaller cylinder that is 0.5 cm in radius and
+10 cm long, as shown in :numref:`fig8113`. All three cylinders are composed of
+material 1. By starting the geometry description in the small cylinder,
+this system can be described as a single unit.
+
+.. _fig8113:
+.. figure:: figs/Keno/fig13.png
+ :align: center
+ :width: 400
+
+ Two large cylinders joined axially by a small cylinder.
+
+.. centered:: Data description 1, Example 4.
+
+KENOVI:
+
+::
+
+ READ GEOM
+ GLOBAL UNIT 1
+ XCYLINDER 1 0.5 5.0 5.0
+ XCYLINDER 2 2.5 5.0 5.0
+ XCYLINDER 3 2.5 10.0 10.0
+ MEDIA 1 1 1
+ MEDIA 0 1 2 1
+ MEDIA 1 1 3 2
+ BOUNDARY 3
+ END GEOM
+
+KENO V.a:
+
+::
+
+ READ GEOM
+ CYLINDER 1 1 0.5 5.0 5.0
+ CYLINDER 0 1 2.5 5.0 5.0
+ CYLINDER 1 1 2.5 10.0 10.0
+ END GEOM
+
+The origin is at the center of the small cylinder, which is described by
+the first cylinder description. The second cylinder description defines
+a void cylinder surrounding the small cylinder. Its radius is the same
+as the large cylinders, and its height (length) coincides with that of
+the small cylinder. The last cylinder description defines the large
+cylinders on either end of the small cylinder. In KENO V.a, because this
+problem does not specify otherwise, the length of the **CYLINDER**\ s is
+assumed to coincide with the Z axis. In KENOVI, because the problem was
+created using **XCYLINDER**\ s, the long axes of the **CYLINDER**\ s
+coincide with the X axis.
+
+EXAMPLE 5. Assume two large cylinders with a centertocenter spacing of
+15 cm, each having a radius of 2.5 cm and length of 5 cm, are connected
+radially by a small cylinder having a radius of 1.5 cm, as shown in :numref:`fig8114`.
+
+.. _fig8114:
+.. figure:: figs/Keno/fig14.png
+ :align: center
+ :width: 400
+
+ Two large cylinders radially connected by a small cylinder.
+
+This system cannot be described rigorously in KENO V.a geometry because
+the intersection of the cylinders cannot be described. However, it can
+be approximated two ways, as shown in :numref:`fig8115`. The top approximation
+is described in data description 1, Example 5. The bottom approximation
+is described in data description 2, Example 5, and data description 3,
+Example 5. These may be poor approximations for criticality safety
+calculations.
+
+.. _fig8115:
+.. figure:: figs/Keno/fig15.png
+ :align: center
+ :width: 400
+
+ KENO V.a approximations of cylindrical intersections.
+
+.. centered:: Data description 1, Example 5.
+
+KENO V.a:
+
+::
+
+ READ GEOM
+ UNIT 1
+ CYLINDER 1 1 2.5 2.5 2.5
+ CUBE 0 1 2.5 2.5
+ UNIT 2
+ XCYLINDER 1 1 1.5 5.0 5.0
+ CUBOID 0 1 5.0 5.0 2.5 2.5 2.5 2.5
+ END GEOM
+ READ ARRAY NUX=3 NUY=1 NUZ=1 FILL 1 2 1 END ARRAY
+
+**UNIT** 1 defines a large **CYLINDER**, and **UNIT** 2 describes the
+small **CYLINDER**. In both **UNIT**\ s the origin is at the center of
+the **CYLINDER**. The large **CYLINDER**\ s have their centerlines along
+the Z axis and the small **CYLINDER** has its length along the X axis.
+
+.. centered:: Data description 2, Example 5.
+
+KENO V.a:
+
+::
+
+ READ GEOMETRY
+ UNIT 1
+ CYLINDER 1 1 2.5 1.0 0.0
+ CUBOID 0 1 4P2.5 1.0 0.0
+ UNIT 2
+ ZHEMICYLX 1 1 2.5 2P1.5 CHORD 2.0
+ CUBOID 0 1 2.0 3P2.5 2P1.5
+ UNIT 3
+ ZHEMICYL+X 1 1 2.5 2P1.5 CHORD 2.0
+ CUBOID 0 1 2.5 2.0 2P2.5 2P1.5
+ UNIT 4
+ XCYLINDER 1 1 1.5 2P5.5
+ CUBOID 0 1 2P5.5 2P2.5 2P1.5
+ UNIT 5
+ CUBOID 0 1 2P5.0 2P2.5 1.0 0.0
+ UNIT 6
+ ARRAY 1 3*0.0
+ UNIT 7
+ ARRAY 2 3*0.0
+ END GEOMETRY
+ READ ARRAY ARA=1 NUX=3 NUY=1 NUZ=1 FILL 1 5 1 END FILL
+ ARA=2 NUX=3 NUY=1 NUZ=1 FILL 2 4 3 END FILL
+ ARA=3 NUX=1 NUY=1 NUZ=3 FILL 6 7 6 END FILL
+ END ARRAY
+
+The above geometry description uses **ARRAY**\ s of **ARRAY**\ s (see
+:ref:`81363`) to describe the bottom approximation of :numref:`fig8115`.
+**UNIT** 1 defines a large **CYLINDER** that has a radius of 2.5 cm and
+a height of 10 cm inside a closefitting **CUBOID**. This is used in
+both large **CYLINDER**\ s as the portion of the large **CYLINDER** that
+exists above and below the region where the small **CYLINDER** joins it.
+**UNIT** 5 is the spacing between the tops of the two large
+**CYLINDER**\ s and the spacing between the bottoms of the two large
+**CYLINDER**\ s. **ARRAY** 1 thus defines the bottom of the system:
+two short **CYLINDER**\ s (**UNIT** 1s) separated by 10 cm (**UNIT** 5
+is the separation). **UNIT** 6 contains **ARRAY** 1.
+
+**UNIT** 2 is the left hemicylinder that adjoins the horizontal
+**CYLINDER**, and **UNIT** 3 is the right hemicylinder that adjoins the
+horizontal **CYLINDER**. **UNIT** 4 defines the horizontal **CYLINDER**.
+**ARRAY** 2 contains **UNIT**\ s 2, 4, and 3 from left to right. This
+defines the central portion of the system where the horizontal
+**CYLINDER** adjoins the two hemicylinders. These hemicylinders are
+larger than half **CYLINDER**\ s. **UNIT** 7 contains **ARRAY** 2. The
+entire system is achieved by stacking a **UNIT** 6 above and below the
+**UNIT** 7 as defined in **ARRAY** 3, the **GLOBAL ARRAY**.
+
+.. centered:: Data description 3, Example 5.
+
+KENO V.a:
+
+::
+
+ READ GEOMETRY
+ UNIT 1
+ CYLINDER 1 1 2.5 1.0 0.0
+ UNIT 2
+ CYLINDER 1 1 2.5 1.0 0.0
+ CUBOID 0 1 17.5 2.5 2P2.5 1.0 0.0
+ HOLE 1 15.0 0.0 0.0
+ UNIT 3
+ ZHEMICYLX 1 1 2.5 2P1.5 CHORD 2.0
+ UNIT 4
+ ZHEMICYL+X 1 1 2.5 2P1.5 CHORD 2.0
+ UNIT 5
+ XCYLINDER 1 1 1.5 2P5.5
+ CUBOID 0 1 2P10.0 2P2.5 2P1.5
+ HOLE 3 7.5 2*0.0
+ HOLE 4 7.5 2*0.0
+ END GEOMETRY
+ READ ARRAY
+ ARA=1 NUX=1 NUY=1 NUZ=3 FILL 2 5 2 END FILL
+ END ARRAY
+
+The above geometry description uses **HOLE**\ s (see :ref:`81361`) to
+describe the bottom approximation of :numref:`fig8115`. **UNIT** 1 defines a
+large **CYLINDER** with a radius of 2.5 cm and a height of 1.0 cm.
+**UNIT** 2 defines the same **CYLINDER** within a **CUBOID** that
+extends from X = −2.5 to X = 17.5, from Y = −2.5 to Y = 2.5, and Z = 0.0
+to Z = 1.0. The origin of the **CYLINDER** is at (0.0,0.0,0.0). Thus
+**UNIT** 2 describes the top and bottom of the **CYLINDER** on the left.
+**UNIT** 1 is positioned within this **CUBOID** as a **HOLE** with its
+origin at (15.0,0.0,0.0) to describe the top and bottom of the
+**CYLINDER** on the right. **UNIT** 3 is the left hemicylinder that
+adjoins the horizontal **CYLINDER**, and **UNIT** 4 is the right
+hemicylinder that adjoins the horizontal **CYLINDER**. **UNIT** 5
+defines the horizontal **CYLINDER** with its origin at the center within
+a **CUBOID** that extends from X = −10.0 to X = +10.0, Y = −2.5 to Y =
+2.5, and Z = −1.5 to Z = 1.5. **UNIT** 3 is positioned to the left of
+the horizontal **CYLINDER**, and **UNIT** 4 is positioned to the right
+of the horizontal **CYLINDER** by using **HOLE**\ s. The entire system
+is achieved by stacking a **UNIT** 2 above and below **UNIT** 5 as shown
+in the **ARRAY** data.
+
+This same geometry description can be used with **UNIT** 2 redefined,
+having its origin defined so that it extends from X = −10 to X = 10, Y =
+−2.5 to Y = 2.5, and Z = 0.0 to Z = 1. In this instance, the geometry
+data would be identical except for **UNIT** 2. This alternative
+description of **UNIT** 2 is
+
+KENO V.a:
+
+::
+
+ UNIT 2
+ CYLINDER 1 1 2.5 1.0 0.0 ORIGIN 7.5 0.0
+ CUBOID 0 1 2P10.0 2P2.5 1.0 0.0
+ HOLE 1 7.5 0.0 0.0
+
+
+This system can be easily described in KENOVI geometry because
+intersections are allowed. The small **CYLINDER** is rotated in data
+description 1, Example 5.
+
+.. centered:: Data description 1, Example 5.
+
+KENOVI:
+
+::
+
+ READ GEOM
+ GLOBAL UNIT 1
+ CYLINDER 1 2.5 2.5 2.5
+ CYLINDER 2 2.5 2.5 2.5 ORIGIN Y=15.0
+ YCYLINDER 3 1.5 15.0 0.0
+ CUBOID 4 5.0 5.0 17.5 2.5 2.5 2.5
+ MEDIA 1 1 1
+ MEDIA 1 1 2
+ MEDIA 1 1 3 1 2
+ MEDIA 0 1 4 3 2 1
+ BOUNDARY 4
+ END GEOM
+
+The first and second **CYLINDER**\ s define the two large
+**CYLINDER**\ s, and the third **CYLINDER** describes the small
+connecting **CYLINDER**. The two large **CYLINDER**\ s are oriented
+along the Z axis. The second large cylinder is translated so its origin
+is at position (0.0, 15.0, 0.0). The small **CYLINDER** is oriented
+along the Y axis. Region 1 consists of the material in the first large
+**CYLINDER**. Region 2 consists of the material in the second large
+**CYLINDER**. Region 3 consists of the material in the small
+**CYLINDER** but not in either of the large **CYLINDER**\ s. Region 4 is
+the **BOUNDARY** region.
+
+EXAMPLE 6. Assume 2 small cylinders 1.0 cm in radius and 10 cm long are
+connected by a large cylinder 2.5 cm in radius and 5 cm long as shown in
+:numref:`fig8116`.
+
+.. _fig8116:
+.. figure:: figs/Keno/fig16.png
+ :align: center
+ :width: 200
+
+ Two small cylinders joined axially by a large cylinder.
+
+This problem is very similar to Example 4. It can be described as a
+single **UNIT** in KENOVI, but not in KENO V.a where it must be
+described as an array. In KENO V.a, **UNIT** 1 defines the large
+cylinder, and **UNIT** 2 defines the small cylinder. The origin of each
+**UNIT** is at its center. The composite system consists of two
+**UNIT** 2s and one **UNIT** 1 as shown below. In KENOVI,
+**CYLINDER** 1 defines the long thin cylinder, and **CYLINDER** 2
+defines the short thick cylinder. The origin of each cylinder is at its
+center. In both KENO V.a and KENOVI, the centerline of the cylinders
+lies along the Z axis.
+
+.. centered:: Data description 1, Example 6.
+
+KENO V.a:
+
+::
+
+ READ GEOM
+ UNIT 1
+ CYLINDER 1 1 2.5 2.5 2.5
+ CUBE 0 1 2.5 2.5
+ UNIT 2
+ CYLINDER 1 1 1.0 5.0 5.0
+ CUBOID 0 1 2.5 2.5 2.5 2.5 5.0 5.0
+ END GEOM
+ READ ARRAY NUX=1 NUY=1 NUZ=3 FILL 2 1 2 END ARRAY
+
+KENOVI:
+
+::
+
+ READ GEOM
+ GLOBAL UNIT 1
+ CYLINDER 1 1.0 12.5 12.5
+ CYLINDER 2 2.5 2.5 2.5
+ CUBOID 3 4P2.5 12.5 12.5
+ MEDIA 1 1 1
+ MEDIA 1 1 2 1
+ MEDIA 0 1 3 2 1
+ BOUNDARY 3
+ END GEOM
+
+EXAMPLE 7. Assume an 11 × 5 × 3 squarepitched array of spheres of
+material 1, radius 3.75 cm, with a centertocenter spacing of 10 cm in
+the X, Y, and Z directions. The data for this system are given below.
+
+.. centered:: Data description 1, Example 7.
+
+KENO V.a:
+
+::
+
+ READ GEOM
+ SPHERE 1 1 3.75
+ CUBE 0 1 5.0 5.0
+ END GEOM
+ READ ARRAY NUX=11 NUY=5 NUZ=3 END ARRAY
+
+KENOVI:
+
+::
+
+ READ GEOM
+ UNIT 1
+ SPHERE 1 3.75
+ CUBOID 2 6P5.0
+ MEDIA 1 1 1
+ MEDIA 0 1 2 1
+ BOUNDARY 2
+ GLOBAL UNIT 2
+ CUBOID 10 55.0 55.0 25.0 25.0 15.0 15.0
+ ARRAY 1 10 PLACE 6 3 2 3*0.0
+ BOUNDARY 10
+ END GEOM
+ READ ARRAY NUX=11 NUY=5 NUZ=3 FILL F1 END FILL END ARRAY
+
+EXAMPLE 8. Assume an 11 × 5 × 3 rectangularpitched array of spheres of
+material 1, whose radius is 3.75 cm and whose centertocenter spacing
+is 10 cm in the X direction, 15 cm in the Y direction, and 20 cm in the
+Z direction. The input for this geometry is given below.
+
+.. centered:: Data description 1, Example 8.
+
+KENO V.a:
+
+::
+
+ READ GEOM
+ SPHERE 1 1 3.75
+ CUBOID 0 1 5.0 5.0 7.5 7.5 10.0 10.0
+ END GEOM
+ READ ARRAY NUX=11 NUY=5 NUZ=3 END ARRAY
+
+KENOVI:
+
+::
+
+ READ GEOM
+ UNIT 1
+ SPHERE 1 3.75
+ CUBOID 2 5.0 5.0 7.5 7.5 10.0 10.0
+ MEDIA 1 1 1
+ MEDIA 0 1 2 1
+ BOUNDARY 2
+ GLOBAL UNIT 2
+ CUBOID 1 55.0 55.0 37.5 37.5 30.0 30.0
+ ARRAY 1 1 PLACE 6 3 2 3*0.0
+ BOUNDARY 1
+ END GEOM
+ READ ARRAY NUX=11 NUY=5 NUZ=3 FILL F1 END FILL END ARRAY
+
+EXAMPLE 9. Assume an 11 × 5 × 3 squarepitched array of spheres of
+material 1 with a 3.75 cm radius and 10 cm centertocenter spacing in
+the X, Y, and Z directions. This array is reflected by 30 cm of
+material 2 (water) on all faces, and weighted tracking (biasing) is to
+be used in the water reflector. The array spacing defines the
+perpendicular distance from the outer layer of spheres to the reflector
+to be 5 cm in the X, Y, and Z directions. The geometry input for this
+system is given below.
+
+.. centered:: Data description 1, Example 9.
+
+KENO V.a:
+
+::
+
+ READ GEOM
+ UNIT 1
+ SPHERE 1 1 3.75
+ CUBE 0 1 5.0 5.0
+ GLOBAL UNIT 2
+ ARRAY 1 55.0 25.0 15.0
+ REFLECTOR 2 2 6*3.0 10
+ END GEOM
+ READ ARRAY NUX=11 NUY=5 NUZ=3 END ARRAY
+ READ BIAS ID=500 2 11 END BIAS
+
+KENOVI:
+
+::
+
+ READ GEOM
+ UNIT 1
+ SPHERE 1 3.75
+ CUBOID 2 6P5.0
+ MEDIA 1 1 1
+ MEDIA 0 1 2 1
+ BOUNDARY 2
+ GLOBAL UNIT 2
+ CUBOID 1 55.0 55.0 25.0 25.0 15.0 15.0
+ CUBOID 2 58.0 58.0 28.0 28.0 18.0 18.0
+ CUBOID 3 61.0 61.0 31.0 31.0 21.0 21.0
+ CUBOID 4 64.0 64.0 34.0 34.0 24.0 24.0
+ CUBOID 5 67.0 67.0 37.0 37.0 27.0 27.0
+ CUBOID 6 70.0 70.0 40.0 40.0 30.0 30.0
+ CUBOID 7 73.0 73.0 43.0 43.0 33.0 33.0
+ CUBOID 8 76.0 76.0 46.0 46.0 36.0 36.0
+ CUBOID 9 79.0 79.0 49.0 49.0 39.0 39.0
+ CUBOID 10 82.0 82.0 52.0 52.0 42.0 42.0
+ CUBOID 11 85.0 85.0 55.0 55.0 45.0 45.0
+ ARRAY 1 1 PLACE 6 3 2 3*0.0
+ MEDIA 2 2 2 1
+ MEDIA 2 3 3 2
+ MEDIA 2 4 4 3
+ MEDIA 2 5 5 4
+ MEDIA 2 6 6 5
+ MEDIA 2 7 7 6
+ MEDIA 2 8 8 7
+ MEDIA 2 9 9 8
+ MEDIA 2 10 10 9
+ MEDIA 2 11 11 10
+ BOUNDARY 11
+ END GEOM
+ READ ARRAY NUX=11 NUY=5 NUZ=3 FILL F1 END FILL END ARRAY
+ READ BIAS ID=500 2 11 END BIAS
+
+In the KENO V.a input, the **ARRAY** boundary defines the origin of the
+**REFLECTOR** to be at the center of the **ARRAY**. The 6*3.0 in the
+**REFLECTOR** description repeats the 3.0 six times. The **REFLECTOR**
+record is used to generate ten **REFLECTOR** regions, each of which is
+3.0 cm thick, on all six faces of the **ARRAY**.
+
+In the KENOVI input, the basic **UNIT** used to construct the **ARRAY**
+is defined in **UNIT** 1. The **ARRAY** is positioned in **UNIT** 2
+(the **GLOBAL UNIT**) using the **ARRAY** card and the **PLACE** option.
+The **ARRAY** is then surrounded by ten \ **REFLECTOR** regions, each
+3.0 cm thick, on all sides.
+
+The first bias **ID** is 2, so the last bias **ID** will be 11 if
+10 regions are created. The biasing data block is necessary to apply
+the desired weighting or biasing function to the reflector. The
+biasing material ID is obtained from :numref:`tab8120`. IDs, group
+structure and incremental thickness for
+weighting data available on the KENO weighting library. If the
+biasing data block is omitted from the problem description, the 10
+reflector regions will not have a biasing function applied to them,
+and the default value of the average weight will be used. This may
+cause the problem to execute more slowly, and therefore require the
+use of more computer time.
+
+EXAMPLE 10. Assume the reflector in Example 9 is present only on both
+X faces, both Y faces, and the negative Z face. The reflector is only
+15.24 cm thick on these faces. The top of the array (positive Z face) is
+unreflected.
+
+.. centered:: Data description 1, Example 10.
+
+
+KENO V.a:
+
+::
+
+ READ GEOM
+ UNIT 1
+ SPHERE 1 1 3.75
+ CUBE 0 1 5.0 5.0
+ GLOBAL UNIT 2
+ ARRAY 1 55.0 25.0 15.0
+ REFLECTOR 2 2 4*3.0 0.0 3.0 5
+ REFLECTOR 2 7 4*0.24 0.0 0.24 1
+ READ ARRAY NUX=11 NUY=5 NUZ=3 END ARRAY
+ READ BIAS ID=500 2 7 END BIAS
+
+KENOVI:
+
+::
+
+ READ GEOM
+ UNIT 1
+ SPHERE 1 3.75
+ CUBOID 2 6P5.0
+ MEDIA 1 1 1
+ MEDIA 0 1 2 1
+ BOUNDARY 2
+ GLOBAL UNIT 2
+ CUBOID 1 55.0 55.0 25.0 25.0 15.0 15.0
+ CUBOID 2 58.0 58.0 28.0 28.0 15.0 18.0
+ CUBOID 3 61.0 61.0 31.0 31.0 15.0 21.0
+ CUBOID 4 64.0 64.0 34.0 34.0 15.0 24.0
+ CUBOID 5 67.0 67.0 37.0 37.0 15.0 27.0
+ CUBOID 6 70.24 70.24 40.24 40.24 15.0 30.24
+ ARRAY 1 1 PLACE 6 3 2 3*0.0
+ MEDIA 2 2 2 1
+ MEDIA 2 3 3 2
+ MEDIA 2 4 4 3
+ MEDIA 2 5 5 4
+ MEDIA 2 6 6 5
+ BOUNDARY 6
+ END GEOM
+ READ ARRAY NUX=11 NUY=5 NUZ=3 FILL F1 END FILL END ARRAY
+ READ BIAS ID=500 2 6 END BIAS
+
+In the KENO V.a input, the first **REFLECTOR** description generates
+five regions around the **ARRAY**, each region being 3.0 cm thick in the
++X, −X, +Y, −Y, and −Z directions, and of zero thickness in the
++Z direction. This defines a total thickness of 15 cm of reflector
+material on the appropriate faces. The second **REFLECTOR** description
+generates the last 0.24 cm of material 2 on those faces. Thus, the total
+reflector thickness is 15.24 cm on each face of the array, except the
+top which has no reflector. Five reflector regions were generated by the
+first **REFLECTOR** description, and one was generated by the second
+**REFLECTOR** description; so, six biasing regions must be defined in
+the biasing data. Thus, the beginning bias **ID** is 2, and the ending
+bias ID is 7.
+
+In the KENOVI input, the first **CUBOID** in Unit 2 represents the
+boundary for the **ARRAY**. The next four **CUBOID**\ s represent the
+first four regions around the **ARRAY**, each region being 3.0 cm thick
+in the +X, X, +Y, −Y, and −Z directions, and of zero thickness in the
++Z direction. A total thickness of 12 cm of reflector material is on the
+appropriate faces. The last **CUBOID** represents the last 3.24 cm of
+material 2 on those faces. Thus, the total reflector thickness is
+15.24 cm on each face of the array, except the top which has no
+reflector. The beginning bias ID is 2, and the ending bias ID is 6. The
+last region could either be larger or smaller than the recommended
+thickness to complete the reflector.
+
+The biasing material **ID** and thickness per region are obtained from
+:numref:`tab8120`. The thickness per region should be very nearly the
+thickness per region from the table to avoid over biasing in the
+reflector. Partial increments at the outer region of a reflector are
+exempt from this recommendation. If a biasing function is not to be
+applied to a region generated by the **REFLECTOR** record, the thickness
+per region can be any desired thickness and the biasing data block is
+omitted.
+
+EXAMPLE 11. Assume the array of Example 7 has the central unit of the
+array replaced by a cylinder of material 4, 5 cm in radius and 10 cm
+tall. Assume a 20 cm thick spherical reflector of material 3 (concrete)
+is positioned so its inner radius is 65 cm from the center of the array.
+The minimum inner radius of a spherical reflector for this array is
+62.25 cm (:math:`\sqrt{55^{2} + 25^{2} + 15^{2} }`). If the inner radius is smaller than this, the problem
+cannot be described using KENO V.a geometry.
+
+.. centered:: Data description 1, Example 11.
+
+KENO V.a:
+
+::
+
+ READ GEOM
+ UNIT 1
+ SPHERE 1 1 3.75
+ CUBE 0 1 5.0 5.0
+ UNIT 2
+ CYLINDER 4 1 5.0 5.0 5.0
+ CUBE 0 1 5.0 5.0
+ GLOBAL UNIT 2
+ ARRAY 1 55.0 25.0 15.0
+ SPHERE 0 1 65.0
+ REPLICATE 3 2 5.0 4
+ END GEOM
+ READ ARRAY
+ NUX=11 NUY=5 NUZ=3
+ LOOP 1 1 11 1 1 5 1 1 3 1 2 6 6 1 3 3 1 2 2 1 END LOOP
+ END ARRAY
+ READ BIAS ID=301 2 5 END BIAS
+
+KENOVI:
+
+::
+
+ READ GEOM
+ UNIT 1
+ SPHERE 1 3.75
+ CUBOID 2 6P5.0
+ MEDIA 1 1 1
+ MEDIA 0 1 2 1
+ BOUNDARY 2
+ UNIT 2
+ CYLINDER 1 5.0 5.0 5.0
+ CUBOID 2 6P5.0
+ MEDIA 4 1 1
+ MEDIA 0 1 2 1
+ BOUNDARY 2
+ GLOBAL UNIT 3
+ CUBOID 1 55.0 55.0 25.0 25.0 15.0 15.0
+ SPHERE 2 65.0
+ SPHERE 3 70.0
+ SPHERE 4 75.0
+ SPHERE 5 80.0
+ SPHERE 6 85.0
+ ARRAY 1 1 PLACE 6 3 2 3*0.0
+ MEDIA 0 1 2 1
+ MEDIA 3 2 3 2
+ MEDIA 3 3 4 3
+ MEDIA 3 4 5 4
+ MEDIA 3 5 6 5
+ BOUNDARY 6
+ END GEOM
+ READ ARRAY
+ NUX=11 NUY=5 NUZ=3
+ LOOP 1 1 11 1 1 5 1 1 3 1 2 6 6 1 3 3 1 2 2 1 END LOOP
+ END ARRAY
+ READ BIAS ID=301 2 5 END BIAS
+
+**UNIT** 1 describes the **SPHERE** and spacing used in the **ARRAY**.
+**UNIT** 2 defines the **CYLINDER** located at the center of the
+**ARRAY**. In KENO V.a, the **ARRAY** record defines the origin of the
+reflector to be at the center of the **ARRAY**, while in KENOVI it
+defines the origin of the **ARRAY** to be at the center of the **GLOBAL
+UNIT**. The first **SPHERE** in the **GLOBAL UNIT** defines the inner
+radius of the reflector. The next four **SPHERE** and four **MEDIA**
+records of the KENOVI input and the **REPLICATE** record of the KENO
+V.a input will generate four spherical regions of material 3, each
+5.0 cm thick. The data for the **BIAS** block is generated in a similar
+manner to previous examples, except that concrete (ID=301) is used. The
+recommended reflector thickness is 5 cm; this thickness is incorporated
+explicitly in the KENOVI model and with 4 repetitions of the 5 cm thick
+reflector via **REPLICATE** in the KENO V.a model. The first 10 entries
+following the word **LOOP** fills the 11 × 5 × 3 **ARRAY** with
+**UNIT**\ s 1. The next 10 entries position **UNIT** 2 at the center of
+the **ARRAY** (X = 6, Y = 3, and Z = 2), replacing the **UNIT** 1 that
+had been placed there by the first 10 entries.
+
+EXAMPLE 12. Assume a data profile such as fission densities is desired
+in a cylinder at 0.5 cm intervals in the radial direction and 1.5 cm
+intervals axially. The cylinder is composed of material 1 and has a
+radius of 5 cm and a height of 15 cm. The **REPLICATE** or **REFLECTOR**
+description can be used to generate these regions in KENO V.a. A biasing
+data block is not entered because default biasing is desired throughout
+the cylinder.
+
+.. centered:: Data description 1, Example 12.
+
+KENO V.a:
+
+::
+
+ READ GEOM
+ CYLINDER 1 1 0.5 1.5 0
+ REFLECTOR 1 1 0.5 1.5 0 9
+ END GEOM
+
+KENOVI:
+
+::
+
+ READ GEOM
+ GLOBAL UNIT 1
+ CYLINDER 1 0.5 1.5 0
+ CYLINDER 2 1.0 3.0 0
+ CYLINDER 3 1.5 4.5 0
+ CYLINDER 4 2.0 6.0 0
+ CYLINDER 5 2.5 7.5 0
+ CYLINDER 6 3.0 9.0 0
+ CYLINDER 7 3.5 10.5 0
+ CYLINDER 8 4.0 12.0 0
+ CYLINDER 9 4.5 13.5 0
+ CYLINDER 10 5.0 15.0 0
+ MEDIA 1 1 1
+ MEDIA 1 1 2 1
+ MEDIA 1 1 3 2
+ MEDIA 1 1 4 3
+ MEDIA 1 1 5 4
+ MEDIA 1 1 6 5
+ MEDIA 1 1 7 6
+ MEDIA 1 1 8 7
+ MEDIA 1 1 9 8
+ MEDIA 1 1 10 9
+ BOUNDARY 10
+ END GEOM
+
+EXAMPLE 13. (KENOVI due to pipe junctions) Assume a cross composed of
+two Plexiglas cylinders (material 3) having an inner diameter of
+13.335 cm and an outer diameter of 16.19 cm. The bottom and side legs of
+the cross are closed by a 3.17 cm thick piece of Plexiglas. From the
+center of the intersection, the bottom and side legs are 91.44 cm long
+and the top leg is 121.92 cm long. The cross is filled with a
+UO\ :sub:`2`\ F\ :sub:`2` solution (material 1) to a height of 28.93 cm
+above the center of the cylinder intersection. The cross is then
+surrounded by a water reflector (material 2) that extends from the
+center of the intersection: 111.74 cm in the ±X directions, 20.64 cm in
+the ±Y directions, 29.03 cm in the +Z direction, and –118.428 cm in the
+–Z direction. A schematic of the assembly is shown in :numref:`fig8117`.
+
+.. _fig8117:
+.. figure:: figs/Keno/fig17.png
+ :align: center
+ :width: 400
+
+ Plexiglas UO\ :sub:`2`\ F\ :sub:`2`filled cross.
+
+.. centered:: Data description of Example 13 (KENOVI only).
+
+::
+
+ READ GEOMETRY
+ GLOBAL UNIT 1
+ CYLINDER 10 13.335 28.93 88.27
+ CYLINDER 20 13.335 121.92 88.27
+ CYLINDER 30 16.19 121.92 91.44
+ YCYLINDER 40 13.335 88.27 88.27
+ YCYLINDER 50 16.19 91.44 91.44
+ CUBOID 60 2P111.74 2P20.64 29.03 118.428
+ CUBOID 70 2P111.74 2P20.64 121.92 118.428
+ MEDIA 1 1 10
+ MEDIA 0 1 20 10
+ MEDIA 3 1 30 20 40
+ MEDIA 1 1 40 10
+ MEDIA 3 1 50 40 30
+ MEDIA 2 1 60 30 50
+ MEDIA 0 1 70 30 60
+ BOUNDARY 70
+ END GEOMETRY
+
+EXAMPLE 14. (KENOVI only because of rotation) Assume a Yshaped
+aluminum cylinder (material 2) with a 13.95 cm inner radius and a 0.16
+cm wall thickness is filled with a UO\ :sub:`2`\ F\ :sub:`2` solution
+(material 1). From the center where the Y intersects the cylinder, the
+bottom leg is 76.7 cm long, the top leg is 135.4 cm long, and the Y leg
+is 126.04 cm long, canted at a 29.26degree angle. The bottom of the
+bottom leg and the top of the Y leg are sealed with 1.3 cm caps. The
+Y cylinder is filled to a height of 52.8 cm above the center where the
+Y leg intersects the vertical cylinder. The cylinder is surrounded by a
+water reflector (material 3) that extends out 37.0 cm in the
+±X direction, 100.0 and −37.0 cm in the ±Y direction, and 135.4 and
+–99.6 in the ±Z direction. A schematic of the assembly is shown in
+:numref:`fig8118`.
+
+.. _fig8118:
+.. figure:: figs/Keno/fig18.png
+ :align: center
+ :width: 400
+
+ Yshaped UO\ :sub:`2`\ F\ :sub:`2`filled aluminum cylinder.
+
+.. centered:: Data description of Example 14 (KENOVI only).
+
+
+::
+
+ READ GEOMETRY
+ GLOBAL UNIT 1
+ COM='30 DEG Y CYLINDER'
+ CYLINDER 10 13.95 135.4 75.4
+ CYLINDER 20 14.11 135.4 76.7
+ CYLINDER 30 13.95 124.74 0.0 ROTATE A2=29.26
+ CYLINDER 40 14.11 126.04 0.0 ROTATE A2=29.26
+ CUBOID 50 2P37.0 100.0 37.0 52.8 75.4
+ CUBOID 60 2P37.0 100.0 37.0 135.4 99.6
+ MEDIA 1 1 10 50
+ MEDIA 2 1 20 10 30
+ MEDIA 1 1 30 50 10
+ MEDIA 2 1 40 30 20
+ MEDIA 0 1 10 50
+ MEDIA 0 1 30 50 10
+ MEDIA 3 1 60 20 40
+ BOUNDARY 60
+ END GEOMETRY
+
+.. _81361:
+
+Use of holes in the geometry
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:ref:`8136` tells how each KENO V.a geometry region in a **UNIT**
+must completely enclose all previously described regions in that
+**UNIT** and how KENOVI geometry allows regions in a **UNIT** to
+intersect, thus eliminating the need for **HOLE**\ s. **HOLE**\ s can be
+used to circumvent the complete enclosure restriction in KENO V.a to
+some degree. In KENOVI, they can be useful in simplifying the input of
+a problem and decreasing the total CPU time needed for a problem.
+A \ **HOLE** is a means of placing an entire **UNIT** within a geometry
+region. A separate **HOLE** description is required for every location
+in a geometry region where a **UNIT** is to be placed. The information
+contained in a **HOLE** description is (1) the keyword **HOLE**, (2) the
+**UNIT** number of the **UNIT** to be placed, and (3) any modification
+data needed to correctly position and rotate (in KENOVI) the specified
+**UNIT** within the containing **UNIT**. In KENO V.a, a **HOLE** is
+placed inside the geometry region that precedes it. This excludes
+**HOLE**\ s ... (i.e., if a **CUBE** geometry region is followed by four
+**HOLE** descriptions, all four **HOLE**\ s are located within the
+**CUBE**). In KENO V.a, **HOLE**\ s are subject to the restriction that
+they cannot intersect any other geometry region. **HOLE**\ s can be
+nested to any depth (see :ref:`81362`). It is not advisable to use
+**HOLE**\ s tangent to other **HOLE**\ s or geometry, because roundoff
+error may cause them to overlap. It is not uncommon for a problem that
+runs on one type of computer to fail on another type using the same
+data. Therefore, it is recommended that tangency and boundaries shared
+with **HOLE**\ s be avoided. This may be accomplished by separating the
+otherwise collocated or tangent surfaces by a very small (i.e.,
+10\ :sup:`6` cm) distance.
+
+In KENO V.a, tracking in regions that contain holes is less efficient
+than tracking in regions that do not contain holes. Therefore, holes
+should be used only when the system cannot be easily described by
+conventional methods. One example of the use of holes is shown in
+:numref:`fig8119`, representing nine closepacked rods in an annulus.
+
+In KENOVI, tracking in regions that contain **HOLE**\ s can be more
+efficient than tracking in regions that do not contain **HOLE**\ s
+because every region boundary in a **UNIT** must be checked for a
+crossing whenever a crossing is possible. Putting small but complex
+geometries in a hole will lessen the number of boundaries that need to
+be checked for possible crossings. However, the indiscriminate use of
+holes is not advised since the particle must change coordinate systems
+every time a hole is entered or exited. Therefore, holes should be used
+carefully and only when the system can be simplified significantly by
+their use.
+
+EXAMPLE 15. One example of a unit that requires holes in KENO V.a is
+better described not using holes in KENOVI as shown in :numref:`fig8119`,
+representing nine closepacked rods in an annulus. The large rods are
+1.4 cm in radius and composed of mixture 3. The small rods are 0.6 cm
+in radius and composed of mixture 1. The inside radius of the annulus
+is 3.6 cm, and the outside radius is 3.8 cm. The annulus is made of
+mixture 2. The rods and annulus are both 30 cm long. The annulus is
+centered in a cuboid having an 8 cm\ :sup:`2` cross section and a
+length of 32 cm. The black and gray areas in
+:numref:`fig8119` are void.
+
+.. _fig8119:
+.. figure:: figs/Keno/fig19.png
+ :align: center
+ :width: 400
+
+ Closepacked cylinders in an annulus.
+
+.. centered:: Data description of Example 15.
+
+
+KENO V.a:
+
+::
+
+ READ GEOM
+ UNIT 1
+ CYLINDER 1 1 0.6 2P15.0
+ UNIT 2
+ CYLINDER 3 1 1.4 2P15.0
+ GLOBAL UNIT 3
+ CYLINDER 1 1 0.6 2P15.0
+ CYLINDER 0 1 3.6 2P15.0
+ HOLE 2 0.0 2.0 0.0
+ HOLE 1 2.0 2.0 0.0
+ HOLE 2 2.0 0.0 0.0
+ HOLE 1 2.0 2.0 0.0
+ HOLE 2 0.0 2.0 0.0
+ HOLE 1 2.0 2.0 0.0
+ HOLE 2 2.0 0.0 0.0
+ HOLE 1 2.0 2.0 0.0
+ CYLINDER 2 1 3.8 2P15.0
+ CUBOID 0 1 4P4.0 2P16.0
+ END GEOM
+
+KENOVI:
+
+::
+
+ READ GEOM
+ GLOBAL UNIT 1
+ CYLINDER 1 0.6 2P15.0
+ CYLINDER 2 0.6 2P15.0 ORIGIN X=2.0 Y=2.0
+ CYLINDER 3 0.6 2P15.0 ORIGIN X=2.0 Y=2.0
+ CYLINDER 4 0.6 2P15.0 ORIGIN X=2.0 Y=2.0
+ CYLINDER 5 0.6 2P15.0 ORIGIN X=2.0 Y=2.0
+ CYLINDER 6 1.4 2P15.0 ORIGIN X=2.0
+ CYLINDER 7 1.4 2P15.0 ORIGIN Y=2.0
+ CYLINDER 8 1.4 2P15.0 ORIGIN X=2.0
+ CYLINDER 9 1.4 2P15.0 ORIGIN Y=2.0
+ CYLINDER 10 3.6 2P15.0
+ CYLINDER 11 3.8 2P15.0
+ CUBOID 12 4P4.0 2P16.0
+ MEDIA 1 1 1
+ MEDIA 1 1 2
+ MEDIA 1 1 3
+ MEDIA 1 1 4
+ MEDIA 1 1 5
+ MEDIA 3 1 6
+ MEDIA 3 1 7
+ MEDIA 3 1 8
+ MEDIA 3 1 9
+ MEDIA 0 1 10 1 2 3 4 5 6 7 8 9
+ MEDIA 2 1 11 10
+ MEDIA 0 1 12 11
+ BOUNDARY 12
+ END GEOM
+
+The first **HOLE** description in the KENO V.a input represents the
+bottom large rod. It takes **UNIT** 2 and places its **ORIGIN** at
+(0.0,−2.0,0.0) relative to the **ORIGIN** of **UNIT** 3. The second
+**HOLE** description represents the small rod to the right of the large
+rod just discussed. It places the origin of **UNIT** 1 at (2.0,−2.0,0.0)
+in **UNIT** 3. The third **HOLE** description represents the large rod
+to the right. It places the origin of **UNIT** 2 at (2.0,0.0,0.0) in
+**UNIT** 3. This procedure is repeated in a counterclockwise direction
+until all eight rods have been placed within the region that defines the
+inner surface of the annulus. The **CYLINDER** that defines the outer
+surface of the annulus is described after all the **HOLE**\ s for the
+previous region have been placed. Then the outer **CUBOID** is
+described. This example illustrates that a **UNIT** that is to be placed
+using a **HOLE** description need not have a **CUBE** or **CUBOID** as
+its last region. Note that including the central rod directly in
+**UNIT** 3 reduces the CPU time required for transport compared to the
+case of all 9 rods being inserted as **HOLE**\ s. It is also important
+that the 9 **HOLE**\ s are inserted *after* the void cylinder into which
+they are inserted. Entering the **HOLE**\ s in any other position in the
+input would generated region intersection errors. The order of the HOLE
+records in any given region is not important, as they can be
+interchanged with each other randomly. However, they must always appear
+immediately after the region in which they are placed.
+
+The KENOVI input does not need to use **HOLE**\ s. The first
+**CYLINDER** description in this case represents the middle small rod.
+The next four **CYLINDER** records describe the four remaining small
+rods surrounding the middle rod. The **ORIGIN** attribute is used to
+shift the origin of each **CYLINDER** to the appropriate location. The
+following four **CYLINDER** records represent the four large rods.
+Again, the **ORIGIN** attribute is used to shift the **ORIGIN** of each
+**CYLINDER** to the appropriate location. Only the nonzero dimensions
+need to be entered in the **ORIGIN** data. The tenth **CYLINDER** record
+is the void in the annulus that contains the rods. The last **CYLINDER**
+record defines the outer surface of the annulus. Finally, the **CUBOID**
+record describes the surrounding **UNIT** boundary.
+
+
+In KENOVI, holes may not extend across any array outer boundary, may
+not intersect with other holes, and may not cross the host UNIT outer
+boundary. Thus a hole may be placed so that it crosses several regions
+within an array. The hole description replaces the unit description
+within the hole domain. Since the holes are placed using the host UNIT
+coordinate system, the location of the hole record in the unit
+definition is not relevant.
+
+An array of the arrangement shown in :numref:`fig8119` can be easily described
+by altering the array description data. For example, a 5 × 3 × 2 array
+of these shapes with a centertocenter spacing of 8 cm in X and Y and
+32 cm in Z can be achieved by using the following array data:
+
+::
+
+ READ ARRAY NUX=5 NUY=3 NUZ=2 FILL F3 END FILL END ARRAY
+
+or
+
+::
+
+ READ ARRAY NUX=5 NUY=3 NUZ=2 FILL 30*3 END FILL END ARRAY
+
+or
+
+::
+
+ READ ARRAY NUX=5 NUY=3 NUZ=2 LOOP 3 1 5 1 1 3 1 1 2 1 END LOOP END ARRAY
+
+.. _81362:
+
+Nesting holes
+^^^^^^^^^^^^^
+
+This section illustrates how holes are nested. Holes can be nested to
+any level. Consider the configuration illustrated in :numref:`fig8119` and
+replace the large rods with a complicated geometric arrangement. The
+resulting Fig. is shown in :numref:`fig8120`. :numref:`fig8121` shows the
+complicated geometric arrangement that replaced the large rods of
+:numref:`fig8119`. :numref:`fig8122` shows a component of the arrangement shown in
+:numref:`fig8120`.
+
+.. _fig8120:
+.. figure:: figs/Keno/fig20.png
+ :align: center
+ :width: 400
+
+ Configuration using nested holes.
+
+.. _fig8121:
+.. figure:: figs/Keno/fig21.png
+ :align: center
+ :width: 400
+
+ Complicated geometric arrangement by Unit 7.
+
+.. _fig8122:
+.. figure:: figs/Keno/fig22.png
+ :align: center
+ :width: 400
+
+ Geometric component represented by Unit 4.
+
+EXAMPLE 16. There is no predetermined preferred method to create a
+geometry mockup for a given physical system. The user should determine
+the most convenient order. To describe the configuration shown in Fig.
+8.1.20 using nested **HOLE**\ s, it is likely most convenient to start
+the geometry mockup at the deepest nesting level, as shown in
+Fig. 8.1.22. The small **CYLINDER**\ s are composed of mixture 1, and
+they are each 0.1 cm in radius and 30 cm long. There are five small
+**CYLINDER**\ s used in Fig. 8.1.22. Their centers are located at
+(0,0,0) for the central one, at (0,−0.4,0) for the bottom one, at
+(0.4,0,0) for the right one, at (0,0.4,0) for the top one, and at
+(−0.4,0,0) for the left one. The rectangular parallelepipeds
+(**CUBOID**\ s) are composed of mixture 2. Each one is 30 cm long and
+0.1 cm by 0.2 cm in cross section. The large **CYLINDER** containing the
+configuration is composed of mixture 3, is 30 cm long and has a radius
+of 0.5 cm.
+
+A possible geometry mockup for this system is described as follows in
+KENO V.a:
+
+ (1) define a small cylinder to be **UNIT** 1,
+
+ (2) define a small **CUBOID** with its length in the X direction to
+ be **UNIT** 2,
+
+ (3) define a small **CUBOID** with its length in the Y direction to
+ be **UNIT** 3,
+
+ (4) define **UNIT** 4 to be the large cylinder and place the
+ **CYLINDER**\ s and **CUBOID**\ s in it using **HOLE**\ s.
+
+::
+
+ UNIT 1
+ CYLINDER 1 1 0.1 2P15.0
+ UNIT 2
+ CUBOID 2 1 2P0.1 2P0.05 2P15.0
+ UNIT 3
+ CUBOID 2 1 2P0.05 2P0.1 2P15.0
+ UNIT 4
+ CYLINDER 1 1 0.1 2P15.0
+ CYLINDER 3 1 0.5 2P15.0
+ HOLE 1 0.0 0.4 0.0
+ HOLE 1 0.4 0.0 0.0
+ HOLE 1 0.0 0.4 0.0
+ HOLE 1 0.4 0.0 0.0
+ HOLE 2 0.2 0.0 0.0
+ HOLE 2 0.2 0.0 0.0
+ HOLE 3 0.0 0.2 0.0
+ HOLE 3 0.0 0.2 0.0
+
+The first cylinder description in **UNIT** 4 places the central rod,
+
+the second cylinder description in **UNIT** 4 places the outer cylinder,
+
+the *first* **HOLE** places the bottom **CYLINDER**,
+
+the *second* **HOLE** places the **CYLINDER** at the right,
+
+the *third* **HOLE** places the top **CYLINDER**,
+
+the *fourth* **HOLE** places the **CYLINDER** at the left,
+
+the *fifth* **HOLE** places the left **CUBOID** whose length is in X,
+
+the *sixth* **HOLE** places the right **CUBOID** whose length is in X,
+
+the *seventh* **HOLE** places the bottom **CUBOID** whose length is in
+Y, and
+
+the *eighth* **HOLE** places the top **CUBOID** whose length is in Y.
+
+A possible geometry mockup for this system is described as follows in
+KENOVI:
+
+1. define **UNIT** 1 to contain the five small cylinders and four
+ blocks,
+
+2. define **UNIT** 2 to contain the next two largersized cylinders and
+ **UNIT** 1 as **HOLE**\ s, and
+
+3. define **GLOBAL UNIT** 3 to contain the large cylinders and
+ **UNIT** 2 as **HOLE**\ s.
+
+::
+
+ UNIT 1
+ CYLINDER 1 0.1 2P15.0
+ CYLINDER 2 0.1 2P15.0 ORIGIN Y=0.4
+ CYLINDER 3 0.1 2P15.0 ORIGIN X=0.4
+ CYLINDER 4 0.1 2P15.0 ORIGIN Y=0.4
+ CYLINDER 5 0.1 2P15.0 ORIGIN X=0.4
+ CUBOID 6 0.3 0.1 2P0.05 2P15.0
+ CUBOID 7 0.3 0.1 2P0.05 2P15.0
+ CUBOID 8 2P0.05 0.3 0.1 2P15.0
+ CUBOID 9 2P0.05 0.3 0.1 2P15.0
+ CYLINDER 10 0.5 2P15.0
+ MEDIA 1 1 1
+ MEDIA 1 1 2
+ MEDIA 1 1 3
+ MEDIA 1 1 4
+ MEDIA 1 1 5
+ MEDIA 2 1 6
+ MEDIA 2 1 7
+ MEDIA 2 1 8
+ MEDIA 2 1 9
+ MEDIA 3 1 10 1 2 3 4 5 6 7 8 9
+ BOUNDARY 10
+
+geometry record *1* places the central rod,
+
+geometry record *2* places the bottom **CYLINDER**,
+
+geometry record *3* places the **CYLINDER** at the right,
+
+geometry record *4* places the top **CYLINDER**,
+
+geometry record *5* places the **CYLINDER** at the left,
+
+geometry record *6* places the left **CUBOID** whose length is in X,
+
+geometry record *7* places the right **CUBOID** whose length is in X,
+
+geometry record *8* places the bottom **CUBOID** whose length is in Y,
+
+geometry record *9* places the top **CUBOID** whose length is in Y, and
+
+geometry record *10* is the surrounding **CYLINDER** that defines the
+unit boundary.
+
+In :numref:`fig8121`, the large plain cylinders are composed of mixture 1 and
+are 0.5 cm in radius and 30 cm long. The cylindrical component of
+**UNIT** 4 for KENO V.a or **UNIT** 1 for KENOVI is the same size: an
+outer radius of 0.5 cm and a length of 30 cm. The small cylinders
+located in the interstices between the large cylinders are composed of
+mixture 2, are 0.2 cm in radius, and are 30 cm long. The annulus is
+composed of mixture 4, has a 1.3 cm inside radius and a 1.4 cm outer
+radius. The volume between the inner cylinders is void. The large
+cylinders each have a radius of 0.5 cm and are tangent. Therefore, their
+origins are offset from the origin of the **UNIT** by 0.707107. This is
+from X\ :sup:`2` + Y\ :sup:`2` = 1.0, where X and Y are equal.
+
+For KENO V.a, define **UNIT** 5 to be the large plain cylinder,
+**UNIT** 6 to be the small cylinder, and **UNIT** 7 as the annulus that
+contains the cylinders. Its origin is at its center. The geometry mockup
+for this portion of the problem follows:
+
+KENO V.a:
+
+::
+
+ UNIT 5
+ CYLINDER 1 1 0.5 2P15.0
+ UNIT 6
+ CYLINDER 2 1 0.2 2P15.0
+ UNIT 7
+ CYLINDER 2 1 0.2 2P15.0
+ CYLINDER 0 1 1.3 2P15.0
+ HOLE 5 0.707107 0.0 0.0
+ HOLE 6 0.707107 0.707107 0.0
+ HOLE 4 0.0 0.707107 0.0
+ HOLE 6 0.707107 0.707107 0.0
+ HOLE 5 0.707107 0.0 0.0
+ HOLE 6 0.707107 0.707107 0.0
+ HOLE 4 0.0 0.707107 0.0
+ HOLE 6 0.707107 0.707107 0.0
+ CYLINDER 4 1 1.4 2P15.0
+
+The *first* **HOLE** places the larger **CYLINDER** of mixture 1 at the
+right with its origin at (0.707107,0.0,0.0),
+
+the *second* **HOLE** places the small **CYLINDER** in the upper right
+quadrant,
+
+the *third* **HOLE** places the top **CYLINDER** that contains the
+geometric component defined in **UNIT** 4,
+
+the *fourth* **HOLE** places the small **CYLINDER** in the upper left
+quadrant,
+
+the *fifth* **HOLE** places the larger **CYLINDER** of mixture 1 at the
+left,
+
+the *sixth* **HOLE** places the small **CYLINDER** in the lower lower
+left quadrant,
+
+the *seventh* **HOLE** places the bottom **CYLINDER** that contains the
+geometric component defined in **UNIT** 4, and
+
+the *eighth* **HOLE** places the small **CYLINDER** in the lower right
+quadrant.
+
+The last **CYLINDER** defines the outer surface of the annulus.
+
+For KENOVI, **UNIT** 2 is the annulus that contains the cylinders.
+
+KENOVI:
+
+::
+
+ UNIT 2
+ CYLINDER 1 0.2 2P15.0
+ CYLINDER 2 0.2 2P15.0 ORIGIN X=0.707107 Y=0.707107
+ CYLINDER 3 0.2 2P15.0 ORIGIN X=0.707107 Y=0.707107
+ CYLINDER 4 0.2 2P15.0 ORIGIN X=0.707107 Y=0.707107
+ CYLINDER 5 0.2 2P15.0 ORIGIN X=0.707107 Y=0.707107
+ CYLINDER 6 0.5 2P15.0 ORIGIN X=0.707107
+ CYLINDER 7 0.5 2P15.0 ORIGIN X=0.707107
+ CYLINDER 10 1.3 2P15.0
+ CYLINDER 11 1.4 2P15.0
+ MEDIA 2 1 1
+ MEDIA 2 1 2
+ MEDIA 2 1 3
+ MEDIA 2 1 4
+ MEDIA 2 1 5
+ MEDIA 1 1 6
+ MEDIA 1 1 7
+ HOLE 1 ORIGIN Y=0.707107
+ HOLE 1 ORIGIN Y=0.707107
+ MEDIA 0 1 10 1 2 3 4 5 6 7
+ MEDIA 4 1 11 10
+ BOUNDARY 11
+
+In Unit 2 of the above KENOVI geometry,
+
+**CYLINDER** *1* places a small **CYLINDER** of mixture 2 at the origin,
+
+**CYLINDER** *2* places the small **CYLINDER** of mixture 2 in the upper
+right quadrant,
+
+**CYLINDER** *3* places the small **CYLINDER** of mixture 2 in the upper
+left quadrant,
+
+**CYLINDER** *4* places the small **CYLINDER** of mixture 2 in the lower
+left quadrant,
+
+**CYLINDER** *5* places the small **CYLINDER** of mixture 2 in the lower
+right quadrant,
+
+**CYLINDER** *6* places the larger **CYLINDER** of mixture 1 at the
+right with its origin at (0.707107,0.0,0.0),
+
+**CYLINDER** *7* places the larger **CYLINDER** of mixture 1 at the left
+with its origin at (0.0,0.707107.0.0),
+
+**CYLINDER** *10* defines the inner surface of the annulus,
+
+**CYLINDER** *11* defines the outer surface of the annulus and the
+**UNIT** boundary,
+
+the first **HOLE** places the top **CYLINDER** that contains the
+geometric component defined in **UNIT** 1, and
+
+the second **HOLE** places the bottom **CYLINDER** that contains the
+geometric component defined in **UNIT** 1.
+
+To complete the geometry mockup, consider :numref:`fig8120`.
+
+For KENO V.a geometry, define **UNIT** 8 to be a cylinder of mixture 2
+having a radius of 0.6 cm and a length of 30 cm. Define **UNIT** 9 to be
+the central rod and the large annulus of 3.6 cm inner radius, 3.8 cm
+outer radius, and 30 cm length centered in a **CUBOID** having an 8
+cm\ :sup:`2` cross section and being 32 cm long.
+
+KENO V.a:
+
+::
+
+ UNIT 8
+ CYLINDER 2 1 0.6 2P15.0
+ UNIT 9
+ CYLINDER 2 1 0.6 2P15.0
+ CYLINDER 0 1 3.6 2P15
+ HOLE 7 2.0 0.0 0.0
+ HOLE 8 2*2.0 0.0
+ HOLE 7 0.0 2.0 0.0
+ HOLE 8 2.0 2.0 0.0
+ HOLE 7 2.0 2*0.0
+ HOLE 8 2*2.0 0.0
+ HOLE 7 0.0 2.0 0.0
+ HOLE 8 2P2.0 0.0
+ CYLINDER 4 1 3.8 2P15.0
+ CUBOID 0 1 4P4.0 2P16.0
+
+In **UNIT** 9 of the KENO V.a description, the first **CYLINDER**
+defines the rod of mixture 2, centered in the annulus. The second
+**CYLINDER** defines the void volume between the central rod and the
+annulus.
+
+The *first* **HOLE** places the composite annulus of **UNIT** 7 to the
+right of the central rod,
+
+the *second* **HOLE** places a rod defined by **UNIT** 8 in the upper
+right quadrant of the annulus,
+
+the *third* **HOLE** places the composite annulus of **UNIT** 7 above
+the central rod,
+
+the *fourth* **HOLE** places a rod defined by **UNIT** 8 in the upper
+left quadrant of the annulus,
+
+the *fifth* **HOLE** places the composite annulus of **UNIT** 7 to the
+left of the central rod,
+
+the *sixth* **HOLE** places a rod defined by **UNIT** 8 in the lower
+left quadrant,
+
+the *seventh* **HOLE** places the composite annulus of **UNIT** 7 below
+the central rod, and
+
+the *eighth* **HOLE** places a rod defined by **UNIT** 8 in the lower
+right quadrant.
+
+The last **CYLINDER** defines the outer surface of the annulus. The
+outer **CUBOID** is the last region.
+
+For KENOVI geometry, define **UNIT** 3 to be the central rod and four
+outer rods of 0.6 cm radius and 30.0 cm length, and the large annulus of
+3.6 cm inner radius, 3.8 cm outer radius, and 30 cm length centered in a
+cuboid having an 8 cm\ :sup:`2` cross section and a length of 32 cm.
+
+KENOVI:
+
+::
+
+ GLOBAL UNIT 3
+ CYLINDER 1 0.6 2P15.0
+ CYLINDER 2 0.6 2P15.0 ORIGIN X=2.0 Y=2.0
+ CYLINDER 3 0.6 2P15.0 ORIGIN X=2.0 Y=2.0
+ CYLINDER 4 0.6 2P15.0 ORIGIN X=2.0 Y=2.0
+ CYLINDER 5 0.6 2P15.0 ORIGIN X=2.0 Y=2.0
+ CYLINDER 10 3.6 2P15.0
+ CYLINDER 11 3.8 2P15.0
+ CUBOID 12 4P4.0 2P16.0
+ MEDIA 2 1 1
+ MEDIA 2 1 2
+ MEDIA 2 1 3
+ MEDIA 2 1 4
+ MEDIA 2 1 5
+ HOLE 2 ORIGEN X=2
+ HOLE 2 ORIGEN Y=2
+ HOLE 2 ORIGEN X=2
+ HOLE 2 ORIGEN Y=2
+ MEDIA 0 1 10 1 2 3 4 5
+ MEDIA 4 1 11 10
+ MEDIA 0 1 12 11
+ BOUNDARY 12
+
+In **UNIT** 3 of the above KENOVI description,
+
+**CYLINDER** *1* defines the rod of mixture 2, centered in the annulus,
+
+**CYLINDER** *2* places a rod of mixture 2 in the upper right quadrant
+of the annulus,
+
+**CYLINDER** *3* places a rod of mixture 2 in the upper left quadrant of
+the annulus,
+
+**CYLINDER** *4* places a rod of mixture 2 in the lower left quadrant,
+
+**CYLINDER** *5* places a rod of mixture 2 in the lower right quadrant,
+
+**CYLINDER** *10* defines the void volume between the central rod and
+the annulus,
+
+**CYLINDER** *11* defines the outer surface of the annulus,
+
+**CUBOID** *12* defines the unit boundary,
+
+the first **HOLE** places **UNIT** 2 to the right of the central rod,
+
+the second **HOLE** places **UNIT** 2 above the central rod,
+
+the third **HOLE** places **UNIT** 2 to the left of the central rod,
+and
+
+the fourth **HOLE** places **UNIT** 2 below the central rod.
+
+This problem illustrates three levels of **HOLE** nesting. The total
+input data for the problem is given below. The geometry description
+accurately recreates the geometry arrangement of :numref:`fig8120`. The 2‑D
+color plot output is shown in :numref:`fig8123`.
+
+.. _fig8123:
+.. figure:: figs/Keno/fig23.png
+ :align: center
+ :width: 400
+
+ Color plot of nested holes example problem.
+
+KENO V.a:
+
+NESTED HOLES SAMPLE
+
+::
+
+ READ GEOM
+ UNIT 1
+ CYLINDER 1 1 0.1 2P15.0
+ UNIT 2
+ CUBOID 2 1 2P0.1 2P0.05 2P15.0
+ UNIT 3
+ CUBOID 2 1 2P0.05 2P0.1 2P15.0
+ UNIT 4
+ CYLINDER 1 1 0.1 2P15.0
+ CYLINDER 3 1 0.5 2P15.0
+ HOLE 1 0.0 0.4 0.0
+ HOLE 1 0.4 0.0 0.0
+ HOLE 1 0.0 0.4 0.0
+ HOLE 1 0.4 0.0 0.0
+ HOLE 2 0.2 0.0 0.0
+ HOLE 2 0.2 0.0 0.0
+ HOLE 3 0.0 0.2 0.0
+ HOLE 3 0.0 0.2 0.0
+ UNIT 5
+ CYLINDER 1 1 0.5 2P15.0
+ UNIT 6
+ CYLINDER 2 1 0.2 2P15.0
+ UNIT 7
+ CYLINDER 2 1 0.2 2P15.0
+ CYLINDER 0 1 1.3 2P15.0
+ HOLE 5 0.707107 2*0.0
+ HOLE 6 0.707107 0.707107 0.0
+ HOLE 4 0.0 0.707107 0.0
+ HOLE 6 0.707107 0.707107 0.0
+ HOLE 5 0.707107 0.0 0.0
+ HOLE 6 0.707107 0.707107 0.0
+ HOLE 4 0.0 0.707107 0.0
+ HOLE 6 0.707107 0.707107 0.0
+ CYLINDER 4 1 1.4 2P15.0
+ UNIT 8
+ CYLINDER 2 1 0.6 2P15.0
+ GLOBAL UNIT 9
+ CYLINDER 2 1 0.6 2P15.0
+ CYLINDER 0 1 3.6 2P15.0
+ HOLE 7 2.0 0.0 0.0
+ HOLE 8 2*2.0 0.0
+ HOLE 7 0.0 2.0 0.0
+ HOLE 8 2.0 2.0 0.0
+ HOLE 7 2.0 2*0.0
+ HOLE 8 2*2.0 0.0
+ HOLE 7 0.0 2.0 0.0
+ HOLE 8 2P2.0 0.0
+ CYLINDER 4 1 3.8 2P15.0
+ CUBOID 0 1 4P4.0 2P16.0
+ END GEOM
+ READ PLOT
+ TTL='XY SLICE AT Z MIDPOINT. NESTED HOLES'
+ XUL=0.1 YUL=8.1 ZUL=16.0
+ XLR=8.1 YLR=0.1 ZLR=16
+ UAX=1.0 VDN=1.0 NAX=260 NCH=' *.X' SCR=NO
+ END PLOT
+ END DATA
+ END
+
+KENOVI:
+
+::
+
+ READ GEOM
+ UNIT 1
+ CYLINDER 1 0.1 2P15.0
+ CYLINDER 2 0.1 2P15.0 ORIGIN Y=0.4
+ CYLINDER 3 0.1 2P15.0 ORIGIN X=0.4
+ CYLINDER 4 0.1 2P15.0 ORIGIN Y=0.4
+ CYLINDER 5 0.1 2P15.0 ORIGIN X=0.4
+ CUBOID 6 0.3 0.1 2P0.05 2P15.0
+ CUBOID 7 0.3 0.1 2P0.05 2P15.0
+ CUBOID 8 2P0.05 0.3 0.1 2P15.0
+ CUBOID 9 2P0.05 0.3 0.1 2P15.0
+
+ CYLINDER 10 0.5 2P15.0
+ MEDIA 1 1 1 6 7 8 9
+ MEDIA 1 1 2 8
+ MEDIA 1 1 3 7
+ MEDIA 1 1 4 9
+ MEDIA 1 1 5 6
+ MEDIA 2 1 6 1 5
+ MEDIA 2 1 7 1 3
+ MEDIA 2 1 8 1 2
+ MEDIA 2 1 9 1 4
+ MEDIA 3 1 1 2 3 4 5 6 7 8 9 10
+ BOUNDARY 10
+ UNIT 2
+ CYLINDER 1 0.2 2P15.0
+ CYLINDER 2 0.2 2P15.0 ORIGIN X=0.707107 Y=0.707107
+ CYLINDER 3 0.2 2P15.0 ORIGIN X=0.707107 Y=0.707107
+ CYLINDER 4 0.2 2P15.0 ORIGIN X=0.707107 Y=0.707107
+ CYLINDER 5 0.2 2P15.0 ORIGIN X=0.707107 Y=0.707107
+ CYLINDER 6 0.5 2P15.0 ORIGIN X=0.707107
+ CYLINDER 7 0.5 2P15.0 ORIGIN X=0.707107
+ CYLINDER 10 1.3 2P15.0
+ CYLINDER 11 1.4 2P15.0
+ MEDIA 2 1 1
+ MEDIA 2 1 2
+ MEDIA 2 1 3
+ MEDIA 2 1 4
+ MEDIA 2 1 5
+ MEDIA 1 1 6
+ MEDIA 1 1 7
+ HOLE 1 ORIGIN Y=0.707107
+ HOLE 1 ORIGIN Y=0.707107
+ MEDIA 0 1 10 1 2 3 4 5 6 7
+ MEDIA 4 1 11 10
+ BOUNDARY 11
+ GLOBAL UNIT 3
+ CYLINDER 1 0.6 2P15.0
+ CYLINDER 2 0.6 2P15.0 ORIGIN X=2.0 Y=2.0
+ CYLINDER 3 0.6 2P15.0 ORIGIN X=2.0 Y=2.0
+ CYLINDER 4 0.6 2P15.0 ORIGIN X=2.0 Y=2.0
+ CYLINDER 5 0.6 2P15.0 ORIGIN X=2.0 Y=2.0
+ CYLINDER 10 3.6 2P15.0
+ CYLINDER 11 3.8 2P15.0
+ CUBOID 12 4P4.0 2P16.0
+ MEDIA 2 1 1
+ MEDIA 2 1 2
+ MEDIA 2 1 3
+ MEDIA 2 1 4
+ MEDIA 2 1 5
+ HOLE 2 ORIGIN X=2
+ HOLE 2 ORIGIN Y=2
+ HOLE 2 ORIGIN X=2
+ HOLE 2 ORIGIN Y=2
+ MEDIA 0 1 10 1 2 3 4 5
+ MEDIA 4 1 11 10
+ MEDIA 0 1 12 11
+ BOUNDARY 12
+ END GEOM
+ READ PLOT
+ TTL='XY SLICE AT Z MIDPOINT. NESTED HOLES'
+ XUL=4.1 YUL=4.1 ZUL=0.0
+ XLR=4.1 YLR=4.1 ZLR=0
+ UAX=1.0 VDN=1.0 NAX=800
+ END PLOT
+ END DATA
+ END
+
+.. _81363:
+
+Multiple arrays
+^^^^^^^^^^^^^^^
+
+EXAMPLE 17. :ref:`8136` demonstrates how **UNIT**\ s are composed of
+geometry regions and how these **UNIT**\ s can be stacked in an
+**ARRAY**. This same procedure can be extended to create multiple
+**ARRAY**\ s. Furthermore, **ARRAY**\ s can be used as building blocks
+within other **ARRAY**\ s.
+
+Consider Sample Problem 19 from Appendix C. This problem is a critical
+experiment consisting of a composite array :cite:`thomas_critical_1973,thomas_critical_1964` of four
+highly enriched uranium metal cylinders and four cylindrical Plexiglas
+containers filled with uranyl nitrate solution. A photograph of the
+experiment is given in :numref:`fig91c3`. The coordinate system is defined to
+be Z up the page, Y across the page, and X out of the page.
+
+The Plexiglas containers have an inside radius of 9.525 cm and an
+outside radius of 10.16 cm. The inside height is 17.78 cm, and the
+outside height is 19.05 cm. Four of these containers are stacked with a
+centertocenter spacing of 21.75 cm in the Y direction and 20.48 cm in
+the Z direction (vertical). This arrangement of four Plexiglas
+containers can be described as follows: mixture 2 is the uranyl nitrate
+and mixture 3 is Plexiglas, so the Plexiglas container with its
+appropriate spacing **CUBOID** can be described as **UNIT** 1. This
+considers the **ARRAY** to be bare and suspended with no supports.
+
+KENO V.a:
+
+::
+
+ UNIT 1
+ CYLINDER 2 1 9.525 2P8.89
+ CYLINDER 3 1 10.16 2P9.525
+ CUBOID 0 1 4P10.875 2P10.24
+
+KENOVI:
+
+::
+
+ UNIT 1
+ CYLINDER 1 9.525 2P8.89
+ CYLINDER 2 10.16 2P9.525
+ CUBOID 3 4P10.875 2P10.24
+ MEDIA 2 1 1
+ MEDIA 3 1 2 1
+ MEDIA 0 1 3 2
+ BOUNDARY 3
+
+The **ARRAY** of four Plexiglas containers can be described as
+**ARRAY** 1 in the array data as follows:
+
+ **ARA**\ =1 **NUX**\ =1 **NUY**\ =2 **NUZ**\ =2 **FILL** F1 **END
+ FILL**
+
+The four metal cylinders, comprised of mixture 1, each have a radius of
+5.748 cm and are 10.765 cm tall. They have a centertocenter spacing of
+13.18 cm in the Y direction and 12.45 cm in the Z direction (vertical).
+Thus, one of the metal cylinders with its appropriate spacing **CUBOID**
+can be described as **UNIT** 2. This **ARRAY** is also considered to be
+bare and unsupported.
+
+
+KENO V.a:
+
+::
+
+ UNIT 2
+ CYLINDER 1 1 5.748 2P5.3825
+ CUBOID 0 1 4P6.59 2P6.225
+
+KENOVI:
+
+::
+
+ UNIT 2
+ CYLINDER 1 5.748 2P5.3825
+ CUBOID 2 4P6.59 2P6.225
+ MEDIA 1 1 1
+ MEDIA 0 1 2 1
+ BOUNDARY 2
+
+The array of four metal cylinders can be described as **ARRAY** 2 in the
+array data.
+
+ **ARA**\ =2 **NUX**\ =1 **NUY**\ =2 **NUZ**\ =2 **FILL** F2 **END
+ FILL**
+
+Now two **ARRAY**\ s have been described. The overall dimensions of the
+**ARRAY** of Plexiglas containers are 21.75 cm in X, 43.5 cm in Y, and
+40.96 cm in Z. The overall dimensions of the **ARRAY** of metal
+cylinders are 13.18 cm in X, 26.36 cm in Y, and 24.9 cm in Z.
+
+In order to describe the composite **ARRAY**, these two **ARRAY**\ s
+must be positioned within **UNIT**\ s and stacked together into one
+**ARRAY**. In order for them to be stacked into one **ARRAY**, the
+adjacent faces must match. This is accomplished by defining a **UNIT** 3
+which contains **ARRAY** 1, the **ARRAY** of Plexiglas solution
+containers. The overall dimensions of this **UNIT** are 21.75 cm in X,
+43.5 cm in Y, and 40.96 cm in Z. These dimensions are calculated by the
+code and need not be specified. **UNIT** 3 is defined as follows:
+
+KENO V.a:
+
+::
+
+ UNIT 3
+ ARRAY 1 3*0.0
+
+KENOVI:
+
+::
+
+ UNIT 3
+ CUBOID 1 2P10.875 2P21.75 2P20.48
+ ARRAY 1 1 PLACE 1 1 1 0.0 10.875 10.24
+ BOUNDARY 1
+
+The **ARRAY** of metal cylinders will be defined to be **UNIT** 4.
+However, this **ARRAY** is 17.14 cm smaller in the Y and 16.06 cm
+smaller in the Z dimensions than the **ARRAY** of Plexiglas **UNIT**\ s.
+Therefore, a void region must be placed around the **ARRAY** in those
+directions so **UNIT** 4 and **UNIT** 3 will be the same size in Y and
+Z.
+
+KENO V.a:
+
+::
+
+ UNIT 4
+ ARRAY 2 3*0.0
+ REPLICATE 0 1 2*0.0 2*8.57 2*8.03 1
+
+KENOVI:
+
+::
+
+ UNIT 4
+ CUBOID 1 2P6.59 2P13.18 2P12.45
+ CUBOID 2 2P6.59 2P21.75 2P20.48
+ ARRAY 2 1 PLACE 1 1 1 0.0 6.59 6.225
+ MEDIA 0 1 2 1
+ BOUNDARY 2
+
+Now that **UNIT** 3 and **UNIT** 4 have been defined, they must be
+placed in the global or universe **ARRAY** to define the physical
+arrangement of the eight pieces. This procedure is implemented via a
+**GLOBAL** **ARRAY** in KENO V.a, while KENOVI uses a **GLOBAL UNIT** 3
+as follows:
+
+
+KENO V.a:
+
+::
+
+ GBL=3 ARA=3 NUX=2 NUY=1 NUZ=1 FILL 4 3 END FILL
+
+KENOVI:
+
+::
+
+ GLOBAL UNIT 5
+ CUBOID 1 34.93 0.0 43.5 0.0 40.96 0.0
+ ARRAY 3 1 PLACE 1 1 1 6.59 21.75 20.48
+ BOUNDARY 1
+
+The description of **ARRAY** 3 in KENOVI is identical to that shown for
+KENO V.a.
+
+This completes the geometry description for the problem. The complete
+geometry input description for the problem is given below.
+
+KENO V.a:
+
+::
+
+ =KENOVA
+ SAMPLE PROBLEM 19 4 AQUEOUS 4 METAL ARRAY OF ARRAYS
+ READ PARAM LIB=4 RUN=NO END PARAM
+ READ MIXT SCT=1
+ MIX=1
+ 1092238 3.2275e3
+ 1092235 4.4802e2
+ MIX=2
+ 20011023 5.81e2
+ 2007014 1.9753e3
+ 2008016 3.6927e2
+ 20092235 9.8471e4
+ 20092238 7.7697e5
+ MIX=3
+ 11006012 3.5552e2
+ 11011023 5.6884e2
+ 11008016 1.4221e2
+ END MIXT
+ READ GEOM
+ UNIT 1
+ CYLINDER 2 1 9.525 8.89 8.89
+ CYLINDER 3 1 10.16 2P9.525
+ CUBOID 0 1 4P10.875 2P10.24
+ UNIT 2
+ CYLINDER 1 1 5.748 2P5.3825
+ CUBOID 0 1 4P6.59 2P6.225
+ UNIT 3
+ ARRAY 1 3*0.0
+ UNIT 4
+ ARRAY 2 3*0.0
+ REPLICATE 0 1 2*0.0 2*8.57 2*8.03 1
+ END GEOM
+ READ ARRAY
+ ARA=1 NUX=1 NUY=2 NUZ=2 FILL F1 END FILL
+ ARA=2 NUX=1 NUY=2 NUZ=2 FILL F2 END FILL
+ GBL=3 ARA=3 NUX=2 NUY=1 NUZ=1 FILL 4 3 END FILL
+ END ARRAY
+ READ PLOT TTL='XY SLICE AT Z=10.24'
+ XUL=1.0 YUL=44.5 ZUL=10.24
+ XLR=35.93 YLR=1.0 ZLR=10.24
+ UAX=1.0 VDN=1.0 NAX=640 PIC=MIX END
+ TTL='XZ SLICE AT Y=10.875'
+ XUL=1.0 YUL=10.875 ZUL=41.96 XLR=35.93 YLR=10.875 ZLR=1.0
+ UAX=1.0 WDN=1.0 PIC=MIX END END PLOT
+ END DATA
+ END
+
+KENOVI:
+
+::
+
+ =KENOVI
+ SAMPLE PROBLEM 19 4 AQUEOUS 4 METAL ARRAY OF ARRAYS
+ READ PARAM
+ LIB=4 FLX=YES FDN=YES NUB=YES SMU=YES MKP=YES MKU=YES FMP=YES FMU=YES
+ END PARAM
+ READ MIXT
+ SCT=2
+ MIX=1
+ 1092234 4.82717E04
+ 1092235 4.47971E02
+ 1092236 9.57233E05
+ 1092238 2.65767E03
+ MIX=2
+ 2001001 5.77931E02
+ 2007014 2.13092E03
+ 2008016 3.74114E02
+ 2092234 1.06784E05
+ 2092235 9.84602E04
+ 2092236 5.29386E06
+ 2092238 6.19414E05
+ MIX=3
+ 11001001 5.67873E02
+ 11006000 3.54921E02
+ 11008016 1.41968E02
+ END MIXT
+ READ GEOM
+ UNIT 1
+ CYLINDER 1 9.525 2P8.89
+ CYLINDER 2 10.16 2P9.525
+ CUBOID 3 4P10.875 2P10.24
+ MEDIA 2 1 1
+ MEDIA 3 1 2 1
+ MEDIA 0 1 3 2
+ BOUNDARY 3
+ UNIT 2
+ CYLINDER 1 5.748 2P5.3825
+ CUBOID 2 4P6.59 2P6.225
+ MEDIA 1 1 1
+ MEDIA 0 1 2 1
+ BOUNDARY 2
+ UNIT 3
+ CUBOID 1 2P10.875 2P21.75 2P20.48
+ ARRAY 1 1 PLACE 1 1 1 0.0 10.875 10.24
+ BOUNDARY 1
+ UNIT 4
+ CUBOID 1 2P6.59 2P13.18 2P12.45
+ CUBOID 2 2P6.59 2P21.75 2P20.48
+ ARRAY 2 1 PLACE 1 1 1 0.0 6.59 6.225
+ MEDIA 0 1 2 1
+ BOUNDARY
+ GLOBAL UNIT 5
+ CUBOID 1 34.93 0.0 43.5 0.0 40.96 0.0
+ ARRAY 3 1 PLACE 1 1 1 6.59 21.75 20.48
+ BOUNDARY 1
+ END GEOM
+ READ ARRAY
+ ARA=1 NUX=1 NUY=2 NUZ=2 FILL F1 END FILL
+ ARA=2 NUX=1 NUY=2 NUZ=2 FILL F2 END FILL
+ GBL=3 ARA=3 NUX=2 NUY=1 NUZ=1 FILL 4 3 END FILL
+ END ARRAY
+ READ PLOT TTL='XY SLICE AT Z=10.24'
+ XUL=1.0 YUL=44.5 ZUL=10.24
+ XLR=35.93 YLR=1.0 ZLR=10.24
+ UAX=1.0 VDN=1.0 NAX=130 NCH=' *.' PIC=MIX END
+ TTL='XZ SLICE AT Y=10.875'
+ XUL=1.0 YUL=10.875 ZUL=41.96
+ XLR=35.93 YLR=10.875 ZLR=1.0
+ UAX=1.0 WDN=1.0 PIC=MIX END
+ END PLOT
+ END DATA
+ END
+
+
+A plot of an XY slice taken through the bottom layer of the array is
+shown in :numref:`fig8124`. A plot of an XZ slice taken through the +Y half
+of the array is shown in :numref:`fig8125`. These plots were used to verify
+the geometry mockup.
+
+.. _fig8124:
+.. figure:: figs/Keno/fig24.png
+ :align: center
+ :width: 400
+
+ XY plot of mixed array.
+
+.. _fig8125:
+.. figure:: figs/Keno/fig25.png
+ :align: center
+ :width: 400
+
+ XZ plot of mixed array.
+
+
+.. centered:: STORAGE ARRAY
+
+EXAMPLE 18. Consider a storage array of highly enriched uranium buttons,
+each 1 in. tall and 4 in. in diameter. These buttons are stored on
+stainless steel shelves with a centertocenter spacing of 60.96 cm
+(2 ft) between them in the Y direction, and only one button on each
+shelf in the X direction. The shelves are 0.635 cm
+(:sup:`1`/:sub:`4` in.) thick (Z dimension), 45.72 cm (18 in.) wide (X
+dimension), 609.6 cm (20 ft) long (Y dimension), and are 45.72 cm
+(18 in.) from the top of a shelf to the bottom of the shelf above it.
+Each rack of storage shelves is four shelves high, with the first shelf
+being 15.24 cm (6 in.) above the floor. The storage room is 586.56 cm
+(19.5 ft) in the X direction by 1293.44 cm (43 ft) in the Y direction
+with 365.76 cm (12 ft. ) ceilings in the Z direction. The walls,
+ceiling, and floor are composed of concrete, 30.48 cm (1 ft) thick. All
+the aisles between the storage racks are 91.44 cm (3 ft) wide. The racks
+are arranged with their length in the Y direction and an aisle between
+them. The arrays of racks are arranged with two in the Y direction and
+five in the X direction. Mixture 1 is the uranium metal, mixture 2 is
+the stainless steel, and mixture 3 is the concrete.
+
+The metal button and its centertocenter spacing are described first.
+The void vertical spacing has arbitrarily been chosen to extend from the
+bottom of the button to the next shelf above the button. The shelf of
+stainless steel is described under the button.
+
+KENO V.a:
+
+::
+
+ UNIT 1
+ COM='METAL BUTTONS'
+ CYLINDER 1 1 5.08 2.54 0.0
+ CUBOID 0 1 2P22.86 2P30.48 45.72 0.0
+ CUBOID 2 1 2P22.86 2P30.48 45.72 0.635
+
+KENOVI:
+
+::
+
+ UNIT 1
+ CYLINDER 1 5.08 2.54 0.0
+ CUBOID 2 2P22.86 2P30.48 45.72 0.0
+ CUBOID 3 2P22.86 2P30.48 45.72 0.635
+ MEDIA 1 1 1
+ MEDIA 0 1 2 1
+ MEDIA 2 1 3 2
+ BOUNDARY 3
+
+**ARRAY** 1 creates an **ARRAY** of these buttons that fills one shelf.
+**UNIT** 2 then contains one of the shelves shown in :numref:`fig8126`.
+
+.. _fig8126:
+.. figure:: figs/Keno/fig26.png
+ :align: center
+ :width: 400
+
+ Two racks of uranium buttons.
+
+KENO V.a:
+
+::
+
+ ARA=1 COM='SINGLE SHELF CONTAINING 10 METAL BUTTONS'
+ NUX=1 NUY=10 NUZ=1 FILL F1 END FILL
+
+ UNIT 2
+ COM='SINGLE SHELF (1 X 10 X 1 ARRAY OF METAL BUTTONS ON A SHELF)'
+ ARRAY 1 3*0.0
+
+KENOVI:
+
+::
+
+ ARA=1 NUX=1 NUY=10 NUZ=1 FILL F1 END FILL
+
+ UNIT 2
+ CUBOID 1 45.72 0.0 609.60 0.0 46.355 0.0
+ ARRAY 1 1 PLACE 1 1 1 22.86 30.48 0.635
+ BOUNDARY 1
+
+.. note:: The origin of **UNIT** 2 is on the bottom of the bottom shelf; it
+ has been moved from the bottom of the button. The X and Y position of
+ the origin is at the front, lefthand corner of the bottom of this
+ lowest shelf.
+
+Stack four **UNIT** 2s vertically to obtain one of the racks shown in
+:numref:`fig8126`. One rack is defined by array 2.
+
+ **ARA**\ =2 **COM**\ ='SINGLE RACK OF 4 SHELVES'
+
+ **NUX**\ =1 **NUY**\ =1 **NUZ**\ =4 **FILL** F2 **END FILL**
+
+Generate a **UNIT** 3 that contains a rack of shelves and a **UNIT** 4
+that is the aisle between the ends of the two racks in the Y direction.
+
+KENO V.a:
+
+::
+
+ UNIT 3
+ COM='SINGLE RACK (4 SHELVES TALL)'
+ ARRAY 2 3*0.0
+
+ UNIT 4
+ COM='CENTRAL AISLE UNIT SAME HEIGHT AS 4 SHELVES'
+ CUBOID 0 1 2P22.86 2P45.72 185.42 0.0
+
+KENOVI:
+
+::
+
+ UNIT 3
+ CUBOID 1 45.72 0.0 609.60 0.0 185.42 0.0
+ ARRAY 2 1 PLACE 1 1 1 3*0.0
+ BOUNDARY 1
+ UNIT 4
+ CUBOID 1 2P22.86 2P45.72 185.42 0.0
+ MEDIA 0 1 1
+ BOUNDARY 1
+
+Stack **UNIT**\ s 3 and 4 together in the Y direction to create
+**UNIT** 5 which contains both racks in the Y direction and the aisle
+between them. This configuration is shown in :numref:`fig8126`.
+
+KENO V.a:
+
+::
+
+ ARA=3 COM='TWO RACKS END TO END WITH CENTRAL AISLE'
+ NUX=1 NUY=3 NUZ=1 FILL 3 4 3 END FILL
+
+ UNIT 5
+ COM='SET OF TWO RACKS END TO END SEPARATED BY THE CENTRAL AISLE'
+ ARRAY 3 3*0.0
+
+KENOVI:
+
+::
+
+ ARA=3 NUX=1 NUY=3 NUZ=1 FILL 3 4 3 END FILL
+
+ UNIT 5
+ CUBOID 1 45.72 0.0 1310.64 0.0 185.42 0.0
+ ARRAY 3 1 PLACE 1 1 1 3*0.0
+ BOUNDARY 1
+
+Create a **UNIT** 6, which is an aisle 91.44 cm (3 ft) wide in the
+X direction and 1310.64 cm (43 ft) in the Y direction (full length of
+the room).
+
+KENO V.a:
+
+::
+
+ UNIT 6
+ COM='AISLE BETWEEN ADJACENT SETS OF TWO RACKS & CENTRAL AISLE (UNITS 5)' CUBOID 0 1 91.44 0.0 1310.64 0.0 185.42 0.0
+
+KENOVI:
+
+::
+
+ UNIT 6
+ CUBOID 1 91.44 0.0 1310.64 0.0 185.42 0.0
+ MEDIA 0 1 1
+ BOUNDARY 1
+
+
+Stack **UNIT**\ s 5 and 6 in the X direction to achieve the array of
+racks in the room. Then put the 6 in. spacing below the bottom of the
+racks, the spacing between the top of the top rack and the ceiling, and
+add the concrete floor, walls, and ceiling around the array. **ARRAY** 4
+describes the array of racks in the room. **ARRAY** record (first
+**CUBOID** description in KENOVI) encompasses this **ARRAY**, and the
+first **REFLECTOR** (second **CUBOID** in KENOVI) descriptions are used
+to add the spacing between the top rack and the ceiling. The last two
+**REFLECTOR** (**CUBOID**\ s 3 through 9 in KENOVI) descriptions add
+the ceiling, walls, and floor in 5.0 cm increments to bias the concrete.
+A perspective of the room is shown in :numref:`fig8127`.
+
+KENO V.a:
+
+::
+
+ ARA=4 COM='ENTIRE STORAGE ARRAY'
+ NUX=9 NUY=1 NUZ=1 FILL 5 6 3Q2 5 END FILL
+ GLOBAL
+ UNIT 7
+ COM='STORAGE ARRAY IN THE ROOM WITH WALLS, FLOOR AND CEILING'
+ ARRAY 4 3*0.0
+ REFLECTOR 0 1 4*0.0 165.1 15.24 1
+ REFLECTOR 3 2 6*5.0 6
+ REFLECTOR 3 8 6*0.48 1
+
+KENOVI:
+
+::
+
+ GBL=4 ARA=4 NUX=9 NUY=1 NUZ=1 FILL 5 6 3Q2 5 END FILL
+
+ GLOBAL UNIT 7
+ CUBOID 1 594.36 0.0 1310.64 0.0 185.42 0.0
+ CUBOID 2 594.36 0.0 1310.64 0.0 350.52 15.24
+ CUBOID 3 599.36 5.00 1315.64 5.00 355.52 20.24
+ CUBOID 4 604.36 10.00 1320.64 10.00 360.52 25.24
+ CUBOID 5 609.36 15.00 1325.64 15.00 365.52 30.24
+ CUBOID 6 614.36 20.00 1330.64 20.00 370.52 35.24
+ CUBOID 7 619.36 25.00 1335.64 25.00 375.52 40.24
+ CUBOID 8 624.36 30.00 1340.64 30.00 380.52 45.24
+ CUBOID 9 624.84 30.48 1341.12 30.48 381.00 45.72
+ ARRAY 4 1 PLACE 1 1 1 3*0.0
+ MEDIA 0 1 2 1
+ MEDIA 3 2 3 2
+ MEDIA 3 3 4 3
+ MEDIA 3 4 5 4
+ MEDIA 3 5 6 5
+ MEDIA 3 6 7 6
+ MEDIA 3 7 8 7
+ MEDIA 3 8 9 8
+ BOUNDARY 9
+
+.. _fig8127:
+.. figure:: figs/Keno/fig27.png
+ :align: center
+ :width: 400
+
+ Entire storage array in the room.
+
+The complete input for this room is given below: The plots for this
+problem must be quite large in order to see all the detail because the
+array is sparse and the shelves are thin. Therefore, the plots for this
+system are not included as Fig.s. The user can generate the plots if it
+is desirable to see them. The nuclide IDs used in this problem are for
+the 16group HansenRoach working format library, which is no longer
+distributed with SCALE.
+
+KENO V.a:
+
+::
+
+ =KENO5A
+ STORAGE ARRAY
+ READ PARAMETERS FDN=YES LIB=41
+ END PARAMETERS
+ READ MIXT SCT=1 MIX=1 92500 4.48006e2 92800 2.6578e3 92400 4.827e4
+ 92600 9.57e5 MIX=2 200 1.0 MIX=3 301 1 END MIXT
+ READ GEOMETRY
+ UNIT 1
+ COM='METAL BUTTONS'
+ CYLINDER 1 1 5.08 2.54 0.0
+ CUBOID 0 1 2P22.86 2P30.48 45.72 0.0
+ CUBOID 2 1 2P22.86 2P30.48 45.72 0.635
+ UNIT 2
+ COM='SINGLE SHELF (1 X 10 X 1 ARRAY OF METAL BUTTONS ON A SHELF)'
+ ARRAY 1 3*0.0
+ UNIT 3
+ COM='SINGLE RACK (4 SHELVES TALL)'
+ ARRAY 2 3*0.0
+ UNIT 4
+ COM='CENTRAL AISLE UNIT SAME HEIGHT AS 4 SHELVES'
+ CUBOID 0 1 2P22.86 2P45.72 185.42 0.0
+ UNIT 5
+ COM='SET OF TWO RACKS END TO END SEPARATED BY THE CENTRAL AISLE'
+ ARRAY 3 3*0.0
+ UNIT 6
+ COM='AISLE BETWEEN ADJACENT SETS OF TWO RACKS & CENTRAL AISLE (UNITS 5)'
+ CUBOID 0 1 91.44 0.0 1310.64 0.0 185.42 0.0
+ GLOBAL
+ UNIT 7
+ COM='STORAGE ARRAY IN THE ROOM WITH WALLS, FLOOR AND CEILING'
+ ARRAY 4 3*0.0
+ REFLECTOR 0 1 4*0.0 165.1 15.24 1
+ REFLECTOR 3 2 6*5.0 6
+ REFLECTOR 3 8 6*0.48 1
+ END GEOMETRY
+ READ ARRAY
+ ARA=1 COM='SINGLE SHELF CONTAINING 10 METAL BUTTONS'
+ NUX=1 NUY=10 NUZ=1 FILL F1 END FILL
+ ARA=2 COM='SINGLE RACK OF 4 SHELVES'
+ NUX=1 NUY=1 NUZ=4 FILL F2 END FILL
+ ARA=3 COM='TWO RACKS END TO END WITH CENTRAL AISLE'
+ NUX=1 NUY=3 NUZ=1 FILL 3 4 3 END FILL
+ ARA=4 COM='ENTIRE STORAGE ARRAY'
+ NUX=9 NUY=1 NUZ=1 FILL 5 6 3Q2 5 END FILL
+ END ARRAY
+ READ BIAS ID=301 2 8 END BIAS
+ READ START NST=5 NBX=5 END START
+ READ PLOT TTL='XZ SLICE AT Y=30.48 WITH Z ACROSS AND X DOWN'
+ XUL=594.8 YUL=30.48 ZUL=1.0 XLR=0.5 YLR=30.48 ZLR=186.0
+ WAX=1.0 UDN=1.0 NAX=640 END
+ TTL='YZ SLICE OF LEFT RACKS, X=22.86 WITH Z ACROSS AND Y DOWN'
+ XUL=22.86 YUL=1311.0 ZUL=0.5 XLR=22.86 YLR=3.0 ZLR=186.0
+ WAX=1.0 VDN=1.0 NAX=640 END
+ TTL='XY SLICE OF ROOM THROUGH SHELF Z=0.3175 WITH X ACROSS AND Y DOWN'
+ XUL=1.0 YUL=1312.0 ZUL=0.3175 XLR=596.0 YLR=2.5 ZLR=0.3175
+ UAX=1.0 VDN=1.0 NAX=320 END
+ END PLOT
+ END DATA
+ END
+
+KENOVI:
+
+::
+
+ =KENOVI
+ STORAGE ARRAY
+ READ PARAMETERS FDN=YES LIB=41 END PARAMETERS
+ READ MIXT SCT=1
+ MIX=1 92500 4.48006e2 92800 2.6578e3 92400 4.827e4 92600 9.57e5
+ MIX=2 200 1.0 MIX=3 301 1
+ END MIXT
+ READ GEOMETRY
+ UNIT 1
+ CYLINDER 1 5.08 2.54 0.0
+ CUBOID 2 2P22.86 2P30.48 45.72 0.0
+ CUBOID 3 2P22.86 2P30.48 45.72 .635
+ MEDIA 1 1 1
+ MEDIA 0 1 2 1
+ MEDIA 2 1 3 2
+ BOUNDARY 3
+ UNIT 2
+ CUBOID 1 45.72 0.0 609.60 0.0 46.355 0.0
+ ARRAY 1 1 PLACE 1 1 1 22.86 30.48 0.635
+ BOUNDARY 1
+ UNIT 3
+ CUBOID 1 45.72 0.0 609.60 0.0 185.42 0.0
+ ARRAY 2 1 PLACE 1 1 1 3*0.0
+ BOUNDARY 1
+ UNIT 4
+ CUBOID 1 2P22.86 2P45.72 185.42 0.0
+ MEDIA 0 1 1
+ BOUNDARY 1
+ UNIT 5
+ CUBOID 1 45.72 0.0 1310.64 0.0 185.42 0.0
+ ARRAY 3 1 PLACE 1 1 1 3*0.0
+ BOUNDARY 1
+ UNIT 6
+ CUBOID 1 91.44 0.0 1310.64 0.0 185.42 0.0
+ MEDIA 0 1 1
+ BOUNDARY 1
+ GLOBAL UNIT 7
+ CUBOID 1 594.36 0.0 1310.64 0.0 185.42 0.0
+ CUBOID 2 594.36 0.0 1310.64 0.0 350.52 15.24
+ CUBOID 3 599.36 5.00 1315.64 5.00 355.52 20.24
+ CUBOID 4 604.36 10.00 1320.64 10.00 360.52 25.24
+ CUBOID 5 609.36 15.00 1325.64 15.00 365.52 30.24
+ CUBOID 6 614.36 20.00 1330.64 20.00 370.52 35.24
+ CUBOID 7 619.36 25.00 1335.64 25.00 375.52 40.24
+ CUBOID 8 624.36 30.00 1340.64 30.00 380.52 45.24
+ CUBOID 9 624.84 30.48 1341.12 30.48 381.00 45.72
+ ARRAY 4 1 PLACE 1 1 1 3*0.0
+ MEDIA 0 1 2 1
+ MEDIA 3 2 3 2
+ MEDIA 3 3 4 3
+ MEDIA 3 4 5 4
+ MEDIA 3 5 6 5
+ MEDIA 3 6 7 6
+ MEDIA 3 7 8 7
+ MEDIA 3 8 9 8
+ BOUNDARY 9
+ END GEOMETRY
+ READ ARRAY
+ ARA=1 NUX=1 NUY=10 NUZ=1 FILL F1 END FILL
+ ARA=2 NUX=1 NUY=1 NUZ=4 FILL F2 END FILL
+ ARA=3 NUX=1 NUY=3 NUZ=1 FILL 3 4 3 END FILL
+ GBL=4 ARA=4 NUX=9 NUY=1 NUZ=1 FILL 5 6 3Q2 5 END FILL
+ END ARRAY
+ READ BIAS ID=301 2 8 END BIAS
+ READ START NST=5 NBX=5 END START
+ READ PLOT PLT=YES TTL='XZ SLICE AT Y=30.48 WITH Z ACROSS AND X DOWN'
+ XUL=594.8 YUL=30.48 ZUL=1.0 XLR=0.5 YLR=30.48 ZLR=186.0
+ WAX=1.0 UDN=1.0 NAX=640 END
+ TTL='YZ SLICE OF LEFT RACKS, X=22.86 WITH Z ACROSS AND Y DOWN'
+ XUL=22.86 YUL=1311.0 ZUL=0.5 XLR=22.86 YLR=3.0 ZLR=186.0
+ WAX=1.0 VDN=1.0 NAX=640 END
+ TTL='XY SLICE OF ROOM THROUGH SHELF Z=0.3175 WITH X ACROSS AND Y DOWN'
+ XUL=1.0 YUL=1312.0 ZUL=0.3175 XLR=596.0 YLR=2.5 ZLR=0.3175
+ UAX=1.0 VDN=1.0 NAX=320 END
+ END PLOT
+ END DATA
+ END
+
+.. _81364:
+
+Arrays and holes
+^^^^^^^^^^^^^^^^
+
+:ref:`81361` and :ref:`81362` describe the use of **HOLE**\ s, and
+:ref:`81363` describes multiple **ARRAY**\ s and **ARRAY**\ s of
+**ARRAY**\ s. **HOLE**\ s can be used to place **ARRAY**\ s at locations
+in other **UNIT**\ s. This section contains examples to illustrate the
+combined use of **ARRAY**\ s and **HOLE**\ s.
+
+.. centered:: EXAMPLE 19. A SIMPLE CASK
+
+
+This example consists of cylindrical mild steel container with an inside
+radius of 4.15 cm and a radial wall thickness of 0.45 cm. The thickness
+of the ends of the container is 1.27 cm, and the inside height is
+10.1 cm. Highly enriched uranium rods 1 cm in diameter and 10 cm long
+are banded together into square bundles of four. These bundles are then
+positioned in the mild steel container as shown in Fig. 8.1.28. The rods
+sit on the floor of the container and have a 0.1 cm gap between their
+tops and the top of the container.
+
+.. _fig8128:
+.. figure:: figs/Keno/fig28.png
+ :align: center
+ :width: 400
+
+ Uranium rods in a cylindrical container.
+
+To generate the geometry description for this system, **UNIT** 1 is
+defined as one uranium rod and its associated squarepitch closepacked
+spacing region.
+
+KENO V.a:
+
+::
+
+ UNIT 1
+ CYLINDER 1 1 0.5 2P5.0
+ CUBOID 0 1 4P0.5 2P5.0
+
+KENOVI:
+
+::
+
+ UNIT 1
+ CYLINDER 1 0.5 2P5.0
+ CUBOID 2 4P0.5 2P5.0
+ MEDIA 1 1 1
+ MEDIA 0 1 2 1
+ BOUNDARY 2
+
+From here, the geometry description diverges between KENO V.a and KENOVI.
+
+KENO V.a:
+
+**ARRAY** 1 is defined to be the central square **ARRAY** consisting of
+four bundles of rods.
+
+ **ARA**\ =1 **NUX**\ =4 **NUY**\ =4 **NUZ**\ =1 **FILL** F1 **END
+ FILL**
+
+**ARRAY** 2 is defined to be a bundle of four rods.
+
+ **ARA**\ =2 **NUX**\ =2 **NUY**\ =2 **NUZ**\ =1 **FILL** F1 **END
+ FILL**
+
+**ARRAY** 2 is placed in **UNIT** 2. This defines the outer boundaries
+of an imaginary **CUBOID** that contains the **ARRAY**. It is convenient
+to have the origin of the **ARRAY** at its center, so the most negative
+point of the array will be (−1, −1,−5).
+
+ UNIT 2
+ ARRAY 2 1.0 1.0 5.0
+
+An **ARRAY** record is used to place **ARRAY** 1 in the **GLOBAL UNIT**.
+Then the cylindrical container is described around it and **HOLE**\ s
+are used to place the four outer bundles around the central **ARRAY**.
+
+::
+
+ GLOBAL UNIT 3
+ ARRAY 1 2.0 2.0 5.0
+ CYLINDER 0 1 4.15 5.1 5.0
+ HOLE 2 0.0 3.0 0.0
+ HOLE 2 3.0 0.0 0.0
+ HOLE 2 0.0 3.0 0.0
+ HOLE 2 3.0 0.0 0.0
+ CYLINDER 2 1 4.6 6.37 6.27
+
+The first **HOLE** places the bottom bundle of four rods, the second
+**HOLE** places the bundle of four rods at the right, the third **HOLE**
+places the top bundle of rods and the fourth **HOLE** places the left
+bundle of rods.
+
+KENOVI:
+
+Define **UNIT** 2 to be a void **CUBOID** with the same square pitch as
+the rod square pitch.
+
+ **UNIT** 2
+
+ **CUBOID** 1 4P0.5 2P5.0
+
+ **MEDIA** 0 1 1
+
+ **BOUNDARY** 1
+
+**ARRAY** 1 is defined to be the central square 10 × 10 **ARRAY**
+consisting of 32 rods and 68 void positions that can be used to
+represent the array shown in :numref:`fig8128`.
+
+ **ARA**\ =1 **NUX**\ =10 **NUY**\ =10 **NUZ**\ =1 **FILL** 14*2 1 1
+ 8*2 1 1 7*2 4*1 4*2 8*1 2 2 8*1 4*2 4*1 7*2 1 1 8*2 1 1 14*2 **END
+ FILL**
+
+**ARRAY** 1 is placed in **UNIT** 3. The first **CYLINDER** card defines
+the **ARRAY** **BOUNDARY**. Everything external to this boundary is not
+considered part of the problem. The positions in the **ARRAY** that do
+not contain rods are filled with cuboids consisting of void. The
+**ARRAY** boundary must either coincide with the outer boundary of the
+**ARRAY** or be contained within the **ARRAY**. An exterior void region
+is placed around the array boundary to coincide with the size of the
+interior radius of the container. The 10 × 10 **ARRAY** with the
+**ARRAY** boundary is shown in :numref:`fig8129`.
+
+::
+
+ UNIT 3
+ CYLINDER 1 4.15 5.0 5.0
+ CYLINDER 2 4.15 5.1 5.0
+ ARRAY 1 1 PLACE 5 5 1 0.5 0.5 0.0
+ MEDIA 0 1 2 1
+ BOUNDARY 2
+
+.. _fig8129:
+.. figure:: figs/Keno/fig29.png
+ :align: center
+ :width: 400
+
+ The 10 × 10 array of 32 uranium rods and 68 void cuboids with the array boundary.
+
+The **UNIT** containing the **ARRAY** is now placed within the global
+unit using a **HOLE** content record. The location of the **HOLE** is
+determined using **ORIGIN** data to match the origin of the **UNIT** in
+the **HOLE** with an X, Y, Z position in the surrounding **UNIT**. In
+this problem, the origin of the **UNIT** must be at position (0,0,0).
+Since only nonzero data must be entered, **ORIGIN** data are not needed
+for this problem. The boundary region consists of the steel container.
+
+::
+
+ GLOBAL UNIT 4
+ CYLINDER 2 4.6 6.37 6.27
+ HOLE 3 ORIGIN X=0.0 Y=0.0 Z=0.0
+ MEDIA 2 1 2
+ BOUNDARY 2
+
+The overall problem description is shown below. Two of the color plots
+used for verification of this mockup are shown in :numref:`fig8130` and
+:numref:`fig8131`. The black outside border of the two color plots indicates
+volume outside the global unit. The plot can be extended just outside
+the global unit boundary to ensure that the entire problem is included
+in the plot. This results in a black area surrounding the actual
+problem.
+
+KENO V.a:
+
+::
+
+ =KENOVA
+ CASK ARRAY
+ READ PARAMETERS FDN=YES LIB=41 GEN=10
+ END PARAMETERS
+ READ MIXT SCT=1 MIX=1 92500 4.48006e2 92800 2.6578e3 92400 4.827e4
+ 92600 9.57e5 MIX=2 100 1.0 END MIXT
+ READ GEOMETRY
+ UNIT 1
+ CYLINDER 1 1 0.5 2P5.0
+ CUBOID 0 1 4P0.5 2P5.0
+ UNIT 2
+ ARRAY 2 1.0 1.0 5.0
+ GLOBAL UNIT 3
+ ARRAY 1 2.0 2.0 5.0
+ CYLINDER 0 1 4.15 5.1 5.0
+ HOLE 2 0.0 3.0 0.0
+ HOLE 2 3.0 0.0 0.0
+ HOLE 2 0.0 3.0 0.0
+ HOLE 2 3.0 0.0 0.0
+ CYLINDER 2 1 4.6 6.37 6.27
+ END GEOM
+ READ ARRAY
+ ARA=1 NUX=4 NUY=4 NUZ=1 FILL F1 END FILL
+ ARA=2 NUX=2 NUY=2 NUZ=1 FILL F1 END FILL
+ END ARRAY
+ READ PLOT TTL='XZ SLICE AT Y=0.25 WITH X ACROSS AND Z DOWN'
+ XUL=5.0 YUL=0.25 ZUL=6.5 XLR=5.0 YLR=0.25 ZLR=6.5
+ UAX=1.0 WDN=1.0 NAX=640 END
+ TTL='XY SLICE AT Z=0.0 WITH X ACROSS AND Y DOWN'
+ XUL=5.0 YUL=5.0 ZUL=0.0 XLR=5.0 YLR=5.0 ZLR=0.0
+ UAX=1.0 VDN=1.0 NAX=640 END
+ END PLOT
+ END DATA
+ END
+
+KENOVI:
+
+::
+
+ KENO VI
+ CASK ARRAY
+ READ PARAMETERS TME=1.0 FDN=YES LIB=41 GEN=10 END PARAMETERS
+ READ MIXT SCT=1
+ MIX=1 92500 4.48006e2 92800 2.6578e3 92400 4.827e4 92600 9.57e5
+ MIX=2 100 1.0 END MIXT
+ READ GEOMETRY
+ UNIT 1
+ CYLINDER 1 0.5 2P5.0
+ CUBOID 2 4P0.5 2P5.0
+ MEDIA 1 1 1
+ MEDIA 0 1 2 1
+ BOUNDARY 2
+ UNIT 2
+ CUBOID 1 4P0.5 2P5.0
+ MEDIA 0 1 1
+ BOUNDARY 1
+ UNIT 3
+ CYLINDER 1 4.15 5.0 5.0
+ CYLINDER 2 4.15 5.1 5.0
+ ARRAY 1 1 PLACE 5 5 1 0.5 0.5 0.0
+ MEDIA 0 1 2 1
+ BOUNDARY 2
+ GLOBAL UNIT 4
+ CYLINDER 2 4.6 6.37 6.27
+ HOLE 3 ORIGIN X=0.0 Y=0.0 Z=0.0
+ MEDIA 2 1 2
+ BOUNDARY 2
+ END GEOM
+ READ ARRAY
+ ARA=1 NUX=10 NUY=10 NUZ=1 FILL 14*2 1 1 8*2 1 1 7*2 4*1 4*2 8*1 2 2 8*1 4*2 4*1 7*2 1 1
+ 8*2 1 1 14*2 END FILL
+ END ARRAY
+ READ PLOT TTL='XZ SLICE AT Y=0.25 WITH X ACROSS AND Z DOWN'
+ XUL=5.0 YUL=0.25 ZUL=6.5 XLR=5.0 YLR=0.25 ZLR=6.5
+ UAX=1.0 WDN=1.0 NAX=640 END
+ TTL='XY SLICE AT Z=0.0 WITH X ACROSS AND Y DOWN'
+ XUL=5.0 YUL=5.0 ZUL=0.0 XLR=5.0 YLR=5.0 ZLR=0.0
+ UAX=1.0 VDN=1.0 NAX=640 END
+ END PLOT
+ END DATA
+ END
+ =
+
+.. _fig8130:
+.. figure:: figs/Keno/fig30.png
+ :align: center
+ :width: 400
+
+ XY slice of uranium rods in a cylindrical container.
+
+.. _fig8131:
+.. figure:: figs/Keno/fig31.png
+ :align: center
+ :width: 400
+
+ XZ slice of uranium rods in a cylindrical container.
+
+.. centered:: EXAMPLE 20. A TYPICAL PRESSURIZED WATER REACTOR (PWR) SHIPPING CASK
+
+A typical PWR shipping cask is illustrated in :numref:`fig8132`. The interior
+and exterior shell of the cask is carbon steel (mixture 7), and a
+depleted uranium gamma shield (mixture 6) is present in the annulus
+between the steel layers. The shipping cask contains seven PWR fuel
+assemblies. Each assembly is a 17 × 17 **ARRAY** of fuel rods with water
+holes. Each assembly is contained in a stainless steel (mixture 5) box.
+Each fuel rod is composed of 4% enriched UO\ :sub:`2` (mixture 1) clad
+with Zircaloy (mixture 2). Rods of B\ :sub:`4`\ C clad (mixture 4) with
+stainless steel are positioned between the fuel assemblies. The entire
+cask is filled with water (mixture 3).
+
+.. _fig8132:
+.. figure:: figs/Keno/fig32.png
+ :align: center
+ :width: 400
+
+ Typical PWR shipping cask.
+
+To describe the geometry of the cask, some simple units are defined as
+shown in :numref:`fig8133`. **UNIT** 1 represents a fuel rod and its
+associated square pitch spacing region. **UNIT** 2 represents a water
+hole in a fuel assembly. **UNIT**\ s 3, 4, and 6 represent the
+B\ :sub:`4`\ C rods with their various spacings, and **UNIT** 5 is a
+water hole that is used in association with some of the B\ :sub:`4`\ C
+rods.
+
+.. _fig8133:
+.. figure:: figs/Keno/fig33.png
+ :align: center
+ :width: 400
+
+ Simple units.
+
+KENO V.a:
+
+::
+
+ UNIT 1
+ CYLINDER 1 1 .41148 365.76 0.0
+ CYLINDER 2 1 .48133 365.76 0.0
+ CUBOID 3 1 .63754 .63754 .63754 .63754 365.76 0.0
+
+ UNIT 2
+ CUBOID 3 1 .63754 .63754 .63754 .63754 365.76 0.0
+
+
+ UNIT 3
+ CYLINDER 4 1 .584 365.76 0.0
+ CYLINDER 5 1 .635 365.76 0.0
+ CUBOID 3 1 .9912 .9912 2.2352 1.27 365.76 0.0
+
+ UNIT 4
+ CYLINDER 4 1 .584 365.76 0.0
+ CYLINDER 5 1 .635 365.76 0.0
+ CUBOID 3 1 .9912 .9912 1.2702 2.235 365.76 0.0
+
+ UNIT 5
+ CUBOID 3 1 .9912 .9912 1.7526 1.7526 365.76 0.0
+
+ UNIT 6
+ CYLINDER 4 1 .584 365.76 0.0
+ CYLINDER 5 1 .635 365.76 0.0
+ CUBOID 3 1 1.1875215 1.1875215 1.883706 1.883706 365.76 0.0
+
+KENOVI:
+
+::
+
+ UNIT 1
+ CYLINDER 1 .41148 365.76 0.0
+ CYLINDER 2 .48133 365.76 0.0
+ CUBOID 3 .63754 .63754 .63754 .63754 365.76 0.0
+ MEDIA 1 1 1
+ MEDIA 2 1 2 1
+ MEDIA 3 1 3 2
+ BOUNDARY 3
+
+ UNIT 2
+ CUBOID 1 .63754 .63754 .63754 .63754 365.76 0.0
+ MEDIA 3 1 1
+ BOUNDARY 1
+
+ UNIT 3
+ CYLINDER 1 .584 365.76 0.0
+ CYLINDER 2 .635 365.76 0.0
+ CUBOID 3 .9912 .9912 2.2352 1.27 365.76 0.0
+ MEDIA 4 1 1
+ MEDIA 5 1 2 1
+ MEDIA 3 1 3 2
+ BOUNDARY 3
+
+ UNIT 4
+ CYLINDER 1 .584 365.76 0.0
+ CYLINDER 2 .635 365.76 0.0
+ CUBOID 3 .9912 .9912 1.2702 2.235 365.76 0.0
+ MEDIA 4 1 1
+ MEDIA 5 1 2 1
+ MEDIA 3 1 3 2
+ BOUNDARY 3
+
+ UNIT 5
+ CUBOID 1 .9912 .9912 1.7526 1.7526 365.76 0.0
+ MEDIA 3 1 1
+ BOUNDARY 1
+
+ UNIT 6
+ CYLINDER 1 .584 365.76 0.0
+ CYLINDER 2 .635 365.76 0.0
+ CUBOID 3 1.1875215 1.1875215 1.883706 1.883706 365.76 0.0
+ MEDIA 4 1 1
+ MEDIA 5 1 2 1
+ MEDIA 3 1 3 2
+ BOUNDARY 3
+
+**UNIT**\ s 1 and 2 are stacked together into **ARRAY** 1 to form the
+**ARRAY** of fuel pins and water holes in a fuel assembly as shown in
+:numref:`fig8134`. This **ARRAY** is then encompassed with a layer of water
+and a layer of stainless steel to complete a fuel assembly in a storage
+cell (**UNIT** 7) as shown in :numref:`fig8135`.
+
+.. _fig8134:
+.. figure:: figs/Keno/fig34.png
+ :align: center
+ :width: 400
+
+ Quarter section of fuel pin array.
+
+.. _fig8135:
+.. figure:: figs/Keno/fig35.png
+ :align: center
+ :width: 400
+
+ Quarter section of fuel assembly.
+
+KENO V.a:
+
+::
+
+ ARA=1 NUX=17 NUY=17 NUZ=1 FILL
+ 39R1 2 2Q3 8R1 2 9R1 2 22R1 2 4Q3 38R1 2 4Q3
+ Q51 22R1 2 Q10 Q9 2Q3 39R1 END FILL
+
+ UNIT 7
+ ARRAY 1 10.83818 10.83818 0.0
+ CUBOID 3 1 11.112495 11.112495 11.112495 11.112495 365.76 0.0
+ CUBOID 8 1 11.302238 11.302238 11.302238 11.302238 365.76 0.0
+
+KENOVI:
+
+::
+
+ ARA=1 NUX=17 NUY=17 NUZ=1 FILL
+ 39R1 2 2Q3 8R1 2 9R1 2 22R1 2 4Q3 38R1 2 4Q3
+ Q51 22R1 2 Q10 Q9 2Q3 39R1 END FILL
+ UNIT 7
+ CUBOID 1 10.83818 10.83818 10.83818 10.83818 365.76 0.0
+ CUBOID 2 11.112495 11.112495 11.112495 11.112495 365.76 0.0
+ CUBOID 3 11.302238 11.302238 11.302238 11.302238 365.76 0.0
+ ARRAY 1 1 PLACE 9 9 1 3*0.0
+ MEDIA 3 1 2 1
+ MEDIA 5 1 3 2
+ BOUNDARY 3
+
+An array of **UNIT** 6s is created to represent the array of
+B\ :sub:`4`\ C rods that is positioned between the fuel assemblies. In
+KENO V.a, the array of B\ :sub:`4`\ C rods shown in :numref:`fig8136` is
+contained in **UNIT** 8 for further use. KENOVI geometry description
+does not need the placement of **ARRAY** 2 in a separate **UNIT**.
+
+.. _fig8136:
+.. figure:: figs/Keno/fig36.png
+ :align: center
+ :width: 100
+
+ 2 × 6 array of B\ :sub:`4`\ C rods.
+
+KENO V.a:
+
+::
+
+ ARA=2 NUX=2 NUY=6 NUZ=1 FILL F6 END FILL
+
+ UNIT 8
+ ARRAY 2 0 0 0
+
+KENOVI:
+
+::
+
+ ARA=2 NUX=2 NUY=6 NUZ=1 FILL F6 END FILL
+
+
+The next step is to create the central array of three fuel assemblies
+with B\ :sub:`4`\ C rods between them. In KENO V.a, this is done by
+stacking fuel assemblies in storage cells (**UNIT** 7) and
+B\ :sub:`4`\ C rod arrays (**UNIT** 8) into an array (**ARRAY** 3) and
+placing it in a **UNIT** (**UNIT** 9). In KENOVI description, **UNIT**
+7 (fuel assembly in storage cell) and the array of B\ :sub:`4`\ C rods
+(**ARRAY** 2) are directly placed into a **UNIT** (**UNIT** 8). The
+resultant geometry is shown in :numref:`fig8137`.
+
+
+.. _fig8137:
+.. figure:: figs/Keno/fig37.png
+ :align: center
+ :width: 400
+
+ Central array.
+
+KENO V.a:
+
+::
+
+ ARA=3 NUX=5 NUY=1 NUZ=1 FILL 7 8 7 8 7 END FILL
+
+ UNIT 9 ARRAY 3 0 0 0
+
+KENOVI:
+
+::
+
+
+ UNIT 8
+ CUBOID 4 11.302238 16.052324 11.302238 11.302238 365.76 0.0
+ CUBOID 5 16.052324 11.302238 11.302236 11.302236 365.76 0.0
+ CUBOID 6 38.052324 38.052324 11.302236 11.302236 365.76 0.0
+ HOLE 7
+ HOLE 7 ORIGIN X= 27.354562
+ HOLE 7 ORIGIN X= 27.354562
+ ARRAY 2 4 PLACE 1 1 1 14.8648025 9.418530 0.0
+ ARRAY 2 5 PLACE 1 1 1 12.4897595 9.418530 0.0
+ MEDIA 3 1 6 5 4
+ BOUNDARY 6
+
+**UNIT**\ s 3, 4, and 5 are used to define the arrays of B\ :sub:`4`\ C
+rods that fit above and below the central array, as shown in
+:numref:`fig8138`.
+
+.. _fig8138:
+.. figure:: figs/Keno/fig38.png
+ :align: center
+ :width: 400
+
+ Long B\ :sub:`4`\ C rod arrays.
+
+::
+
+ ARA=4 NUX=39 NUY=1 NUZ=1 FILL 3 5 2Q2 3 4 2Q2 5 4 3 2Q2 5 3 4 2Q2 5 4 3 2Q2 5 2Q2 3
+ END FILL
+
+ ARA=5 NUX=39 NUY=1 NUZ=1 FILL 4 5 2Q2 4 3 2Q2 5 3 4 2Q2 5 4 3 2Q2 5 3 4 2Q2 5 2Q2 4
+ END FILL
+
+In KENO V.a these **ARRAY**\ s are placed in **UNIT**\ s (**UNIT**\ s 10
+and 11) for further use.
+
+KENO V.a:
+
+::
+
+ UNIT 10 ARRAY 4 0 0 0
+
+ UNIT 11 ARRAY 5 0 0 0
+
+**UNIT**\ s 9, 10, and 11 in the KENO V.a description, or **UNIT** 8 and
+**ARRAY**\ s 3 and 4 in the KENOVI description, are stacked to form the
+central array with B\ :sub:`4`\ C rods as shown in :numref:`fig8139`.
+
+.. _fig8139:
+.. figure:: figs/Keno/fig39.png
+ :align: center
+ :width: 400
+
+ Central array with long B\ :sub:`4`\ C arrays.
+
+KENO V.a:
+
+::
+
+ ARA=6 NUX=1 NUY=3 NUZ=1 FILL 11 9 10 END FILL
+
+KENOVI:
+
+::
+
+ CUBOID 2 38.052324 38.052324 14.807436 11.302236 365.76 0.0
+ CUBOID 3 38.052324 38.052324 11.302236 14.807436 365.76 0.0
+ HOLE 8
+ ARRAY 3 2 PLACE 20 1 1 0.0 13.054836 0.0
+ ARRAY 4 3 PLACE 20 1 1 0.0 13.054836 0.0
+
+This completes the three central fuel assemblies and all the
+B\ :sub:`4`\ C rods associated with them. Next, **UNIT**\ s 7 and 8 in
+KENO V.a geometry, **UNIT** 7 and **ARRAY** 2 in the KENOVI geometry,
+are stacked together to form the array of two fuel assemblies separated
+by B\ :sub:`4`\ C rods as shown in :numref:`fig8140`. This is designated as
+**ARRAY** 7 and **UNIT** 12 in KENO V.a, and **UNIT** 9 in KENOVI. The
+origin of **UNIT** 12 for KENO V.a is specified at the center of the
+array in the X and Y directions and the bottom of the fuel assemblies
+(Z=27.94 cm). The origin of **UNIT** 9 in the KENOVI description is
+specified at the center of the B\ :sub:`4`\ C array in the X and
+Y directions and the bottom of the array in the Z direction.
+
+.. _fig8140:
+.. figure:: figs/Keno/fig40.png
+ :align: center
+ :width: 400
+
+ Two fuel assemblies and B\ :sub:`4`\ C rods.
+
+KENO V.a:
+
+::
+
+ ARA=7 NUX=3 NUY=1 NUZ=1 FILL 7 8 7 END FILL
+
+ UNIT 12 ARRAY 7 24.979519 11.302238 27.94
+
+KENOVI:
+
+::
+
+ UNIT 9
+ CUBOID 1 2.375043 2.375043 11.302236 11.302236 365.76 0.0
+ CUBOID 4 24.979519 23.7919975 11.302238 11.302238 365.76 0.0
+ ARRAY 2 1 PLACE 1 1 1 1.1875215 9.418530 0.0
+ HOLE 7 ORIGIN X=13.67728
+ HOLE 7 ORIGIN X=13.67728
+ MEDIA 0 1 4 1
+ BOUNDARY 4
+
+In KENO V.a, **UNIT** 13 is simply a cylindrical lid that fits on top of
+the shipping cask. It is described relative to the origin of the
+shipping cask and is made of depleted uranium.
+
+KENO V.a:
+
+::
+
+ UNIT 13
+ CYLINDER 6 1 47.625 457.2 449.58
+
+All necessary subassemblies that make up the shipping cask have been
+built. The shipping cask is completed by specifying the origin of the
+central section (**ARRAY** 6 in KENO V.a) (see :numref:`fig8139`) to be at the
+center of the array in X and Y and the bottom of the array in the Z
+direction. A cylinder of water defining the interior of the shipping
+cask is described around the array. In the KENO V.a geometry, a **HOLE**
+is used to place **UNIT** 12 (:numref:`fig8140`) below the array, and a second
+HOLE is used to place another **UNIT** 12 above the array. In the
+KENOVI geometry, **UNIT** 9 is placed as a **HOLE** above and below the
+central array. Then a cylinder of steel is placed around the water,
+which is in turn encased by depleted uranium. The depleted uranium is
+then contained in the outer steel cylinder of the shipping cask. In KENO
+V.a description, a third **HOLE** is used to place the depleted uranium
+lid (**UNIT** 13) on the shipping cask. This completes the shipping cask
+description of :numref:`fig8132`
+
+The geometry data for this shipping cask are shown below. The plot data
+have been included for verification of the geometry description.
+However, the plot generated by this data is quite large and is therefore
+not included in this document.
+
+KENO V.a:
+
+::
+
+ READ GEOM
+ UNIT 1
+ CYLINDER 1 1 .41148 365.76 0.0
+ CYLINDER 2 1 .48133 365.76 0.0
+ CUBOID 3 1 .63754 .63754 .63754 .63754 365.76 0.0
+ UNIT 2
+ CUBOID 3 1 .63754 .63754 .63754 .63754 365.76 0.0
+ UNIT 3
+ CYLINDER 4 1 .584 365.76 0.0
+ CYLINDER 5 1 .635 365.76 0.0
+ CUBOID 3 1 .9912 .9912 2.2352 1.27 365.76 0.0
+ UNIT 4
+ CYLINDER 4 1 .584 365.76 0.0
+ CYLINDER 5 1 .635 365.76 0.0
+ CUBOID 3 1 .9912 .9912 1.2702 2.235 365.76 0.0
+ UNIT 5
+ CUBOID 3 1 .9912 .9912 1.7526 1.7526 365.76 0.0
+ UNIT 6
+ CYLINDER 4 1 .584 365.76 0.0
+ CYLINDER 5 1 .635 365.76 0.0
+ CUBOID 3 1 1.1875215 1.1875215 1.883706 1.883706 365.76 0.0
+ UNIT 7 ARRAY 1 10.83818 10.83818 0.0
+ CUBOID 3 1 11.112495 11.112495 11.112495 11.112495 365.76 0.0
+ CUBOID 8 1 11.302238 11.302238 11.302238 11.302238 365.76 0.0
+ UNIT 8 ARRAY 2 0 0 0
+ UNIT 9 ARRAY 3 0 0 0
+ UNIT 10 ARRAY 4 0 0 0
+ UNIT 11 ARRAY 5 0 0 0
+ UNIT 12 ARRAY 7 24.979519 11.302238 27.94
+ UNIT 13
+ CYLINDER 6 1 47.625 457.2 449.58
+ ARRAY 6 38.6568 14.807438 27.94
+ CYLINDER 3 1 47.625 447.04 16.51
+ HOLE 12 0.0 26.1097 0.0
+ HOLE 12 0.0 26.1097 0.0
+ CYLINDER 7 1 48.895 447.04 13.335
+ CYLINDER 6 1 59.06 447.04 3.81
+ CYLINDER 7 1 63.01 462.28 0.0
+ HOLE 13 0.0 0.0 0.0
+ END GEOM
+ READ ARRAY
+ ARA=1 NUX=17 NUY=17 NUZ=1 FILL
+ 39R1 2 2Q3 8R1 2 9R1 2 22R1 2 4Q3 38R1 2 4Q3
+ Q51 22R1 2 Q10 Q9 2Q3 39R1 END FILL
+ ARA=2 NUX=2 NUY=6 NUZ=1 FILL F6 END FILL
+ ARA=3 NUX=5 NUY=1 NUZ=1 FILL 7 8 7 8 7 END FILL
+ ARA=4 NUX=39 NUY=1 NUZ=1 FILL 3 5 2Q2 3 4 2Q2 5 4 3 2Q2 5 3 4 2Q2
+ 5 4 3 2Q2 5 2Q2 3 END FILL
+ ARA=5 NUX=39 NUY=1 NUZ=1 FILL 4 5 2Q2 4 3 2Q2 5 3 4 2Q2 5 4 3 2Q2
+ 5 3 4 2Q2 5 2Q2 4 END FILL
+ ARA=6 NUX=1 NUY=3 NUZ=1 FILL 11 9 10 END FILL
+ ARA=7 NUX=3 NUY=1 NUZ=1 FILL 7 8 7 END FILL
+ END ARRAY
+ READ PLOT
+ TTL=? SHIPPING CASK IF300 XY SLICE ?
+ XUL=63 YUL=63 ZUL=180 XLR=63 YLR=63 ZLR=180
+ UAX=1 VDN=1 NAX=350
+ PLT=NO
+ END PLOT
+
+KENOVI:
+
+::
+
+ READ GEOM
+ UNIT 1
+ CYLINDER 1 .41148 365.76 0.0
+ CYLINDER 2 .48133 365.76 0.0
+ CUBOID 3 .63754 .63754 .63754 .63754 365.76 0.0
+ MEDIA 1 1 1
+ MEDIA 2 1 2 1
+ MEDIA 3 1 3 2
+ BOUNDARY 3
+ UNIT 2
+ CUBOID 1 .63754 .63754 .63754 .63754 365.76 0.0
+ MEDIA 3 1 1
+ BOUNDARY 1
+ UNIT 3
+ CYLINDER 1 .584 365.76 0.0
+ CYLINDER 2 .635 365.76 0.0
+ CUBOID 3 .9912 .9912 2.2352 1.27 365.76 0.0
+ MEDIA 4 1 1
+ MEDIA 5 1 2 1
+ MEDIA 3 1 3 2
+ BOUNDARY 3
+ UNIT 4
+ CYLINDER 1 .584 365.76 0.0
+ CYLINDER 2 .635 365.76 0.0
+ CUBOID 3 .9912 .9912 1.2702 2.235 365.76 0.0
+ MEDIA 4 1 1
+ MEDIA 5 1 2 1
+ MEDIA 3 1 3 2
+ BOUNDARY 3
+ UNIT 5
+ CUBOID 1 .9912 .9912 1.7526 1.7526 365.76 0.0
+ MEDIA 3 1 1
+ BOUNDARY 1
+ UNIT 6
+ CYLINDER 1 .584 365.76 0.0
+ CYLINDER 2 .635 365.76 0.0
+ CUBOID 3 1.1875215 1.1875215 1.883706 1.883706 365.76 0.0
+ MEDIA 4 1 1
+ MEDIA 5 1 2 1
+ MEDIA 3 1 3 2
+ BOUNDARY 3
+ UNIT 7
+ CUBOID 1 10.83818 10.83818 10.83818 10.83818 365.76 0.0
+ CUBOID 2 11.112495 11.112495 11.112495 11.112495 365.76 0.0
+ CUBOID 3 11.302238 11.302238 11.302238 11.302238 365.76 0.0
+ ARRAY 1 1 PLACE 9 9 1 3*0.0
+ MEDIA 3 1 2 1
+ MEDIA 8 1 3 2
+ BOUNDARY 3
+ UNIT 8
+ CUBOID 4 11.302238 16.052324 11.302238 11.302238 365.76 0.0
+ CUBOID 5 16.052324 11.302238 11.302236 11.302236 365.76 0.0
+ CUBOID 6 38.052324 38.052324 11.302236 11.302236 365.76 0.0
+ HOLE 7
+ HOLE 7 ORIGIN X= 27.354562
+ HOLE 7 ORIGIN X= 27.354562
+ ARRAY 2 4 PLACE 1 1 1 14.8648025 9.418530 0.0
+ ARRAY 2 5 PLACE 1 1 1 12.4897595 9.418530 0.0
+ MEDIA 0 1 6 5 4
+ BOUNDARY 6
+ UNIT 10
+ CUBOID 1 1.1875215 1.1875215 11.302236 11.302236 365.76 0.0
+ CUBOID 4 23.7919975 23.7919975 11.302238 11.302238 365.76 0.0
+ ARRAY 2 1 PLACE 1 1 1 3*0.0
+ HOLE 7 ORIGIN X=12.4897595
+ HOLE 7 ORIGIN X=12.4897595
+ MEDIA 0 1 4 1
+ BOUNDARY 4
+ GLOBAL UNIT 11
+ CUBOID 2 38.052324 38.052324 13.284638 11.302236 365.76 0.0
+ CUBOID 3 38.052324 38.052324 11.302236 13.284638 365.76 0.0
+ CYLINDER 6 47.625 419.10 11.43
+ CYLINDER 7 48.895 419.10 14.605
+ CYLINDER 8 59.06 419.10 24.13
+ CYLINDER 9 47.625 429.26 421.64
+ CYLINDER 10 63.01 434.34 27.94
+ HOLE 8
+ ARRAY 3 2 PLACE 20 1 1 0.0 12.293438 0.0
+ ARRAY 4 3 PLACE 20 1 1 0.0 12.293438 0.0
+ HOLE 9 ORIGIN Y=24.586876
+ HOLE 9 ORIGIN Y=24.586876
+ MEDIA 3 1 6 3 2
+ MEDIA 7 1 7 6 3 2
+ MEDIA 6 1 8 7
+ MEDIA 7 1 9
+ MEDIA 6 1 10 9 8
+ BOUNDARY 10
+ END GEOM
+ READ ARRAY
+ ARA=1 NUX=17 NUY=17 NUZ=1 FILL
+ 39R1 2 2Q3 8R1 2 9R1 2 22R1 2 4Q3 38R1 2 4Q3
+ Q51 22R1 2 Q10 Q9 2Q3 39R1 END FILL
+ ARA=2 NUX=2 NUY=6 NUZ=1 FILL F6 END FILL
+ ARA=3 NUX=5 NUY=1 NUZ=1 FILL 7 8 7 8 7 END FILL
+ ARA=4 NUX=39 NUY=1 NUZ=1 FILL 3 5 2Q2 3 4 2Q2 5 4 3 2Q2 5 3 4 2Q2
+ 5 4 3 2Q2 5 2Q2 3 END FILL
+ ARA=5 NUX=39 NUY=1 NUZ=1 FILL 4 5 2Q2 4 3 2Q2 5 3 4 2Q2 5 4 3 2Q2
+ 5 3 4 2Q2 5 2Q2 4 END FILL
+ ARA=6 NUX=1 NUY=3 NUZ=1 FILL 11 9 10 END FILL
+ ARA=7 NUX=3 NUY=1 NUZ=1 FILL 7 8 7 END FILL
+ END ARRAY
+ READ PLOT
+ TTL=? SHIPPING CASK IF300 XY SLICE ?
+ XUL=63 YUL=63 ZUL=180 XLR=63 YLR=63 ZLR=180
+ UAX=1 VDN=1 NAX=350
+ PLT=NO
+ END PLOT
+
+.. _81365:
+
+Triangular pitched arrays in KENOVI
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. centered:: EXAMPLE 21.
+
+Triangular pitched **ARRAY**\ s can be described in KENOVI
+by defining the **UNIT**\ s that make up the **ARRAY** as **HEXPRISM**
+and in the array data block setting **TYP**\ =TRIANGULAR, HEXAGONAL,
+SHEXAGONAL, or RHEXAGONAL. This includes closepacked triangular pitched
+arrays. Since the **ARRAY**\ s are constructed by stacking hexprisms,
+care must be taken to ensure that the **ARRAY** boundary is completely
+enclosed within the stacked **UNIT**. Below is an example of a
+triangular pitched **ARRAY**.
+
+The first and second **UNIT**\ s are the **HEXPRISM**\ s that make up
+the **ARRAY**. **UNIT** 1 is the fuel cell stacked in a triangular
+pitched or hexagonal lattice. **UNIT** 2 is a dummy **UNIT** used to
+fill in the **ARRAY** so the array boundary is contained within the
+stacked **UNIT**\ s. Since the **ARRAY** is not moderated, **UNIT** 2
+contains void. :numref:`fig8141` shows an XY cross section schematic of
+**UNIT**\ s 1 and 2.
+
+.. _fig8141:
+.. figure:: figs/Keno/fig41.png
+ :align: center
+ :width: 400
+
+ Fuel cell and empty cell set up as hexprisms.
+
+::
+
+ UNIT 1
+ COM='SINGLE CELL FUEL CAN IN HEXPRISM'
+ CYLINDER 10 10.16 18.288 0.0
+ CYLINDER 20 10.312 18.288 0.152
+ HEXPRISM 30 10.503 18.288 0.152
+ MEDIA 1 1 10
+ MEDIA 2 1 20 10
+ MEDIA 0 1 30 20
+ BOUNDARY 30
+ UNIT 2
+ COM='EMPTY CELL'
+ HEXPRISM 10 10.503 18.288 0.152
+ MEDIA 0 1 10
+ BOUNDARY 10
+
+**UNIT** 3 is the **GLOBAL UNIT** that contains the **ARRAY** and
+**ARRAY** **BOUNDARY**. The **ARRAY** is an unmoderated triangular
+pitched assembly of 7 cells. Unrotated triangular or hexagonal pitched
+arrays can be set up in two array configurations. The first
+configuration, selected using the **TYP**\ = followed by keyword
+**HEXAGONAL** or **TRIANGULAR**, stacks the **UNIT**\ s so that the
+faces perpendicular to the X axis meet. Each consecutive row in the Y
+direction begins ½ of the facetoface dimension farther over in the
+positive X direction than in the previous row. The second configuration,
+selected using the **TYP**\ = followed by keyword **SHEXAGONAL**, also
+stacks the **UNIT**\ s so that the faces perpendicular to the X axis
+meet. However, for this type of **ARRAY**, the odd numbered rows in the
+Y direction (1, 3, 5, etc.) begin at the left edge of the **ARRAY**, and
+the even numbered rows in the Y direction (2, 4, 6, etc.) begin ½ of the
+facetoface dimension to the right of the left edge of the **ARRAY**.
+:numref:`fig8142` and :numref:`fig8143` show XY cross section schematics of the
+assembly for the two different unrotated hexagonal **ARRAY** types.
+
+::
+
+ GLOBAL UNIT 3
+ COM='7 CYLINDERS IN A CIRCLE WITH CYLINDRICAL BOUNDARY'
+ CYLINDER 10 32.000 18.288 0.152
+ ARRAY 1 10 PLACE 3 3 1 3*0.0
+ BOUNDARY 10
+ READ ARRAY GBL=1 ARA=1 TYP=HEXAGONAL NUX=5 NUY=5 NUZ=1
+ FILL 7*2 2*1 2*2 3*1 2*2 2*1 7*2 END FILL END ARRAY
+
+.. _fig8142:
+.. figure:: figs/Keno/fig42.png
+ :align: center
+ :width: 400
+
+ Seven cylinders stacked in a HEXAGONAL array with cylindrical array boundary.
+
+.. _fig8143:
+.. figure:: figs/Keno/fig43.png
+ :align: center
+ :width: 400
+
+ Seven cylinders stacked in a SHEXAGONAL array with a cylindrical array boundary.
+
+The overall problem description is shown below. The cross section
+library would be generated in a separate CSASMG step. An XY cross
+section color plot used for verification of this mockup is shown in
+:numref:`fig8144`.
+
+.. _fig8144:
+.. figure:: figs/Keno/fig44.png
+ :align: center
+ :width: 400
+
+ XY slice of 7 cylinders in a triangular pitch array.
+
+Data description of Example 21.
+
+::
+
+ =KENOVI
+ TRIANGULAR PITCHED ARRAY 7 PINS IN A CIRCLE
+ READ PARAMETERS LNG=20000 LIB=4 END PARAMETERS
+ READ MIXT SCT=2
+ MIX=1 NCM=8 92235 1.37751E03 92238 9.92354E05 8016 3.32049E02
+ 9019 2.95349E03 1001 6.05028E02
+ MIX=2 NCM=14 13027 6.02374E02
+ END MIXT
+ READ GEOMETRY
+ UNIT 1
+ COM='SINGLE CELL FUEL CAN IN HEXPRISM'
+ CYLINDER 10 10.16 18.288 0.0
+ CYLINDER 20 10.312 18.288 0.152
+ HEXPRISM 30 10.503 18.288 0.152
+ MEDIA 1 1 10
+ MEDIA 2 1 20 10
+ MEDIA 0 1 30 20
+ BOUNDARY 30
+ UNIT 2
+ COM='EMPTY CELL'
+ HEXPRISM 10 10.503 18.288 0.152
+ MEDIA 0 1 10
+ BOUNDARY 10
+ GLOBAL UNIT 3
+ CYLINDER 10 32.000 18.288 0.152
+ COM='7 CYLINDERS IN A CIRCLE WITH CYLINDRICAL BOUNDARY'
+ ARRAY 1 10 PLACE 3 3 1 3*0.0
+ BOUNDARY 10
+ END GEOMETRY
+ READ ARRAY GBL=1 TYP=HEXAGONAL NUX=5 NUY=5 NUZ=1
+ FILL 7*2 2*1 2*2 3*1 2*2 2*1 7*2 END FILL END ARRAY
+ READ PLOT
+ TTL='TRIANGULAR PITCHED ARRAY, 7 PINS IN A CIRCLE'
+ XUL=33.0 YUL=33.0 ZUL=0.0
+ XLR=33.0 YLR=33.0 ZLR=0.0
+ UAX=1 VDN=1 NAX=640 END
+ END PLOT
+ END DATA
+ END
+
+.. centered:: EXAMPLE 21a.
+
+Another hexagonal **ARRAY** type involves stacking rotated hexprisms,
+which are hexprisms rotated 30°/ 90º so that the flat faces
+perpendicular to the Y axis now meet. Rotated hexagonal arrays are
+specified by setting **TYP**\ =\ **RHEXAGONAL** in the array data block.
+Because the **ARRAY**\ s are constructed by stacking hexprisms, care
+must be taken to ensure the array boundary is completely enclosed within
+the stacked **UNIT**. Below is an example of a rotated hexagonal pitched
+**ARRAY**.
+
+The first and second **UNIT**\ s are the rotated hexprisms that make up
+the **ARRAY**. They are specified using the geometry keyword
+**RHEXPRISM**. **UNIT** 1 is the fuel cell that is stacked in a rotated
+hexagonal lattice. **UNIT** 2 is a dummy **UNIT** used to fill in the
+**ARRAY** so that the **ARRAY BOUNDARY** is contained within the stacked
+**UNIT**\ s. Since the **ARRAY** is not moderated, **UNIT** 2 contains
+void. :numref:`fig8145` shows an XY cross section schematic of **UNIT**\ s 1
+and 2.
+
+
+.. _fig8145:
+.. figure:: figs/Keno/fig45.png
+ :align: center
+ :width: 400
+
+ Fuel cell and empty cell set up as rotated hexprism (RHEXPRISM).
+
+::
+
+ UNIT 1
+ COM='SINGLE CELL FUEL CAN IN HEXPRISM'
+ CYLINDER 10 10.16 18.288 0.0
+ CYLINDER 20 10.312 18.288 0.152
+ RHEXPRISM 30 10.503 18.288 0.152
+ MEDIA 1 1 10
+ MEDIA 2 1 20 10
+ MEDIA 0 1 30 20
+ BOUNDARY 30
+ UNIT 2
+ COM='EMPTY CELL'
+ RHEXPRISM 10 10.503 18.288 0.152
+ MEDIA 0 1 10
+ BOUNDARY 10
+
+**UNIT** 3 is the **GLOBAL UNIT** that contains the **ARRAY** and
+**ARRAY BOUNDARY**. The **ARRAY** is an unmoderated rotated hexagonal
+pitched assembly of 7 cells. The rotated hexagonal array type is
+specified in the array data block using **TYP**\ = with the keyword
+**RHEXAGONAL**. This **ARRAY** type stacks the **UNIT**\ s so the faces
+perpendicular to the Y axis meet. In the odd numbered columns (i.e., 1,
+3, 5, etc.), the **UNIT**\ s are stacked so the columns begin at the
+lower edge of the array and in the even numbered columns (i.e., 2, 4, 6,
+etc.), the **UNIT**\ s are stacked so the columns begin ½ of the
+facetoface dimension above the lower edge of the **ARRAY**.
+:numref:`fig8146` shows the XY cross section schematic of the assembly for
+the rotated hexagonal **ARRAY** type.
+
+.. _fig8146:
+.. figure:: figs/Keno/fig46.png
+ :align: center
+ :width: 400
+
+ Seven cylinders stacked in a RHEXAGONAL array with a cylindrical array boundary.
+
+::
+
+ GLOBAL UNIT 3
+ COM='7 CYLINDERS IN A CIRCLE WITH CYLINDRICAL BOUNDARY'
+ CYLINDER 10 32.000 18.288 0.152
+ ARRAY 1 10 PLACE 3 3 1 3*0.0
+ BOUNDARY 10
+ READ ARRAY GBL=1 ARA=1 TYP=RHEXAGONAL NUX=5 NUY=5 NUZ=1
+ FILL 6*2 3*1 2*2 3*1 3*2 1*1 7*2 END FILL END ARRAY
+
+The overall problem description is shown below. The cross section
+library would be generated in a separate CSASMG step. An XY cross
+section color plot used for verification of this mockup is shown in
+:numref:`fig8147`.
+
+.. _fig8147:
+.. figure:: figs/Keno/fig47.png
+ :align: center
+ :width: 400
+
+ XY slice of 7 cylinders in a rotated hexagonal pitched array.
+
+Data description of Example 21a.
+
+::
+
+ =KENOVI
+ TRIANGULAR PITCHED ARRAY 7 PINS IN A CIRCLE
+ READ PARAMETERS LNG=20000 LIB=4 END PARAMETERS
+ READ MIXT SCT=2
+ MIX=1 NCM=8 92235 1.37751E03 92238 9.92354E05 8016 3.32049E02
+ 9019 2.95349E03 1001 6.05028E02
+ MIX=2 NCM=14 13027 6.02374E02
+ END MIXT
+ READ GEOMETRY
+ UNIT 1
+ COM='SINGLE CELL FUEL CAN IN HEXPRISM'
+ CYLINDER 10 10.16 18.288 0.0
+ CYLINDER 20 10.312 18.288 0.152
+ RHEXPRISM 30 10.503 18.288 0.152
+ MEDIA 1 1 10
+ MEDIA 2 1 20 10
+ MEDIA 0 1 30 20
+ BOUNDARY 30
+ UNIT 2
+ COM='EMPTY CELL'
+ RHEXPRISM 10 10.503 18.288 0.152
+ MEDIA 0 1 10
+ BOUNDARY 10
+ GLOBAL UNIT 3
+ CYLINDER 10 32.000 18.288 0.152
+ COM='7 CYLINDERS IN A CIRCLE WITH CYLINDRICAL BOUNDARY'
+ ARRAY 1 10 PLACE 3 3 1 3*0.0
+ BOUNDARY 10
+ END GEOMETRY
+ READ ARRAY GBL=1 TYP=RHEXAGONAL NUX=5 NUY=5 NUZ=1
+ FILL 6*2 3*1 2*2 3*1 3*2 1*1 7*2 END FILL END ARRAY
+ READ PLOT
+ TTL='ROTATED HEXAGONAL ARRAY, 7 PINS IN A CIRCLE'
+ XUL=33.0 YUL=33.0 ZUL=0.0
+ XLR=33.0 YLR=33.0 ZLR=0.0
+ UAX=1 VDN==1 NAX=640 END
+ END PLOT
+ END DATA
+ END
+
+.. _81366:
+
+Triangular pitched Arrays in KENO V.a
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Triangular pitched arrays can be described in KENO V.a geometry by
+properly defining the basic unit from which the array can be built. This
+includes closepacked triangular pitched arrays. Two geometry
+configurations are described below.
+
+.. centered:: EXAMPLE 1. Bare Triangular pitched Array.
+
+:numref:`fig8148` illustrates a small closepacked triangular pitched
+**ARRAY**. Each rod in the **ARRAY** has a radius of 2.0 cm, and the
+pitch of the **ARRAY** is 4 cm. To create this **ARRAY**, describe five
+units as defined in :numref:`fig8149`.
+
+Assume the rods described in the **ARRAY** are each 2.0 cm in radius and
+100 cm tall. The rods are composed of mixture 1. The geometry
+descriptions for the first four **UNIT**\ s are given below.
+
+::
+
+ UNIT 1
+ ZHEMICYLY 1 1 2.0 50.0 50.0
+
+ UNIT 2
+ ZHEMICYL+Y 1 1 2.0 50.0 50.0
+
+ UNIT 3
+ ZHEMICYLX 1 1 2.0 50.0 50.0
+
+ UNIT 4
+ ZHEMICYL+X 1 1 2.0 50.0 50.0
+
+.. _fig8148:
+.. figure:: figs/Keno/fig48.png
+ :align: center
+ :width: 400
+
+ Bare triangular pitched ARRAY.
+
+.. _fig8149:
+.. figure:: figs/Keno/fig49.png
+ :align: center
+ :width: 400
+
+ Units used to describe a bare triangular pitched ARRAY.
+
+To describe **UNIT** 5, the origin of the **UNIT** is defined to be at
+its center. One of the hemicylinders is built into the box, and the
+other three are added as holes. In this example, the +X hemicylinder is
+built into the box, and the other hemicylinders are inserted as holes.
+(Because the +X hemicylinder is built into **UNIT** 5, **UNIT** 4 is not
+used in the problem.) The half dimension of the box in the X dimension
+is equal to the radius, 2.0 cm. The half dimension of the box in the
+Y direction is :math:`\frac{\sqrt{3}}{2}` times the pitch (0.866025 \* 4.0) or 3.46411 cm.
+**UNIT** 5 is described below.
+
+::
+
+ UNIT 5
+ ZHEMICYL+X 1 1 2.0 50.0 50.0 ORIGIN 2.0 0.0
+ CUBOID 0 1 2P2.0 2P3.46411 2P50.0
+ HOLE 1 0.0 3.46411 0.0
+ HOLE 2 0.0 3.46411 0.0
+ HOLE 3 2.0 0.0
+
+In the description of **UNIT** 5, the **ZHEMICYL+X** places the
+hemicylinder at the left of the box. **HOLE** 1 places the top
+hemicylinder, **HOLE** 2 places the bottom hemicylinder, and **HOLE** 3
+places the hemicylinder at the right of the box.
+
+Next, a **UNIT** 6 is defined that can be used to complete the lower rod
+of **UNIT** 5. A **UNIT** 7 is defined that can be used to complete the
+upper rod of **UNIT** 5. **UNIT** 8 is defined to complete the left rod
+of **UNIT** 5, and **UNIT** 9 is defined to complete the right rod of
+**UNIT** 5. **UNIT** 10 is defined to complete the corners of the
+overall **ARRAY**. The input data for these **UNIT**\ s are given below
+and are illustrated in :numref:`fig8150`.
+
+.. _fig8150:
+.. figure:: figs/Keno/fig50.png
+ :align: center
+ :width: 400
+
+ UNITs to complete the triangular pitched ARRAY.
+
+::
+
+ UNIT 6
+ ZHEMICYLY 1 1 2.0 50.0 50.0
+ CUBOID 0 1 2P2.0 0.0 2.0 50.0 50.0
+
+ UNIT 7
+ ZHEMICYL+Y 1 1 2.0 50.0 50.0
+ CUBOID 0 1 2P2.0 2.0 0.0 2P50.0
+
+ UNIT 8
+ ZHEMICYLX 1 1 2.0 50.0 50.0
+ CUBOID 0 1 0.0 2.0 2P3.46411 2P50.0
+
+ UNIT 9
+ ZHEMICYL+X 1 1 2.0 50.0 50.0
+ CUBOID 0 1 2.0 0.0 2P3.46411 2P50.0
+
+ UNIT 10
+ CUBOID 0 1 2.0 0.0 2.0 0.0 2P50.0
+
+:numref:`fig8151` shows the arrangement of the **UNIT**\ s to complete the
+**ARRAY**. The data to describe the **ARRAY** are shown below.
+
+ **ARA**\ =1 **NUX**\ =6 **NUY**\ =4 **NUZ**\ =1 **FILL** 10 4R6 10 8
+ 4R5 9 1Q6 10 4R7 10 **END FILL**
+
+The bottom row of the **ARRAY** is described by the data entries
+10 4R6 10. The second row of the **ARRAY** is described by the data
+entries 8 4R5 9. The third row is filled by repeating the previous six
+entries (1Q6). It could also have been described by entering 8 4R5 9.
+The top row of the **ARRAY** is described by the data entries 10 4R7 10.
+
+.. _fig8151:
+.. figure:: figs/Keno/fig51.png
+ :align: center
+ :width: 400
+
+ Completed ARRAY.
+
+.. centered:: EXAMPLE 2a. Triangular Pitched ARRAY in a Cylinder
+
+:numref:`fig8152` illustrates a closepacked triangular pitched **ARRAY** in a
+cylinder. This array may be described by defining five basic units that
+are the same as those of Example 1 shown in :numref:`fig8149`.
+
+.. _fig8152:
+.. figure:: figs/Keno/fig52.png
+ :align: center
+ :width: 400
+
+ Triangular pitched ARRAY within a cylinder.
+
+::
+
+ UNIT 1
+ ZHEMICYLY 1 1 2.0 50.0 50.0
+
+ UNIT 2
+ ZHEMICYL+Y 1 1 2.0 50.0 50.0
+
+ UNIT 3
+ ZHEMICYLX 1 1 2.0 50.0 50.0
+
+ UNIT 4
+ ZHEMICYL+X 1 1 2.0 50.0 50.0
+
+To describe **UNIT** 5, the origin of the **UNIT** to be at its center
+is defined. One of the hemicylinders is built into the box, and the
+other three are added as **HOLE**\ s. In this example, the
++X hemicylinder is built into the box, and the other hemicylinders are
+inserted as **HOLE**\ s. The half dimension of the box in the
+X dimension is equal to the radius, 2.0 cm. The half dimension of the
+box in the Y direction is :math:`\frac{\sqrt{3}}{2}` times the pitch (0.866025 * 4.0) or
+3.46411 cm. **UNIT** 5 is described below.
+
+::
+
+ UNIT 5
+ ZHEMICYL+X 1 1 2.0 50.0 50.0 ORIGIN 2.0 0.0
+ CUBOID 0 1 2P2.0 2P3.46411 2P50.0
+ HOLE 1 0.0 3.46411 0.0
+ HOLE 2 0.0 3.46411 0.0
+ HOLE 3 2.0 0.0 0.0
+
+In the description of **UNIT** 5, the **ZHEMICYL+X** places the
+hemicylinder at the left of the box. **HOLE** 1 places the top
+hemicylinder, **HOLE** 2 places the bottom hemicylinder, and **HOLE** 3
+places the hemicylinder at the right of the box.
+
+To describe the base **ARRAY** of the problem, **UNIT**\ s 5 is stacked
+in a 4 × 2 × 1 array as shown in :numref:`fig8153`. The input data for the
+**ARRAY** are the following:
+
+::
+
+ ARA=1 NUX=4 NUY=2 NUZ=1 FILL F5 END FILL
+
+.. _fig8153:
+.. figure:: figs/Keno/fig53.png
+ :align: center
+ :width: 400
+
+ 4 × 2 × 1 array to be placed within a cylinder.
+
+Next, the **ARRAY** is placed within the cylinder. This is done by
+placing the **ARRAY** in a **UNIT**, defined here to be **UNIT** 6. The
+origin of the cylinder has been defined to be at the center of the
+**ARRAY**. The resulting geometry is shown in :numref:`fig8154`.
+
+.. _fig8154:
+.. figure:: figs/Keno/fig54.png
+ :align: center
+ :width: 400
+
+ 4 × 2 × 1 ARRAY within a cylinder.
+
+::
+
+ UNIT 6
+ ARRAY 1 8.0 6.92822 50.0
+ CYLINDER 0 1 12.4 2P50.0
+ CYLINDER 2 1 12.65 2P50.0
+
+Next, the hemicylinders necessary to complete all of the half cylinders
+remaining in :numref:`fig8154` are added. This is done by placing four
+**UNIT**\ s 1 at the appropriate positions along the bottom of the
+**ARRAY**, four **UNIT**\ s 2 at the top of the **ARRAY**, two
+**UNIT**\ s 3 at the left of the **ARRAY**, and two **UNIT**\ s 4 at the
+right of the **ARRAY**. The input data are shown below, and the
+resulting configuration is shown in :numref:`fig8155`. In **UNIT** 6, the
+first **HOLE** 1 places a **UNIT** 1 under the lower left **UNIT** of
+the **ARRAY**. The second **HOLE** 1 places a **UNIT** 1 under the next
+**ARRAY** **UNIT** to the right of the first one. This procedure is
+repeated for the next two lower **ARRAY** **UNIT**\ s, thus completing
+the lower row of cylinders. Similarly, the first **HOLE** 2 places a
+**UNIT** 2 above the upper left **UNIT** of the **ARRAY**. The second
+**HOLE** 2 places a **UNIT** 1 to the right of the first one, etc.,
+until the four cylinders at the top of the **ARRAY** are completed. The
+first **HOLE** 3 places a **UNIT** 3 at the lower left side of the
+**ARRAY** to complete that rod. The second **HOLE** 3 completes the rod
+above it. The first **HOLE** 4 completes the lower rod on the right side
+of the **ARRAY**. The second **HOLE** 4 completes the rod above it. The
+geometry data listed below result in the configuration shown in
+:numref:`fig8155`.
+
+.. _fig8155:
+.. figure:: figs/Keno/fig55.png
+ :align: center
+ :width: 400
+
+ Partially completed triangular pitched ARRAY in a cylinder.
+
+::
+
+ UNIT 6
+ ARRAY 1 8.0 6.92822 50.0
+ CYLINDER 0 1 12.4 2P50.0
+ HOLE 1 6.0 6.92822 0.0
+ HOLE 1 2.0 6.92822 0.0
+ HOLE 1 2.0 6.92822 0.0
+ HOLE 1 6.0 6.92822 0.0
+ HOLE 2 6.0 6.92822 0.0
+ HOLE 2 2.0 6.92822 0.0
+ HOLE 2 2.0 6.92822 0.0
+ HOLE 2 6.0 6.92822 0.0
+ HOLE 3 8.0 3.46411 0.0
+ HOLE 3 8.0 3.46411 0.0
+ HOLE 4 8.0 3.46411 0.0
+ HOLE 4 8.0 3.46411 0.0
+ CYLINDER 2 1 12.65 2P50.0
+
+To complete the desired configuration, a cylinder is defined, **UNIT**
+7, and it is placed at the four appropriate positions as shown below.
+The first **HOLE** 7 places the cylinder of **UNIT** 7 at the left of
+the **ARRAY**, the second **HOLE** 7 places the cylinder at the top of
+the **ARRAY**, the third **HOLE** 7 places the cylinder at the right of
+the **ARRAY**, and the fourth **HOLE** 7 places the cylinder at the
+bottom of the **ARRAY**. The completed configuration is shown in
+:numref:`fig8156`. It is not necessary for **UNIT** 7 to precede **UNIT** 6.
+It is allowable to place **UNIT** 7 after **UNIT** 6 in the input data.
+Because the final configuration is defined in **UNIT** 6, it must be
+designated as the **GLOBAL UNIT**. The total geometry input for this
+example is listed below.
+
+.. _fig8156:
+.. figure:: figs/Keno/fig56.png
+ :align: center
+ :width: 400
+
+ Completed triangular pitched array in a cylinder.
+
+::
+
+ READ GEOM
+ UNIT 1
+ ZHEMICYLY 1 1 2.0 50.0 50.0
+
+ UNIT 2
+ ZHEMICYL+Y 1 1 2.0 50.0 50.0
+
+ UNIT 3
+ ZHEMICYLX 1 1 2.0 50.0 50.0
+
+ UNIT 4
+ ZHEMICYL+X 1 1 2.0 50.0 50.0
+
+ UNIT 5
+ ZHEMICYL+X 1 1 2.0 50.0 50.0 ORIGIN 2.0 0.0
+ CUBOID 0 1 2P2.0 2P3.46411 2P50.0
+ HOLE 1 0.0 3.46411 0.0
+ HOLE 2 0.0 3.46411 0.0
+ HOLE 3 2.0 0.0 0.0
+
+ UNIT 7
+ CYLINDER 1 1 2.0 2P50.0
+
+ GLOBAL UNIT 6
+ ARRAY 1 8.0 6.92822 50.0
+ CYLINDER 0 1 12.4 2P50.0
+ HOLE 1 6.0 6.92822 0.0
+ HOLE 1 2.0 6.92822 0.0
+ HOLE 1 2.0 6.92822 0.0
+ HOLE 1 6.0 6.92822 0.0
+ HOLE 2 6.0 6.92822 0.0
+ HOLE 2 2.0 6.92822 0.0
+ HOLE 2 2.0 6.92822 0.0
+ HOLE 2 6.0 6.92822 0.0
+ HOLE 3 8.0 3.46411 0.0
+ HOLE 3 8.0 3.46411 0.0
+ HOLE 4 8.0 3.46411 0.0
+ HOLE 4 8.0 3.46411 0.0
+ HOLE 7 10.0 0.0 0.0
+ HOLE 7 0.0 10.39233 0.0
+ HOLE 7 10.0 0.0 0.0
+ HOLE 7 0.0 10.39233 0.0
+ CYLINDER 2 1 12.65 2P50.0
+ END GEOM
+
+ READ ARRAY
+ ARA=1 NUX=4 NUY=2 NUZ=1 FILL F5 END FILL
+ END ARRAY
+
+.. centered:: EXAMPLE 2b. Alternative Mockup of Triangular Pitched ARRAY in a Cylinder.
+
+Consider the triangular pitched **ARRAY** shown in :numref:`fig8152`. Another
+method of describing this configuration is given below. Four basic
+**UNIT**\ s are defined, as listed below. These are the same **UNIT**\ s
+shown in :numref:`fig8149`.
+
+::
+
+ UNIT 1
+ ZHEMICYLY 1 1 2.0 50.0 50.0
+
+ UNIT 2
+ ZHEMICYL+Y 1 1 2.0 50.0 50.0
+
+ UNIT 3
+ ZHEMICYLX 1 1 2.0 50.0 50.0
+
+ UNIT 4
+ ZHEMICYL+X 1 1 2.0 50.0 50.0
+
+**UNIT** 5 is the same as previously defined in Example 2a, and pictured
+in :numref:`fig8149`.
+
+::
+
+ UNIT 5
+ ZHEMICYL+X 1 1 2.0 50.0 50.0 ORIGIN 2.0 0.0
+ CUBOID 0 1 2P2.0 2P3.46411 2P50.0
+ HOLE 1 0.0 3.46411 0.0
+ HOLE 2 0.0 3.46411 0.0
+ HOLE 3 2.0 0.0 0.0
+
+To describe the basic array for the problem, **UNIT**\ s 5 is stacked in
+a 4 × 2 × 1 as shown in :numref:`fig8153`. The input data for the **ARRAY**
+are the following:
+
+::
+
+ ARA=1 NUX=4 NUY=2 NUZ=1 FILL F5 END FILL
+
+Next, the **ARRAY** (**ARRAY** 1) is placed in **UNIT** 6, and
+**UNIT**\ s 7 and 8 are defined to be placed to the left and right of it
+(see :numref:`fig8157`). **UNIT** 7 will complete the two rods at the left
+boundary of the **ARRAY** and will contain half of the far left rod in
+the completed configuration. In the description of **UNIT** 7, the
+**ZHEMICYL+X** is half of the far right rod and is located with its cut
+face at the left boundary of a box that is as tall as the entire
+**ARRAY** of :numref:`fig8153`. The first **HOLE** 3 in **UNIT** 7 completes
+the lower left rod of that **ARRAY**, and the second **HOLE** 3
+completes the upper left rod. **UNIT** 8 is constructed in similar
+fashion to complete the two rods at the right of the **ARRAY** shown in
+Fig. 8.1.53. **UNIT** 8 is the mirror image of **UNIT** 7.
+**UNIT**\ s 6, 7, and 8 are stacked in an **ARRAY** (**ARRAY** 2) to
+achieve the configuration shown in :numref:`fig8157`. The data to accomplish
+this are listed below.
+
+.. _fig8157:
+.. figure:: figs/Keno/fig57.png
+ :align: center
+ :width: 400
+
+ Array to be placed in a cylinder.
+
+::
+
+ UNIT 6
+ ARRAY 1 8.0 6.92822 50.0
+
+ GLOBAL
+ UNIT 7
+ ZHEMICYL+X 1 1 2.0 50.0 50.0
+ CUBOID 0 1 2.0 0.0 2P6.92822 2P50.0
+ HOLE 3 2.0 3.46411 0.0
+ HOLE 3 2.0 3.46411 0.0
+
+ UNIT 8
+ ZHEMICYLX 1 1 2.0 50.0 50.0
+ CUBOID 0 1 0.0 2.0 2P6.92822 2P50.0
+ HOLE 4 2.0 3.46411 0.0
+ HOLE 4 2.0 3.46411 0.0
+
+ ARA=2 NUX=3 NUY=1 NUZ=1 FILL 7 6 8 END FILL
+
+Next, **ARRAY** 2 is placed in the cylinder as shown in :numref:`fig8158`. The
+data are listed below.
+
+.. _fig8158:
+.. figure:: figs/Keno/fig58.png
+ :align: center
+ :width: 400
+
+ Partially completed array in a cylinder.
+
+::
+
+ UNIT 9
+ ARRAY 2 10.0 6.92822 50.0
+ CYLINDER 0 1 12.4 2P50.0
+ CYLINDER 2 1 12.65 2P50.0
+
+Now **UNIT**\ s 10 and 11 are described and placed above and below the
+**ARRAY**. These **UNIT**\ s are shown in :numref:`fig8159`. **UNIT** 10 is
+described to complete the two central rods at the top of the **ARRAY**
+of :numref:`fig8158`. :numref:`fig8159` and :numref:`fig8160` illustrate these **UNIT**\ s.
+The **ZHEMICYLY** is placed at the top of the **UNIT** to describe
+half of the rod at the very top of the **ARRAY**. The first **HOLE** 2
+completes the left center rod at the top of the **ARRAY** pictured in
+:numref:`fig8158`. The second **HOLE** 2 completes the right center rod at
+the top of the **ARRAY**. **UNIT** 11 is described in similar fashion.
+It is the mirror image of **UNIT** 10 and is placed below the
+**ARRAY** of :numref:`fig8158`. The resulting configuration is shown in
+:numref:`fig8159`.
+
+.. _fig8159:
+.. figure:: figs/Keno/fig59.png
+ :align: center
+ :width: 400
+
+ Description of UNITs 10 and 11 for Example 2b.
+
+
+::
+
+ UNIT 10
+ ZHEMICYLY 1 1 2.0 2P50.0
+ CUBOID 0 1 2P4.0 0.0 3.46411 2P50.0
+ HOLE 2 2.0 3.46411 0.0 2P50.0
+ HOLE 2 2.0 3.46411 0.0
+
+ UNIT 11
+ ZHEMICYL+Y 1 1 2.0 2P50.0
+ CUBOID 0 1 2P4.0 3.46411 0.0 2P50.0
+ HOLE 1 2.0 3.46411 0.0
+ HOLE 1 2.0 3.46411 0.0
+
+Now **UNIT**\ s 10 and 11 are placed above and below the **ARRAY** of
+:numref:`fig8158` to obtain the configuration shown in :numref:`fig8160`.
+
+.. _fig8160:
+.. figure:: figs/Keno/fig60.png
+ :align: center
+ :width: 400
+
+ Partially completed triangular pitched ARRAY in a cylinder.
+
+::
+
+ UNIT 9
+ ARRAY 2 10.0 6.92822 50.0
+ CYLINDER 0 1 12.4 2P50.0
+ HOLE 10 0.0 10.39233 0.0
+ HOLE 11 0.0 10.39233 0.0
+ CYLINDER 2 1 12.65 2P50.0
+
+To complete the array, the remaining half cylinders must be entered as
+**HOLE**\ s, as shown below. The first **HOLE** 1 completes the half rod
+at the lower left of :numref:`fig8160`. The second **HOLE** 1 completes the
+half rod at the lower center, and the third **HOLE** 1 completes the
+half rod at the lower right of :numref:`fig8160`. Similarly, the first
+**HOLE** 2 completes the half rod at the upper left of :numref:`fig8160`.
+The second **HOLE** 2 completes the half rod at the upper center, and
+the third **HOLE** 2 completes the half rod at the upper right.
+**HOLE** 3 completes the half rod at the left of :numref:`fig8160`, and
+**HOLE** 4 completes the half rod at the right. The final geometry
+configuration is shown in :numref:`fig8161`. **UNIT** 9 must be specified as
+the **GLOBAL UNIT** because it defines the overall configuration.
+
+.. _fig8161:
+.. figure:: figs/Keno/fig61.png
+ :align: center
+ :width: 400
+
+ Final configuration of triangular pitched ARRAY in a cylinder.
+
+::
+
+ GLOBAL UNIT 9
+ ARRAY 2 10.0 6.92822 50.0
+ CYLINDER 0 1 12.4 2P50.0
+ HOLE 10 0.0 10.39233 0.0
+ HOLE 11 0.0 10.39233 0.0
+ HOLE 1 6.0 6.92822 0.0
+ HOLE 1 0.0 10.39233 0.0
+ HOLE 1 6.0 6.92822 0.0
+ HOLE 2 6.0 6.92822 0.0
+ HOLE 2 0.0 10.39233 0.0
+ HOLE 2 6.0 6.92822 0.0
+ HOLE 3 10.0 0.0 0.0
+ HOLE 4 10.0 0.0 0.0
+ CYLINDER 2 1 12.65 2P50.0
+
+The geometry data for Example 2b are given below.
+
+::
+
+ READ GEOM
+
+ UNIT 1
+ ZHEMICYLY 1 1 2.0 50.0 50.0
+
+ UNIT 2
+ ZHEMICYL+Y 1 1 2.0 50.0 50.0
+
+ UNIT 3
+ ZHEMICYLX 1 1 2.0 50.0 50.0
+
+ UNIT 4
+ ZHEMICYL+X 1 1 2.0 50.0 50.0
+
+ UNIT 5
+ ZHEMICYL+X 1 1 2.0 50.0 50.0 ORIGIN 2.0 0.0
+ CUBOID 0 1 2P2.0 2P3.46411 2P50.0
+ HOLE 1 0.0 3.46411 0.0
+ HOLE 2 0.0 3.46411 0.0
+ HOLE 3 2.0 0.0 0.0
+
+ UNIT 6
+ ARRAY 1 8.0 6.92822 50.0
+
+ UNIT 7
+ ZHEMICYL+X 1 1 2.0 50.0 50.0
+ CUBOID 0 1 2.0 0.0 2P6.92822 2P50.0
+ HOLE 3 2.0 3.46411 0.0
+ HOLE 3 2.0 3.46411 0.0
+
+ UNIT 8
+ ZHEMICYLX 1 1 2.0 50.0 50.0
+ CUBOID 0 1 0.0 2.0 2P6.92822 2P50.0
+ HOLE 3 0.0 3.46411 0.0
+ HOLE 3 0.0 3.46411 0.0
+
+ UNIT 10
+ YZHEMICYLY 1 1 2.0 2P50.0
+ CUBOID 0 1 2P4.0 0.0 3.46411 2P50.0
+ HOLE 2 2.0 3.46411 0.0
+ HOLE 2 2.0 3.46411 0.0
+
+ UNIT 11
+ YZHEMICYL+Y 1 1 2.0 2P50.0
+ CUBOID 0 1 2P4.0 3.46411 0.0 2P50.0
+ HOLE 1 2.0 3.46411 0.0
+ HOLE 1 2.0 3.46411 0.0
+
+ GLOBAL
+ UNIT 9
+ ARRAY 2 10.0 6.92822 50.0
+ CYLINDER 0 1 12.4 2P50.0
+ HOLE 10 0.0 10.39233 0.0
+ HOLE 11 0.0 10.39233 0.0
+ HOLE 1 6.0 6.92822 0.0
+ HOLE 1 0.0 10.39233 0.0
+ HOLE 1 6.0 6.92822 0.0
+ HOLE 2 6.0 6.92822 0.0
+ HOLE 2 0.0 10.39233 0.0
+ HOLE 2 6.0 6.92822 0.0
+ HOLE 3 10.0 0.0 0.0
+ HOLE 4 10.0 0.0 0.0
+ CYLINDER 2 1 12.65 2P50.0
+ END GEOM
+
+ READ ARRAY
+ ARA=1 NUX=4 NUY=2 NUZ=1 FILL F5 END FILL
+ ARA=2 NUX=3 NUY=1 NUZ=1 FILL 7 6 8 END FILL
+ END ARRAY
+
+.. _81367:
+
+Dodecahedral pitched arrays
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. centered:: EXAMPLE 22.
+
+Dodecahedral pitched **ARRAY**\ s can be described in
+KENOVI by defining the **UNIT**\ s that make up the **ARRAY** as
+dodecahedra and in the **ARRAY** data block setting
+**TYP**\ =DODECAHEDRAL. Since the **ARRAY**\ s are constructed by
+stacking dodecahedra, care must be taken to ensure the **ARRAY**
+boundary is completely enclosed within the stacked unit. Below is an
+example of a dodecahedral **ARRAY** that represents a close packed
+**ARRAY** of spheres.
+
+The first and second **UNIT**\ s are the dodecahedra that make up the
+**ARRAY**. **UNIT** 1 is the fuel sphere stacked in a dodecahedral
+lattice. **UNIT** 2 is a dummy **UNIT** used to fill in the **ARRAY** so
+the **ARRAY** boundary is contained within the stacked **UNIT**\ s.
+Since the **ARRAY** is not moderated, **UNIT** 2 contains void.
+:numref:`fig8162` shows an isometric, cross section view of **UNIT**\ s 1 and
+2.
+
+.. _fig8162:
+.. figure:: figs/Keno/fig62.png
+ :align: center
+ :width: 400
+
+ Fuel cell and empty cell set up as dodecahedra.
+
+::
+
+ UNIT 1
+ COM='SINGLE CELL FUEL CAN IN DODECAHDRON'
+ SPHERE 10 8.0
+ SPHERE 20 8.5
+ DODECAHEDRON 30 10.5
+ MEDIA 1 1 10
+ MEDIA 2 1 20 10
+ MEDIA 0 1 30 20
+ BOUNDARY 30
+ UNIT 2
+ COM='EMPTY CELL'
+ DODECAHEDRON 10 10.5
+ MEDIA 0 1 10
+ BOUNDARY 10
+
+**UNIT** 3 is the **GLOBAL UNIT** that contains the **ARRAY** and
+**ARRAY BOUNDARY**. The **ARRAY** is an unmoderated triangular pitched
+assembly of 17 fuel spheres. Dodecahedral **ARRAY**\ s are specified by
+using **TYP**\ = followed by keyword dodecahedral in the array data
+block. The X and Y coordinates are stacked together as a square pitched
+**ARRAY** with the pitch equal to twice the dodecahedron radius. In the
+Z dimension, the odd Z planes (Z = 1, 3, 5, etc.) have the X and
+Y \ **UNIT**\ s begin at the most negative edge of the **ARRAY**, while
+the even Z planes (Z = 2, 4, 6, etc.) have the X and Y \ **UNIT**\ s
+begin one dodecahedron inscribed sphere radius in the positive direction
+from the most negative edge of the **ARRAY**. Also, the Z distance
+between the centers of the **UNIT**\ s in successive Z planes is the
+square root of 2.0 times the dodecahedron radius (or the dodecahedron
+diameter divided by the square root of 2.0). :numref:`fig8163` and :numref:`fig8164`
+show XY cross sectional color plots of the assembly at an odd and even
+Z plane.
+
+::
+
+ GLOBAL UNIT 3
+ COM='17 CLOSE PACKED FUEL SPHERES IN A CYLINDER'
+ CYLINDER 10 41.0 44.5 0.0
+ CYLINDER 20 42.0 44.5 1.0
+ ARRAY 1 10 PLACE 3 3 1 3*0.0
+ MEDIA 3 20 10
+ BOUNDARY 20
+
+ READ ARRAY GBL=1 ARA=1 TYP=DODECAHEDRAL NUX=5 NUY=5 NUZ=5
+ FILL 25*2
+ 6*2 2*1 3*2 2*1 12*2
+ 6*2 3*1 2*2 3*1 2*2 3*1 6*2
+ 6*2 2*1 3*2 2*1 12*2
+ 25*2 END FILL END ARRAY
+
+.. _fig8163:
+.. figure:: figs/Keno/fig63.png
+ :align: center
+ :width: 400
+
+ XY slice of dodecahedral array at even level Z = 2.
+
+.. _fig8164:
+.. figure:: figs/Keno/fig64.png
+ :align: center
+ :width: 400
+
+ XY slice of dodecahedral array at odd level Z = 3.
+
+The overall problem description is shown below. The cross section
+library would be generated in a separate CSASMG step.
+
+Data description of Example 22.
+
+::
+
+ =KENOVI
+ CLOSE PACKED DODECAHEDRAL ARRAY 17 FUEL SPHERES IN A CYLINDER
+ READ PARAMETERS LNG=20000 LIB=4 END PARAMETERS
+ READ MIXT SCT=2
+ MIX=1 NCM=8 92235 1.37751E03 92238 9.92354E05 8016 3.32049E02
+ 9019 2.95349E03 1001 6.05028E02
+ MIX=2 NCM=14 13027 6.02374E02
+ MIX=3 NCM=14 13027 6.02374E02
+ END MIXT
+ READ GEOMETRY
+ UNIT 1
+ COM='SINGLE CELL FUEL CAN IN DODECAHDRON'
+ SPHERE 10 8.0
+ SPHERE 20 8.5
+ DODECAHEDRON 30 10.5
+ MEDIA 1 1 10
+ MEDIA 2 1 20 10
+ MEDIA 0 1 30 20
+ BOUNDARY 30
+ UNIT 2
+ COM='EMPTY CELL'
+ DODECAHEDRON 10 10.5
+ MEDIA 0 1 10
+ BOUNDARY 10
+ GLOBAL UNIT 3
+ COM='9 CLOSE PACKED FUEL SPHERES IN A CYLINDER'
+ CYLINDER 10 41.0 44.5 0.0
+ CYLINDER 20 42.0 44.5 1.0
+ ARRAY 1 10 PLACE 3 3 1 3*0.0
+ MEDIA 3 1 20 10
+ BOUNDARY 20
+ END GEOMETRY
+ READ ARRAY GBL=1 ARA=1 TYP=DODECAHEDRAL NUX=5 NUY=5 NUZ=5
+ FILL 25*2
+ 6*2 2*1 3*2 2*1 12*2
+ 6*2 3*1 2*2 3*1 2*2 3*1 6*2
+ 6*2 2*1 3*2 2*1 12*2
+ 25*2 END FILL END ARRAY
+ READ PLOT
+ TTL='DODECAHEDRAL ARRAY, 4 SPHERES  Z LEVEL = 2'
+ XUL=43.0 YUL=43.0 ZUL=14.85 XLR=43.0 YLR=43.0 ZLR=14.85
+ UAX=1 VDN=1 NAX=640 END PLT0
+ TTL='DODECAHEDRAL ARRAY, 9 SPHERES  Z LEVEL = 3'
+ XUL=43.0 YUL=43.0 ZUL=29.70 XLR=43.0 YLR=43.0 ZLR=29.70
+ UAX=1 VDN=1 NAX=640 END PLT1
+ END PLOT
+ END DATA
+ END
+
+.. _8137:
+
+Alternative sample problem mockups
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The geometry data for KENO can often be described correctly in several
+ways. Some alternative geometry descriptions are given here for sample
+problems C.12 and C.13. (See Appendix C of the KENO manual.)
+
+.. _81371:
+
+Sample Problem C.12, First Alternative
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+This mockup maintains the same overall unit dimensions that were used in
+sample problem C.12. In sample problem C.12, the origin of **UNIT** 1,
+the solution cylinder, is at the center of the unit; the origin of
+**UNIT**\ s 2, 3, 4, and 5, the metal cylinders, are at the center of
+the cylinders. In this mockup, the unit numbers remain the same and the
+origin of each unit is at the center of the unit. In each unit the
+cylinder is offset by specifying the position of its centerline relative
+to the origin of the **UNIT**.
+
+KENO V.a:
+
+::
+
+ READ GEOM
+ UNIT 1
+ CYLINDER 2 1 9.525 8.89 8.89
+ CYLINDER 3 1 10.16 9.525 9.525
+ CUBOID 0 1 10.875 10.875 10.875 10.875 10.24 10.24
+ UNIT 2
+ CYLINDER 1 1 5.748 9.3975 1.3975 ORIG 4.285 4.285
+ CUBOID 0 1 10.875 10.875 10.875 10.875 10.24 10.24
+ UNIT 3
+ CYLINDER 1 1 5.748 9.3975 1.3675 ORIG 4.285 4.285
+ CUBOID 0 1 10.875 10.875 10.875 10.875 10.24 10.24
+ UNIT 4
+ CYLINDER 1 1 5.748 1.3675 9.3975 ORIG 4.285 4.285
+ CUBOID 0 1 10.875 10.875 10.875 10.875 10.24 10.24
+ UNIT 5
+ CYLINDER 1 1 5.748 1.3675 9.3975 ORIG 4.285 4.285
+ CUBOID 0 1 10.875 10.875 10.875 10.875 10.24 10.24
+ END GEOM
+ READ ARRAY NUX=2 NUY=2 NUZ=2 FILL 2 1 3 1 4 1 5 1 END ARRAY
+
+KENOVI:
+
+::
+
+ READ GEOM
+ UNIT 1
+ CYLINDER 1 9.525 8.89 8.89
+ CYLINDER 2 10.16 9.525 9.525
+ CUBOID 3 10.875 10.875 10.875 10.875 10.24 10.24
+ MEDIA 2 1 1
+ MEDIA 3 1 2 1
+ MEDIA 0 1 3 2
+ BOUNDARY 3
+ UNIT 2
+ CYLINDER 1 5.748 9.3975 1.3675 ORIG X=4.285 Y=4.285
+ CUBOID 2 10.875 10.875 10.875 10.875 10.24 10.24
+ MEDIA 1 1 1
+ MEDIA 0 1 2 1
+ BOUNDARY 2
+ UNIT 3
+ CYLINDER 1 5.748 9.3975 1.3675 ORIG X=4.285 Y=4.285
+ CUBOID 2 10.875 10.875 10.875 10.875 10.24 10.24
+ MEDIA 1 1 1
+ MEDIA 0 1 2 1
+ BOUNDARY 2
+ UNIT 4
+ CYLINDER 1 5.748 1.3675 9.3975 ORIG X=4.285 Y=4.285
+ CUBOID 2 10.875 10.875 10.875 10.875 10.24 10.24
+ MEDIA 1 1 1
+ MEDIA 0 1 2 1
+ BOUNDARY 2
+ UNIT 5
+ CYLINDER 1 5.748 1.3675 9.3975 ORIG X=4.285 Y=4.285
+ CUBOID 2 10.875 10.875 10.875 10.875 10.24 10.24
+ MEDIA 1 1 1
+ MEDIA 0 1 2 1
+ BOUNDARY 2
+ GLOBAL UNIT 6
+ CUBOID 1 21.75 21.75 21.75 21.75 20.48 20.48
+ ARRAY 1 PLACE 1 1 1 10.875 10.875 10.24
+ BOUNDARY 1
+ END GEOM
+ READ ARRAY ARA=1 NUX=2 NUY=2 NUZ=2 FILL 2 1 3 1 4 1 5 1 END ARRAY
+
+.. _81372:
+
+Sample Problem C.12, Second Alternative
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+In this mockup, the outer boundaries of the system are made as close
+fitting as possible on all six faces. The origin of each **UNIT** is
+located at the center of the cylinder. **UNIT**\ s 1, 3, 5, and 7
+contain the metal cylinders. **UNIT**\ s 2, 4, 6, and 8 contain the
+solution cylinders.
+
+KENO V.a:
+
+::
+
+ READ GEOM
+ UNIT 1
+ CYLINDER 1 1 5.748 5.3825 5.3825
+ CUBOID 0 1 6.59 5.748 6.59 14.445 6.225 13.54
+ UNIT 2
+ CYLINDER 2 1 9.525 8.89 8.89
+ CYLINDER 3 1 10.16 9.525 9.525
+ CUBOID 0 1 10.16 10.875 10.875 10.16 10.24 9.525
+ UNIT 3
+ CYLINDER 1 1 5.748 5.3825 5.3825
+ CUBOID 0 1 6.59 5.748 14.444 6.59 6.225 13.54
+ UNIT 4
+ CYLINDER 2 1 9.525 8.89 8.89
+ CYLINDER 3 1 10.16 9.525 9.525
+ CUBOID 0 1 10.16 10.875 10.16 10.875 10.24 9.525
+ UNIT 5
+ CYLINDER 1 1 5.748 5.3825 5.3825
+ CUBOID 0 1 6.59 5.748 6.59 14.445 13.54 6.225
+ UNIT 6
+ CYLINDER 2 1 9.525 8.89 8.89
+ CYLINDER 3 1 10.16 9.525 9.525
+ CUBOID 0 1 10.16 10.875 10.875 10.16 9.525 10.24
+ UNIT 7
+ CYLINDER 1 1 5.748 5.3825 5.3825
+ CUBOID 0 1 6.59 5.748 14.445 6.59 13.54 6.225
+ UNIT 8
+ CYLINDER 2 1 9.525 8.89 8.89
+ CYLINDER 3 1 10.16 9.525 9.525
+ CUBOID 0 1 10.16 10.875 10.16 10.875 9.525 10.24
+ READ ARRAY NUX=2 NUY=2 NUZ=2 FILL 6I1 8 END FILL END ARRAY
+
+KENOVI:
+
+::
+
+ READ GEOM
+ UNIT 1
+ CYLINDER 1 5.748 5.3825 5.3825
+ CUBOID 2 6.59 5.748 6.59 14.445 6.225 13.54
+ MEDIA 1 1 1
+ MEDIA 0 1 2 1
+ BOUNDARY 2
+ UNIT 2
+ CYLINDER 1 9.525 8.89 8.89
+ CYLINDER 2 10.16 9.525 9.525
+ CUBOID 3 10.16 10.875 10.875 10.16 10.24 9.525
+ MEDIA 2 1 1
+ MEDIA 3 1 2 1
+ MEDIA 0 1 3 2
+ BOUNDARY 3
+ UNIT 3
+ CYLINDER 1 5.748 5.3825 5.3825
+ CUBOID 2 6.59 5.748 14.444 6.59 6.225 13.54
+ MEDIA 1 1 1
+ MEDIA 0 1 2 1
+ BOUNDARY 2
+ UNIT 4
+ CYLINDER 1 9.525 8.89 8.89
+ CYLINDER 2 10.16 9.525 9.525
+ CUBOID 3 10.16 10.875 10.16 10.875 10.24 9.525
+ MEDIA 2 1 1
+ MEDIA 3 1 2 1
+ MEDIA 0 1 3 2
+ BOUNDARY 3
+ UNIT 5
+ CYLINDER 1 5.748 5.3825 5.3825
+ CUBOID 2 6.59 5.748 6.59 14.445 13.54 6.225
+ MEDIA 1 1 1
+ MEDIA 0 1 2 1
+ BOUNDARY 2
+ UNIT 6
+ CYLINDER 1 9.525 8.89 8.89
+ CYLINDER 2 10.16 9.525 9.525
+ CUBOID 3 10.16 10.875 10.875 10.16 9.525 10.24
+ MEDIA 2 1 1
+ MEDIA 3 1 2 1
+ MEDIA 0 1 3 2
+ BOUNDARY 3
+ UNIT 7
+ CYLINDER 1 5.748 5.3825 5.3825
+ CUBOID 2 6.59 5.748 14.445 6.59 13.54 6.225
+ MEDIA 1 1 1MEDIA 0 1 2 1
+ BOUNDARY 2
+ UNIT 8
+ CYLINDER 1 9.525 8.89 8.89
+ CYLINDER 2 10.16 9.525 9.525
+ CUBOID 3 10.16 10.875 10.16 10.875 9.525 10.24
+ MEDIA 2 1 1
+ MEDIA 3 1 2 1
+ MEDIA 0 1 3 2
+ BOUNDARY 3
+ GLOBAL UNIT 9
+ CUBOID 1 20.035 12.748 20.67 20.67 19.765 19.765
+ ARRAY 1 1 PLACE 1 1 1 7.00 6.225 6.225
+ BOUNDARY 1
+ END GEOM
+ READ ARRAY ARA=1 NUX=2 NUY=2 NUZ=2 FILL 6I1 8 END FILL END ARRAY
+
+.. _81373:
+
+Sample Problem C.13, Alternative
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+This mockup maintains the same overall **UNIT** dimensions that were
+used in sample problem C.13, (KENO Manual, Appendix C). In sample
+problem C.13, the origin of **UNIT**\ s 1, 2, and 3 is located at the
+center of the base of the uranium metal cuboid. In this mockup, the
+origin of **UNIT**\ s 1 and 2 is located at the center of the cylinder.
+In \ **UNIT** 3, the origin is at the center of the **UNIT**.
+
+KENO V.a:
+
+::
+
+ READ GEOM
+ UNIT 1
+ CUBOID 1 1 0.2566 12.4434 6.35 6.35 3.81 3.81
+ CYLINDER 0 1 13.97 3.81 3.81
+ CYLINDER 1 1 19.05 3.81 3.81
+ CUBOID 0 1 19.05 19.05 19.05 19.05 3.81 3.81
+ UNIT 2
+ CUBOID 1 1 12.4434 0.2566 6.35 6.35 4.28 4.28
+ CYLINDER 0 1 13.97 4.28 4.28
+ CYLINDER 1 1 19.05 4.28 4.28
+ CUBOID 0 1 19.05 19.05 19.05 19.05 4.28 4.28
+ UNIT 3
+ CUBOID 1 1 12.4434 0.2566 6.35 6.35 1.308 1.308
+ CUBOID 0 1 19.05 19.05 19.05 19.05 1.308 1.308
+ END GEOM
+ READ ARRAY NUX=1 NUY=1 NUZ=3 FILL 1 2 3 END ARRAY
+
+KENOVI:
+
+::
+
+ READ GEOM
+ UNIT 1
+ CUBOID 1 0.2566 12.4434 6.35 6.35 3.81 3.81
+ CYLINDER 2 13.97 3.81 3.81
+ CYLINDER 3 19.05 3.81 3.81
+ CUBOID 4 19.05 19.05 19.05 19.05 3.81 3.81
+ MEDIA 1 1 1
+ MEDIA 0 1 2 1
+ MEDIA 1 1 3 2 1
+ MEDIA 0 1 4 3 2 1
+ BOUNDARY 4
+ UNIT 2
+ CUBOID 1 12.4434 0.2566 6.35 6.35 4.28 4.28
+ CYLINDER 2 13.97 4.28 4.28
+ CYLINDER 3 19.05 4.28 4.28
+ CUBOID 4 19.05 19.05 19.05 19.05 4.28 4.28
+ MEDIA 1 1 1
+ MEDIA 0 1 2 1
+ MEDIA 1 1 3 2 1
+ MEDIA 0 1 4 3 2 1
+ BOUNDARY 4
+ UNIT 3
+ CUBOID 1 12.4434 0.2566 6.35 6.35 1.308 1.308
+ CUBOID 2 19.05 19.05 19.05 19.05 1.308 1.308
+ MEDIA 1 1 1
+ MEDIA 0 1 2 1
+ BOUNDARY 2
+ GLOBAL UNIT 4
+ CUBOID 1 19.05 19.05 19.05 19.05 6.896 11.90
+ ARRAY 1 1 PLACE 1 2 1 0.0 0.0 0.0
+ BOUNDARY 1
+ END GEOM
+ READ ARRAY ARA=1 NUX=1 NUY=1 NUZ=3 FILL 1 2 3 END ARRAY
+
+.. _8138:
+
+Biasing or weighting data
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+:ref:`81363` discusses the basis of weighting or biasing. The use of
+biasing data in reflected problems has been illustrated in Examples 9,
+10, and 11 of :ref:`8136`. :ref:`8127` discusses the input
+directions for entering biasing data.
+
+Every **shape** card in KENO V.a, or **MEDIA** card in KENOVI requires
+a bias ID to associate that geometry region with a biasing or weighting
+function. A biasing or weighting function is a set of energydependent
+values of the average weight that are applicable in a given region. The
+default function for all bias IDs is constant through all energy groups
+and is defined to be the default value of weight average which can be
+specified in the parameter data. A bias ID can be associated with a
+biasing function (other than default) by specifying it in the biasing
+input data. This function can be chosen from the weighting library, or
+it can be entered from records. :numref:`tab8120` lists the materials and
+energy group structures for biasing functions available from the
+weighting library.
+
+In general, the use of biasing should be restricted to external
+reflectors unless the user has generated correct biasing functions for
+other applications. Improper use of biasing functions can result in
+erroneous answers without giving any indication that they are invalid.
+Caution should be exercised in the generation and use of biasing
+functions.
+
+Biasing functions are most applicable to thick external reflectors.
+Their use can significantly reduce the amount of computer time required
+to obtain answers in KENO. If the user wishes to use a biasing function
+for a concrete reflector, for example, the following steps must be
+included in preparing the input data:
+
+1. The geometry region data must define the shape and dimensions of the
+reflector using the mixture ID for concrete and a sequence of bias IDs
+that associate the geometry region with the appropriate interval of the
+concrete weighting function. CAUTION: THE THICKNESS AND SEQUENTIAL
+LOCATION OF EACH REGION USING BIASING FUNCTIONS MUST MATCH OR VERY
+NEARLY MATCH THE INCREMENT THICKNESS AND ORDER OF THE WEIGHTING DATA. NO
+CHECK IS MADE ON THE REQUIREMENT. IT IS THE USER’S RESPONSIBILITY TO
+ENSURE CONSISTENCY.
+
+2. Biasing data must be entered. This must include the material ID for
+the reflector material (from :numref:`tab8120` or as specified on records)
+and a beginning and ending bias ID. The beginning bias ID is used to
+select the first set of energydependent average weights, and the
+subsequent sets of energydependent average weights are assigned
+consecutive IDs until the ending bias ID is reached.
+
+Small deviations in reflector region thickness are allowed, such as
+using three generated regions with a thickness per region of 5.08 cm to
+generate a 15.24 cm thick reflector of concrete, or using five generated
+regions with a thickness per region of 3.048 cm to generate a 15.24 cm
+thick reflector of water. See :numref:`tab8120` for a list of the increment
+thicknesses for the materials in the weighting library. It is acceptable
+for the thickness of the last reflector region to be significantly
+different than the increment thickness. For example, a reflector record
+specifying five generated regions with a thickness per region of 3.0 cm
+could be followed by a reflector record specifying one region with a
+thickness per region of 0.24 cm. Assuming that material 2 is water and a
+15.24 cm thick cuboidal reflector of water is desired, the required
+reflector description and biasing data could be entered as follows:
+
+KENO V.a:
+
+::
+
+ REFLECTOR 2 2 6*3.0 5
+ REFLECTOR 2 7 6*0.24 1
+ READ BIAS ID=500 2 7 END BIAS
+
+KENOVI:
+
+::
+
+ GLOBAL UNIT 1
+ CUBOID 1 6P10.0
+ CUBOID 2 6P13.0
+ CUBOID 3 6P16.0
+ CUBOID 4 6P19.0
+ CUBOID 5 6P22.0
+ CUBOID 6 6P25.0
+ CUBOID 7 6P25.24
+ MEDIA 1 1 1
+ MEDIA 2 2 2 1
+ MEDIA 2 3 3 2
+ MEDIA 2 4 4 3
+ MEDIA 2 5 5 4
+ MEDIA 2 6 6 5
+ MEDIA 2 7 7 6
+ BOUNDARY 7
+ READ BIAS ID=500 2 7 END BIAS
+
+The same 15.24 cm thick reflector can be described by including the
+extra 0.24 cm in the last region as shown below:
+
+KENO V.a:
+
+::
+
+ REFLECTOR 2 2 6*3.0 4
+ REFLECTOR 2 6 6*3.24 1
+ READ BIAS ID=500 2 6 END BIAS
+
+KENOVI:
+
+::
+
+ GLOBAL UNIT 1
+ CUBOID 1 6P10.0
+ CUBOID 2 6P13.0
+ CUBOID 3 6P16.0
+ CUBOID 4 6P19.0
+ CUBOID 5 6P22.0
+ CUBOID 6 6P25.24
+ MEDIA 1 1 1
+ MEDIA 2 2 2 1
+ MEDIA 2 3 3 2
+ MEDIA 2 4 4 3
+ MEDIA 2 5 5 4
+ MEDIA 2 6 6 5
+ BOUNDARY 6
+ READ BIAS ID=500 2 6 END BIAS
+
+Here the weighting functions associated with bias IDs 2, 3, 4, and 5
+each have a thickness of 3.0 cm, corresponding exactly to the increment
+thickness for water in :numref:`tab8120` Bias ID 6 is used for the last
+generated region which is 3.24 cm thick.
+
+The following examples illustrate the use of biasing data. Suppose the
+user wishes to use the weighting function for water from Table 8.1.20
+for bias IDs 2 through 6. The biasing input data would then be:
+
+::
+
+ READ BIAS ID=500 2 6 END BIAS
+
+The energydependent values of weight average for the first 3 cm
+interval of water will be used for weighting the geometry regions that
+specify a bias ID of 2. The energydependent values of weight average
+for the second 3 cm interval of water will be used for geometry regions
+that specify a bias ID of 3, etc. Thus, the energydependent values of
+weight average for the fifth 3 cm interval of water will be used for
+geometry regions that specify a bias ID of 6. Geometry regions that use
+bias IDs other than 2, 3, 4, 5, and 6 will use the default value of
+weight average that is constant for all energies as a biasing function.
+
+Several sets of biasing data can be entered at once. Assume the user
+wishes to use the weighting function for concrete from :numref:`tab8120` for
+bias IDs 2 through 4 and the weighting function for water for bias IDs 5
+through 7. The appropriate input data block is the following:
+
+::
+
+ READ BIAS ID=301 2 4 ID=500 5 7 END BIAS
+
+The energydependent values of weight average for the first 5 cm
+interval of concrete will be used for the geometry regions that specify
+a bias ID of 2, the energydependent values of weight average for the
+second 5 cm interval of concrete will be used for the geometry regions
+that specify a bias ID of 3, and the energydependent values of weight
+average for the third 5 cm interval of concrete will be used for the
+geometry regions that specify a bias ID of 4. The energydependent
+values of weight average for the first 3 cm interval of water will be
+used for geometry regions that specify a bias ID of 5, the values for
+the second 3 cm interval of water will be used for geometry regions that
+specify a bias ID of 6, and the values for the third 3 cm interval of
+water will be used for geometry regions that specify a bias ID of 7. The
+default value of weight average will be used for all bias IDs outside
+the range of 2–7.
+
+If the biasing data block defines the same bias ID more than once, the
+value that is entered last supersedes previous entries. Assuming that
+the following data block is entered,
+
+::
+
+ READ BIAS ID=400 2 7 ID=500 5 7 END BIAS
+
+the data for paraffin (ID=400) will be used for bias IDs 2, 3, and 4,
+and the data for water (ID=500) will be used for bias IDs 5, 6, and 7.
+
+.. centered:: EXAMPLE 1. USE OF BIASING DATA
+
+It is assumed that a 5 cm radius sphere of material 2 is reflected by a
+20 cm thickness of material 1 (concrete). The concrete reflector is
+spherical and close fitting upon the sphere of material 2. The mixing
+table must specify material 1 and material 2. Material 1 must be defined
+as concrete. The geometry and biasing data should be entered as follows:
+
+KENO V.a:
+
+::
+
+ READ GEOM
+ SPHERE 2 1 5.0
+ REPLICATE 1 2 5.0 4
+ END GEOM
+ READ BIAS ID=301 2 5 END BIAS
+
+KENOVI:
+
+::
+
+ READ GEOM
+ GLOBAL UNIT 1
+ SPHERE 1 5.0
+ SPHERE 2 10.0
+ SPHERE 3 15.0
+ SPHERE 4 20.0
+ SPHERE 5 25.0
+ MEDIA 2 1 1
+ MEDIA 1 2 2 1
+ MEDIA 1 3 3 2
+ MEDIA 1 4 4 3
+ MEDIA 1 5 5 4
+ BOUNDARY 5
+ END GEOM
+ READ BIAS ID=301 2 5 END BIAS
+
+The bias ID for the first generated region is 2, the second is 3, the
+third is 4, and the fourth is 5. The biasing data block specifies that
+the biasing function for material ID 301 (concrete) will be used from
+the weighting library. The bias ID to which the energydependent
+weighting function for the first 5.0 cm interval of concrete is applied
+is 2; the energydependent weighting function for the fourth 5 cm
+interval of concrete is applied to the fourth generated geometry region.
+This generated region has a bias ID of 5.
+
+In KENO V.a, Example 1 can also be described without using a reflector
+record as shown below. The records that are generated by the reflector
+record in the previous set of data are identical to the last four
+spheres in this mockup.
+
+EXAMPLE 1. Use of biasing without a reflector record.
+
+KENO V.a:
+
+::
+
+ READ GEOM
+ SPHERE 2 1 5.0
+ SPHERE 1 2 10.0
+ SPHERE 1 3 15.0
+ SPHERE 1 4 20.0
+ SPHERE 1 5 25.0
+ END GEOM
+ READ BIAS ID=301 2 5 END BIAS
+
+.. _8139:
+
+Color plots
+~~~~~~~~~~~
+
+Plots are generated only if a plot data block has been entered for the
+problem and **PLT**\ =NO has not been entered in the parameter data or
+the plot data. See :ref:`81211` for a description of plot data. When a
+plot is to be made, the user MUST correctly specify the upper lefthand
+corner of the plot with respect to the origin of the plot. The origin of
+a plot is defined as the origin of the **GLOBAL UNIT**.
+
+Plots can represent mixture numbers, unit numbers, or bias ID numbers. A
+title can be entered for each plot. If plot titles are omitted, the
+title of the KENO case will be printed for each plot title until a plot
+title is entered. If a plot title is entered and a subsequent plot title
+is omitted, the last plot title prior to the omitted one will be used
+for the omitted one.
+
+The upper left and lower right coordinates define the area (i.e., the
+slice and its location) for which the plot is to be made. The direction
+cosines across the plot and the direction cosines down the plot define
+the direction of the vector across the plot and the vector down the plot
+with respect to the geometry coordinate system. One of the simplest ways
+of generating a plot is to specify the desired coordinates of the upper
+left and lower right corners of the plot. Then one must determine which
+plot axis is to be across the plot and which is to be down. The sign of
+the direction cosine should be consistent with the direction of that
+component when moving from the upper left to lower right corner. For
+example, to draw a plot of an X‑Z slice at Y = 5.0 with X across the
+plot and Z down the plot for a system whose X coordinates ranges from
+0.0 to 10.0 and whose Z coordinates range from 0.0 to 20.0, the upper
+left coordinate could be **XUL**\ =0.0 **YUL**\ =5.0 **ZUL**\ =20.0 and
+the lower right coordinates could be **XLR**\ =10.0 **YLR**\ =5.0
+**ZLR**\ =0.0. Since X is to be plotted across the plot with X = 0.0 at
+the left and X = 10.0 at the right, only the X component of the
+direction cosines across the plot need be entered. It should be positive
+because going from 0.0 to 10.0 is moving in the positive direction.
+Thus, **UAX**\ =1.0 would be entered for the direction cosines across
+the plot. **VAX** and **WAX** could be omitted. Z is to be plotted down
+the plot with Z = 20.0 at the top and Z = 0.0 at the bottom. Therefore,
+only the Z component of the direction cosines down the plot needs to be
+defined. It should be negative because moving from 20.0 to 0.0 is moving
+in the negative direction. Thus, **WDN** = −1.0 would be entered for the
+direction cosines down the plot. **UDN** and **VDN** could be omitted.
+The sign of the direction cosines should be consistent with the
+coordinates of the upper left and lower right corners in order to get a
+plot.
+
+It is not necessary that the plot be made for a slice orthogonal to one
+of the axes. Plots can be made of slices cut at any desired angle, but
+the user should exercise caution and be well aware of the distortion of
+shapes that can be introduced. (Nonorthogonal slices through cylinders
+plot as ellipses.)
+
+The user can specify the horizontal and vertical spacing between points
+on the plot. It is usually advisable to enter one or the other. Entering
+both can cause distortion of the plot. **DLX**\ = is used to specify the
+horizontal spacing between points and **DLD**\ = is used to specify the
+vertical spacing between points. When only one of them is specified, the
+code calculates the correct value of the other so the plot will not be
+distorted. **DLX** or **DLD** can be specified by the user to be small
+enough to show the desirable detail in the plot. The plot is generated
+by starting at the upper left corner of the plot and generating a point
+every **DLX** across the plot; then moving down **DLD** and repeating
+the generation of the points across the plot.
+
+**NAX** specifies the number of intervals (pixels) that will be printed
+across the plot. **NDN** specifies the number of intervals (pixels) that
+will be printed down the plot. If both **NAX** and **NDN** are entered,
+the plot may be distorted. If one of them is entered, the value of the
+other will be calculated so the plot will not be distorted.
+
+When a plot is being made, the first pixel represents the coordinates of
+the upper left corner. The value of **DELV** is added to the coordinate
+that is to be printed across the plot, and the next pixel is printed.
+**DELV** is added to that value to determine the location of the next
+pixel, that is, a point is determined every **DELV** across the plot and
+a pixel is printed for each point. When a line has been completed, a new
+line is begun **DELU** from the first line. This procedure is repeated
+until the plot is complete.
+
+.. centered:: EXAMPLE 1. SINGLE UNIT WITH CENTERED ORIGIN
+
+Consider two concentric cylinders in a cuboid. The inner cylinder is
+5.2 cm in diameter. The outer cylinder has an inside diameter of 7.2 cm
+and an outside diameter of 7.6 cm. Both cylinders are 30 cm high. They
+are contained in a tightfitting box with a wall thickness of 0.5 cm and
+top and bottom thickness of 1.0 cm. The inner cylinder is composed of
+mixture 1, the outer cylinder is made of mixture 4, and the box is made
+of mixture 2. The problem can be described with its origin at the center
+of the inner cylinder. The problem description for this arrangement is
+shown below:
+
+KENO V.a:
+
+::
+
+ =KENOVA
+ SINGLE UNIT CONCENTRIC CYLINDERS IN CUBOID WITH ORIGIN AT CENTER
+ READ PARAM RUN=NO LIB=41 END PARAM
+ READ MIXT SCT=1
+ MIX=1 92500 4.7048e2
+ MIX=2 200 1.0
+ MIX=3 502 0.1
+ MIX=4 200 1.0
+ END MIXT
+ READ GEOM
+ UNIT 1
+ CYLINDER 1 1 2.6 2P15.0
+ CYLINDER 0 1 3.6 2P15.0
+ CYLINDER 4 1 3.8 2P15.0
+ CUBOID 0 1 4P3.8 2P15.0
+ CUBOID 2 1 4P4.3 2P16.0
+ END GEOM
+
+ READ PLOT
+ TTL='XY SLICE AT Z MIDPOINT. SINGLE UNIT CONCENTRIC CYLS'
+ XUL=4.6 YUL=4.6 ZUL=0.0 XLR=4.6 YLR=4.6 ZLR=0.0
+ UAX=1.0 VDN=1.0 NAX=640 END
+ PIC=UNIT END
+ END PLOT
+ END DATA
+ END
+
+KENOVI:
+
+::
+
+ =KENOVI
+ SINGLE UNIT CONCENTRIC CYLINDERS IN CUBOID WITH ORIGIN AT CENTER
+ READ PARAM RUN=NO LIB=41 TME=0.5 END PARAM
+ READ MIXT SCT=1 MIX=1 92500 4.70482 MIX=2 200 1.0 MIX=3 502 0.1
+ MIX=4 200 1.0
+ END MIXT
+ READ GEOM
+ GLOBAL UNIT 1
+ CYLINDER 1 2.6 2P15.0
+ CYLINDER 2 3.6 2P15.0
+ CYLINDER 3 3.8 2P15.0
+ CUBOID 4 4P3.8 2P15.0
+ CUBOID 5 4P4.3 2P16.0
+ MEDIA 1 1 1
+ MEDIA 0 1 2 1
+ MEDIA 4 1 3 2
+ MEDIA 0 1 4 3
+ MEDIA 2 1 5 4
+ BOUNDARY 5
+ END GEOM
+
+
+ READ PLOT
+ TTL='XY SLICE AT Z MIDPOINT. SINGLE UNIT CONCENTRIC CYLS.'
+ XUL=4.6 YUL=4.6 ZUL=0.0 XLR=4.6 YLR=4.6 ZLR=0.0
+ UAX=1.0 VDN=1.0 NAX=640 END
+ PIC=UNIT END
+ END PLOT
+ END DATA
+ END
+
+The plot data blocks included above are set up to draw a mixture map of
+an XY slice taken at the half height (Z=0.0) and a unit map for the
+same slice. In the above examples, the geometry dimensions extend from X
+= −4.3 to X = 4.3, from Y = −4.3, to Y = 4.3, and from Z = −16.0 to Z =
+16.0. An XY slice is be printed at the half height (Z = 0.0). The
+desired plot data sets the upper lefthand corner of the plot to be
+X = −4.6 and Y = 4.6. The lower righthand corner of the plot is
+specified as X = 4.6 and Y = −4.6. These data are entered by specifying
+the upper lefthand corner as **XUL**\ = −4.6 **YUL**\ =4.6
+**ZUL**\ =0.0 and the lower righthand corner as **XLR**\ =4.6
+**YLR**\ = −4.6 **ZLR**\ =0.0. It is desired to print X across the plot
+and Y down the plot. Therefore, the X direction cosine is specified
+across the plot, in the direction from X = −4.6 to X = 4.6 as
+**UAX**\ =1.0. The Y direction cosine is specified down the plot, from
+Y = 4.6 to Y = −4.6 as **VDN**\ = −1.0.
+
+A black border will be printed for points outside the range of the
+problem geometry description. By setting the plot dimension slightly
+larger than the geometry dimension, a black border will be printed
+around the specified plot. This verifies that the outer boundaries of
+the geometry are contained within the plot dimensions. NAX is the number
+of pixels across for a color plot. An initial recommended range for NAX
+is between 600 and 800 pixels. The resulting plots are shown in
+:numref:`fig8165` and :numref:`fig8166`. The associated data for both plots are
+shown in :numref:`list811` and :numref:`list812`.
+
+
+.. _fig8165:
+.. figure:: figs/Keno/fig65.png
+ :align: center
+ :width: 400
+
+ Mixture color plot for single unit with centered origin.
+
+.. _fig8166:
+.. figure:: figs/Keno/fig66.png
+ :align: center
+ :width: 400
+
+ Unit map color plot for single unit with centered origin.
+
+.. codeblock:: scale
+ :name: list811
+ :caption: Associated data for single unit mixture map.
+
+
+ mixture map
+
+ mixture 0 1 2 4
+ symbol 1 2 3
+ upper left lower right
+ coordinates coordinates
+ x 4.6000e+00 4.6000e+00
+ y 4.6000e+00 4.6000e+00
+ z 0.0000e+00 0.0000e+00
+
+ u axis v axis
+ (down) (across)
+ x 0.00000 1.00000
+ y 1.00000 0.00000
+ z 0.00000 0.00000
+
+ nu= 640 nv= 640 delu= 1.4375e02 delv= 1.4375e02 lpi= 10.000
+
+.. codeblock:: scale
+ :name: list812
+ :caption: Associated data for single unit map.
+
+ xy slice at z midpoint. single unit concentric cyls
+
+ unit map
+
+ unit 1
+ symbol 1
+ upper left lower right
+ coordinates coordinates
+ x 4.6000e+00 4.6000e+00
+ y 4.6000e+00 4.6000e+00
+ z 0.0000e+00 0.0000e+00
+ u axis v axis
+ (down) (across)
+ x 0.00000 1.00000
+ y 1.00000 0.00000
+ z 0.00000 0.00000
+ nu= 640 nv= 640 delu= 1.4375e02 delv= 1.4375e02 lpi= 10.000
+
+.. centered:: EXAMPLE 2. SINGLE UNIT WITH OFFSET ORIGIN.
+
+The physical problem is the same as that described in Example 1: two
+concentric cylinders in a cuboid. The dimensions are exactly the same,
+and the difference is in the choice of the origin. In this geometry
+description, the origin was specified as the most negative point of the
+unit. Thus, the cylinders must have an origin specified to center them
+in the cuboid, and the cuboid extends from 0.0 to 8.6 in X and Y and
+from 0.0 to 32 in Z as shown in the problem description below.
+
+KENO V.a:
+
+::
+
+ =KENO5
+ SINGLE UNIT CONCENTRIC CYLINDERS IN CUBOID WITH ORIGIN AT CORNER
+ READ PARAM RUN=NO LIB=41 END PARAM
+ READ MIXT SCT=1 MIX=1 92500 4.70482 MIX=2 200 1.0 MIX=3 502 0.1
+ MIX=4 200 1.0
+ END MIXT
+ READ GEOM
+ UNIT 1
+ CYLINDER 1 1 2.6 31.0 1.0 ORIGIN 4.3 4.3
+ CYLINDER 0 1 3.6 31.0 1.0 ORIGIN 4.3 4.3
+ CYLINDER 4 1 3.8 31.0 1.0 ORIGIN 4.3 4.3
+ CUBOID 0 1 8.1 0.5 8.1 0.5 31.0 1.0
+ CUBOID 2 1 8.6 0.0 8.6 0.0 32.0 0.0
+ END GEOM
+ READ PLOT
+ TTL='XY SLICE AT Z MIDPOINT. SINGLE UNIT CONCENTRIC CYLS.'
+ XUL=0.3 YUL=8.9 ZUL=16.0 XLR=8.9 YLR=0.3 ZLR=16.0
+ UAX=1.0 VDN=1.0 NAX=640 END
+ PIC=UNIT END
+ END PLOT
+ END DATA
+ END
+
+KENOVI:
+
+::
+
+ =KENOVI
+ SINGLE UNIT CONCENTRIC CYLINDERS IN CUBOID WITH ORIGIN AT CORNER
+ READ PARAM RUN=NO LIB=41 TME=0.5 END PARAM
+ READ MIXT SCT=1 MIX=1 92500 4.70482 MIX=2 200 1.0 MIX=3 502 0.1
+ MIX=4 200 1.0
+ END MIXT
+ READ GEOM
+ GLOBAL UNIT 1
+ CYLINDER 1 2.6 31.0 1.0 ORIGIN X=4.3 Y=4.3
+ CYLINDER 2 3.6 31.0 1.0 ORIGIN X=4.3 Y=4.3
+ CYLINDER 3 3.8 31.0 1.0 ORIGIN X=4.3 Y=4.3
+ CUBOID 4 8.1 0.5 8.1 0.5 31.0 1.0
+ CUBOID 5 8.6 0.0 8.6 0.0 32.0 0.0
+ MEDIA 1 1 1
+ MEDIA 0 1 2 1
+ MEDIA 4 1 3 2 1
+ MEDIA 0 1 4 3 2 1
+ MEDIA 2 1 5 4
+ BOUNDARY 5
+ END GEOM
+ READ PLOT
+ TTL='XY SLICE AT Z MIDPOINT. SINGLE UNIT CONCENTRIC CYLS.'
+ XUL=0.3 YUL=8.9 ZUL=16.0 XLR=8.9 YLR=0.3 ZLR=16.0
+ UAX=1.0 VDN=1.0 NAX=640 END
+ PIC=UNIT NCH='01' END
+ END PLOT
+ END DATA
+ END
+
+The plot data included above will draw a mixture map of an XY slice
+taken at the half height (Z = 16.0). It will also draw a unit map of the
+same slice. The plot dimensions extend 0.3 cm beyond the problem
+dimensions to provide a black border around the plot. The associated
+plot data specification for the mixture map is shown in :numref:`list813`, the
+mixture map is shown in :numref:`fig8170`, and the associated plot data for
+the unit map is shown in :numref:`list814`. The unit map is identical to
+:numref:`fig8166` and is not included.
+
+.. codeblock:: scale
+ :name: list813
+ :caption: Associated data for mixture map of single unit with offset origin.
+
+ xy slice at z midpoint. single unit concentric cyls.
+
+ mixture map
+
+ mixture 0 1 2 4
+ symbol 1 2 3
+ upper left lower right
+ coordinates coordinates
+ x 3.0000e01 8.9000e+00
+ y 8.9000e+00 3.0000e01
+ z 1.6000e+01 1.6000e+01
+ u axis v axis
+ (down) (across)
+ x 0.00000 1.00000
+ y 1.00000 0.00000
+ z 0.00000 0.00000
+ nu= 640 nv= 640 delu= 1.4375e02 delv= 1.4375e02 lpi= 10.000
+
+
+.. _fig8170:
+.. figure:: figs/Keno/fig70.png
+ :align: center
+ :width: 400
+
+ Mixture map of single unit with offset origin.
+
+.. codeblock:: scale
+ :name: list814
+ :caption: Associated data for unit map of single unit with offset origin.
+
+ xy slice at z midpoint. single unit concentric cyls.
+
+ unit map
+
+ unit 1
+ symbol 1
+ upper left lower right
+ coordinates coordinates
+ x 3.0000e01 8.9000e+00
+ y 8.9000e+00 3.0000e01
+ z 1.6000e+01 1.6000e+01
+ u axis v axis
+ (down) (across)
+ x 0.00000 1.00000
+ y 1.00000 0.00000
+ z 0.00000 0.00000
+ nu= 640 nv= 640 delu= 1.4375e02 delv= 1.4375e02 lpi= 10.000
+
+.. centered:: EXAMPLE 3. A 2 × 2 × 2 UNREFLECTED ARRAY OF CONCENTRIC CYLINDERS IN
+ CUBOIDS
+
+The physical representation of this example is a 2 × 2 × 2 array of the
+configuration described in Example 1 of this section. The input data
+description for this array is given below:
+
+KENO V.a:
+
+::
+
+ =KENOVA
+ 2x2x2 BARE ARRAY OF CONCENTRIC CYLINDERS IN CUBOID
+ READ PARAM RUN=NO LIB=41 END PARAM
+ READ MIXT SCT=1 MIX=1 92500 4.70482 MIX=2 200 1.0 MIX=3 502 0.1
+ MIX=4 200 1.0
+ END MIXT
+ READ GEOM
+ UNIT 1
+ CYLINDER 1 1 2.6 2P15.0
+ CYLINDER 0 1 3.6 2P15.0
+ CYLINDER 4 1 3.8 2P15.0
+ CUBOID 0 1 4P3.8 2P15.0
+ CUBOID 2 1 4P4.3 2P16.0
+ END GEOM
+ READ ARRAY NUX=2 NUY=2 NUZ=2 END ARRAY
+ READ PLOT
+ TTL='XY SLICE AT HALF HEIGHT OF BOTTOM LAYER.'
+ XUL=0.3 YUL=17.5 ZUL=16.0 XLR=17.5 YLR=0.3 ZLR=16.0
+ UAX=1.0 VDN=1.0 NAX=640 END
+ TTL='XZ SLICE THROUGH FRONT ROW, Y=12.9.'
+ XUL=1.0 YUL=12.9 ZUL=65.0 XLR=18.2 YLR=12.9 ZLR=1.0
+ UAX=1.0 WDN=1.0 NAX=320 END
+ END PLOT
+ END DATA
+ END
+
+KENOVI:
+
+::
+
+ =KENOVI
+ 2x2x2 BARE ARRAY OF CONCENTRIC CYLINDERS IN CUBOID
+ READ PARAM RUN=NO LIB=41 TME=8.5 END PARAM
+ READ MIXT SCT=1 MIX=1 92500 4.70482 MIX=2 200 1.0 MIX=3 502 0.1
+ MIX=4 200 1.0
+ END MIXT
+ READ GEOM
+ UNIT 1
+ CYLINDER 1 2.6 2P15.0
+ CYLINDER 2 3.6 2P15.0
+ CYLINDER 3 3.8 2P15.0
+ CUBOID 4 4P3.8 2P15.0
+ CUBOID 5 4P4.3 2P16.0
+ MEDIA 1 1 1
+ MEDIA 0 1 2 1
+ MEDIA 4 1 3 2 1
+ MEDIA 0 1 4 3 2 1
+ MEDIA 2 1 5 4
+ BOUNDARY 5
+ GLOBAL UNIT 2
+ CUBOID 1 17.2 0.0 17.2 0.0 64.0 0.0
+ ARRAY 1 1 PLACE 1 1 1 4.3 4.3 16.0
+ BOUNDARY 1
+ END GEOM
+ READ ARRAY ARA=1 NUX=2 NUY=2 NUZ=2 FILL F1 END FILL END ARRAY
+
+ READ PLOT
+ TTL='XY SLICE AT HALF HEIGHT OF BOTTOM LAYER.'
+ XUL=0.3 YUL=17.5 ZUL=16.0 XLR=17.5 YLR=0.3 ZLR=16.0
+ UAX=1.0 VDN=1.0 NAX=640 END
+ TTL='XZ SLICE THROUGH FRONT ROW, Y=12.9.'
+ XUL=1.0 YUL=12.9 ZUL=65.0 XLR=18.2 YLR=12.9 ZLR=1.0
+ UAX=1.0 WDN=1.0 NAX=320 END
+ END PLOT
+ END DATA
+ END
+
+As stated at the beginning of :ref:`8139`, the origin of a plot is
+defined as the origin of the **GLOBAL UNIT**. Each individual unit in
+the array is 8.6 cm wide in X and Y and 32 cm high in Z. Since the array
+has two units stacked in each direction, the array is 17.2 cm wide in X
+and Y and is 64 cm high. Therefore, the array exists from X = 0.0 to X =
+17.2, from Y = 0.0 to Y = 17.2 and from Z = 0.0 to Z = 64.0.
+
+The first color plot is to generate an XY slice through the array at
+the half height (Z = 16.0 cm) of the first layer as shown in
+:numref:`fig8172`. It is desirable to create an image with a larger extent
+than the global unit to ensure that the boundaries are as expected. This
+is achieved by setting the boundaries of the plot larger than the array.
+In this case, the boundaries were arbitrarily set 0.3 cm larger than the
+array, resulting in a black border around the array. If the plot were to
+exclude everything external to the array, the following coordinates
+could have been entered: **XUL**\ =0.0 **YUL**\ =17.2 **ZUL**\ =16.0
+**XLR**\ =17.2 **YLR**\ =0.0 **ZLR**\ =16.0. This would have eliminated
+the black border. The existing plot was made using **XUL**\ = −0.3
+**YUL**\ =17.5 **ZUL**\ =16.0 **XLR**\ =17.5 **YLR**\ = −0.3
+**ZLR**\ =16.0.
+
+.. _fig8172:
+.. figure:: figs/Keno/fig72.png
+ :align: center
+ :width: 400
+
+ XY plot of 2 × 2 × 2 bare array.
+
+The second color plot is to generate an XZ slice through the center of
+the front row of the array. In order to obtain a black border, the
+coordinates of X and Z were arbitrarily set 1.0 cm larger than the
+boundaries of the array. The center of the front row occurs at Y = 12.9.
+The coordinates of the plot were: **XUL**\ = −1.0 **ZUL**\ =65.0
+**YUL**\ =12.9 **XLR**\ =18.2 **ZLR**\ = −1.0 **YLR**\ =12.9. The
+resulting mixture map is shown in :numref:`fig8173`.
+
+.. _fig8173:
+.. figure:: figs/Keno/fig73.png
+ :align: center
+ :width: 400
+
+ XZ plot of 2 × 2 × 2 bare array.
+
+.. centered:: EXAMPLE 4. A 2 × 2 × 2 REFLECTED ARRAY WITH THE ORIGIN AT THE MOST
+ NEGATIVE POINT OF THE ARRAY
+
+The **ARRAY** is described in Example 3 of this section with a 6 in.
+concrete reflector on all faces. The input data description for this
+array is given below.
+
+KENO V.a:
+
+::
+
+ =KENOVA
+ 2x2x2 REFLECTED ARRAY OF CONCENTRIC CYLINDERS IN CUBOID
+ READ PARAM RUN=NO LIB=41 END PARAM
+ READ MIXT SCT=1 MIX=1 92500 4.70482 MIX=2 200 1.0 MIX=3 301 1.0
+ MIX=4 200 1.0
+ END MIXT
+ READ GEOM
+ UNIT 1
+ CYLINDER 1 1 2.6 2P15.0
+ CYLINDER 0 1 3.6 2P15.0
+ CYLINDER 4 1 3.8 2P15.0
+ CUBOID 0 1 4P3.8 2P15.0
+ CUBOID 2 1 4P4.3 2P16.0
+ GLOBAL
+ UNIT 2
+ ARRAY 1 3*0.0
+ REFLECTOR 3 2 6*5.0 3
+ REFLECTOR 3 5 6*0.24 1
+ END GEOM
+ READ BIAS ID=301 2 5 END BIAS
+ READ ARRAY ARA=1 NUX=2 NUY=2 NUZ=2 FILL F1 END FILL END ARRAY
+ READ PLOT
+ TTL='XY SLICE AT HALF HEIGHT OF BOTTOM LAYER.INCLUDES REFL.'
+ XUL=16.24 YUL=33.44 ZUL=16.0 XLR=33.44 YLR=16.24 ZLR=16.0
+ UAX=1.0 VDN=1.0 NAX=640 END
+ TTL='XY SLICE AT HALF HEIGHT OF BOTTOM LAYER, INCLUDE 3 CM OF REFL.'
+ XUL=3.0 YUL=20.2 ZUL=16.0 XLR=20.2 YLR=3.0 ZLR=16.0
+ UAX=1.0 VDN=1.0 NAX=640 END
+ TTL='XZ SLICE THROUGH FRONT ROW, Y=12.9. INCLUDE REFLECTOR'
+ XUL=16.24 YUL=12.9 ZUL=80.24 XLR=33.44 YLR=12.9 ZLR=16.24
+ UAX=1.0 WDN=1.0 NAX=640 END
+ TTL='XZ SLICE THROUGH FRONT ROW, Y=12.9. INCLUDE 3 CM OF REFLECTOR'
+ XUL=3.0 YUL=12.9 ZUL=67.0 XLR=20.2 YLR=12.9 ZLR=3.0
+ UAX=1.0 WDN=1.0 NAX=640 END
+ END PLOT
+ END DATA
+ END
+
+KENOVI:
+
+::
+
+ =KENOVI
+ 2x2x2 REFLECTED ARRAY OF CONCENTRIC CYLINDERS IN CUBOID
+ READ PARAM RUN=NO LIB=41 TME=0.5 END PARAM
+ READ MIXT SCT=1 MIX=1 92500 4.70482 MIX=2 200 1.0 MIX=3 301 1.0
+ MIX=4 200 1.0
+ END MIXT
+ READ GEOM
+ UNIT 1
+ CYLINDER 1 2.6 2P15.0
+ CYLINDER 2 3.6 2P15.0
+ CYLINDER 3 3.8 2P15.0
+ CUBOID 4 4P3.8 2P15.0
+ CUBOID 5 4P4.3 2P16.0
+ MEDIA 1 1 1
+ MEDIA 0 1 2 1
+ MEDIA 4 1 3 2
+ MEDIA 0 1 4 3
+ MEDIA 2 1 5 4
+ BOUNDARY 5
+ GLOBAL UNIT 2
+ CUBOID 1 17.2 0.0 17.2 0.0 64.0 0.0
+ CUBOID 2 22.20 5.00 22.20 5.00 69.00 5.00
+ CUBOID 3 27.20 10.00 27.20 10.00 74.00 10.00
+ CUBOID 4 32.20 15.00 32.20 15.00 79.00 15.00
+ CUBOID 5 32.44 15.24 32.44 15.24 79.24 15.24
+ ARRAY 1 1 PLACE 1 1 1 4.3 4.3 16.0
+ MEDIA 3 2 2 1
+ MEDIA 3 3 3 2
+ MEDIA 3 4 4 3
+ MEDIA 3 5 5 4
+ BOUNDARY 5
+ END GEOM
+ READ BIAS ID=301 2 5 END BIAS
+ READ ARRAY ARA=1 NUX=2 NUY=2 NUZ=2 FILL F1 END FILL END ARRAY
+ READ PLOT
+ TTL='XY SLICE AT HALF HEIGHT OF BOTTOM LAYER.INCLUDES REFL.'
+ XUL=16.24 YUL=33.44 ZUL=16.0 XLR=33.44 YLR=16.24 ZLR=16.0
+ UAX=1.0 VDN=1.0 NAX=640 END
+ TTL='XY SLICE AT HALF HEIGHT OF BOTTOM LAYER, INCLUDE 3 CM OF REFL.'
+ XUL=3.0 YUL=20.2 ZUL=16.0 XLR=20.2 YLR=3.0 ZLR=16.0
+ UAX=1.0 VDN=1.0 NAX=640 END
+ TTL='XZ SLICE THROUGH FRONT ROW, Y=12.9. INCLUDE REFLECTOR'
+ XUL=16.24 YUL=12.9 ZUL=80.24 XLR=33.44 YLR=12.9 ZLR=16.24
+ UAX=1.0 WDN=1.0 NAX=640 END
+ TTL='XZ SLICE THROUGH FRONT ROW, Y=12.9. INCLUDE 3 CM OF REFLECTOR'
+ XUL=3.0 YUL=12.9 ZUL=67.0 XLR=20.2 YLR=12.9 ZLR=3.0
+ UAX=1.0 WDN=1.0 NAX=640 END
+ END PLOT
+ END DATA
+ END
+
+The **ARRAY** record specifies the array number and the coordinates of
+the most negative point of the array to be (0.0,0.0,0.0) and the
+coordinates of the most positive point to be (17.2,17.2,64.0). Thus the
+reflected array extends from 15.24 cm to +32.44 cm in X and Y and from
+15.24 to +79.24 in Z.
+
+The first color plot for this example is to show an XY slice through
+the array and reflector at the half height of the bottom layer. A black
+border is used to verify that the entire reflector has been shown. This
+is accomplished by arbitrarily setting the plot boundaries 1 cm beyond
+the reflector boundaries. The coordinates used for this plot are **XUL**
+= −16.24 **YUL** = 33.44 **ZUL** = 16.0 **XLR** = 33.44 **YLR** = 16.24
+**ZLR** = 16.0. The plot data description is shown in :numref:`list815`, and
+the plot is shown in :numref:`fig8175`.
+
+.. codeblock:: scale
+ :name: list815
+ :caption: Plot data for XY slice of Example 4.
+
+ xy slice at half height of bottom layer. includes refl.
+
+ mixture map
+
+ mixture 0 1 2 3 4
+ symbol 1 2 3 4
+ upper left lower right
+ coordinates coordinates
+ x 1.6240e+01 3.3440e+01
+ y 3.3440e+01 1.6240e+01
+ z 1.6000e+01 1.6000e+01
+ u axis v axis
+ (down) (across)
+ x 0.00000 1.00000
+ y 1.00000 0.00000
+ z 0.00000 0.00000
+ nu= 640 nv= 640 delu= 7.7625e02 delv= 7.7625e02 lpi= 10.000
+
+.. _fig8175:
+.. figure:: figs/Keno/fig75.png
+ :align: center
+ :width: 400
+
+ XY plot of 2 × 2 × 2 reflected array.
+
+The next color plot is the same as the previous plot, except this plot
+includes only the first 3 cm of the reflector in order to show more
+detail. The coordinates used for this plot are **XUL**\ = −3.0
+**YUL**\ =20.2 **ZUL**\ =16.0 **XLR**\ =20.2 **YLR**\ = −3.0
+**ZLR**\ =16.0. This plot data description is given in :numref:`list816`, and
+the plot is shown in :numref:`fig8177`.
+
+.. codeblock:: scale
+ :name: list816
+ :caption: Plot data for enlarged XY slice of Example 4.
+
+ xy slice at half height of bottom layer, include 3 cm of refl.
+ mixture map
+
+ mixture 0 1 2 3 4
+ symbol 1 2 3 4
+ upper left lower right
+ coordinates coordinates
+ x 3.0000e+00 2.0200e+01
+ y 2.0200e+01 3.0000e+00
+ z 1.6000e+01 1.6000e+01
+ u axis v axis
+ (down) (across)
+ x 0.00000 1.00000
+ y 1.00000 0.00000
+ z 0.00000 0.00000
+ nu= 640 nv= 640 delu= 3.6250e02 delv= 3.6250e02 lpi= 10.000
+
+.. _fig8177:
+.. figure:: figs/Keno/fig77.png
+ :align: center
+ :width: 400
+
+ Enlarged XY plot of 2 × 2 × 2 reflected array.
+
+The third color plot for this example is an XZ slice through the center
+of the front row. An extra 1 cm is included in the coordinates to
+provide a black border around the plot. The coordinates are: **XUL**\ =
+−16.24 **YUL**\ =12.9 **ZUL**\ =80.24 **XLR**\ =33.44 **YLR**\ =12.9
+**ZLR**\ = −16.24. The resultant plot data and plot are shown in
+:numref:`list817` and :numref:`fig8179`. XZ plot for 2 × 2 × 2 reflected array.
+
+.. codeblock:: scale
+ :name: list817
+ :caption: Plot data for XZ slice of Example 4.
+
+ xz slice through front row, y=12.9. include reflector
+
+ mixture map
+
+ mixture 0 1 2 3 4
+ symbol 1 2 3 4
+ upper left lower right
+ coordinates coordinates
+ x 1.6240e+01 3.3440e+01
+ y 1.2900e+01 1.2900e+01
+ z 8.0240e+01 1.6240e+01
+ u axis v axis
+ (down) (across)
+ x 0.00000 1.00000
+ y 0.00000 0.00000
+ z 1.00000 0.00000
+ nu= 1242 nv= 640 delu= 7.7625e02 delv= 7.7625e02 lpi= 10.000
+
+.. _fig8179:
+.. figure:: figs/Keno/fig79.png
+ :align: center
+ :width: 400
+
+ XZ plot for 2 × 2 × 2 reflected array.
+
+The last color plot for this example is the same as the previous one,
+except only 3 cm of the reflector is included in the plot. The plot data
+and associated plot are shown in :numref:`list818` and :numref:`fig8181`.
+
+.. codeblock:: scale
+ :name: list818
+ :caption: Plot data for enlarged XZ slice of Example 4.
+
+ xz slice through front row, y=12.9. include 3 cm of reflector
+
+ mixture map
+
+ mixture 0 1 2 3 4
+ symbol 1 2 3 4
+ upper left lower right
+ coordinates coordinates
+ x 3.0000e+00 2.0200e+01
+ y 1.2900e+01 1.2900e+01
+ z 6.7000e+01 3.0000e+00
+ u axis v axis
+ (down) (across)
+ x 0.00000 1.00000
+ y 0.00000 0.00000
+ z 1.00000 0.00000
+ nu= 1931 nv= 640 delu= 3.6250e02 delv= 3.6250e02 lpi= 10.000
+
+.. _fig8181:
+.. figure:: figs/Keno/fig81.png
+ :align: center
+ :width: 400
+
+ Enlarged XZ plot of 2 × 2 × 2 reflected array.
+
+.. centered:: EXAMPLE 5. A 2 × 2 × 2 REFLECTED ARRAY WITH THE ORIGIN CENTERED IN THE
+ ARRAY
+
+This example is physically identical to Example 4. The difference is in
+the specification of the origin. The bare array is 17.2 cm wide in X and
+Y and 64 cm high. The origin (0,0,0) can be placed at the exact center
+of the array by specifying the most negative point of the array as X =
+−8.6, Y = −8.6 and Z = −32.0. This is done using the **ARRAY**
+description in the geometry block. Because the origin is located at a
+different position, the coordinates of the plots will also be different.
+The input data description for this example is given below.
+
+KENO V.a:
+
+::
+
+ =KENOVA
+ 2x2x2 REFLECTED ARRAY OF CONCENTRIC CYLINDERS IN CUBOID
+ READ PARAM RUN=NO LIB=41 TME=0.5 END PARAM
+ READ MIXT SCT=1 MIX=1 92500 4.70482 MIX=2 200 1.0 MIX=3 301 1.0
+ MIX=4 200 1.0
+ END MIXT
+ READ GEOM
+ UNIT 1
+ CYLINDER 1 1 2.6 2P15.0
+ CYLINDER 0 1 3.6 2P15.0
+ CYLINDER 4 1 3.8 2P15.0
+ CUBOID 0 1 4P3.8 2P15.0
+ CUBOID 2 1 4P4.3 2P16.0
+ GLOBAL
+ UNIT 2
+ ARRAY 1 1 2*8.6 32.0
+ REFLECTOR 3 2 6*5.0 3
+ REFLECTOR 3 5 6*0.24 1
+ END GEOM
+ READ BIAS ID=301 2 5 END BIAS
+ READ ARRAY ARA=1 NUX=2 NUY=2 NUZ=2 FILL F1 END FILL END ARRAY
+ READ PLOT
+ TTL='XY SLICE AT HALF HEIGHT OF BOTTOM LAYER.INCLUDES REFL.'
+ XUL=24.84 YUL=24.84 ZUL=8.0 XLR=24.84 YLR=24.84 ZLR=8.0
+ UAX=1.0 VDN=1.0 NAX=640 END
+ TTL='XY SLICE AT HALF HEIGHT OF BOTTOM LAYER, INCLUDE 3 CM OF REFL.'
+ XUL=11.6 YUL=11.6 ZUL=8.0 XLR=11.6 YLR=11.6 ZLR=8.0
+ UAX=1.0 VDN=1.0 NAX=640 END
+ TTL='XZ SLICE THROUGH FRONT ROW. Y=4.3 INCLUDE REFLECTOR'
+ XUL=24.84 YUL=4.3 ZUL=48.24 XLR=24.84 YLR=4.3 ZLR=48.24
+ UAX=1.0 WDN=1.0 NAX=640 END
+ TTL='XZ SLICE THROUGH FRONT ROW, Y=4.3 INCLUDE 3 CM OF REFLECTOR'
+ XUL=11.6 YUL=4.3 ZUL=35.0 XLR=11.6 YLR=4.3 ZLR=35.0
+ UAX=1.0 WDN=1.0 NAX=640 END
+ END PLOT
+ END DATA
+ END
+
+KENOVI:
+
+::
+
+ =KENOVI
+ 2x2x2 REFLECTED ARRAY OF CONCENTRIC CYLINDERS IN CUBOID
+ READ PARAM RUN=NO LIB=41 TME=0.5 END PARAM
+ READ MIXT SCT=1 MIX=1 92500 4.70482 MIX=2 200 1.0 MIX=3 301 1.0
+ MIX=4 200 1.0
+ END MIXT
+ READ GEOM
+ UNIT 1
+ CYLINDER 1 2.6 2P15.0
+ CYLINDER 2 3.6 2P15.0
+ CYLINDER 3 3.8 2P15.0
+ CUBOID 4 4P3.8 2P15.0
+ CUBOID 5 4P4.3 2P16.0
+ MEDIA 1 1
+ MEDIA 0 1 2 1
+ MEDIA 4 1 3 2
+ MEDIA 0 1 4 3
+ MEDIA 2 1 5 4
+ BOUNDARY 5
+ GLOBAL UNIT 2
+ CUBOID 1 8.6 8.6 8.6 8.6 32.0 32.0
+ CUBOID 2 13.6 13.6 13.6 13.6 37.0 37.0
+ CUBOID 3 18.6 18.6 18.6 18.6 42.0 42.0
+ CUBOID 4 23.6 23.6 23.6 23.6 47.0 47.0
+ CUBOID 5 23.84 23.84 23.84 23.84 47.24 47.24
+ ARRAY 1 1 PLACE 1 1 1 4.3 4.3 16.0
+ MEDIA 3 2 2 1
+ MEDIA 3 3 3 2
+ MEDIA 3 4 4 3
+ MEDIA 3 5 5 4
+ BOUNDARY 5
+ END GEOM
+ READ BIAS ID=301 2 5 END BIAS
+ READ ARRAY ARA=1 NUX=2 NUY=2 NUZ=2I FILL F1 END FILL END ARRAY
+ READ PLOT
+ TTL='XY SLICE AT HALF HEIGHT OF BOTTOM LAYER INCLUDES REFL.'
+ XUL=24.84 YUL=24.84 ZUL=8.0 XLR=24.84 YLR=24.84 ZLR=8.0
+ UAX=1.0 VDN=1.0 NAX=130 NCH=' *=.X' END
+ TTL='XY SLICE AT HALF HEIGHT OF BOTTOM LAYER, INCLUDE 3 CM OF REFL.'
+ XUL=11.6 YUL=11.6 ZUL=8.0 XLR=11.6 YLR=11.6 ZLR=8.0
+ UAX=1.0 VDN=1.0 NAX=640 END
+ TTL='XZ SLICE THROUGH FRONT ROW. Y=4.3 INCLUDE REFLECTOR'
+ XUL=24.84 YUL=4.3 ZUL=48.24 XLR=24.84 YLR=4.3 ZLR=48.24
+ UAX=1.0 WDN=1.0 NAX=640 END
+ TTL='XZ SLICE THROUGH FRONT ROW, Y=4.3 INCLUDE 3 CM OF REFLECTOR'
+ XUL=11.6 YUL=4.3 ZUL=35.0 XLR=11.6 YLR=4.3 ZLR=35.0
+ UAX=1.0 WDN=1.0 NAX=640 END
+ END PLOT
+ END DATA
+ END
+
+The first color plot for this example covers exactly the same area as
+the first plot for Example 4. The plot data and the plot are given in
+:numref:`list819` and :numref:`fig8183`, respectively.
+
+.. codeblock:: scale
+ :name: list819
+ :caption: Plot data for XY slice of Example 5.
+
+ xy slice at half height of bottom layer.includes refl.
+ mixture map
+
+ mixture 0 1 2 3 4
+ symbol 1 2 3 4
+ upper left lower right
+ coordinates coordinates
+ x 2.4840e+01 2.4840e+01
+ y 2.4840e+01 2.4840e+01
+ z 8.0000e+00 8.0000e+00
+ u axis v axis
+ (down) (across)
+ x 0.00000 1.00000
+ y 1.00000 0.00000
+ z 0.00000 0.00000
+ nu= 640 nv= 640 delu= 7.7625e02 delv= 7.7625e02 lpi= 10.000
+
+.. _fig8183:
+.. figure:: figs/Keno/fig83.png
+ :align: center
+ :width: 400
+
+ XY plot of 2 × 2 × 2 reflected array with centered origin.
+
+The Example 5 plot data and associated plots for an enlarged XY plot,
+an XZ plot and an enlarged XZ plot are given in :numref:`list8110` through :numref:`fig8189`.
+
+.. codeblock:: scale
+ :name: list8110
+ :caption: Plot data for an enlarged XY slice of Example 5.
+
+ xy slice at half height of bottom layer, include 3 cm of refl.
+
+ mixture map
+
+ mixture 0 1 2 3 4
+ symbol 1 2 3 4
+ upper left lower right
+ coordinates coordinates
+ x 1.1600e+01 1.1600e+01
+ y 1.1600e+01 1.1600e+01
+ z 8.0000e+00 8.0000e+00
+ u axis v axis
+ (down) (across)
+ x 0.00000 1.00000
+ y 1.00000 0.00000
+ z 0.00000 0.00000
+ nu= 640 nv= 640 delu= 3.6250e02 delv= 3.6250e02 lpi= 10.000
+
+.. _fig8185:
+.. figure:: figs/Keno/fig85.png
+ :align: center
+ :width: 400
+
+ Enlarged XY plot of 2 × 2 × 2 reflected array with centered origin.
+
+.. codeblock:: scale
+ :name: list8111
+ :caption: Plot data for XZ slice of Example 5.
+
+ xz slice through front row. y=4.3 include reflector
+
+ mixture map
+
+ mixture 0 1 2 3 4
+ symbol 1 2 3 4
+ upper left lower right
+ coordinates coordinates
+ x 2.4840e+01 2.4840e+01
+ y 4.3000e+00 4.3000e+00
+ z 4.8240e+01 4.8240e+01
+ u axis v axis
+ (down) (across)
+ x 0.00000 1.00000
+ y 0.00000 0.00000
+ z 1.00000 0.00000
+ nu= 1242 nv= 640 delu= 7.7625e02 delv= 7.7625e02 lpi= 10.000
+
+.. _fig8187:
+.. figure:: figs/Keno/fig87.png
+ :align: center
+ :width: 400
+
+ XZ plot of reflected 2 × 2 × 2 array with centered origin.
+
+.. codeblock:: scale
+ :name: list8112
+ :caption: Plot data for enlarged XZ slice of Example 5.
+
+ xz slice through front row, y=4.3 include 3 cm of reflector
+
+ mixture map
+
+ mixture 0 1 2 3 4
+ symbol 1 2 3 4
+ upper left lower right
+ coordinates coordinates
+ x 1.1600e+01 1.1600e+01
+ y 4.3000e+00 4.3000e+00
+ z 3.5000e+01 3.5000e+01
+ u axis v axis
+ (down) (across)
+ x 0.00000 1.00000
+ y 0.00000 0.00000
+ z 1.00000 0.00000
+ nu= 1931 nv= 640 delu= 3.6250e02 delv= 3.6250e02 lpi= 10.000
+
+.. _fig8189:
+.. figure:: figs/Keno/fig89.png
+ :align: center
+ :width: 400
+
+ Enlarged XZ plot of reflected 2 × 2 × 2 array with centered origin.
+
+.. centered::EXAMPLE 6. NESTED HOLES.
+
+The nested hole description is provided in :ref:`81362`. Because this
+example involves a complicated placement of units, it is helpful useful
+to the user to generate a mixture plot and/or a unit plot for the
+problem. The resultant mixture plot for this problem is shown in
+:numref:`fig8190`, and the data description for Example 6 follows.
+
+.. _fig8190:
+.. figure:: figs/Keno/fig90.png
+ :align: center
+ :width: 400
+
+ Mixture plot of nested holes problem.
+
+.. codeblock:: scale
+ :name: list8113
+ :caption: Plot data for unit plot of nested holes.
+
+ xy slice at z midpoint. nested holes. unit map
+ 0 unit map
+ unit 1 2 3 4 5 6 7 8 9
+ symbol 1 2 3 4 5 6 7 8 9
+
+ overall system coordinates:
+ xmin= 0.00000e+00 xmax= 8.00000e+00 ymin= 0.00000e+00 ymax= 8.00000e+00
+ zmin= 0.00000e+00 zmax= 3.20000e+01
+ upper left lower right
+ coordinates coordinates
+ x 1.0000e01 8.1000e+00
+ y 8.1000e+00 1.0000e01
+ z 1.6000e+01 1.6000e+01
+ u axis v axis
+ (down) (across)
+ x 0.00000 1.00000
+ y 1.00000 0.00000
+ z 0.00000 0.00000
+ nu= 640 nv= 640 delu= 1.2813e02 delv= 1.2813e02 lpi= 10.000
+
+.. _fig8192:
+.. figure:: figs/Keno/fig92.png
+ :align: center
+ :width: 400
+
+ Unit plot of nested holes problem.
+
+KENO V.a:
+
+::
+
+ =KENOVA
+ NESTED HOLES SAMPLE
+ READ PARAM RUN=NO LIB=41 END PARAM
+ READ MIXT SCT=1 MIX=1 92500 4.70482 MIX=2 200 1.0 MIX=3 502 0.1
+ MIX=4 200 1.0
+ END MIXT
+ READ GEOM
+ UNIT 1
+ CYLINDER 1 1 0.1 2P15.0
+ UNIT 2
+ CUBOID 2 1 2P0.1 2P0.05 2P15.0
+ UNIT 3
+ CUBOID 2 1 2P0.05 2P0.1 2P15.0
+ UNIT 4
+ CYLINDER 1 1 0.1 2P15.0
+ CYLINDER 3 1 0.5 2P15.0
+ HOLE 1 0.0 0.4 0.0
+ HOLE 1 0.4 0.0 0.0
+ HOLE 1 0.0 0.4 0.0
+ HOLE 1 0.4 0.0 0.0
+ HOLE 2 0.2 0.0 0.0
+ HOLE 2 0.2 0.0 0.0
+ HOLE 3 0.0 0.2 0.0
+ HOLE 3 0.0 0.2 0.0
+ UNIT 5
+ CYLINDER 1 1 0.5 2P15.0
+ UNIT 6
+ CYLINDER 2 1 0.2 2P15.0
+ UNIT 7
+ CYLINDER 2 1 0.2 2P15.0
+ CYLINDER 0 1 1.3 2P15.0
+ HOLE 5 0.707107 2*0.0
+ HOLE 6 0.707107 0.707107 0.0
+ HOLE 4 0.0 0.707107 0.0
+ HOLE 6 0.707107 0.707107 0.0
+ HOLE 5 0.707107 0.0 0.0
+ HOLE 6 0.707107 0.707107 0.0
+ HOLE 4 0.0 0.707107 0.0
+ HOLE 6 0.707107 0.707107 0.0
+ CYLINDER 4 1 1.4 2P15.0
+ UNIT 8
+ CYLINDER 2 1 0.6 2P15.0
+ UNIT 9
+ CYLINDER 2 1 0.6 2P15.0
+ CYLINDER 0 1 3.6 2P15.0
+ HOLE 7 2.0 0.0 0.0
+ HOLE 8 2*2.0 0.0
+ HOLE 7 0.0 2.0 0.0
+ HOLE 8 2.0 2.0 0.0
+ HOLE 7 2.0 2*0.0
+ HOLE 8 2*2.0 0.0
+ HOLE 7 0.0 2.0 0.0
+ HOLE 8 2P2.0 0.0
+ CYLINDER 4 1 3.8 2P15.0
+ CUBOID 0 1 4P4.0 2P16.0
+ END GEOM
+ READ ARRAY ARA=1 NUX=1 NUY=1 NUZ=1 FILL 9 END ARRAY
+ READ PLOT
+ TTL='XY SLICE AT Z MIDPOINT. NESTED HOLES'
+ XUL=0.1 YUL=8.1 ZUL=16.0 XLR=8.1 YLR=0.1 ZLR=16
+ UAX=1.0 VDN=1.0 NAX=640 END
+ TTL='XY SLICE AT Z MIDPOINT. NESTED HOLES. UNIT MAP'
+ PIC=UNIT END
+ END PLOT
+ END DATA
+ END
+
+KENOVI:
+
+::
+
+ =KENOVI
+ NESTED HOLES SAMPLE
+ READ PARAM RUN=NO LIB=41 TME=0.5 END PARAM
+ READ MIXT SCT=1 MIX=1 92500 4.70482 MIX=2 200 1.0 MIX=3 502 0.1
+ MIX=4 200 1.0
+ END MIXT
+ READ GEOM
+ UNIT 1
+ CYLINDER 1 0.1 2P15.0
+ CYLINDER 2 0.1 2P15.0 ORIGIN Y=0.4
+ CYLINDER 3 0.1 2P15.0 ORIGIN X=0.4
+ CYLINDER 4 0.1 2P15.0 ORIGIN Y=0.4
+ CYLINDER 5 0.1 2P15.0 ORIGIN X=0.4
+ CUBOID 6 2P0.1 2P0.05 2P15.0 ORIGIN X=0.2
+ CUBOID 7 2P0.1 2P0.05 2P15.0 ORIGIN X=0.2
+ CUBOID 8 2P0.05 2P0.1 2P15.0 ORIGIN Y=0.2
+ CUBOID 9 2P0.05 2P0.1 2P15.0 ORIGIN Y=0.2
+ CYLINDER 10 0.5 2P15.0
+ MEDIA 1 1 1 6 7 8 9
+ MEDIA 1 1 2 8
+ MEDIA 1 1 3 7
+ MEDIA 1 1 4 9
+ MEDIA 1 1 5 6
+ MEDIA 2 1 6 1 5
+ MEDIA 2 1 7 1 3
+ MEDIA 2 1 8 1 2
+ MEDIA 2 1 9 1 4
+ MEDIA 3 1 1 2 3 4 5 6 7 8 9 10
+ BOUNDARY 10
+ UNIT 2
+ CYLINDER 1 0.2 2P15.0
+ CYLINDER 2 0.2 2P15.0 ORIGIN X=0.707107 Y=0.707107
+ CYLINDER 3 0.2 2P15.0 ORIGIN X=0.707107 Y=0.707107
+ CYLINDER 4 0.2 2P15.0 ORIGIN X=0.707107 Y=0.707107
+ CYLINDER 5 0.2 2P15.0 ORIGIN X=0.707107 Y=0.707107
+ CYLINDER 6 0.5 2P15.0 ORIGIN X=0.707107
+ CYLINDER 7 0.5 2P15.0 ORIGIN X=0.707107
+ CYLINDER 8 0.5 2P15.0 ORIGIN Y=0.707107
+ CYLINDER 9 0.5 2P15.0 ORIGIN Y=0.707107
+ CYLINDER 10 1.3 2P15.0
+ CYLINDER 11 1.4 2P15.0
+ MEDIA 2 1 1
+ MEDIA 2 1 2
+ MEDIA 2 1 3
+ MEDIA 2 1 4
+ MEDIA 2 1 5
+ MEDIA 1 1 6 8 9
+ MEDIA 1 1 7 8 9
+ HOLE 1 8 3 6 ORIGIN Y=0.707107
+ HOLE 1 9 6 7 ORIGIN Y=0.707107
+ MEDIA 0 1 10 1 2 3 4 5 6 7 8 9
+ MEDIA 4 1 11 10
+ BOUNDARY 11
+ GLOBAL UNIT 3
+ CYLINDER 1 0.6 2P15.0
+ CYLINDER 2 0.6 2P15.0 ORIGIN X=2.0 Y=2.0
+ CYLINDER 3 0.6 2P15.0 ORIGIN X=2.0 Y=2.0
+ CYLINDER 4 0.6 2P15.0 ORIGIN X=2.0 Y=2.0
+ CYLINDER 5 0.6 2P15.0 ORIGIN X=2.0 Y=2.0
+ CYLINDER 6 1.4 2P15.0 ORIGIN X=2.0
+ CYLINDER 7 1.4 2P15.0 ORIGIN Y=2.0
+ CYLINDER 8 1.4 2P15.0 ORIGIN X=2.0
+ CYLINDER 9 1.4 2P15.0 ORIGIN Y=2.0
+ CYLINDER 10 3.6 2P15.0
+ CYLINDER 11 3.8 2P15.0
+ CUBOID 12 4P4.0 2P16.0
+ MEDIA 2 1 1 6 7 8 9
+ MEDIA 2 1 2 6 7
+ MEDIA 2 1 3 7 8
+ MEDIA 2 1 4 8 9
+ MEDIA 2 1 5 9 6
+ HOLE 2 6 1 5 2 ORIGIN X=2
+ HOLE 2 7 1 2 3 ORIGIN Y=2
+ HOLE 2 8 1 3 4 ORIGIN X=2
+ HOLE 2 9 1 4 5 ORIGIN Y=2
+ MEDIA 0 1 10 1 2 3 4 5 6 7 8 9
+ MEDIA 4 1 11 10
+ MEDIA 0 1 12 11
+ BOUNDARY 12
+ END GEOM
+ READ PLOT
+ TTL='XY SLICE AT Z MIDPOINT. NESTED HOLES'
+ XUL=4.1 YUL=4.1 ZUL=0.0 XLR=4.1 YLR=4.1 ZLR=0
+ UAX=1.0 VDN=1.0 NAX=640 END
+ TTL='XY SLICE AT Z MIDPOINT. NESTED HOLES, UNIT MAP.'
+ PIC=UNIT END
+ END PLOT
+ END DATA
+ END
+
+.he plot data description for the **UNIT** plot of nested holes is shown
+in :numref:`list8113`. The **UNIT** plot is shown in :numref:`fig8192`. The user can
+reference this map to verify the correct placement of the **UNIT**\ s.
+Note that the **UNIT** map plots the **UNIT**\ s present at the deepest
+nesting level for the 2D slice. It does not show any detail within a
+**UNIT**. The apparent detail within **UNIT** 7 includes
+**UNIT**\ s 1–6, which were placed there via the hole option. In the
+legend of the plot, the material number actually refers to the **UNIT**
+number.
+
+.. centered:: EXAMPLE 7. LARGE STORAGE ARRAY.
+
+The storage array described Example 18 in :ref:`81363` and
+:numref:`fig8127` is such a sparse array that the mixture map had to be very
+large in order to show the detail of the shelves and uranium buttons.
+The mixture maps for this configuration were not presented in
+:ref:`81363`, but the data description was listed so the user can
+generate them. It may be useful to generate a **UNIT** map for this kind
+of problem. The input data for generating unit maps for this storage
+array is given below.
+
+::
+
+ READ PLOT PIC=UNIT
+ TTL='XZ SLICE THROUGH STORAGE ARRAY ROOM AT Y=30.48 WITH Z ACROSS AND X DOWN'
+ XUL=624.84 YUL=30.48 ZUL=45.72 XLR=30.48 YLR=30.48 ZLR=381.0
+ WAX=1.0 UDN=1.0 NAX=320 END
+ TTL='XY SLICE THROUGH STORAGE ARRAY ROOM AT Z=0.3175 WITH X ACROSS AND Y DOWN'
+ XUL=30.48 YUL=1341.1 ZUL=0.3175 XLR=624.84 YLR=30.48 ZLR=0.3175
+ UAX=1.0 VDN=1.0 NAX=320 END
+ END PLOT
+
+The plot data and **UNIT** map for an XZ slice through the array at
+Y=30.48 cm is given in :numref:`list8114` and :numref:`fig8194`. The Z direction,
+which extends from −45.72 cm to 381.0 cm, is plotted in 320 pixels
+across the plot. This **UNIT** map was created with Z across the plot
+and X down the plot.
+
+
+.. codeblock:: scale
+ :name: list8114
+ :caption: Plot data for XZ slice of storage array.
+
+ xz slice through storage array room at y=30.48 with z across and x down
+
+ unit map
+
+ unit 1 2 3 4 5 6 7
+ symbol 1 2 3 4 5 6 7
+ upper left lower right
+ coordinates coordinates
+ x 6.2484e+02 3.0480e+01
+ y 3.0480e+01 3.0480e+01
+ z 4.5720e+01 3.8100e+02
+ u axis v axis
+ (down) (across)
+ x 1.00000 0.00000
+ y 0.00000 0.00000
+ z 0.00000 1.00000
+ nu= 491 nv= 320 delu= 1.3335e+00 delv= 1.3335e+00 lpi= 10.000
+
+.. _fig8194:
+.. figure:: figs/Keno/fig94.png
+ :align: center
+ :width: 400
+
+ XZ plot of storage array.
+
+The plot data and **UNIT** map for an XY slice through the shelf are
+given in :numref:`list8115` and :numref:`fig8196`. This **UNIT** map was created with
+X across the plot and Y down the plot. This shows five rows of shelves
+in the X direction.
+
+.. codeblock::
+ :name: list8115
+ :caption: Plot data for XY slice of storage array.
+
+ xy slice through storage array room at z=0.3175 with x across and y down
+ unit map
+
+ unit 1 2 3 4 5 6 7
+ symbol 1 2 3 4 5 6 7
+ upper left lower right
+ coordinates coordinates
+ x 3.0480e+01 6.2484e+02
+ y 1.3411e+03 3.0480e+01
+ z 3.1750e01 3.1750e01
+ u axis v axis
+ (down) (across)
+ x 0.00000 1.00000
+ y 1.00000 0.00000
+ z 0.00000 0.00000
+ nu= 669 nv= 320 delu= 2.0479e+00 delv= 2.0479e+00 lpi= 10.000
+
+.. _fig8196:
+.. figure:: figs/Keno/fig96.png
+ :align: center
+ :width: 400
+
+ XY plot of storage array.
+
+.. _81310:
+
+KENO Multiple Mesh and Meshbased Quantity Specifications
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+KENO creates a grid and stores several mesh definitions in this object.
+The following mesh definitions are supported by KENO:
+
+i. Default mesh (grid **ID** =10001):
+
+KENO generates a 5 × 5 × 5 Cartesian mesh which overlays the entire
+geometry. This mesh is always used for fission source convergence
+diagnostics if the user does not specify any mesh for this quantity.
+Currently users cannot enter grid **ID**\ s greater than 9999.
+
+ii. Simple mesh (grid **ID** = 20001):
+
+KENO generates a uniform simple mesh with the mesh size specified by the
+user with the MSH parameter, which is introduced in Table 9.1.1. This
+mesh definition is only used for mesh flux calculations.
+
+iii. Mesh with **READ GRID** block (grid **ID** = NUMBER):
+
+The user can specify either a mesh with a single **READ GRID** block or
+multiple meshes by repeating the **READ GRID** block with different mesh
+definitions. Note that the entire block, including **READ GRID** and
+**END GRID**, must be repeated each time; this behavior is different
+from all other blocks of KENO input.
+
+After setting up all mesh, KENO tries to match the IDs specified in the
+parameter block with the keywords **SCD**, **MFX**, **CDS**, **CGD**,
+and **GFX** (See :ref:`8123`) to the grid **ID** in each grid
+definition. Each meshbased quantity requested by the user is associated
+with a grid if the requested grid **ID** exists.
+
+The following examples demonstrate the mesh features in KENO:
+
+.. centered:: EXAMPLE 1: SOURCE CONVERGENCE DIAGNOSTICS WITH DEFAULT MESH
+
+
+KENO always generates a default mesh for source convergence diagnostics
+if the user does not specify any mesh for this quantity. The following
+example (only KENOVI version is shown) will be used in all examples in
+this section to summarize several mesh definition scenarios with several
+meshbased quantity requests. In this sample problem, a bounding box is
+defined to enclose the entire geometry with xmin=‑13.01, xmax=13.01,
+ymin=13.74, ymax=13.74, zmin=13.74, and zmax=13.74. KENO uses this
+bounding box and creates a 5 × 5 × 5 grid for source convergence
+diagnostics.
+
+KENOVI:
+
+::
+
+ =CSAS6
+ MESH TEST – CHECK DIFFERENT MESH DEFINITIONS WITH SEVERAL MESH QUANTITIES.
+ V7.1252n
+ READ COMP
+ URANIUM 1 DEN=18.76 1 300 92235 93.2 92238 5.6 92234 1.0 92236 0.2 END
+ END COMP
+ READ PARAMETERS
+ FDN=YES HTM=NO
+ END PARAMETERS
+ READ MIXT SCT=2 EPS=1.0 END MIXT
+ READ GEOMETRY
+ UNIT 1
+ COM='Y HALF OF UNIT 3'
+ CYLINDER 10 5.748 5.3825 5.3825 CHORD X=0.0 ROTATE A1=90 A2=90
+ CUBOID 20 6.505 6.505 0.0 6.87 6.87 6.87
+ MEDIA 1 1 10 VOL=2234.742156
+ MEDIA 0 1 20 10 VOL=2677.511196
+ BOUNDARY 20
+ UNIT 2
+ COM='+Y HALF OF UNIT 3'
+ CYLINDER 10 5.748 5.3825 5.3825 CHORD +X=0.0 ROTATE A1=90 A2=90
+ CUBOID 20 6.505 6.505 6.87 0.0 6.87 6.87
+ MEDIA 1 1 10 VOL=2234.742156
+ MEDIA 0 1 20 10 VOL=2677.511196
+ BOUNDARY 20
+ UNIT 3
+ COM='CYLINDER COMPOSED OF EQUAL HALVES (XHEMICYLINDERS WITH Y RADII)'
+ CUBOID 10 6.505 6.505 6.87 6.87 6.87 6.87
+ ARRAY 1 10 PLACE 1 1 1 0.0 0.0 0.0
+ BOUNDARY 10
+ UNIT 4
+ COM='Y PORTION (MORE THAN HALF) OF UNIT 6'
+ CYLINDER 10 5.748 5.3825 5.3825 CHORD X=3.0 ROTATE A1=90 A2=90
+ CUBOID 20 6.505 6.505 3.0 6.87 6.87 6.87
+ MEDIA 1 1 10 VOL=2234.742156
+ MEDIA 0 1 20 10 VOL=2677.511196
+ BOUNDARY 20
+ UNIT 5
+ COM='+Y PORTION (LESS THAN HALF) OF UNIT 6'
+ CYLINDER 10 5.748 5.3825 5.3825 CHORD +X=3.0 ROTATE A1=90 A2=90
+ CUBOID 20 6.505 6.505 6.87 3.0 6.87 6.87
+ MEDIA 1 1 10 VOL=2234.742156
+ MEDIA 0 1 20 10 VOL=2677.511196
+ BOUNDARY 20
+ UNIT 6
+ COM='CYLINDER COMPOSED OF UNEQUAL HALVES (XHEMICYLINDERS WITH Y RADII)'
+ CUBOID 10 6.505 6.505 6.87 6.87 6.87 6.87
+ ARRAY 2 10 PLACE 1 1 1 3*0.0
+ BOUNDARY 10
+ UNIT 7
+ COM='CYLINDER OF A SINGLE XHEMICYLINDER IN THE Y DIRECTION'
+ CYLINDER 10 5.748 5.3825 5.3825 CHORD X=5.748 ROTATE A1=90 A2=90
+ CUBOID 20 6.505 6.505 6.87 6.87 6.87 6.87
+ MEDIA 1 1 10 VOL=2234.742156
+ MEDIA 0 1 20 10 VOL=2677.511196
+ BOUNDARY 20
+ UNIT 8
+ COM='CYLINDER OF A SINGLE XHEMICYLINDER IN THE +Y DIRECTION'
+ CYLINDER 10 5.748 5.3825 5.3825 CHORD +X=5.748 ROTATE A1=90 A2=90
+ CUBOID 20 6.505 6.505 6.87 6.87 6.87 6.87
+ MEDIA 1 1 10 VOL=2234.742156
+ MEDIA 0 1 20 10 VOL=2677.511196
+ BOUNDARY 20
+ UNIT 9
+ COM='Z HALF OF UNIT 11'
+ CYLINDER 10 5.748 5.3825 5.3825 CHORD Y=0.0 ROTATE A1=90 A2=90
+ CUBOID 20 6.505 6.505 6.87 6.87 0.0 6.87
+ MEDIA 1 1 10 VOL=2234.742156
+ MEDIA 0 1 20 10 VOL=2677.511196
+ BOUNDARY 20
+ UNIT 10
+ COM='+Z HALF OF UNIT 11'
+ CYLINDER 10 5.748 5.3825 5.3825 CHORD +Y=0.0 ROTATE A1=90 A2=90
+ CUBOID 20 6.505 6.505 6.87 6.87 6.87 0.0
+ MEDIA 1 1 10 VOL=2234.742156
+ MEDIA 0 1 20 10 VOL=2677.511196
+ BOUNDARY 20
+ UNIT 11
+ COM='CYLINDER COMPOSED OF EQUAL HALVES (XHEMICYLINDERS WITH Z RADII)'
+ CUBOID 10 6.505 6.505 6.87 6.87 6.87 6.87
+ ARRAY 3 10 PLACE 1 1 1 0.0 0.0 0.0
+ BOUNDARY 10
+ UNIT 12
+ COM='Z PORTION (MORE THAN HALF) OF UNIT 14'
+ CYLINDER 10 5.748 5.3825 5.3825 CHORD Y=3.0 ROTATE A1=90 A2=90
+ CUBOID 20 6.505 6.505 6.87 6.87 3.0 6.87
+ MEDIA 1 1 10 VOL=2234.742156
+ MEDIA 0 1 20 10 VOL=2677.511196
+ BOUNDARY 20
+ UNIT 13
+ COM='+Z PORTION (LESS THAN HALF) OF UNIT 14'
+ CYLINDER 10 5.748 5.3825 5.3825 CHORD +Y=3.0 ROTATE A1=90 A2=90
+ CUBOID 20 6.505 6.505 6.87 6.87 6.87 3.0
+ MEDIA 1 1 10 VOL=2234.742156
+ MEDIA 0 1 20 10 VOL=2677.511196
+ BOUNDARY 20
+ UNIT 14
+ COM='CYLINDER COMPOSED OF UNEQUAL HALVES (XHEMICYLINDERS WITH Z RADII)'
+ CUBOID 10 6.505 6.505 6.87 6.87 6.87 6.87
+ ARRAY 4 10 PLACE 1 1 1 3*0.0
+ BOUNDARY 10
+ UNIT 15
+ COM='CYLINDER OF A SINGLE XHEMICYLINDER IN THE Z DIRECTION'
+ CYLINDER 10 5.748 5.3825 5.3825 CHORD Y=5.748 ROTATE A1=90 A2=90
+ CUBOID 20 6.505 6.505 6.87 6.87 6.87 6.87
+ MEDIA 1 1 10 VOL=2234.742156
+ MEDIA 0 1 20 10 VOL=2677.511196
+ BOUNDARY 20
+ UNIT 16
+ COM='CYLINDER OF A SINGLE XHEMICYLINDER IN THE +Z DIRECTION'
+ CYLINDER 10 5.748 5.3825 5.3825 CHORD +Y=5.748 ROTATE A1=90 A2=90
+ CUBOID 20 6.505 6.505 6.87 6.87 6.87 6.87
+ MEDIA 1 1 10 VOL=2234.742156
+ MEDIA 0 1 20 10 VOL=2677.511196
+ BOUNDARY 20
+ GLOBAL UNIT 17
+ CUBOID 10 13.01 13.01 13.74 13.74 13.74 13.74
+ ARRAY 5 10 PLACE 1 1 1 6.505 6.87 6.87
+ BOUNDARY 10
+ END GEOMETRY
+ READ ARRAY
+ COM='ARRAY 1 DEFINES UNIT 3 (XHEMICYLINDERS WITH Y RADII)'
+ ARA=1 NUX=1 NUY=2 NUZ=1 FILL 1 2 END FILL
+ COM='ARRAY 2 DEFINES UNIT 6 (XHEMICYLINDERS WITH Y RADII)'
+ ARA=2 NUX=1 NUY=2 NUZ=1 FILL 4 5 END FILL
+ COM='ARRAY 3 DEFINES UNIT 11 (XHEMICYLINDERS WITH Z RADII)'
+ ARA=3 NUX=1 NUY=1 NUZ=2 FILL 9 10 END FILL
+ COM='ARRAY 4 DEFINES UNIT 14 (XHEMICYLINDERS WITH Z RADII)'
+ ARA=4 NUX=1 NUY=1 NUZ=2 FILL 12 13 END FILL
+ COM='ARRAY 5 DEFINES THE TOTAL 2C8 PROBLEM'
+ ARA=5 NUX=2 NUY=2 NUZ=2 FILL 3 7 6 8 11 15 14 16 END FILL
+ END ARRAY
+ END DATA
+ END
+
+In the output, KENO notifies users about the default mesh usage for
+source convergence diagnostics with the message k\ *N*316. The default
+grid definition and the source entropy are shown in the output edits as
+follows:
+
+::
+
+ …
+ \****\* warning \****\* keno message number k6316 follows:
+ No mesh provided for Source Convergence Diagnostics (SCD). Continue with default mesh.
+ …
+ ........ finished in KenoVI before tracking ........
+
+ ........ 0.00183 minutes were used processing data. ........
+ ====> Grid Geometry: 10001
+ ====> title: Default mesh grid with nx=5, ny=5, and nz=5
+ ====> Plane Summary
+ ====> x: 5 cells from 1.30100E+01 to 1.30100E+01
+ ====> y: 5 cells from 1.37400E+01 to 1.37400E+01
+ ====> z: 5 cells from 1.37400E+01 to 1.37400E+01
+ ====> Total number of cells: 125
+
+
+ volume fraction of fissile material in the system= 4.54932E01
+
+ start type 0 was used.
+
+ the neutrons were started with a flat distribution in a cuboid defined by:
+ +x= 1.30100E+01 x=1.30100E+01 +y= 1.37400E+01 y=1.37400E+01 +z= 1.37400E+01 z=1.37400E+01
+
+ 0.00017 minutes were required for starting. total elapsed time is 0.00200 minutes.
+ 1mesh test  scd with default mesh (5x5x5), scd=yes (default)
+
+ generation average avg keff generation matrix matrix keff
+ generation keffective keffective deviation entropy keffective deviation
+ 1 9.17432E01 1.00000E+00 0.00000E+00 6.58169E+00 0.00000E+00 0.00000E+00
+ 2 9.44195E01 1.00000E+00 0.00000E+00 6.54091E+00 0.00000E+00 0.00000E+00
+
+.. centered:: EXAMPLE 2: SOURCE CONVERGENCE DIAGNOSTICS WITH USERDEFINED MESH
+
+The user can request the accumulation of the fission source on a
+different grid rather than the default grid for source convergence
+diagnostics. In this example, the sample problem specified in EXAMPLE 1
+is modified for this purpose. A new 6x6x6 grid is defined over the
+entire geometry in a **READ GRID** block with a grid **ID** 12, and
+source convergence diagnostics are requested by setting **SCD**
+parameter to 12 in the parameter block that matches the NUMBER
+specification in the **READ GRID** block.
+
+::
+
+ …
+ READ PARAMETERS
+ FDN=YES HTM=NO SCD=12
+ END PARAMETERS
+ …
+ '
+ READ GRID
+ 12
+ TITLE "TEST SCD WITH THIS MESH"
+ NUMXCELLS=6 NUMYCELLS=6 NUMZCELLS=6
+ XMIN=13.01 XMAX=13.01
+ YMIN=13.74 YMAX=13.74
+ ZMIN=13.74 ZMAX=13.74
+ END GRID
+ '
+
+The output prints for the new mesh for source convergence diagnostics:
+
+::
+
+ ........ finished in KenoVI before tracking ........
+
+ ........ 0.00200 minutes were used processing data. ........
+ ====> Grid Geometry: 12
+ ====> title: test SCD with this mesh
+ ====> Plane Summary
+ ====> x: 6 cells from 1.30100E+01 to 1.30100E+01
+ ====> y: 6 cells from 1.37400E+01 to 1.37400E+01
+ ====> z: 6 cells from 1.37400E+01 to 1.37400E+01
+ ====> Total number of cells: 216
+
+
+ volume fraction of fissile material in the system= 4.54932E01
+
+ start type 0 was used.
+
+ the neutrons were started with a flat distribution in a cuboid defined by:
+ +x= 1.30100E+01 x=1.30100E+01 +y= 1.37400E+01 y=1.37400E+01 +z= 1.37400E+01 z=1.37400E+01
+
+.. centered:: EXAMPLE 3: SOURCE CONVERGENCE DIAGNOSTICS WITH NONEXISTING MESH
+
+This example demonstrates the code behavior if there is a mismatch
+between the NUMBER entry in **READ GRID** data block and the **SCD**
+parameter in the **READ PARAMETER** data block. The sample input in
+EXAMPLE 2 was modified as (a) a single mesh is defined with a grid
+**ID** = 12, and (b) source convergence diagnostics is intended to use a
+grid with grid **ID** = 99, which does not exist.
+
+::
+
+ …
+ READ PARAMETERS
+ FDN=YES HTM=NO SCD=99
+ END PARAMETERS
+ …
+ '
+ READ GRID
+ 12
+ TITLE "TEST SCD WITH THIS MESH"
+ NUMXCELLS=6 NUMYCELLS=6 NUMZCELLS=6
+ XMIN=13.01 XMAX=13.01
+ YMIN=13.74 YMAX=13.74
+ ZMIN=13.74 ZMAX=13.74
+ END GRID
+ '
+
+
+In this case, calculation is stopped with an error message since the requested
+grid definition for source convergence diagnostics does not exist in the input.
+
+::
+
+ *************** data reading completed ***************
+
+ ........ finished preparing the kenovi input data ........
+
+ ........ finished loading the data ........
+
+ ***** error ***** csas message number cs315 follows:
+ Mesh < 99 > specified for Source Convergence Diagnostics(SCD) is not found in input.
+ …
+ ........ finished processing csas input data ........
+ **********************************************************************
+ ***** csas message number cs100 this problem will not be run
+ ***********************************************************************
+ ***********************************************************
+ because errors were encountered in the input data. *****
+ **********************************************************
+
+.. centered:: EXAMPLE 4: MESH FLUX TALLY WITH A MESH DEFINITION WITH MSH PARAMETER
+
+
+In this example, we slightly modify the sample problem described in
+EXAMPLE 1 to request a mesh flux tally calculations over a uniform mesh
+defined with the **MSH** parameter. In this case, the default mesh (grid
+**ID**\ =10001) is used for the source convergence diagnostics, and the
+simple uniform mesh (grid **ID**\ =20001) generated with the **MSH**
+parameter is used for a mesh flux tally.
+
+::
+
+ …
+ READ PARAMETERS
+ FDN=YES HTM=NO MFX=YES MSH=3.0
+ END PARAMETERS
+ …
+ READ VOLUME
+ TYPE=RANDOM BATCHES=100 POINTS=1000
+ XP=+13.01 XM=13.01
+ YP=+13.74 YM=13.74
+ ZP=+13.74 ZM=13.74
+ END VOLUME
+
+The output for this sample problem has the following sections for
+mesh definitions/mesh quantities:
+
+::
+
+ …
+ ***** warning ***** keno message number k6316 follows:
+ No mesh provided for Source Convergence Diagnostics (SCD). Continue with default mesh.
+
+ 1 kenovi sample problem 1 case 2c8 bare
+
+ volumes for those units utilized in this problem
+
+ volumes not specified in the input were set to 1.0
+
+ geometry
+ unit uses region mixture total region volume (cm**3)
+
+ 1 8 1 1 8.93897E+03
+ 2 0 1.07100E+04
+
+ 2 1 1
+ Grid Geometry: 20001
+ title: Uniform mesh grid automatically generated with mesh_size = 3.000000
+ Plane Summary
+ x: 12 cells from 1.80000E+01 to 1.80000E+01
+ y: 12 cells from 1.80000E+01 to 1.80000E+01
+ z: 10 cells from 1.50000E+01 to 1.50000E+01
+ Total number of cells: 1440
+
+ xplanes yplanes zplanes
+ …
+ ====> Grid Geometry: 10001
+ ====> title: Default mesh grid with nx=5, ny=5, and nz=5
+ ====> Plane Summary
+ ====> x: 5 cells from 1.37400E+01 to 1.37400E+01
+ ====> y: 5 cells from 1.37400E+01 to 1.37400E+01
+ ====> z: 5 cells from 1.30100E+01 to 1.30100E+01
+ ====> Total number of cells: 125
+
+.. centered:: EXAMPLE 5: MESH FLUX TALLY WITH A MESH DEFINITION IN **READ GRID** DATA
+ BLOCK
+
+In this example, we slightly modify the sample problem described in
+EXAMPLE 1 to request a mesh flux tally calculation over a mesh defined
+in the **READ GRID** data block. In this case, the default mesh (grid
+**ID**\ =10001) is used for the source convergence diagnostics, and the
+user defined mesh (grid **ID**\ =12) is used for the mesh flux tally.
+
+::
+
+ …
+ READ PARAMETERS
+ FDN=YES HTM=NO MFX=12
+ END PARAMETERS
+ …
+ READ GRID
+ 12
+ TITLE "TEST MESH"
+ NUMXCELLS=6 NUMYCELLS=6 NUMZCELLS=6
+ XMIN=13.01 XMAX=13.01
+ YMIN=13.74 YMAX=13.74
+ ZMIN=13.74 ZMAX=13.74
+ END GRID
+ '
+
+ …
+ READ VOLUME
+ TYPE=RANDOM BATCHES=100 POINTS=1000
+ XP=+13.01 XM=13.01
+ YP=+13.74 YM=13.74
+ ZP=+13.74 ZM=13.74
+ END VOLUME
+
+The output for this sample problem has the following
+sections for mesh definitions/mesh quantities:
+
+::
+
+ No mesh provided for Source Convergence Diagnostics (SCD). Continue with default mesh.
+
+ 1 kenovi sample problem 1 case 2c8 bare
+
+ volumes for those units utilized in this problem
+
+ volumes not specified in the input were set to 1.0
+
+ geometry
+ unit uses region mixture total region volume (cm**3)
+
+ 1 8 1 1 8.93897E+03
+ 2 0 1.07100E+04
+
+ 2 1 1
+ Grid Geometry: 12
+ title: test  mesh
+ Plane Summary
+ x: 6 cells from 1.37400E+01 to 1.37400E+01
+ y: 6 cells from 1.37400E+01 to 1.37400E+01
+ z: 6 cells from 1.30100E+01 to 1.30100E+01
+ Total number of cells: 216
+
+ ====> Grid Geometry: 10001
+ ====> title: Default mesh grid with nx=5, ny=5, and nz=5
+ ====> Plane Summary
+ ====> x: 5 cells from 1.37400E+01 to 1.37400E+01
+ ====> y: 5 cells from 1.37400E+01 to 1.37400E+01
+ ====> z: 5 cells from 1.30100E+01 to 1.30100E+01
+ ====> Total number of cells: 125
+ ***** warning ***** keno message number k6316 follows:
+
+
+.. centered:: EXAMPLE 6: MESH FLUX TALLY WITH A MESH DEFINITION IN **READ GRID** DATA
+ BLOCK
+
+In this example, the sample input in EXAMPLE 5 is used with the
+oldstyle definition, mesh flux tally is requested with setting **MFX**
+parameter to yes. In this case, the default mesh (grid **ID**\ =10001)
+is used for the source convergence diagnostics, and the first defined
+user defined mesh (grid **ID**\ =12) is used for the mesh flux tally.
+
+::
+
+ …
+ READ PARAMETERS
+ FDN=YES HTM=NO MFX=YES
+ END PARAMETERS
+ …
+ READ GRID
+ 12
+ TITLE "TEST MESH"
+ NUMXCELLS=6 NUMYCELLS=6 NUMZCELLS=6
+ XMIN=13.01 XMAX=13.01
+ YMIN=13.74 YMAX=13.74
+ ZMIN=13.74 ZMAX=13.74
+ END GRID
+ '
+
+ …
+ READ VOLUME
+ TYPE=RANDOM BATCHES=100 POINTS=1000
+ XP=+13.01 XM=13.01
+ YP=+13.74 YM=13.74
+ ZP=+13.74 ZM=13.74
+ END VOLUME
+
+The output for this sample problem has the following sections for mesh
+definitions/mesh quantities:
+
+::
+
+ ***** warning ***** keno message number k6316 follows:
+ No mesh provided for Source Convergence Diagnostics (SCD). Continue with default mesh.
+
+ 1 kenovi sample problem 1 case 2c8 bare
+
+ volumes for those units utilized in this problem
+
+ volumes not specified in the input were set to 1.0
+
+ geometry
+ unit uses region mixture total region volume (cm**3)
+
+ 1 8 1 1 8.93897E+03
+ 2 0 1.07100E+04
+
+ 2 1 1
+ Grid Geometry: 12
+ title: test  mesh
+ Plane Summary
+ x: 6 cells from 1.37400E+01 to 1.37400E+01
+ y: 6 cells from 1.37400E+01 to 1.37400E+01
+ z: 6 cells from 1.30100E+01 to 1.30100E+01
+ Total number of cells: 216
+
+ ====> Grid Geometry: 10001
+ ====> title: Default mesh grid with nx=5, ny=5, and nz=5
+ ====> Plane Summary
+ ====> x: 5 cells from 1.37400E+01 to 1.37400E+01
+ ====> y: 5 cells from 1.37400E+01 to 1.37400E+01
+ ====> z: 5 cells from 1.30100E+01 to 1.30100E+01
+ ====> Total number of cells: 125
+
+.. centered:: EXAMPLE 7: MESH FLUX TALLY WITH A MESH DEFINITION IN **READ GRID** DATA
+ BLOCK
+
+In this example, the sample problem described in EXAMPLE 1 is modified
+to request a mesh flux tally calculation over a mesh over a part of
+geometry defined in the **READ GRID** data block. In this case, the
+default mesh (grid **ID**\ =10001) is used for the source convergence
+diagnostics, and the userdefined mesh (grid **ID**\ =14) is used for
+the mesh flux tally. Code execution is terminated since KENO requires
+the mesh definition to cover the whole geometry for the mesh flux tally.
+
+::
+
+ …
+ READ PARAMETERS
+ FDN=YES HTM=NO MFX=14
+ END PARAMETERS
+ …
+ READ GRID
+ 14
+ TITLE "test mesh"
+ NUMXCELLS=6 NUMYCELLS=6 NUMZCELLS=6
+ XMIN=13.01 XMAX=13.01
+ YMIN=13.74 YMAX=13.74
+ ZMIN=13.74 ZMAX=13.74
+ END GRID
+ '
+
+ …
+ READ VOLUME
+ TYPE=RANDOM BATCHES=100 POINTS=1000
+ XP=+1.01 XM=13.01
+ YP=+1.74 YM=13.74
+ ZP=+1.74 ZM=13.74
+ END VOLUME
+
+The output prints for this sample problem have the following
+sections for mesh definitions/mesh quantities:
+
+::
+
+ No mesh provided for Source Convergence Diagnostics (SCD). Continue with default mesh.
+
+ Mesh Volume Sampling Parameters
+ 
+
+ The number of points per batch was specified as 1000
+ This gives a sampling density of 5.08931E02 points per cc per batch.
+ The number of batches is 100
+
+ ***** error ***** csas message number cs305 follows:
+ Mesh fluxes have been specified, but the mesh does not completely cover the geometry.
+ The point x= 3.85512E+00 y= 1.90999E+00 z= 9.70580E+00 lies outside the mesh.
+ The problem will not be run. Fix the mesh and resubmit the case.
+ =====> Grid Geometry: 12
+ =====> title: test  mesh
+ =====> Plane Summary
+ =====> x: 6 cells from 1.74000E+00 to 1.37400E+01
+ =====> y: 6 cells from 1.74000E+00 to 1.37400E+01
+ =====> z: 6 cells from 1.01000E+00 to 1.30100E+01
+ =====> Total number of cells: 216
+
+ =====> xplanes yplanes zplanes
+ =====>    
+ =====> 1 1.74000100000000E+00 1.74000100000000E+00 1.01000100000000E+00
+ =====> 2 8.40000000000000E01 8.40000000000000E01 1.32666666666667E+00
+ =====> 3 3.42000000000000E+00 3.42000000000000E+00 3.66333333333333E+00
+ =====> 4 6.00000000000000E+00 6.00000000000000E+00 6.00000000000000E+00
+ =====> 5 8.58000000000000E+00 8.58000000000000E+00 8.33666666666667E+00
+ =====> 6 1.11600000000000E+01 1.11600000000000E+01 1.06733333333333E+01
+ =====> 7 1.37400010000000E+01 1.37400010000000E+01 1.30100010000000E+01
+ =====>    
+
+ …
+
+ ***********************************************************************
+ ***** csas message number cs100 this problem will not be run
+ ***********************************************************************
+ **********************************************************
+ because errors were encountered in the input data. *****
+ **********************************************************
+
+.. centered:: EXAMPLE 8: MULTIPLE MESH QUANTITY WITH MULTIPLE MESH DEFINITION
+
+This example demonstrates the multiple mesh definition for multiple
+meshbased quantities. Our sample problem is modified so that (1) two
+grids have been defined with the **READ GRID** data block, and (2) both
+the source convergence diagnostics and mesh flux tally are requested. In
+this sample, the grid with grid ID = 12 is assigned to the source
+convergence diagnostics, and the grid with grid ID = 1 is assigned to
+the mesh flux tally.
+
+::
+
+ READ PARAMETERS
+ FDN=YES HTM=NO MFX=1 SCD=12
+ END PARAMETERS
+ …
+ READ GRID
+ 1
+ TITLE "test – mesh 1"
+ NUMXCELLS=6 NUMYCELLS=6 NUMZCELLS=6
+ XMIN=13.01 XMAX=13.01
+ YMIN=13.74 YMAX=13.74
+ ZMIN=13.74 ZMAX=13.74
+ END GRID
+ '
+ READ GRID
+ 12
+ TITLE "test – mesh 12"
+ NUMXCELLS=4 NUMYCELLS=2 NUMZCELLS=7
+ XMIN=13.01 XMAX=13.01
+ YMIN=13.74 YMAX=13.74
+ ZMIN=13.74 ZMAX=13.74
+ END GRID
+ '
+
+ …
+ READ VOLUME
+ TYPE=RANDOM BATCHES=100 POINTS=1000
+ XP=+1.01 XM=13.01
+ YP=+1.74 YM=13.74
+ ZP=+1.74 ZM=13.74
+ END VOLUME
+
+KENO prints the following sections for mesh definitions/mesh quantities in the output:
+
+::
+
+ Grid Geometry: 1
+ title: test  mesh 1
+ Plane Summary
+ x: 6 cells from 1.37400E+01 to 1.37400E+01
+ y: 6 cells from 1.37400E+01 to 1.37400E+01
+ z: 6 cells from 1.30100E+01 to 1.30100E+01
+ Total number of cells: 216
+
+ xplanes yplanes zplanes
+    
+ 1 1.37400010000000E+01 1.37400010000000E+01 1.30100010000000E+01
+ 2 9.16000000000000E+00 9.16000000000000E+00 8.67333333333333E+00
+ 3 4.58000000000000E+00 4.58000000000000E+00 4.33666666666667E+00
+ 4 0.00000000000000E+00 0.00000000000000E+00 1.77635683940025E15
+ 5 4.58000000000000E+00 4.58000000000000E+00 4.33666666666667E+00
+ 6 9.16000000000000E+00 9.16000000000000E+00 8.67333333333333E+00
+ 7 1.37400010000000E+01 1.37400010000000E+01 1.30100010000000E+01
+    
+
+ 1 kenovi sample problem 1 case 2c8 bare
+ cumulative mesh volumes for those units utilized in this problem
+ Per cent delta is the difference between the cumulative mesh volume and the cumulative analytic volume
+ …
+ ........ finished in KenoVI before tracking ........
+
+ ........ 0.02500 minutes were used processing data. ........
+ ====> Grid Geometry: 12
+ ====> title: test  mesh 12
+ ====> Plane Summary
+ ====> x: 4 cells from 1.37400E+01 to 1.37400E+01
+ ====> y: 2 cells from 1.37400E+01 to 1.37400E+01
+ ====> z: 7 cells from 1.30100E+01 to 1.30100E+01
+ ====> Total number of cells: 56
+
+.. centered:: EXAMPLE 9: MULTIPLE MESH QUANTITY WITH A SINGLE MESH DEFINITION
+
+This example demonstrates that the same grid may be used for multiple
+meshbased quantities. Our sample problem is modified as (1) a single
+grid has been defined with **READ GRID** data block, and (2) both source
+convergence diagnostics and mesh flux tally are requested. In this
+sample, the grid with grid ID = 1 is assigned to both the source
+convergence diagnostics and the mesh flux tally. KENO calculates the
+specified quantities using the same grid data.
+
+::
+
+ READ PARAMETERS
+ FDN=YES HTM=NO MFX=1 SCD=1
+ END PARAMETERS
+ …
+ READ GRID
+ 1
+ TITLE "test – mesh 1"
+ NUMXCELLS=6 NUMYCELLS=6 NUMZCELLS=6
+ XMIN=13.01 XMAX=13.01
+ YMIN=13.74 YMAX=13.74
+ ZMIN=13.74 ZMAX=13.74
+ END GRID
+ '
+ …
+ READ VOLUME
+ TYPE=RANDOM BATCHES=100 POINTS=1000
+ XP=+1.01 XM=13.01
+ YP=+1.74 YM=13.74
+ ZP=+1.74 ZM=13.74
+ END VOLUME
+
+KENO prints the following sections for mesh definitions/mesh quantities in the output:
+
+::
+
+ Grid Geometry: 1
+ title: test  mesh 1
+ Plane Summary
+ x: 6 cells from 1.37400E+01 to 1.37400E+01
+ y: 6 cells from 1.37400E+01 to 1.37400E+01
+ z: 6 cells from 1.30100E+01 to 1.30100E+01
+ Total number of cells: 216
+
+ xplanes yplanes zplanes
+    
+ 1 1.37400010000000E+01 1.37400010000000E+01 1.30100010000000E+01
+ 2 9.16000000000000E+00 9.16000000000000E+00 8.67333333333333E+00
+ 3 4.58000000000000E+00 4.58000000000000E+00 4.33666666666667E+00
+ 4 0.00000000000000E+00 0.00000000000000E+00 1.77635683940025E15
+ 5 4.58000000000000E+00 4.58000000000000E+00 4.33666666666667E+00
+ 6 9.16000000000000E+00 9.16000000000000E+00 8.67333333333333E+00
+ 7 1.37400010000000E+01 1.37400010000000E+01 1.30100010000000E+01
+    
+
+ 1 kenovi sample problem 1 case 2c8 bare
+ cumulative mesh volumes for those units utilized in this problem
+ Per cent delta is the difference between the cumulative mesh volume and the cumulative analytic volume
+ …
+ ........ finished in KenoVI before tracking ........
+
+ ........ 0.02500 minutes were used processing data. ........
+ ====> Grid Geometry: 1
+ ====> title: test  mesh 1
+ ====> Plane Summary
+ ====> x: 6 cells from 1.37400E+01 to 1.37400E+01
+ ====> y: 6 cells from 1.37400E+01 to 1.37400E+01
+ ====> z: 6 cells from 1.30100E+01 to 1.30100E+01
+ ====> Total number of cells: 216
+
+.. _81311:
+
+Random sequence
+~~~~~~~~~~~~~~~
+
+The randomnumber package used by KENO always starts with the same seed
+and thus always reproduces the same sequence of random numbers. Any
+random number except the one printed as the starting random number in
+the parameter table can be used to activate a different random sequence.
+The user can rerun a problem with a different random sequence by simply
+entering a hexadecimal random number other than the starting random
+number in the parameter data. For example, by entering RND=A10C1893E6D5
+in the parameter data, the problem will be run with a different random
+sequence.
+
+.. _81312:
+
+Matrix keffective
+~~~~~~~~~~~~~~~~~~
+
+Matrix keffective calculations provide an alternative method of
+calculating the keffective of the system. Cofactor keffectives and
+source vectors are additional information that can be provided when the
+matrix keffective is calculated. The necessary source and fission
+weight data are collected during the neutron tracking procedure. This
+information is converted to a FISSION PRODUCTION MATRIX, which is the
+number of next generation neutrons produced at J by a neutron born at I.
+The principal eigenvalue of the fission probability matrix is the matrix
+keffective. KENO offers four alternatives when calculating matrix
+keffective as discussed below:
+
+(1) If **MKP**\ =YES is specified in the parameter data, the fission
+production matrix is collected by array position or position index in
+the GLOBAL ARRAY. The position index is used to reference a given
+location in a 3D lattice. For a 2 × 2 × 2 array, there are nine unique
+position indices as shown below. Position zero contains everything
+outside the GLOBAL ARRAY.
+
+.. _tab8124:
+.. table:: Array index guide for a sample 2 × 2 × 2 array
+
+ +++++
+   POSITION   
+ +++++
+   X  Y  Z 
+ +++++
+  0  0  0  0 
+ +++++
+  1  1  1  1 
+ +++++
+  2  2  1  1 
+ +++++
+  3  1  2  1 
+ +++++
+  4  2  2  1 
+ +++++
+  5  1  1  2 
+ +++++
+  6  2  1  2 
+ +++++
+  7  1  2  2 
+ +++++
+  8  2  2  2 
+ +++++
+
+The fission production matrix is the number of next generation neutrons
+produced at index J by a neutron born at index I. This matrix is used to
+calculate the matrix keffective, cofactor k‑effectives and the source
+vector by position index. Because the size of the fission probability
+matrix is the square of the array size (for a 4 × 4 × 4 array there are
+4,096 entries), it can use vast amounts of computer memory.
+
+(2) If **MKU**\ =YES is specified in the parameter data, the fission
+production matrix is collected by **UNIT**. It is the number of next
+generation neutrons produced in **UNIT** J by a neutron born in
+**UNIT** I. This matrix is used to calculate the matrix keffective,
+cofactor keffectives and source vector by **UNIT**.
+
+(3) If **MKH**\ =YES is specified in the parameter data, the fission
+production matrix is collected by the **HOLE** number. Matrix
+information can be collected at either the highest **HOLE** nesting
+level (first level of nesting) or the deepest **HOLE** nesting level.
+**HHL**\ =YES specifies that the matrix information will be collected at
+the first nesting level. By default, the matrix information is collected
+at the deepest nesting level. The fission production matrix is the
+number of next generation neutrons produced in **HOLE** J by a neutron
+born in **HOLE** I. This matrix is used to calculate the matrix
+keffective, cofactor keffectives and the source vector by **HOLE**.
+
+(4) If **MKA**\ =YES is specified in the parameter data, the fission
+production matrix is collected by **ARRAY** number. It can be collected
+at the highest **ARRAY** level (first level of nesting) or at the
+deepest **ARRAY** level. **HAL**\ =YES specifies that the matrix
+information will be collected at the first nesting level. By default,
+the matrix information is collected at the deepest nesting level. The
+fission production matrix is the number of next generation neutrons
+produced in **ARRAY** J by a neutron born in **ARRAY** I. This matrix is
+used to calculate the matrix keffective, cofactor keffectives and the
+source vector by **ARRAY**.
+
+The user can simultaneously implement all methods of calculating the
+matrix keffective. The results are labeled in the printout. Matrix
+keffectives cannot be calculated for a single unit problem. If the user
+wishes to do so, the geometry description must have a cube or cuboid as
+its outer region, and the problem description should include **READ
+ARRAY END ARRAY**. These two actions convert the single unit problem
+into a 1 × 1 × 1 array.
+
+A cofactor keffective is the eigenvalue of the fission production
+matrix reduced by the row and column that references the specified
+**UNIT** or position index. The difference between the keffective for
+the system and the cofactor keffective for a **UNIT** or position index
+is an indication of the *in situ* keffective of that **UNIT** or the
+contribution that **UNIT** makes to the keffective of the system. The
+cofactor k‑effective of a **UNIT** devoid of fissile material should
+approximate the keffective of the system.
+
+.. _81313:
+
+Deviations
+~~~~~~~~~~
+
+
+When a deviation is calculated by KENO, it is the standard deviation of
+the mean. This assumes a large sample having a normal distribution.
+KENO calculates the real variance using an iterative approach and lag
+covariance data between generations as follows :cite:`demaret_accurate_1999,becker_proof_2009`
+
+1. The sample variance and covariance estimates are calculated.
+
+2. The apparent variance is set equal to the sample variance and the
+ apparent covariance is set equal to the sample covariance.
+
+3. The real covariance is set equal to the apparent covariance and the
+ real variance is calculated.
+
+4. Using the real variance and apparent covariance calculate the real
+ covariance.
+
+5. The real variance is recalculated.
+
+6. Steps 4 and 5 are repeated until the real variance converges within a
+ preset tolerance.
+
+The covariance estimates are only calculated for the previous
+20 generations. A maximum of 50 iterations are allowed for the real
+variance to converge.
+
+.. _81314:
+
+Generation time and lifetime
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The generation time and lifetime calculations use the average velocity.
+The validity of these calculations is determined by how accurately the
+average velocity represents the spectrum over the range of the energy
+group. The lifetime and generation time calculated by KENO are not
+kinetics parameters. The lifetime is the average life span of a neutron
+(in seconds) from the time it is born until it is absorbed or leaks from
+the system. The generation time is the average time (in seconds) between
+successive neutron generations.
+
+.. _81315:
+
+Energy of the Average Lethargy of Fission
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The energy of the average lethargy of neutrons causing fission (*EALF*)
+is a parameter calculated in KENO to characterize the neutron energy
+spectrum or fastness of a system. The *EALF* is given in units of eV in
+the KENO output. An *EALF* value that is high (> 100 keV) indicates that
+most fissions in the system are being caused by fast neutrons, and an
+*EALF* value that is low (< 1 eV) indicates that most fissions are
+induced by thermal neutrons.
+
+The *EALF* is calculated by determining the lethargy, :math:`u`, a
+measure of how much neutron energy changes from its initial or birth
+energy:
+
+
+.. math::
+ :label: eq811
+
+ u = ln\left( \frac{E_{0}}{E} \right),
+
+
+where :math:`E` is the energy of the neutron colliding with a nucleus
+and :math:`E_{0}` is the maximum possible energy of fission neutrons
+(assumed in KENO to be 10 MeV). The average lethargy of all fission
+events is calculated by weighting the lethargy for each collision by the
+probability that the collision will create a fission event, and
+averaging this quantity. Using a logscale parameter like lethargy to
+represent the fastness of systems is more convenient than directly
+averaging the energy of neutrons causing fission both because of the
+wide range of neutrons in a problem (potentially more than seven orders
+of magnitude), and because fast neutrons that are slowing down lose
+about the same fraction of their energy during each collision.
+
+.. math::
+ :label: eq812
+
+ EALF = E_{o}e^{ u_{\text{avg}}}
+
+
+Equation :eq:`eq812` is then applied again to transform the average lethargy of
+neutrons causing fission into a neutron energy that corresponds to the
+average lethargy of neutrons causing fission (this is the *EALF*); this
+transformation back to units of energy is done because energy has a much
+more intuitive meaning than units of lethargy.
+
+.. _814:
+
+Description of Output
+
+
+This section contains a brief description and explanation of the KENO
+output. Portions of the printout will not be printed for every problem.
+Some printout is optional, as noted in this section. This section
+provides representative samples of the output format. The actual data
+contained in this section are not necessarily consistent with results
+computed by the current version of KENO.
+
+KENO offers an HTML output format including a series of files that can
+be viewed in a standard web browser. The HTML formatted output offers
+interactive output that is easy to read and navigate. Many of the tables
+of data can be sorted in ascending or descending order by clicking on
+the heading of the column for which sorting is desired. Interactive
+plotting of fluxes, fission production, absorption, and keffective
+values are also available within the HTML output through an applet
+version of the Javapeño plotting package. In this section, the standard
+text output description is followed by a description of the optional
+HTML formatted output. The HTML formatted output can be deactivated by
+entering HTM=NO in the parameter data section.
+
+.. _8141:
+
+Program verification information
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Program verification information :numref:`fig8197` is printed after the
+header page. It lists the name of the program, the date the load module
+was created, the library that contains the load module, the computer
+code name from the configuration control table, and the revision number.
+The job name, date, and time of execution are also printed. This
+information may be used for quality assurance purposes.
+
+.. _fig8197:
+.. figure:: figs/Keno/fig97.png
+ :align: center
+ :width: 500
+
+ Sample program verification table.
+
+The program verification information is the first page shown in the
+KENO HTML output, after selecting KENO from the SCALE HTML index page.
+This page can also be displayed by selecting the *Program Verification
+Information* link under the *General Information* submenu and is shown
+in :numref:`fig8197`.
+
+.. _8142:
+
+Tables of parameter data
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+The first two tables printed by KENO list the numeric parameters and
+logical parameters used in the problem. The user should always verify
+that the parameter data block was entered as desired. An example of
+numeric parameters table is shown in :numref:`fig8198`. An example of the
+:numref:`fig8199`.
+
+.. _fig8198:
+.. figure:: figs/Keno/fig98.svg
+ :align: center
+ :width: 1000
+
+ Sample table of numeric parameter data.
+
+.. _fig8199:
+.. figure:: figs/Keno/fig99.png
+ :align: center
+ :width: 600
+
+ Sample table of logical parameter data.
+
+
+For the logical parameter data table, messages concerning the parameter
+data may be printed at the bottom of the table. If the problem is being
+restarted, the title of the parent case is printed at the bottom of the
+table. If the restart title or messages are not printed, the bottom
+section of the table is omitted.
+
+.. _8143:
+
+Unprocessed geometry input data
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This printout is optional and is usually used to locate code
+difficulties, to show all the geometry input data when only part of it
+is used in the problem, or to show the order in which units were
+entered. It is considered debug information and is printed only if
+**PGM**\ =YES is specified in the parameter input data. Standard KENO
+use does not require printing these data because the processed geometry
+that is used in the problem is always printed. See :ref:`814529` and
+:ref:`81413`. for examples of the standard printed KENO geometry data.
+
+When the unprocessed geometry input is printed, the problem title is
+located at the top of the page, followed by the heading “GEOMETRY
+DESCRIPTION INPUT.” The regiondependent geometry information is then
+printed. If the problem contains a unit orientation array, the problem
+title is printed again, followed by the unit orientation. This is
+followed by a statement affirming the completion of the data input.
+
+.. _8144:
+
+Table of data sets used in the problem
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This table is the third table of data printed by KENO. It should be
+carefully scrutinized to verify the desired data set name is associated
+with the proper unit number and volume. An example of this table is
+shown in :numref:`fig81100`.
+
+.. _fig81100:
+.. figure:: figs/Keno/fig100.png
+ :align: center
+ :width: 600
+
+ Sample table of data sets used in the problem.
+
+
+This table lists unit numbers specified in the parameter data or that
+are defaulted in the code, along with the information pertinent to them.
+This information is given in the following order, left to right: (1) the
+keyword used in the parameter data to define the unit number, (2) the
+unit number, (3) the data set name, (4) the name of the volume on which
+the data set resides, and (5) the type of data contained on the data
+set. This table can be useful for quality assurance purposes.
+Information for units for which default values have not been overridden
+is printed even though they may not be used in the problem. Information
+for every unit specified in the parameter data is also printed. Units 8
+and 10 are the directaccess devices, and their unit numbers are fixed
+within the code. When this table is printed, Unit 10 has not yet been
+defined. This causes its data set names to be listed as FT10F001 or as
+“UNKNOWN” on some systems. If KENO is run as part of a CSAS sequence,
+this table will include two entries for Unit 95: one for binary input
+data, and one for read restart data.
+
+.. _8145:
+
+Table of additional information
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The fourth table of data printed by KENO contains additional information
+determined from the input data. An example of this table is shown in
+:numref:fig81101.
+
+This table should be used to verify the problem input. The NUMBER OF
+ENERGY GROUPS for a multigroup problem is read either from the
+Monte Carlo formatted library, identified by the keyword **XSC** and the
+unit function name MIXED CROSS SECTIONS from the Table of Data Sets in
+:ref:`8144`, or from the restart unit, identified by the keyword
+**RST** and the unit function name, READ RESTART DATA. The NO. OF
+FISSION SPECTRUM SOURCE GROUP is the number of different energy groups
+for which a fission spectrum is defined. In the present version, this
+number should always be 1. The NO. OF SCATTERING ANGLES IN XSECS is the
+number of scattering angles to be used in processing the cross sections.
+The default value is one, and it may be overridden by specifying the
+parameter **SCT**\ = in the mixing table input. One scattering angle
+yields P\ :sub:`1` cross sections, two scattering angles yield
+P\ :sub:`3` cross sections, three scattering angles yield P\ :sub:`5`
+cross sections, etc. ENTRIES/NEUTRON IN THE NEUTRON BANK specifies the
+number of pieces of data that are banked for each history during
+tracking. ENTRIES/NEUTRON IN THE FISSION BANK is the amount of data
+stored for each source neutron for each generation.
+
+.. _fig81101:
+.. figure:: figs/Keno/fig101.png
+ :align: center
+ :width: 600
+
+ Sample table of additional information.
+
+
+The NUMBER OF MIXTURES USED is the number of different mixtures (media)
+used in the geometry data used by the problem. This may be less than the
+total number of different mixtures specified in the geometry data if
+portions of the geometry data are not used in the problem.
+
+The NUMBER OF BIAS IDS USED is the number of different biasing regions
+used in the problem. This will always be one unless a biasing data block
+is entered.
+
+The NUMBER OF DIFFERENTIAL ALBEDOS USED is the number of different
+differential albedo reflectors used in the problem. This will always be
+zero unless the boundary condition data specify the use of differential
+albedo reflection on one or more faces of the system as described in
+:ref:`8147`. The BOUNDARY CONDITION data printed in this table should
+also be checked. The number of different differential albedos specified
+on the faces should be consistent with the NUMBER OF DIFFERENTIAL
+ALBEDOS USED. Specular, mirror, vacuum, and periodic are not
+differential albedos. Several different keywords may be used to specify
+the same differential albedo.
+
+The TOTAL INPUT GEOMETRY REGIONS is the number of geometry regions
+specified in the problem input. This excludes UNIT label and comments
+provided using COM=, but it includes the array boundary description.
+It excludes the automatic reflector description, but it includes the
+geometry regions generated by it. The NUMBER OF GEOMETRY REGIONS USED is
+the number of geometry regions used in the problem. It may be less than
+or equal to the TOTAL INPUT GEOMETRY REGIONS. The LARGEST GEOMETRY UNIT
+NUMBER is the largest unit number defined in the geometry data,
+including unused units and implicitly defined units. Implicitly defined
+unit numbers are created when a core boundary specification is not
+immediately preceded by a specification. The unit number is assigned by
+the code by adding one to the largest unit number encountered in the
+geometry region data. For example, if two such core boundary
+specifications are contained in a problem whose largest explicitly
+defined unit number is 7, then a unit number of 8 is assigned to the
+first one, and a unit number of 9 is assigned to the second one. A value
+of 9 would be printed for the LARGEST GEOMETRY UNIT NUMBER. The LARGEST
+ARRAY NUMBER is the largest array number specified in the array data.
+
+USE LATTICE GEOMETRY is determined by the logical flag that indicates
+whether or not the problem is a single unit problem. This should be YES
+for any problem that is not a single unit problem and NO for a single
+unit problem. By definition, a single unit problem does not use array
+data in any form. :ref:`81412` describes array data. The GLOBAL
+ARRAY NUMBER is the number of the array designated as the global,
+overall, or universal array. The global array can be thought of as the
+array that defines the overall system.
+
+The NUMBER OF UNITS IN THE GLOBAL X/Y/Z DIR. defines the size of the
+global array in terms of the number of units that are located along the
+edge of the array boundaries in the X/Y/Z directions. For a single unit,
+all three of these should be zero. For a simple 1 × 1 × 1 array
+consisting of one unit type, all three of these numbers should be 1.
+
+USE GLOBAL REFLECTOR indicates if the global array is reflected.
+
+USE NESTED HOLES is set YES if holes are nested deeper than one level.
+
+NUMBER OF HOLES is the number of HOLES that are entered in the geometry
+region data.
+
+The MAXIMUM HOLE NESTING LEVEL is the deepest level of hole nesting.
+
+USE NESTED ARRAYS is set YES if arrays are nested deeper than one level.
+
+The NUMBER OF ARRAYS USED is the number of array descriptions actually
+used in the problem description.
+
+MAXIMUM ARRAY NESTING LEVEL is the deepest level of array nesting.
+
+Six BOUNDARY CONDITIONs are printed near the bottom of the table. They
+show the type of boundary condition that is applied to each face of the
+system. These should all be VACUUM unless albedo boundary conditions are
+applied to one or more faces of the system. One should refer to the
+NUMBER OF DIFFERENTIAL ALBEDOS USED, as discussed previously in the
+description of this table of information.
+
+.. _8146:
+
+Mixing table data
+~~~~~~~~~~~~~~~~~
+
+If **LIB=** is entered in the KENO parameter data and a mixing table
+data block is provided to KENO, mixing table data will be printed. This
+output edit is not considered optional because it cannot be suppressed
+if the necessary data are present. Sample mixing table data are shown in
+:numref:`fig81102` In the HTML output, the mixing table data can be accessed
+with the *Mixing Table* link in the *Input Data* section.
+
+The data printed in this table include the problem title, the number of
+scattering angles, and the cross section message threshold. Data are
+then printed for each mixture. First the mixture number, density, and
+temperature are printed, followed by a table of the nuclides which make
+up the mixture. This table contains the following data: nuclide
+ID number, nuclide mixture ID number, atom density, weight fraction of
+nuclide in mixture, ZA number, atomic weight, temperature, and nuclide
+title. Mixture temperature is the same as the nuclides’ temperatures for
+the multigroup calculations, but it may be different for the continuous
+energy calculations if Doppler broadening is not enabled since the
+nuclides are loaded from libraries with the closest temperature. After
+all mixture data have been printed, a table of nuclides and descriptive
+titles is printed for all nuclides included in the mixtures. If extra
+1D cross sections were specified in the problem (see **X1D**\ =,
+:ref:`8123`), the extra 1D cross section IDs will be printed under
+the heading “1D CROSS SECTION ARRAY ID NUMBERS.” If is to be calculated
+(parameter **NUB**\ =YES), six MT numbers will be printed. The MT number
+for the total cross section (Σ\ :sub:`T`) is 1; the MT number for the sum
+of the transfer array normalized byΣ\ :sub:`T` is 2002; the MT number
+for the normalized fissionproduct cross section (νΣ\ :sub:`f`/ Σ\ :sub:`t`)
+is 1452; the MT number for the normalized absorption cross section
+(Σ\ :sub:`abs`/ Σ\ :sub:`T`) is 27; the MT number for the normalized fission
+cross section (Σ\ :sub:`f`/ Σ\ :sub:`T`) is 18; and the MT number for the
+fission spectrum (χ) is 1018. χ is summed and normalized to 1.0. Other
+MT numbers in this list have been specified by the user. If the number
+of blocks on the direct access data set are insufficient to hold the
+cross section data, a message is printed stating THE NUMBER OF DIRECT
+ACCESS BLOCKS ON UNIT____\_ HAS BEEN INCREASED TO \____. If the problem
+is to write a restart data set (parameter **RES**\ =), a message is
+printed stating that restart information was written, and the restart
+I/O unit number is specified. This is followed by a statement of the
+number of I/Os used in preparing the cross sections. The user should
+examine the mixing table carefully to verify that the proper nuclides
+are specified for the proper mixtures and that all the data are correct.
+The mixing table is printed in subroutine PRTMIX.
+
+.. _fig81102:
+.. figure:: figs/Keno/fig102.png
+ :align: center
+ :width: 600
+
+ Example of mixing table data.
+
+
+
+.. _8147:
+
+Albedo cross section correspondence
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Printing the albedo cross section correspondence tables is optional. The
+headings for the tables are printed in subroutine CORRE, and then
+subroutine RATIO prints the data. These tables are printed only if
+**PAX**\ =YES is specified in the parameter data as described in
+:ref:`8123`. Examples of these tables are shown in :numref:`fig81103` and
+:numref:`fig81104`.
+
+The table shown in :numref:`fig81103` contains, left to right, the cross
+section energy group, the lower and upper lethargy bounds, the
+corresponding albedo energy groups, and the cumulative probability
+associated with each albedo energy group for choosing the albedo energy
+group corresponding to the cross section energy group. The table shown
+in :numref:`fig81104` is the inverse of the table shown in :numref:`fig81103`. It
+provides the cumulative probabilities for choosing the cross section
+energy group corresponding to the albedo energy group. The information
+in these tables is automatically generated by KENO.
+
+.. _fig81103:
+.. figure:: figs/Keno/fig103.png
+ :align: center
+ :width: 600
+
+ Cumulative probabilities for correlating the albedo energy group to the cross section energy group.
+
+
+.. _fig81104:
+.. figure:: figs/Keno/fig104.png
+ :align: center
+ :width: 600
+
+ Cumulative probabilities for correlating the cross section energy group to the albedo energy group.
+
+
+
+.. _8148:
+
+1D macroscopic cross sections
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The decision to print the 1D mixture cross sections is optional. They
+are printed only if **XS1**\ =YES is specified in the parameter data.
+When the 1D cross sections are to be printed, they are printed a group
+at a time for each mixture. The 1D mixture cross sections for a mixture
+are shown in :numref:`fig81105`.
+
+.. _fig81105:
+.. figure:: figs/Keno/fig105.png
+ :align: center
+ :width: 600
+
+ Example of macroscopic 1D cross sections.
+
+When the 1D mixture cross sections are printed, the problem title is
+printed at the top of the page. The mixture ID, mixture index, and
+mixture number are then printed. ID is the mixture number from the
+mixing table, and mixture index is the index used to reference it and
+mixture number is its identifier. This step is followed by a heading to
+identify the different 1D cross sections. *GROUP* is the energy group,
+*sigt* is the total cross section for the mixture, *sigs* is the
+nonabsorption probability, *siga* is the absorption probability, *signu*
+is the production probability, *chi* is the fission spectrum, *mwa1* is
+the pointer for the first position of the cross sections for the energy
+group, *mwa2* is the pointer for the last position of the cross sections
+for the energy group, and *mwa3* contains the group for the transfer
+corresponding to the first position. *SUM* is the sum of the absorption
+probability and the nonabsorption probability. The absorption
+probability is defined as the absorption cross section divided by the
+total cross section. The nonabsorption probability is the sum of the
+grouptogroup transfers for this group, divided by the total
+cross section. The production probability is defined as the fission
+production cross section divided by the total cross section
+(νΣ\ :sub:`f`/ Σ\ :sub:`T`). The nonabsorption probability and the production
+probability are not true probabilities in that they may be greater than
+1. This is because the nonabsorption probability has the (n,2n) transfer
+array summed into the total transfer array twice, and the (n,3n) is
+summed three times, etc.
+
+.. _8149:
+
+Extra 1d cross sections
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+Printing the extra 1D cross sections is optional. They are printed if
+**P1D**\ =YES is specified in the parameter data. Extra 1D
+cross sections are not used in KENO unless **NUB**\ =YES is specified in
+the parameter data or the user has altered the code to access and
+utilize other 1D cross sections. If \ **NUB**\ =YES is specified, the
+extra 1D cross section is the fission cross section, which is used to
+calculate the average number of neutrons per fission. This is printed
+only for fissile mixtures as shown in :numref:`fig81105`. The fission cross
+section heading follows the table of 1‑D cross sections. The fission
+cross section heading is XSEC ID 18, and it follows the table of 1D
+cross sections.
+
+.. _81410:
+
+2D macroscopic cross sections
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The decision to print the 2D mixture cross sections is optional. They
+are printed only if **XS2**\ =YES is specified in the parameter data.
+They are printed after the 1D cross sections for the mixture. A
+heading is printed, followed by the transfer data. An example of the
+2D mixture cross sections is given in :numref:`fig81106`.
+
+.. _fig81106:
+.. figure:: figs/Keno/fig106.png
+ :align: center
+ :width: 600
+
+ Example of 2D macroscopic cross sections.
+
+
+
+
+.. _81411:
+
+Probabilities and angles
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+Printing the probabilities and angles is optional. They are printed if
+the number of scattering angles is greater than zero and **XAP**\ =YES
+is specified in the parameter data. Examples of the probabilities are
+shown in :numref:`fig81107`. Examples of the angles are shown in :numref:`fig81108`. If the grouptogroup
+transfer for a mixture is isotropic, the first angle for that transfer
+will be set to −2.0 as a flag to the code.
+
+.. _fig81107:
+.. figure:: figs/Keno/fig107.png
+ :align: center
+ :width: 600
+
+ Example of macroscopic probabilities.
+
+
+.. _fig81108:
+.. figure:: figs/Keno/fig108.png
+ :align: center
+ :width: 600
+
+ Example of macroscopic angles.
+
+
+
+.. _81412:
+
+Array summary
+~~~~~~~~~~~~~
+
+The arrays that are used in the problem are summarized in the table
+shown in :numref:`fig81109`. This table is printed whenever more than one array is used in
+the problem.
+
+.. _fig81109:
+.. figure:: figs/Keno/fig109.png
+ :align: center
+ :width: 600
+
+ Example of array summary.
+
+
+The ARRAY NUMBER is the number by which the array is designated in the
+input data. The number of units in the X, Y, and Z directions is listed
+for each array. The NESTING LEVEL indicates the level of nesting for
+each array. The global, overall, or universe array is flagged by the
+word GLOBAL. The global array should always appear at the first nesting
+level. Arrays that have been placed in the global reflector by using
+holes should also appear at the first nesting level. A nesting level of
+one is the highest or first nesting levels. The larger the number in the
+nesting level column, the deeper the nesting level will be.
+
+.. _81413:
+
+Geometry data
+~~~~~~~~~~~~~
+
+The geometry region data used by the problem are always printed and
+cannot be suppressed. They should be carefully examined by the user to
+verify the mixture number, bias ID, and geometry specifications used in
+the problem. If geometry region data are entered but are not referenced
+in the unit orientation array data, they will not be printed here. An
+example would be to enter geometry region data describing Units 1, 2, 3,
+and 4 and to use only Units 1, 3, and 4 in the unit orientation array.
+Then the geometry region data for Unit 2 will not be printed. An example
+of the KENO V.a geometry region printout for a problem is given in
+:numref:`fig81110`.
+
+The problem title and a heading are printed at the top of each page.
+REGION is the region number within a unit. Each unit has its regions
+numbered sequentially, beginning with one. MEDIA NUM is the mixture
+number or mixture ID that occupies the volume defined by the region.
+BIAS ID is the bias ID that corresponds to the desired set of weight
+average for biasing the region. The unit number is printed at the top of
+each unit’s geometry region description near the center of the page. The
+data printed for each geometry region include (1) the region number
+relative to the unit (numbered sequentially within the unit), (2) the
+shape of the geometry region, (3) the mixture ID of the material within
+the volume defined by the region, (4) the bias ID to define the average
+weight of a neutron in the region, and (5) the dimensions defining the
+outer boundaries of the geometry region. If additional geometry
+surrounds an array, a heading is printed stating: UNIT \___\_ EXTERNAL
+TO LATTICE \____. The lattice number is the number of the array that is
+surrounded by the specified geometry. The unit number is the unit that
+contains the specified geometry. In the case of an external reflector
+for the global array, the unit number is assigned by the code.
+
+.. _fig81110:
+.. figure:: figs/Keno/fig110.png
+ :align: center
+ :width: 600
+
+ Example of geometry region data.
+
+
+.. _81414:
+
+Unit orientation description
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Each unit orientation description defines the location of units in the
+3D lattice that represent the specified array. The array described is
+identified in the heading UNIT ORIENTATION DESCRIPTION FOR ARRAY \____.
+The arrays used in the problem are stacked together to represent the
+physical problem being analyzed. The unit orientation description is not
+printed if only Unit 1 is described in the problem. The user should
+carefully examine the unit orientation descriptions to ensure proper
+placement of the units in each lattice. A sample unit orientation
+description is shown in :numref:`fig81111` .
+
+.. _fig81111:
+.. figure:: figs/Keno/fig111.png
+ :align: center
+ :width: 600
+
+ Example of unit orientation description.
+
+
+If a very large array is used by the problem, its unit orientation
+description may be spread over several pages. When checking the
+printout, the user should pay careful attention to the headings that
+indicate the portion of each lattice being printed. The detailed
+printout of an array may be suppressed using the ARRAY parameter PRT=no.
+
+.. _81415:
+
+Volume information
+~~~~~~~~~~~~~~~~~~
+
+The volume information printout differs between KENO V.a and KENOVI.
+Because it does not allow intersections of bodies, KENO V.a is always
+able to calculate analytically the volume of any region in the geometry.
+KENOVI, on the other hand, never calculates volumes analytically. In
+fact, KENOVI never calculates volumes unless it is directed to do so,
+but it can read volumes off the **MEDIA** cards or off a **VOLUME** file
+(:ref:`81213`).
+
+.. _814151:
+
+KENO V.a
+^^^^^^^^
+
+Three tables of volumes are always printed and cannot be suppressed. The
+problem title is printed at the top of the page, followed by the heading
+“VOLUMES FOR THOSE UNITS UTILIZED IN THIS PROBLEM.” An example of the
+volume printout is given in .
+
+The first table is arranged by ascending unit number. It includes
+(1) the unit number, (2) the region number within the unit, (3) the
+overall geometry region number, (4) the net volume of each individual
+region, and (5) the cumulative volume through each region in the unit.
+The cumulative volume of the last region in a unit is the total volume
+of the unit. The unit number is printed under the heading UNIT. Data
+listed under the heading REGION refer to the number of the geometry
+region within the unit. The geometry regions within a unit are numbered
+sequentially starting with 1. Data entered under the heading GEOMETRY
+REGION refer to the entry number of the individual geometry region.
+These are numbered sequentially, starting with 1, through the TOTAL
+INPUT GEOMETRY REGIONS defined in :numref:`fig81112`. The net volume of each individual
+region is calculated by subtracting the volume of the interior region
+from the volume of the region and is listed under the heading VOLUME.
+The data listed under the heading CUMULATIVE VOLUME are calculated from
+the dimensions of the region. A simple example demonstrating how volumes
+are calculated can be given by assuming a unit that is composed of three
+concentric cubes. Region 1 is a cube 3 cm on a side, region 2 is a cube
+4 cm on a side, and region 3 is a cube 5 cm on a side. The cumulative
+volume of region 1 is 27 cm\ :sup:`3` (3\ :sup:`3`); the cumulative volume
+of region 2 is 64 cm\ :sup:`3` (4\ :sup:`3`); the cumulative volume of
+region 3 is 125 cm\ :sup:`3` (5\ :sup:`3`). The volume of region 1 is
+27 cm\ :sup:`3` (3\ :sup:`3`), the volume of region 2 is 37 cm\ :sup:`3`
+(64  27), and the volume of region 3 is 61 cm\ :sup:`3` (125  64).
+
+.. _fig81112:
+.. figure:: figs/Keno/fig112.png
+ :align: center
+ :width: 600
+
+ Sample volume information.
+
+
+The second table contains (1) the unit number, (2) the number of times
+the unit is used in the problem, (3) the region number within the unit,
+(4) the mixture number present in the region, and (5) the total volume
+associated with the region in the whole problem. The unit number is
+printed under the heading UNIT, data printed under the heading USES
+indicates the number of times the unit is used in the problem. Data
+printed under the heading MIXTURE indicates the mixture number used in
+the region. The total volume of each region is printed under the heading
+TOTAL VOLUME and is determined by multiplying the VOLUME of the region
+listed in the first table by the number of times the unit containing
+that region is used in the problem.
+
+The third table is printed following the heading “TOTAL MIXTURE
+VOLUMES.” In this table, the mixtures used in the problem are listed
+with their associated total volume and total mass. The mixture numbers
+are printed under the heading MIXTURE, the total volume of each mixture
+is printed under the heading TOTAL VOLUME, and the mass of each mixture
+is printed under the heading MASS(G). All masses will be printed as zero
+if the working format cross section library does not contain the data
+required to calculate the densities of the mixtures used in the problem.
+
+.. _814152:
+
+KENOVI
+^^^^^^^
+
+Two tables of volumes are printed by subroutine VOLUME and cannot be
+suppressed. If a volume calculation type of NONE is specified and no
+volumes are read in for the regions, then the volumes will be set to
+−1.0, which will result in negative fluxes and fission densities. For
+the calculated volumes, an error estimate is printed after the volumes.
+The first table will list the number of times each unit is used in the
+problem and the total volume of each region throughout the entire
+problem description. The second table will list the total volume and
+mass of each mixture used in the problem. An example of the volume
+printout is given in :numref:`fig81113`.
+
+.. _fig81113:
+.. figure:: figs/Keno/fig113.png
+ :align: center
+ :width: 600
+
+ Sample volume information.
+
+
+The unit number is printed under the heading **UNIT**. The REGION refers
+to the number of the geometry region within the unit determined by the
+order of the CONTENT records in the unit. USES indicates the number of
+times the unit is used in the problem. MIXTURE is the mixture number
+used in the region. A blank indicates an array or unit, placed in a
+hole, in that region. TOTAL VOLUME is the total volume of that region
+followed by +/− and an error estimate if the volume for the region was
+calculated.
+
+If mesh volumes are used, there will be a table listing the cumulative
+volumes generated by summing the mesh volumes, the deviations, and the
+deltas between the summed volumes and the overall volumes for the
+regions. If the overall volume has been calculated, then the delta
+should be zero, but if it was entered, then the delta will show the
+difference.
+
+In the last table, the mixtures used in the problem are listed along
+with their total volumes and masses. Along with the total volumes and
+masses, an error estimate is printed for any mixtures having regions
+that were calculated using either the **RANDOM** or **TRACE** volume
+estimates.
+
+.. _81416:
+
+Mesh volumes
+~~~~~~~~~~~~
+
+With the mesh flux accumulator, fluxes are tabulated for each region of
+each unit in a cuboidal mesh. KENO computes the volume of each region in
+each mesh interval so that fluxes per unit volume can be determined. For
+models where the mesh flux accumulator is activated by setting
+**MFX**\ =YES and the mesh size set to a positive value with **MSH**\ =,
+the cumulative volume of all mesh intervals for a given region and the
+number of meshes used in each region are printed as shown in :numref:`fig81114`.
+
+.. _fig81114:
+.. figure:: figs/Keno/fig114.png
+ :align: center
+ :width: 600
+
+ Sample sum of mesh volumes edit.
+
+
+An optional edit of volumes for each mesh interval for each region can
+be activated by entering **PMV**\ =YES in the parameter input. This edit
+can be very large, especially if a small mesh size is used with a large
+model. A sample of the volume by mesh for each region is shown in :numref:`fig81115`.
+
+.. _fig81115:
+.. figure:: figs/Keno/fig115.png
+ :align: center
+ :width: 600
+
+ Sample of volume by mesh for each region.
+
+
+.. _81417:
+
+Biasing information
+~~~~~~~~~~~~~~~~~~~
+
+This table specifies the weighting or biasing data to be used in the
+problem. An example of biasing information is given in :numref:`fig81116`.
+
+.. _fig81116:
+.. figure:: figs/Keno/fig116.png
+ :align: center
+ :width: 600
+
+ Biasing information.
+
+
+
+The user is responsible for determining from the input data whether the
+groupdependent weights (wtavg) for the specified material(s) were
+obtained from the weighting library or were entered by the user. The
+groupdependent weights can be printed for verification purposes as
+shown in :ref:`81418`.
+
+.. _81418:
+
+Groupdependent weights
+~~~~~~~~~~~~~~~~~~~~~~~
+
+Printing the groupdependent weights is optional. They are printed if
+**PWT**\ =YES is entered in the parameter data. An example of the
+printed groupdependent weights is shown in :numref:`fig81117`.
+
+.. _fig81117:
+.. figure:: figs/Keno/fig117.png
+ :align: center
+ :width: 600
+
+ Example of biasing data.
+
+
+The title is printed at the top of the table. The average weight (wtavg)
+is printed for each energy group and each BIAS ID. The BIAS ID number
+printed at the top of the column corresponds to the BIAS ID used in the
+geometry region description or MEDIA record and printed in the biasing
+information.
+
+.. _81419:
+
+Plot representation
+~~~~~~~~~~~~~~~~~~~
+
+Plots representing 2D slices through the geometrical description of the
+problem are optional. They are created if plot data are entered unless
+**PLT**\ =NO is specified either in the plot data or the parameter data.
+Plots can be generated and displayed as (1) character plots with
+alphanumeric characters representing mixture numbers, unit numbers, or
+bias ID numbers or (2) color plots with colors representing mixture
+numbers, unit numbers, or bias ID numbers. Color plots generate a PNG
+file and require an independent program to be displayed.
+
+An example of the output generated using the character plot method is
+given in :numref:`fig81118` and :numref:`fig81119`. An example of the output generated using the color plot
+method is given in :numref:`fig81120` and :numref:`fig81121`.
+
+:numref:`fig81118` summarizes the data used to generate the character plot. :numref:`fig81119` is an example
+of a character plot of the 2D slice specified through the geometrical
+description of the problem. In :numref:`fig81118`, the plot title is printed at the top of
+the page, followed by a statement that “THE FOLLOWING WILL BE A
+CHARACTER PLOT.” If a plot title was not entered in the plot data, the
+plot title is defaulted to the problem title. The title is followed by a
+heading specifying the type of plot (MIXTURE MAP, BIAS ID MAP, or UNIT
+MAP). This is followed by a table that correlates the symbols to be used
+in the character plot with the mixture numbers, bias ID numbers, or unit
+numbers that were used in the problem. If the problem is a bare array,
+the overall system coordinates are printed. Then the coordinates of the
+upper left corner and lower right corner of the plot are printed. This
+is followed by the direction cosines down and across the plot. The
+remaining plot parameters (including both input data and calculated
+values) are then printed. NU is the number of characters printed in the
+U (down) direction, NV is the number of characters printed in the V
+(across) direction, DELU is the incremental distance, in cm, represented
+by each character in the U (down) direction, DELV is the incremental
+distance, in cm, represented by each character in the V (across)
+direction, and LPI is the vertical to horizontal scaling factor for plot
+proportionality.
+
+.. _fig81118:
+.. figure:: figs/Keno/fig118.png
+ :align: center
+ :width: 600
+
+ Summary of character plot symbols, coordinates, and data.
+
+:numref:`fig81119` shows a character plot of a 2D slice specified through the
+geometrical description of the problem. These plots aid the user in
+verifying that the problem is described correctly. Any number of plots
+can be made in one problem.
+
+:numref:`fig81120` summarizes the data used to generate the color plot.
+:numref:`fig81121` is an example of a color plot of the 2D slice specified
+through the geometrical description of the problem. This plot does not
+appear in the KENO printout. It is generated from a PNG file that is
+created when a color plot has been specified in the KENO input data and
+requires special processing by the user.
+
+In :numref:`fig81121`, the plot title is printed at the top of the page,
+followed by a statement that “THE FOLLOWING WILL BE A COLOR PLOT.” If a
+plot title was not entered in the plot data, the plot title is defaulted
+to the problem title. The title is followed by a heading specifying the
+type of plot (MIXTURE MAP, BIAD ID MAP, or UNIT MAP). If the problem is
+a bare array, the overall system coordinates are printed. Then the
+coordinates of the upper left corner and lower right corner of the plot
+are printed. This is followed by the direction cosines down and across
+the plot. The remaining plot parameters (including both input data and
+calculated values) are then printed. NU is the number of characters
+printed in the U (down) direction, NV is the number of characters
+printed in the V (across) direction, DELU is the incremental distance,
+in cm, represented by each character in the U (down) direction, DELV is
+the incremental distance, in cm, represented by each character in the V
+(across) direction, and LPI is the vertical to horizontal scaling factor
+for plot proportionality.
+
+.. _fig81119:
+.. figure:: figs/Keno/fig119.png
+ :align: center
+ :width: 600
+
+ Sample character plot representation.
+
+.. _fig81120:
+.. figure:: figs/Keno/fig120.png
+ :align: center
+ :width: 600
+
+ Summary of color plot symbols, coordinates, and data.
+
+:numref:`fig81121` shows an example of a color plot of a 2D slice specified through the
+geometrical description of the problem. Any number of plots can be made
+in one problem. The color plots can be valuable tools to assist the user
+in verifying that a problem is described correctly.
+
+.. _fig81121:
+.. figure:: figs/Keno/fig121.png
+ :align: center
+ :width: 500
+
+ Sample color plot representation.
+
+.. _81420:
+
+Initial source and final pretracking edits
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Prior to calculating the *k\ eff* values for each generation, KENO
+prints the number of I/Os used before tracking and the number of minutes
+used processing the data. If the problem is not a restart problem,
+initial source information follows those two lines as shown in :numref:`fig81122` (KENO V.a
+example).
+
+The VOLUME FRACTION OF FISSILE MATERIAL IN THE CORE is the first line of
+data printed. If \ **RFL**\ =YES was specified in the start data, the
+volume fraction message is changed to VOLUME FRACTION OF FISSILE
+MATERIAL IN THE SYSTEM. This is followed by the start type, other data
+used to generate the initial source distribution, and finally, the
+amount of time used to generate the initial source distribution and the
+total elapsed time. :numref:`fig81122` illustrates starting information printed for start
+type 0. The cuboid for choosing starting points is (1) the array
+boundary for either a bare array or a reflected array with the key to
+start in the reflector turned off (**RFL**\ =NO), (2) the overall system
+for a reflected array if the key to start in the reflector is turned on
+(**RFL**\ =YES) and the outer region is a cuboid, or (3) a cuboid
+specified by the user via the keywords **XSM**\ =, **XSP**\ =,
+**YSM**\ =, **YSP**\ =, **ZSM**\ =, and **ZSP**\ =. For each start type
+for which the reflector key, **RFL**\ = is applicable, a statement is
+printed stating that “the flag to start neutrons in the reflector is
+turned ‘on’ or ‘off.’”
+
+:numref:`fig81122` illustrates typical starting data for start type 0 (a flat start in
+fissile material). In this example, the starting cuboid is the core
+boundary of a bare array. The default value of **RFL** was not
+overridden. The parameter used in this example was **NST**\ =0.
+
+.. _fig81122:
+.. figure:: figs/Keno/fig122.png
+ :align: center
+ :width: 600
+
+ Example of initial source information for start type 0.
+
+
+.. _81421:
+
+Reference center for flux moment/angular flux transform
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+When **TFM**\ =YES is entered, the flux moments and angular fluxes are
+computed in a transformed coordinate system, relative to a “reference
+center” point. The default position for the reference center is the
+center of all fueled regions in the model. However, the center can be
+specified by the user for each region defined in the system model using
+the “center” modifier on a region input card. Edits of the fuel center
+and the position of the reference center for each region are shown when
+**TFM**\ =YES as shown in :numref:`fig81123`.
+
+.. _fig81123:
+.. figure:: figs/Keno/fig123.png
+ :align: center
+ :width: 600
+
+ Example fuel center and reference center edits.
+
+.. _81422:
+
+Print starting points
+~~~~~~~~~~~~~~~~~~~~~
+
+This printout is optional and is used to verify the initial source
+starting points. This option is activated by specifying the parameter
+**PSP**\ =YES. Examples of this information are given in :numref:`fig81124` and
+:numref:`fig81125`.
+
+The information pertinent to the initial source distribution is printed
+two lines at a time and appears under the designated headings. For
+example, the coordinates X, Y, and Z are printed on one line and the
+direction cosines U, V, and W are printed directly under them. The data
+printed for each source neutron include the following:
+
+NEUTRON
+ is the ID number of the neutron.
+
+X, Y, and Z
+ are the coordinates of the starting point relative to the
+ coordinate system of the unit.
+
+K
+ is the region number that contains the point X, Y, Z.
+
+ETAUSD
+ is the amount of the distance to collision already traversed
+ (KENOVI edit).
+
+NOW
+ is the array number.
+
+NBX, NBY, NBZ
+ are the coordinates of the unit within the array.
+
+LSTC
+ is the last unit where the neutron resided (KENOVI edit).
+
+NHOL
+ is the hole where the neutron currently resides (KENOVI edit).
+
+LL
+ is the unit number located at NBX, NBY, NBZ.
+
+KR
+ is the mixture number present at the starting point.
+
+KI
+ is the bias ID number or importance region at the starting point.
+
+WT
+ is the current weight (WT is always 1.0 for a neutron when it is
+ started).
+
+U, V, and W
+ are the direction cosines defining the direction the history
+ is traveling.
+
+IG
+ is the energy group.
+
+KCOR
+ is the region in the unit that contains the array where the
+ neutron is located.
+
+K1
+ is the region number of the first region in unit LL.
+
+K2
+ is the region number of the last region in unit LL.
+
+IGEO
+ is an integer that defines the geometry shape of the region.
+
+KCOL
+ is the region number in which the last collision occurred.
+
+NSIG
+ is the position of the group IG in the supergroup.
+
+SG
+ is the supergroup number.
+
+RANDOM NUMBER
+ is the current random number.
+
+When starting points are printed, many of the above named variables have
+not been initialized. For starting, the variables of interest are X, Y,
+Z, U, V, W, NBX, NBY, NBZ, and LL.
+
+.. _fig81124:
+.. figure:: figs/Keno/fig124.png
+ :align: center
+ :width: 600
+
+ Example of initial source points (KENO V.a edit).
+
+.. _fig81125:
+.. figure:: figs/Keno/fig125.png
+ :align: center
+ :width: 600
+
+ Example of initial source points (KENOVI edit).
+
+.. _81423:
+
+Keffectives by generation
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+At the completion of each generation, KENO prints the *k\ eff* for that
+generation and associated information. An example of this printout is
+given in :numref:`fig81126`.
+
+.. _fig81126:
+.. figure:: figs/Keno/fig126.png
+ :align: center
+ :width: 600
+
+ Example of keffectives and source entropy by generation.
+
+
+The data printed include (1) the generation number, (2) the keffective
+calculated for the generation, (3) the average value of keffective
+through the current generation (excluding the *nskip1* generations),
+(4) the deviation associated with the average keffective, (5) Shannon
+entropy for the generation, (6) the matrix keffective for the
+generation, and (7) the deviation associated with the matrix
+keffective. Column 5 is omitted if the user disabled source convergence
+diagnostics. The last two columns are filled with zeros if the user did
+not specify matrix keffective calculations. The matrix k‑effective is
+the largest eigenvalue of the fission production matrix. Matrix
+information can be calculated based on (1) position index, (2) unit
+number, (3) hole number, and (4) array number. The matrix k‑effective
+printed in the sixth column is based on this order. If the matrix
+keffective is calculated by position index, it is the one printed in
+the sixth column. The matrix keffective by unit number is given second
+preference, followed by hole number and then array number.
+
+After the last generation, a message is printed to indicate why
+execution was terminated. If matrix k‑effectives were calculated, this
+is followed by a message stating the method used to determine the matrix
+keffective.
+
+The user should examine this portion of the printed results to ensure
+that the two methods of calculating keffective are in acceptable
+agreement and to verify that the average value of keffective has become
+relatively stable. If the keffectives appear to be oscillating or
+drifting significantly, then the user should consider rerunning the
+problem with a larger number of histories per generation.
+
+If a problem is restarted, then the generation numbers and keffectives
+are printed and the words FROM RESTART UNIT are printed in the elapsed
+time column. All other columns are blank. When the generation at which
+the problem is to be restarted is reached, the print reverts to the
+normal format as shown in :numref:`fig81126`.
+
+.. _81424:
+
+Problem characterization edit
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The problem characterization edit follows the keffective by generation
+edit. The title is printed at the top of the page, followed by the
+lifetime and the generation time and their associated deviations. The
+lifetime is the average lifespan of a neutron (in seconds) from the time
+it is born until it is absorbed or leaks from the system. The generation
+time is the average time (in seconds) between successive neutron
+generations. If **NUB**\ =YES is specified in the parameter data,
+(:ref:`8123`) the average number of neutrons per fission, NU BAR, and
+its associated deviation are printed and the AVERAGE FISSION GROUP
+(the average energy group at which fission occurs) and its associated
+deviation are printed. Then the ENERGY(EV) OF THE AVERAGE LETHARGY OF
+NEUTRONS CAUSING FISSION and its associated deviation are printed,
+followed by the system mean free path. If **SMU**\ =YES is specified in
+the parameter data, the average selfmultiplication of a unit and its
+associated deviation is printed. This selfmultiplication results from
+fissions caused by neutrons born in the unit. Fissions caused by
+neutrons that exit the unit and return are not included. The problem
+characterization edit is shown in :numref:`fig81127`.
+
+.. _fig81127:
+.. figure:: figs/Keno/fig127.png
+ :align: center
+ :width: 600
+
+ Example problem characterization edit.
+
+.. _81425:
+
+Final keffective edit
+~~~~~~~~~~~~~~~~~~~~~~
+
+The final keffective edit prints the average keffective and its
+associated deviation and the limits of
+keffective for the 67, 95, and 99% confidence intervals. The number
+of histories used in calculating the average keffective is also
+printed. This is done skipping various numbers of generations. The
+user should carefully examine the final keffective edit to determine
+if the average keffective is relatively stable. If a noticeable drift
+is apparent as the number of initial generations skipped increases, it
+may indicate a problem in converging the source. If this appears to be
+the case, the problem should be rerun with a better initial source
+distribution and should be run for a sufficient number of generations
+that the average k‑effective becomes stable. Then the final
+keffective edit is printed as shown in :numref:`fig81128`.
+
+.. _fig81128:
+.. figure:: figs/Keno/fig128.png
+ :align: center
+ :width: 600
+
+ Example of the final keffective edit.
+
+.. _81426:
+
+Plot of average keffective by generation run
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This plot consists of average keffectives plotted versus the number of
+generations run. The limits of one standard deviation are plotted on
+either side of each average keffective. These average keffectives are
+not necessarily the same as the average keffectives described in
+:ref:`81423`. The code omits the k‑effectives of the first *nskip*
+generations when the average keffectives for this plot are calculated.
+Although the keffective of the *nskip* generation is summed into the
+average keffective, it is not plotted because standard deviations
+cannot be calculated for a single point. Thus, if *nskip* is 3 (i.e.,
+the first three generations are skipped), the first value plotted is the
+average keffective corresponding to the fifth generation. The dotted
+line represents the value of the average keffective corresponding to
+the smallest deviation when the average keffective and its deviation
+are computed for each generation over the range of *nskip* through the
+total number of generations.
+
+:numref:`fig81129` is an example of this type of plot in the text output. The
+primary use for this plot is to determine if the problem has source
+convergence difficulties.
+
+.. _fig81129:
+.. figure:: figs/Keno/fig129.png
+ :align: center
+ :width: 600
+
+ Sample plot of average keffective by generation run.
+
+.. _81427:
+
+Plot of average keffective by generations skipped
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This plot illustrates the average keffective versus the number of
+generations skipped as shown in :numref:`fig81130`. The limits of one standard
+deviation are plotted on either side of the average keffective. The
+dotted line represents the value of the average keffective
+corresponding to the smallest deviation when the average keffective and
+its deviation are computed for the number of generations skipped over
+the range of *nskip*\ +1 through :sup:`2`/:sub:`3` the total number of
+generations calculated. The plot is essentially a plot of the data
+described in :ref:`81425`. It is useful for determining if source
+convergence has been achieved.
+
+.. _fig81130:
+.. figure:: figs/Keno/fig130.png
+ :align: center
+ :width: 600
+
+ Sample plot of average keffective by generations skipped.
+
+.. _81428:
+
+Final edit of fissions, absorptions, and leakage
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The final edit of fissions, absorptions, and leakage follows the final
+keffective edit and includes the fission fraction for each group and
+the fission production, absorptions, and leakage, each with its
+associated percent deviation. Examples of the final edits of fissions,
+absorptions, and leakage are shown in :numref:`fig81131`\ –\ :numref:`fig81133`.
+
+If **FAR**\ =NO is specified, regiondependent fissions and absorptions
+are not printed. :numref:`fig81131` demonstrates the printout if **FAR**\ =NO.
+
+.. _fig81131:
+.. figure:: figs/Keno/fig131.png
+ :align: center
+ :width: 600
+
+ Sample of the final edit of fissions, absorptions, and leakage with all regiondependent information suppressed.
+
+.. _fig81132:
+.. figure:: figs/Keno/fig132.png
+ :align: center
+ :width: 600
+
+ Sample of the final edit of regiondependent fissions, absorptions, and leakage and the regiondependent totals.
+
+.. _fig81133:
+.. figure:: figs/Keno/fig133.png
+ :align: center
+ :width: 600
+
+ Sample of the final edit of fissions, absorptions, and leakage and the regiondependent totals with print by region suppressed.
+
+If **FAR**\ =YES is specified in the parameter data, the fissions and
+absorptions for each geometry region used in the problem are calculated
+for each energy group. Leakage is not collected by geometry region, but
+rather it represents the leakage from the system. GROUP is the energy
+group number; FISSION FRACTION is the fraction of the fissions that
+occur in that energy group. The percent deviation for the fission
+fraction is the same as that of the fissions in the same group. The
+heading **UNIT** refers to the unit, and REGION is the region number
+within the specified unit. The geometry regions are numbered
+sequentially within each unit, starting with 1. The sum of the fissions
+for every region for a given energy group is the total printed for that
+energy group. The same is true of absorptions. The fissions,
+absorptions, and leakages are given in units of per source neutron. The
+SYSTEM TOTAL is the sum over all the energy groups of the fissions,
+absorptions, and leakage. The associated percent deviation is printed
+for each.
+
+The parameter **GAS** is used to control printing of fission productions
+and absorptions for each geometry region by energy group as shown in
+:numref:`fig81131`. **GAS**\ =YES causes this data to be printed, provided
+**FAR**\ =YES is also specified. **GAS**\ =NO turns off this print by
+group as shown in :numref:`fig81133`.
+
+The sum of the leakage and absorptions printed for the system total
+should be close to 1. The fissions printed for the system total should
+be the same as the first keffective printed in the final keffective
+edit described in :ref:`81425`. If differential albedos are used, the
+leakage does not include the weight lost in the albedo reflection. A
+message stating the weight lost in the albedo is printed. This is the
+weight lost due to absorptions in the albedo reflector and leakage from
+the albedo reflector. No leakage is associated with faces having
+specular, mirror image, or periodic reflection. Thus there is no leakage
+associated with an infinite problem. The total elapsed time and final
+random number are printed at the end of this edit.
+
+.. _81429:
+
+Reaction tally
+~~~~~~~~~~~~~~
+
+Reaction tally calculations are performed if the required data is
+specified in the reaction data block (:ref:`81215`). KENO prints a
+table in the output that summarizes the parameter specifications in
+reaction tally calculations. An example of the parameter table for the
+reaction tally calculations are is in :numref:`fig81134`.
+
+.. _fig81134:
+.. figure:: figs/Keno/fig134.png
+ :align: center
+ :width: 600
+
+ Example of reaction tally summary table.
+
+.. _81430:
+
+Source convergence diagnostics
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+KENO calculates the Shannon entropy of the fission source distribution
+at each generation and reports this in the problem output
+(:ref:`81423`). At the end of calculation, KENO performs three tests
+to check the fission source convergence and reports these test results
+in the output. (See :ref:`8167` for the definition of these tests.) An
+example of the fission source convergence diagnostics is given in
+:numref:`fig81135`.
+
+.. _fig81135:
+.. figure:: figs/Keno/fig135.png
+ :align: center
+ :width: 600
+
+ Summary of fission source convergence diagnostics.
+
+.. _81431:
+
+Matrix keffective by position index
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The matrix keffective by unit location (also referred to as array
+position or position index) is calculated if **MKP**\ =YES is specified
+in the parameter data and a global array is present in the model. It is
+the largest eigenvalue of the fission production matrix collected by
+position index. :ref:`81312` provides a complete discussion of
+matrix keffective. The POSITION INDEX is a number referencing a
+position in a 3D lattice. POSITION is the X, Y, and Z location within
+the lattice. **UNIT** is the unit located at the specified location in
+the lattice. Thus, in :numref:`fig81139` , **UNIT** 1 is located at the lower lefthand
+front corner of the array or 3D lattice representing the problem (X=1,
+Y=1, Z=1) and the corresponding POSITION INDEX is 1. POSITION INDEX 8 is
+the top righthand back corner of the lattice, POSITION X=2, Y=2, Z=2
+and the unit located at that position is **UNIT** 8. An example of the
+matrix k‑effective by position is given in numref:`fig81136` . The text output is
+contained within two rows of asterisks to draw attention to it.
+
+.. _fig81136:
+.. figure:: figs/Keno/fig136.png
+ :align: center
+ :width: 600
+
+ Example of matrix keffective by position index.
+
+.. _81432:
+
+Fission production by position index matrix
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+To obtain fission production by position information, the user must
+specify **MKP**\ =YES and **FMP**\ =YES in the parameter data. The
+number of entries in the fission production matrix by position index is
+the square of the array size. Thus for a 2 × 2 × 2 array there are
+64 entries, and for a 4 × 4 × 4 array there are 4,096 entries in the
+fission production matrix by position index. An example of the fission
+production matrix by position index for a 2 × 2 × 2 array is shown in :numref:`fig81137`.
+
+.. _fig81137:
+.. figure:: figs/Keno/fig137.png
+ :align: center
+ :width: 600
+
+ Sample fission production matrix by position index.
+
+For each position index in the array, the number of nextgeneration neutrons
+produced at position index J per neutron born at position index I is determined.
+The fission production matrix by position index is used to determine the matrix
+keffective, cofactor keffective and source vector by position index.
+
+.. _81433:
+
+Source vector by position index
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Source vector by position index information is printed if **MKP**\ =YES
+is specified in the parameter data. The source vector by position index
+is the eigenvector of the fission production matrix by position index
+and should sum to 1.0. It represents the fission source for the
+specified locations in the 3D lattice representing the physical problem
+being analyzed. Position zero contains all material outside the global
+array. An example of the source vector by position index is shown in :numref:`fig81138`.
+The average selfmultiplication by array position is the overall average
+of the selfmultiplication of all units used in the problem.
+
+.. _fig81138:
+.. figure:: figs/Keno/fig138.png
+ :align: center
+ :width: 600
+
+ Example of source vector by position index.
+
+.. _81434:
+
+Cofactor keffective by position index
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The cofactor keffective by position index edit is printed if
+**MKP**\ =YES is specified in the parameter data. This means that the
+fission production matrix is collected by position index. Calculating
+and printing cofactor keffectives by position index can be avoided by
+specifying **CKP**\ =NO in the parameter data. An example of the
+cofactor keffective by position index is shown in :numref:`fig81139`. See
+KENO Appendix C for a description of the problem used for the example.
+
+.. _fig81139:
+.. figure:: figs/Keno/fig139.png
+ :align: center
+ :width: 600
+
+ Example of cofactor keffective by position index.
+
+The cofactor keffective for a given position index is the largest
+eigenvalue of the fission production matrix collected by position index,
+reduced by the row and column associated with that position index. Thus
+the cofactor keffective is the value of keffective for the system
+calculated without the fission source of the unit located at the
+specified position index.
+
+.. _81435:
+
+Matrix keffective by unit number
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The matrix keffective by unit number (unit keffective) is the largest
+eigenvalue of the fission production by unit matrix. It is calculated
+only if **MKU**\ =YES is specified in the parameter data. An example of
+the matrix keffective by unit is given in :numref:`fig81140`.
+
+.. _fig81140:
+.. figure:: figs/Keno/fig140.png
+ :align: center
+ :width: 600
+
+ Example of matrix keffective by unit number.
+
+.. _81436:
+
+Fission production by unit number matrix
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The fission production by unit number matrix is computed and printed if
+**MKU**\ =YES and **FMU**\ =YES are specified in the parameter data.
+Thus, for each unit in the array, the number of nextgeneration neutrons
+produced in Unit J per neutron born in Unit I is determined. This is the
+fission production matrix by unit, and it is used to determine the
+matrix keffective by unit, the cofactor keffective by unit, and the
+source vector by unit. An example of the fission production matrix by
+unit is shown :numref:`fig81141` in for text output.
+
+.. _fig81141:
+.. figure:: figs/Keno/fig141.png
+ :align: center
+ :width: 600
+
+ An example of the fission probability matrix by unit.
+
+.. _81437:
+
+Source vector by unit number
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The source vector by unit is the eigenvector of the fission production
+matrix by unit and is printed if **MKU**\ =YES is specified in the
+parameter data. It represents the fission source for the units used in
+the problem. The components of the source vector should sum to 1.0.
+An example of the source vector by unit is given in :numref:`fig81142` . The average
+selfmultiplication by unit is printed following the source vector. This
+value of selfmultiplication includes those histories born in the unit
+which cause fissions in the same unit regardless of whether or not it
+exited and then returned. Therefore, this value will not agree with the
+value printed for the selfmultiplication of the unit as described in
+Sect. :ref:`81433` if the problem uses multiple units, if the system is reflected,
+or if a differential albedo is used in the problem.
+
+.. _fig81142:
+.. figure:: figs/Keno/fig142.png
+ :align: center
+ :width: 600
+
+ Example of the source vector by unit.
+
+.. _81438:
+
+Cofactor keffective by unit number
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The cofactor keffective for a given unit is the keffective of the
+system calculated without the fission source of that unit. Cofactor
+keffectives are printed if **MKU**\ =YES is specified in the parameter
+data. Calculating and printing cofactor keffectives by unit can be
+avoided by specifying **CKU**\ =NO in the parameter data. This step is
+accomplished by determining the eigenvalue of the fission production
+matrix by unit after it has been reduced by the row and column
+associated with that unit. An example of the cofactor keffective by
+unit is given in :numref:`fig81143`.
+
+.. _fig81143:
+.. figure:: figs/Keno/fig143.png
+ :align: center
+ :width: 600
+
+ Example of cofactor keffective by unit number.
+
+.. _81439:
+
+Matrix keffective by hole number
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The matrix keffective by hole number is the largest eigenvalue of the
+fission production matrix collected by hole number and is calculated if
+**MKH**\ =YES was specified in the parameter data. An example of the
+matrix keffective by hole number is given in :numref:`fig81144`.
+
+.. _fig81144:
+.. figure:: figs/Keno/fig144.png
+ :align: center
+ :width: 600
+
+ Example of matrix keffective by hole number.
+
+.. _81440:
+
+Fission production by hole number matrix
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This is the fission production matrix collected by hole number. It is
+printed only if **MKH**\ =YES and **FMH**\ =YES were specified in the
+parameter data. An example of this fission production matrix is given in
+:numref:`fig81145`. This matrix indicates the number of next generation neutrons produced
+in **HOLE** number J by a neutron born in **HOLE** number I.
+
+.. _fig81145:
+.. figure:: figs/Keno/fig145.png
+ :align: center
+ :width: 600
+
+.. _81441:
+
+Source vector by hole number
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The source vector by hole is the eigenvalue of the fission production
+matrix by hole number and is printed if **MKH**\ =YES is specified in
+the parameter data. The source vector should sum to 1.0. An example of
+the source vector by hole is shown in :numref:`fig81146`. The average selfmultiplication
+by hole is the overall average of the selfmultiplication of all the
+holes in the problem.
+
+.. _fig81146:
+.. figure:: figs/Keno/fig146.png
+ :align: center
+ :width: 600
+
+ Example of source vector by hole number.
+
+.. _81442:
+
+Cofactor keffective by hole number
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The cofactor keffective for a given hole is the keffective of the
+system calculated without the fission source of that hole and is
+calculated if **CKH**\ =YES is entered in the parameter data. These
+values are computed by determining the eigenvalue of the fission
+production matrix by hole after it has been reduced by the row and
+column associated with that hole. An example of the cofactor keffective
+by hole number is given in :numref:`fig81147`.
+
+.. _fig81147:
+.. figure:: figs/Keno/fig147.png
+ :align: center
+ :width: 600
+
+ Example of cofactor keffective by hole number.
+
+.. _81443:
+
+Matrix keffective by array number
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The matrix keffective by array number is the largest eigenvalue of the
+fission production matrix collected by array number and is calculated if
+**MKA**\ =YES is entered in the parameter data. An example is given in :numref:`fig81148` .
+The number of next generation neutrons produced in array number J by a
+neutron born in array number I is given in this fission production
+matrix.
+
+.. _fig81148:
+.. figure:: figs/Keno/fig148.png
+ :align: center
+ :width: 600
+
+ Example of matrix keffective by array number.
+
+.. _81444:
+
+Fission production by array number matrix
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The fission production matrix collected by array number is shown in :numref:`fig81149` . It
+is printed only if **MKA**\ =YES and **FMA**\ =YES are specified in the
+parameter data.
+
+.. _fig81149:
+.. figure:: figs/Keno/fig149.png
+ :align: center
+ :width: 600
+
+ An example of the fission production matrix by array number.
+
+.. _81445:
+
+Source vector by array number
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The source vector by array number is the eigenvector of the fission
+production matrix by array number and is printed if **MKA**\ =YES is
+specified in the parameter data. The source vector should sum to 1.0.
+An example of the source vector by array number is shown in :numref:`fig81150`. The
+average selfmultiplication by array number is the overall
+selfmultiplication of all the arrays in the problem.
+
+.. _fig81150:
+.. figure:: figs/Keno/fig150.png
+ :align: center
+ :width: 600
+
+ Example of source vector by array number.
+
+.. _81446:
+
+Cofactor keffective by array number
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The cofactor keffective by array number is the keffective of the
+system calculated without the fission source of that array and is
+calculated if **CKA**\ =YES is entered in the parameter data. This is
+achieved by determining the eigenvector of the fission production matrix
+by array after reducing it by the row and column associated with the
+specified array. :numref:`fig81151` is an example of the cofactor keffective by array
+number.
+
+.. _fig81151:
+.. figure:: figs/Keno/fig151.png
+ :align: center
+ :width: 600
+
+ Example of cofactor keffective by array number.
+
+.. _81447:
+
+Fission density edit
+~~~~~~~~~~~~~~~~~~~~
+
+The fission density edit is optional. Subroutine KEDIT prints the
+neutron production density and the fission density for each geometry
+region if **FDN**\ =YES and **NUB**\ =YES is specified in the parameter
+data (these are the default values). If **NUB**\ =NO is specified, but
+**FDN**\ =YES, then only the production density will be given. An
+example of the fission density edit is shown in :numref:`fig81152`.
+
+
+.. _fig81152:
+.. figure:: figs/Keno/fig152.png
+ :align: center
+ :width: 600
+
+ Example of the fission density edit.
+
+The UNIT is the unit number from the geometry data, the REGION is the
+region number relative to the unit, the PRODUCTION DENSITY is the
+neutrons produced per cm\ :sup:`3` per sourceneutron, and the FISSION
+DENSITY is the fissions per cm\ :sup:`3` per sourceneutron for that
+geometry region, the PERCENT DEVIATION is 100 times the fractional
+standard deviation associated with the production density and/or the
+fission density, the TOTAL PRODUCTIONS is the total number of neutrons
+produced per source neutron, and the TOTAL FISSIONS is the total number
+of fissions per source neutron in the geometry region.
+
+.. _81448:
+
+Flux edit
+~~~~~~~~~
+
+Printing the fluxes is optional; they are only printed if **FLX**\ =YES
+is specified in the parameter data. The fluxes are printed for each unit
+and each geometry region in the unit for every energy group. A sample of
+a flux edit is given in :numref:`fig81153`.
+
+The title of the problem is printed at the top of the page. The heading
+FLUXES FOR UNIT___\_ indicates the geometry unit for which fluxes are
+being printed. The region numbers relative to the unit are identified by
+the heading REGION____. The geometry regions within each unit are
+numbered sequentially, beginning with 1. GROUP is the heading for the
+energy groups. The headings FLUX and PERCENT DEVIATION are printed for
+each geometry region in the unit. The flux and its associated percent
+deviation are printed for every energy group and every geometry region.
+The flux is in units of neutrons/cm\ :sup:`2`/source neutron.
+
+.. _fig81153:
+.. figure:: figs/Keno/fig153.png
+ :align: center
+ :width: 600
+
+ An example of a flux edit.
+
+.. _81449:
+
+Frequency distributions
+~~~~~~~~~~~~~~~~~~~~~~~
+
+A frequency distribution consists of a bar graph indicating the number
+of generations having keffective in a specified interval. The intervals
+are determined by the code, based on the upper and lower limits of the
+keffectives calculated for the generations. In this example, one
+asterisk is printed for each generation keffective. Four frequency
+distributions are printed as shown in :numref:`fig81154`.
+
+.. _fig81154:
+.. figure:: figs/Keno/fig154.png
+ :align: center
+ :width: 600
+
+ An example of a frequency distribution.
+
+.. _81450:
+
+Summary of parallel performance
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+KENO summarizes parallel performance in the output if parallel execution
+is requested by the user. The performance table, shown in :numref:`fig81155`,
+can be used to evaluate the code parallel performance with the given
+problem parameters. The quantities like speedup, parallel efficiency,
+and wallclock time for each section (serial section, parallel section,
+and communication time among the processors) can be used to estimate
+resource requirement for similar problems to accomplish a faster
+execution.
+
+.. _fig81155:
+.. figure:: figs/Keno/fig155.png
+ :align: center
+ :width: 600
+
+ Example of performance analysis table.
+
+.. _81451:
+
+Final results table
+~~~~~~~~~~~~~~~~~~~
+
+The final results table contains a summary of the most important physics
+parameters of the system and the number of error and warning messages
+generated during execution. The table contains the bestestimate system
+k‑effective with one standard deviation, the energy of the average
+lethargy of fission, the average system nu‑bar, the average mean free
+path of a neutron throughout the system, the number of warning and error
+messages generated during code execution, and a final statement on the
+convergence of the χ\ :sup:`2` test results. An example of this table is
+shown in :numref:`fig81156`. Also shown is the terminal edit of KENO, detailing the time
+required to traverse the “perilous path” through KENO.
+
+.. _fig81156:
+.. figure:: figs/Keno/fig156.png
+ :align: center
+ :width: 600
+
+ An example of the final results table.
+
+.. _81452:
+
+HTML output
+~~~~~~~~~~~
+
+.. _814521:
+
+Program verification information
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The program verification information is the first page shown in the
+KENO HTML output, after selecting KENO from the SCALE HTML index page.
+This page can also be displayed by selecting the *Program Verification
+Information* link under the *General Information* submenu and is shown
+in :numref:`fig81157`.
+
+.. _fig81157:
+.. figure:: figs/Keno/fig157.png
+ :align: center
+ :width: 600
+
+ Sample program verification information in HTML output.
+
+.. _814522:
+
+Messages
+^^^^^^^^
+
+In the HTML output, all error and warning messages are consolidated into
+the *Messages* section of the output. *Error Messages* and *Warning
+Messages* links are available to the user as needed. An example edit
+with warning messages is shown in :numref:`fig81158`.
+
+.. _fig81158:
+.. figure:: figs/Keno/fig158.png
+ :align: center
+ :width: 600
+
+ Example messages edit in HTML output.
+
+.. _814523:
+
+Tables of parameter data
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+The first two tables generated by KENO HTML output list the numeric
+parameters and logical parameters that are used in the problem. The user
+should always verify that the parameter data block was input as desired.
+An example of numeric parameters table is shown in :numref:`fig81159`. An
+example of the logical parameters table is shown in :numref:`fig81160`. The
+HTML output is accessed with the *Numeric Parameters* and *Logical
+Parameters* links in the *Input Data* section.
+
+.. _fig81159:
+.. figure:: figs/Keno/fig159.png
+ :align: center
+ :width: 600
+
+ Sample numeric parameters in HTML output.
+
+.. _fig81160:
+.. figure:: figs/Keno/fig160.png
+ :align: center
+ :width: 600
+
+ Sample logical parameters in HTML output.
+
+.. _814524:
+
+Table of additional information
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The fourth table of data printed by KENO contains additional information
+determined from the input data. An example of this table is shown in
+:numref:`fig81161`. The HTML output is accessed with the *Additional
+Information* link in the *Input Data* section.
+
+.. _fig81161:
+.. figure:: figs/Keno/fig161.png
+ :align: center
+ :width: 600
+
+ Sample table of additional information in HTML output.
+
+
+.. _814525:
+
+Mixing table data
+^^^^^^^^^^^^^^^^^
+
+If **LIB=** is entered in the KENO parameter data and a mixing table
+data block is provided to KENO, then mixing table data will be printed.
+Sample mixing table data are shown in :numref:`fig81162`. In the HTML output,
+the mixing table data can be accessed with the *Mixing Table* link in
+the *Input Data* section.
+
+.. _fig81162:
+.. figure:: figs/Keno/fig162.png
+ :align: center
+ :width: 600
+
+ Example of mixing table data in HTML output.
+
+.. _814526:
+
+1D macroscopic cross sections
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The decision to print the 1D mixture cross sections is optional. They
+are printed only if **XS1**\ =YES is specified in the parameter data.
+The 1D mixture cross sections for a mixture are shown in :numref:`fig81163`.
+The HTML output is accessed with the *Mixture Cross Sections* link in
+the *Derived Data* section. The top menu on the right side of the window
+is used to set the mixture displayed in the bottom menu on the right
+side of the window. The bottom menu contains hyperlinks to all available
+edits for mixture cross sections. The 1D cross sections are accessed
+with the *Neutron Cross Sections* link in the bottom menu for the
+desired mixture.
+
+.. _fig81163:
+.. figure:: figs/Keno/fig163.png
+ :align: center
+ :width: 600
+
+ Example 1D macroscopic cross section in HTML output.
+
+When the 1D mixture cross sections are printed, the problem title is
+printed at the top of the page. The mixture ID, mixture index and
+mixture number are then printed. ID is the mixture number from the
+mixing table and mixture index is the index used to reference it and
+mixture number is its identifier. This step is followed by a heading to
+identify the different 1D cross sections. *GROUP* is the energy group,
+*sigt* is the total cross section for the mixture, *sigs* is the
+nonabsorption probability, *siga* is the absorption probability, *signu*
+is the production probability, *chi* is the fission spectrum, *mwa1* is
+the pointer for the first position of the cross sections for the energy
+group, *mwa2* is the pointer for the last position of the cross sections
+for the energy group, and *mwa3* contains the group for the transfer
+corresponding to the first position. *SUM* is the sum of the absorption
+probability and the nonabsorption probability. The nonabsorption
+probability and the production probability are not true probabilities in
+that they may be greater than 1. This is because the nonabsorption
+probability has the (n,2n) transfer array summed into the total transfer
+array twice, and the (n,3n) is summed three times, etc. The absorption
+probability is defined as the absorption cross section divided by the
+total cross section. The nonabsorption probability is the sum of the
+grouptogroup transfers for this group divided by the total
+cross section. The production probability is defined as the fission
+production cross section divided by the total cross section
+(νΣ\ :sub:`f`/Σ\ :sub:`T`).
+
+.. _814527:
+
+2D macroscopic cross sections
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The decision to print the 2D mixture cross sections is optional. An
+example of the 2D mixture cross sections is given in :numref:`fig81164`. The
+HTML output is accessed with the *Mixture Cross Sections* link in the
+*Derived Data* section. The top menu on the right side of the window is
+used to set the mixture displayed in the bottom menu on the right side
+of the window. The bottom menu contains hyperlinks to all available
+edits for mixture cross sections. The 1D macroscopic cross sections are
+accessed with the *primarytoprimary scattering transfer array* link in
+the bottom menu for the desired mixture.
+
+
+.. _fig81164:
+.. figure:: figs/Keno/fig164.png
+ :align: center
+ :width: 600
+
+ Example of 2D macroscopic cross sections in HTML output.
+
+.. _814528:
+
+Probabilities and angles
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+Printing the probabilities and angles is optional. The HTML output,
+:numref:`fig81165`, is accessed with the *Mixture Cross Sections* link in the
+*Derived Data* section. The top menu on the right side of the window is
+used to set the mixture displayed in the bottom menu on the right side
+of the window. The bottom menu contains hyperlinks to all available
+edits for mixture cross sections. The probabilities and angles edits,
+shown in :numref:`fig81166`, are accessed with the *primarytoprimary
+probability* link in the bottom menu for the desired mixture.
+
+
+
+.. _fig81165:
+.. figure:: figs/Keno/fig165.png
+ :align: center
+ :width: 600
+
+ Example of macroscopic probabilities in HTML output.
+
+
+
+.. _fig81166:
+.. figure:: figs/Keno/fig166.png
+ :align: center
+ :width: 600
+
+ Example of macroscopic angles in HTML output.
+
+
+.. _814529:
+
+Geometry data
+^^^^^^^^^^^^^
+
+The KENO V.a HTML version of the geometry region printout is shown in :numref:`fig81167`.
+The HTML edits of geometry are accessed with the *Geometry* link in the
+*Input Data* section\ *.*
+
+
+.. _fig81167:
+.. figure:: figs/Keno/fig167.png
+ :align: center
+ :width: 600
+
+ Example of geometry region data in HTML output.
+
+
+.. _8145210:
+
+Volume information
+^^^^^^^^^^^^^^^^^^
+
+.. _81452101:
+
+KENO V.a
+........
+
+Three tables of volumes are always printed. An example of the volume
+printout is given in :numref:`fig81168`. The HTML edit is accessed with the
+*Volumes* link in the *Derived Data* section.
+
+.. _fig81168:
+.. figure:: figs/Keno/fig168.png
+ :align: center
+ :width: 600
+
+ Sample volume information in HTML output.
+
+.. _81452102:
+
+KENOVI
+.......
+
+Two tables of volumes are always printed. The first table will list the
+number of times each unit is used in the problem and the total volume of
+each region throughout the entire problem description. The second table
+will list the total volume and mass of each mixture used in the problem.
+
+.. _8145211:
+
+Mesh volumes
+............
+
+With the mesh flux accumulator, fluxes are tabulated for each region of
+each unit in a cubic mesh. For models in which the mesh flux accumulator
+is activated by setting **MFX**\ =YES and the mesh size set to a
+positive value with **MSH**\ =, the cumulative volume of all mesh
+intervals for a given region and the number of meshes used in each
+region are printed as shown in :numref:`fig81169`. The HTML edit is accessed
+with the *Mesh Volumes* link in the *Derived Data* section.
+
+
+.. _fig81169:
+.. figure:: figs/Keno/fig169.png
+ :align: center
+ :width: 600
+
+ Sample sum of mesh volumes in HTML output.
+
+An optional edit of volumes for each mesh interval for each region can
+be activated by entering **PMV**\ =YES in the parameter input. This edit
+can be very large, especially if a small mesh size is used with a large
+model. A sample of the volume by mesh for each region is shown in
+:numref:`fig81170`. This edit is found in under *Derived Data* with the *Mesh
+Volumes by Interval* link. For the HTML output, the links on the right
+side of the screen control what data are displayed in the center pane.
+Clicking on the unit number in the pane labeled **UNIT** places the pane
+labeled Region at that unit. Clicking on a region number in the region
+pane places the volume by mesh for the selected unit in the center pane.
+
+
+.. _fig81170:
+.. figure:: figs/Keno/fig170.png
+ :align: center
+ :width: 600
+
+ Sample of volume by mesh for each region in HTML output.
+
+
+.. _8145212:
+
+Biasing information
+^^^^^^^^^^^^^^^^^^^
+
+This table specifies the weighting or biasing data to be used in the
+problem. An example of biasing information is given in :numref:`fig81171`.
+
+.. _fig81171:
+.. figure:: figs/Keno/fig171.png
+ :align: center
+ :width: 600
+
+ Biasing information in HTML output.
+
+.. _8145213:
+
+Groupdependent weights
+^^^^^^^^^^^^^^^^^^^^^^^
+
+Printing the groupdependent weights is optional. They are printed if
+**PWT**\ =YES is entered in the parameter data. This edit is available
+in the HTML output under *Results* in the *Average Weight* link, as
+shown in :numref:`fig81172`.
+
+.. _fig81172:
+.. figure:: figs/Keno/fig172.png
+ :align: center
+ :width: 600
+
+ Example of biasing data in HTML output.
+
+.. _8145214:
+
+Plot representation
+^^^^^^^^^^^^^^^^^^^
+
+Plots representing 2D slices through the geometrical description of the
+problem are optional. They are created if plot data are entered unless
+**PLT**\ =NO is specified either in the plot data or the parameter data.
+Character plots are not available in the HTML output, but the color
+plots are easily viewed as shown in :numref:`fig81173`. The userrequested
+plots can be viewed under *Derived Data* in the *2D Geometry Plots*
+link.
+
+:numref:`fig81173` shows two color plots in a single HTML page. The color
+plots do not appear in the KENO text printout, but they are an integral
+part of the HTML output. They are generated from PNG files created when
+a color plot has been specified in the KENO input data. Any number of
+plots can be made in one problem. The color plots can be valuable tools
+to assist the user in verifying that a problem is described correctly.
+
+.. _fig81173:
+.. figure:: figs/Keno/fig173.png
+ :align: center
+ :width: 600
+
+ Sample color plots in HTML output.
+
+.. _8145215:
+
+Initial source and final pretracking edits
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Prior to calculating the keffs for each generation, KENO prints the
+final input data edit. The starting information is available in the HTML
+output under *Input Data* with the *Starting Information* link. An
+example of the HTML edit is shown in :numref:`fig81174`.
+
+.. _fig81174:
+.. figure:: figs/Keno/fig174.png
+ :align: center
+ :width: 600
+
+ Example of initial source information for start type 6 in HTML output.
+
+.. _8145216:
+
+Reference center for flux moment/angular flux tranform
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+When **TFM**\ =YES is entered, the flux moments and angular fluxes are
+computed in a transformed coordinate system relative to a reference
+center point. Edits of the fuel center and the position of the reference
+center for each region are shown when **TFM**\ =YES in :numref:`fig81175`. The
+HTML output edit is available under *Derived Data* in the *Reference
+Centers* link.
+
+
+.. _fig81175:
+.. figure:: figs/Keno/fig175.png
+ :align: center
+ :width: 600
+
+ Example of fuel center and reference center edits in HTML output.
+
+.. _8145217:
+
+Keffectives by generation
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+At the completion of each generation, KENO prints the keffective for
+that generation and associated information. An example of this printout
+is given in :numref:`fig81175` for HTML output. This HTML output edit is
+available under *Results* in the section of *k\ eff Results* in the
+*k\ eff by Generations Run* link.
+
+Example fuel center and reference center edits in HTML output.
+
+.. _fig81176:
+.. figure:: figs/Keno/fig176.png
+ :align: center
+ :width: 600
+
+ Example of keffective by generation in HTML output.
+
+The problem title is printed at the top of the page. A descriptive
+heading is printed at the top of each column of data. The data printed
+include (1) the generation number, (2) the keffective calculated for
+the generation, (3) the average value of keffective through the current
+generation (excluding the first two generations), (4) the deviation
+associated with the average keffective, and (5) the matrix keffective
+for the generation and the deviation associated with the matrix
+keffective. The last two columns are filled with zeros if the user did
+not specify matrix keffective calculations. The matrix keffective is
+the largest eigenvalue of the fission production matrix. Matrix
+information can be calculated based on (1) position index, (2) unit
+number, (3) hole number, and (4) array number. The matrix keffective
+printed in the sixth column is based on this order. If the matrix
+keffective is calculated by position index, it is the one printed in
+the sixth column. The matrix keffective by unit number is given second
+preference, followed by hole number and then array number. After the
+last generation, a message is printed to indicate why execution was
+terminated. If matrix keffectives were calculated, this is followed by
+a message stating the method used to determine the matrix keffective.
+
+The user should examine this portion of the results to ensure that the
+two methods of calculating k‑effective are in acceptable agreement and
+to verify that the average value of keffective has become relatively
+stable. If the keffectives appear to be oscillating or drifting
+significantly, the user should consider rerunning the problem with a
+larger number of histories per generation.
+
+If a problem is restarted, the generation numbers and keffectives are
+printed and the words FROM RESTART UNIT are printed in the elapsed time
+column. All other columns are blank. When the generation at which the
+problem is to be restarted is reached, the print reverts to the normal
+format as shown in :numref:`fig81126`.
+
+
+.. _8145218:
+
+Problem characterization edit
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The problem characterization edit is shown in :numref:`fig81177` for HTML
+output.
+
+.. _fig81177:
+.. figure:: figs/Keno/fig177.png
+ :align: center
+ :width: 600
+
+ Example problem characterization edit in HTML output.
+
+.. _8145219:
+
+Final keffective edit
+^^^^^^^^^^^^^^^^^^^^^^
+
+The final keffective edit prints the average keffective and its
+associated deviation and the limits of
+keffective for the 67, 95, and 99% confidence intervals. The final
+keffective edit is printed as shown in :numref:`fig81178`. This HTML output edit is
+available under *Results* in the section of *k\ eff Results* in the
+*k\ eff by Generations Skipped* link.
+
+.. _fig81178:
+.. figure:: figs/Keno/fig178.png
+ :align: center
+ :width: 600
+
+ Example of the final keffective edit in HTML output.
+
+.. _8145220:
+
+Plot of average keffective by generation run
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+This plot consists of average keffectives plotted versus the number of
+generations run. For the HTML output, this plot is presented as an
+embedded Javapeño applet plot, as shown in :numref:`fig81179`. The data shown
+in the plot are the same as those shown in the text output, with the
+addition of 95% and 99% confidence curves. With this interactive plot,
+the user can zoom in and out of the data, remove curves and utilize all
+of the features of Javapeño for data visualization and manipulation.
+This plot is available as the first plot on the page accessed with the
+*k\ eff by Generations Plots* link under *k\ eff Results* in the
+*Results* section of the HTML output.
+
+.. _fig81179:
+.. figure:: figs/Keno/fig179.png
+ :align: center
+ :width: 600
+
+ Sample plot of average keffective by generations run in HTML output.
+
+.. _8145221:
+
+Plot of average keffective by generations skipped
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+This plot illustrates the average keffective versus the number of
+generations skipped. For the HTML output, this plot is presented as an
+embedded Javapeño applet plot, as shown in :numref:`fig81180`. The data shown
+in the plot are the same as those shown in the text output, with the
+addition of 95% and 99% confidence curves. With this interactive plot,
+the user can zoom in and out of the data, remove curves and utilize all
+of the features of Javapeño for data visualization and manipulation.
+This plot is available as the second plot on the page accessed with the
+*k\ eff by Generations Plots* link under *k\ eff Results* in the
+*Results* section of the HTML output.
+
+.. _fig81180:
+.. figure:: figs/Keno/fig180.png
+ :align: center
+ :width: 600
+
+ Sample plot of average keffective by generations skipped in HTML output.
+
+.. _8145222:
+
+Final edit of fissions, absorptions, and leakage
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The final edit of fissions, absorptions, and leakage follows the final
+keffective edit and includes the fission fraction for each group and
+the fission production, absorptions, and leakage, each with its
+associated percent deviation.
+
+Tables corresponding to those available in the text output are also
+available in the HTML output. These data are accessed with the *Fissions
+and Absorptions Data* link under *Fissions and Absorptions* in the
+*Results* section, as illustrated in :numref:`fig81181`, where the region and group data
+(**FAR**\ =YES and **GAS**\ =YES) are present. To allow quicker loading
+of the large amounts of data in the HTML output, the data have been
+subdivided into several separate tables, which are accessed with the
+menu on the right side of the window.
+
+Where the group data are accumulated, plots of fissions and absorptions
+are available through the use of the Javapeño applet. The plot of
+fissions and absorptions is available through the *Fission and
+Absorption Plots* link under *Fissions and Absorptions* in the *Results*
+section of the output. An example plot is shown in :numref:`fig81182`. This page loads
+with no data plotting in Javapeño. Doubleclicking on the title of the
+data on the right side of the plot will cause the corresponding data to
+appear. All features of Javapeño are available to the user in the
+interactive plot.
+
+.. _fig81181:
+.. figure:: figs/Keno/fig181.png
+ :align: center
+ :width: 600
+
+ Sample fissions, absorptions and leakage data in HTML output.
+
+.. _fig81182:
+.. figure:: figs/Keno/fig182.png
+ :align: center
+ :width: 600
+
+ Sample fissions and absorptions plot in HTML output.
+
+.. _8145223:
+
+Matrix keffective by position index
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The matrix keffective by unit location (also referred to as array
+position or position index) is calculated if **MKP**\ =YES is specified
+in the parameter data and a global array is present in the model. An
+example of the matrix k‑effective by position is given in :numref:`fig81183`.
+In the HTML output, the keffective by position data is available in the
+*Matrix by Position* link in the *Results* section.
+
+.. _fig81183:
+.. figure:: figs/Keno/fig183.png
+ :align: center
+ :width: 600
+
+ Example of matrix keffective by position index edit in HMTL output.
+
+
+.. _8145224:
+
+Fission production by position index matrix
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+To obtain fission production by position information, the user must
+specify **MKP**\ =YES and **FMP**\ =YES in the parameter data. An
+example of the fission production matrix by position index for a
+2 × 2 × 2 array is shown in :numref:`fig81184`.
+
+.. _fig81184:
+.. figure:: figs/Keno/fig184.png
+ :align: center
+ :width: 600
+
+ Sample fission production matrix by position index edit in HMTL output.
+
+For each position index in the array, the number of nextgeneration
+neutrons produced at position index J per neutron born at position
+index I is determined. The fission production matrix by position index
+is used to determine the matrix keffective, cofactor keffective and
+source vector by position index.
+
+.. _8145225:
+
+Source vector by position index
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+Source vector by position index information is printed if **MKP**\ =YES
+is specified in the parameter data. An example of the source vector by
+position index is shown in :numref:`fig81185`. The average selfmultiplication
+by array position is the overall average of the selfmultiplication of
+all units used in the problem.
+
+.. _fig81185:
+.. figure:: figs/Keno/fig185.png
+ :align: center
+ :width: 600
+
+ Example of source vector by position index edit in HTML output.
+
+
+.. _8145226:
+
+Cofactor keffective by position index
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The cofactor keffective by position index edit is printed if
+**MKP**\ =YES is specified in the parameter data. An example of the
+cofactor keffective by position index is shown in :numref:`fig81186` and an
+example of the source vector by position index is shown in :numref:`fig81187`.
+
+.. _fig81186:
+.. figure:: figs/Keno/fig186.png
+ :align: center
+ :width: 600
+
+ Example cofactor keffective by position index edit in HTML output.
+
+.. _fig81187:
+.. figure:: figs/Keno/fig187.png
+ :align: center
+ :width: 600
+
+ Example of source vector by position index edit in HTML output.
+
+.. _8145227:
+
+Matrix keffective, fission production, source vector and cofactor keffective by unit number
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The matrix keffective by **UNIT** number (unit keffective) is the
+largest eigenvalue of the fission production by unit matrix. It is
+calculated only if **MKU**\ =YES is specified in the parameter data. An
+example of the matrix keffective by **UNIT** is given in :numref:`fig81188`.
+Fission production, source vector and average selfmultiplication by
+**UNIT** are all printed on the same page as the matrix keffective by
+**UNIT**. The matrix keffective HTML data by unit is available in the
+*Matrix by Unit* link in the *Results* section.
+
+.. _fig81188:
+.. figure:: figs/Keno/fig188.png
+ :align: center
+ :width: 600
+
+ Example matrix by unit edit in HTML output.
+
+.. _8145228:
+
+Matrix keffective, fission production, source vector and cofactor keffective by hole number
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The matrix keffective by **HOLE** number is the largest eigenvalue of
+the fission production matrix collected by **HOLE** number and is
+calculated if **MKH**\ =YES was specified in the parameter data. An
+example of the matrix keffective by **HOLE** number is given in :numref:`fig81189`.
+Fission production, source vector and average selfmultiplication by
+**HOLE** are all printed on the same page as the matrix keffective by
+**HOLE**. The matrix keffective HTML data by **HOLE** is available in
+the *Matrix by Hole* link in the *Results* section.
+
+.. _fig81189:
+.. figure:: figs/Keno/fig189.png
+ :align: center
+ :width: 600
+
+ Example matrix keffective by hole edit in HTML output.
+
+.. _8145229:
+
+Matrix keffective, fission production, source vector and cofactor keffective by array number
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The matrix keffective by array number is the largest eigenvalue of the
+fission production matrix collected by array number and is calculated if
+**MKA**\ =YES is entered in the parameter data. The number of next
+generation neutrons produced in array number J by a neutron born in
+array number I is given in this fission production matrix.
+
+The matrix keffective HTML data by array is available in the *Matrix by
+Array* link in the *Results* section, with an example shown in
+:numref:`fig81190`. Fission production, source vector and average
+selfmultiplication by **ARRAY** number are all printed on the same page
+as the matrix keffective by **ARRAY** number.
+
+.. _fig81190:
+.. figure:: figs/Keno/fig190.png
+ :align: center
+ :width: 600
+
+ Example matrix by array edit in HTML output.
+
+.. _8145230:
+
+Fission density edit
+^^^^^^^^^^^^^^^^^^^^
+
+The fission density edit is optional. In the HTML output, the fission
+density edit is available in the *Fission Density* link of *Fissions and
+Absorptions* under the *Results* section, as shown in :numref:`fig81191`.
+
+.. _fig81191:
+.. figure:: figs/Keno/fig191.png
+ :align: center
+ :width: 600
+
+ Example fission density edit in HTML output.
+
+.. _8145231:
+
+Flux edit
+^^^^^^^^^
+
+Printing the fluxes is optional; they are only printed if **FLX**\ =YES
+is specified in the parameter data. The fluxes are printed for each unit
+and each geometry region in the unit for every energy group.
+
+In the HTML output, a table of flux data can be accessed with the
+*Scalar* *Fluxes* under *Fluxes* in the *Results* section, as shown in :numref:`fig81192`.
+The fluxes for each unit in the problem are accessed from links on the
+right side of the page. Separate links are presented for *Angular
+Fluxes* and *Flux Moments* if they are requested in the problem.
+
+.. _fig81192:
+.. figure:: figs/Keno/fig192.png
+ :align: center
+ :width: 600
+
+ Example scalar flux edit in HTML output.
+
+.. _8145232:
+
+Flux plotting
+^^^^^^^^^^^^^
+
+In the HTML output, the applet version of Javapeño is used for plotting
+flux data. Clicking on the *Flux Plots* link under *Fluxes* in the
+*Results* reveals a page with the Javapeño applet with the flux data
+file pre‑loaded. Doubleclicking on a data title on the right side of
+the plot window will cause the corresponding data to be plotted. An
+example of this page with some flux data plotted is shown in :numref:`fig81193`. Here, the
+scalar flux for each region of each unit is listed, followed by the flux
+moments. The flux moments are identified according to their spherical
+harmonics components, not the Legendre order. Moments 1–3 correspond to
+the three first order components of the expansion, moments 4–8
+correspond to the second order components of the expansion and
+moments 9–15 correspond to the third order components of the expansion.
+For the example data shown in :numref:`fig81193`, only scalar fluxes (0\ :sup:`th` order
+expansion) and first order expansion terms were computed.
+
+.. _fig81193:
+.. figure:: figs/Keno/fig193.png
+ :align: center
+ :width: 600
+
+ Example flux plot in HTML output.
+
+.. _8145233:
+
+Frequency distributions
+^^^^^^^^^^^^^^^^^^^^^^^
+
+A frequency distribution consists of a bar graph indicating the number
+of generations having keffective in a specified interval. The intervals
+are determined by the code based on the upper and lower limits of the
+keffectives calculated for the generations. In the HTML output, the
+Javapeño applet is used to display the frequency distributions, as shown
+in :numref:`fig81194`.
+
+.. _fig81194:
+.. figure:: figs/Keno/fig194.png
+ :align: center
+ :width: 600
+
+ Example frequency of generations plot in HTML output.
+
+.. _8145234:
+
+Final results table
+^^^^^^^^^^^^^^^^^^^
+
+The final results table contains a summary of the most important physics
+parameters of the system and the number of error and warning messages
+generated during execution.
+
+In the HTML output, the final results table is accessed with the *Final
+Results* link in the *Results* section, as shown in :numref:`fig81195`.
+
+.. _fig81195:
+.. figure:: figs/Keno/fig195.png
+ :align: center
+ :width: 600
+
+ An example of the final results table in HTML output.
+
+.. _815:
+
+Warning messages and error messages
+
+
+KENO prints warning and error messages that are identified by K5 or K6
+for KENO V.a and KENOVI, respectively, followed by a unique number
+(i.e., K5001 is the identifier of the first message for KENO V.a). The
+generic symbol for messages originating in KENO V.a and KENOVI is K?,
+where the question mark stands for 5 or 6. For additional information
+concerning the message, refer to the identifier number in this section.
+
+Warning messages appear when a possible error is encountered. If the
+code alters data, that fact is stated in the message. It is the
+responsibility of the user to verify correct usage when a warning
+message is printed.
+
+When an error is encountered, the error flag MFLAG is set true and an
+error message is printed. The code stops if the error is too severe to
+continue. The warning and error messages in this section may show an
+underscore___\_ or a numbered underscore (1) where data will be printed
+by the code. The explanation of the message will show an underscore or a
+numbered underscore to indicate the corresponding data.
+
+.. _8151:
+
+Messages
+~~~~~~~~
+
+KMSG001\
+\****\* WARNING \****\* K?001 FOLLOWS:
+READ FLAG NOT FOUND. ASSUME PARAMETER DATA FOLLOWS.
+
+ This message occurs in subroutine INITAL. It indicates that the word
+ **READ** was not the first word of data encountered after the title
+ card. If a parameter data block is to be entered, the code expects the
+ words **READ PARAMETERS** to precede the parameter input data. If the
+ word **READ** is not the first word, the code expects parameter input
+ data immediately.
+
+KMSG002\
+\****\* ERROR \****\* K?002 FOLLOWS:\
+THE NUMBER OF ENERGY GROUPS IS\
+OUT OF RANGE FOR THE CROSS SECTION LIBRARY ON UNIT ___\
+THE INPUT MAY NOT SPECIFY A VALID DATA SET ON THIS UNIT\
+OR THE MODULE THAT WAS TO CREATE\
+THE CROSS SECTION LIBRARY ON THIS UNIT MAY HAVE FAILED
+
+ This message occurs in subroutine INITAL after subroutine PARAM has been
+ executed. Unit number \___\_ should be checked to ensure that it was
+ properly specified in the job control language. The data set name
+ associated with this unit number should also be verified. This
+ information is given in the printout in the third table. The module that
+ generated the cross sections should be verified as having executed
+ properly and that the data were saved or passed correctly. When this
+ message is printed for an AMPX working format library, a STOP 108 is
+ executed. When this message is printed for a mixed cross section format
+ library, a STOP 109 is executed.
+
+KMSG003
\****\* WARNING \****\* K?003 FOLLOWS:
MAT ID=___ WAS NOT FOUND IN THE WEIGHTS LIBRARY FOR THE SPECIFIED EERGY GROUP STRUCTURE.
+
+ This message is printed in subroutine LODWTS when loading biasing
+ factors from the direct access scratch file. It indicates that weights
+ library did not contain biasing factors for this ID for the group
+ structure that corresponds to the cross sections (multigroup), or to the
+ binning structure (continuous energy). Default biasing factors will be
+ substituted. The location of this set of biasing parameters should be
+ checked to verify that the substitution does not cause a problem.
+
+KMSG004
+\****\* ERROR \****\* K?004 FOLLOWS:
+INVALID INPUT PARAMETER NAME ___
+
+ This message comes from subroutine PARAM and indicates that the keyword
+ for entering parameter data was misspelled or in error in some other
+ way. A list of allowed keywords is given in :numref:`tab811` in the KENO
+ input outline.
+
+KMSG005
+\****\* ERROR \****\* K?005 FOLLOWS:
+AN ERROR WAS ENCOUNTERED IN THE ALPHANUMERIC PARAMETER DATA. THE DATA WAS ___
+
+ This message comes from subroutine PARAM and indicates that the keyword
+ for the alphanumeric parameter data was entered correctly, but the data
+ associated with it were not YES or NO as is required. The___\_ \___\_ in
+ the error message could be something like **FLX**\ =YEX instead of
+ **FLX**\ =YES.
+
+KMSG006
+\****\* WARNING \****\* K?006 FOLLOWS:
+READ FLAG FOUND WHEN LOOKING FOR END FLAG. PARAMETER INPUT ASSUMED COMPLETE
+
+ This message occurs in subroutine PARAM. It indicates that the keywords
+ **END PARAMETERS** were not found. The keywords **READ**\ \___\_ were
+ found instead. The code assumes the parameter data are complete and
+ proceeds normally.
+
+KMSG007
+\****\* ERROR \****\* K?007 FOLLOWS:
+ATTEMPT TO FIND END PARAMETER FLAG WAS UNSUCCESSFUL.
+
+ This message from subroutine PARAM occurs during the reading of the
+ parameter data if the word **END** is found and it is not followed by
+ the word **PARAMETERS**. A STOP 118 may be executed when this message is
+ printed.
+
+KMSG008
+\****\* ERROR \****\* K?008 FOLLOWS:
+AN END OF FILE WAS ENCOUNTERED WHILE ATTEMPTING TO READ PARAMETER DATA
+
+ This message is from subroutine PARAM. A STOP 118 may be executed when
+ this message is printed.
+
+KMSG009
+\****\* WARNING \****\* K?009 FOLLOWS:
+DUE TO INCONSISTENCIES BETWEEN INPUT AND RESTART DATA,
+FISSIONS AND ABSORPTIONS BY REGION WILL BE CALCULATED BUT NOT PRINTED. INPUT DATA SET FAR=NO, BUT DATA FROM THE RESTART UNIT SPECIFIED YES.
+
+ This message occurs in subroutine PARAM and is mostly selfexplanatory.
+ The original problem (parent case) that wrote the restart data specified
+ data inconsistent with the parameter data input to the restarted
+ problem. The title of the parent case is given at the end of the
+ parameter tables. The specification of the restart unit RST is given in
+ the third table of the KENO output.
+
+KMSG010
+\****\* WARNING \****\* K?010 FOLLOWS:
+DUE TO INCONSISTENCIES BETWEEN INPUT AND RESTART DATA, FLUXES WILL BE
+CALCULATED BUT NOT PRINTED.
+INPUT DATA SET FLX=NO, BUT DATA FROM THE RESTART UNIT SPECIFIED YES.
+
+ This message occurs in subroutine PARAM. The original problem (parent
+ case) that wrote the restart data specified data did not agree with the
+ parameter data input to the restarted problem. The title of the parent
+ case is given at the end of the parameter tables. The specification of
+ the restart unit RST is given in the third table of the KENO output.
+
+KMSG011
+\****\* ERROR \****\* K6011 FOLLOWS:
+A BOUNDARY GEOMETRY WORD WAS NOT SPECIFIED FOR UNIT ___
+
+ This KENOVI message is from subroutine KENOG. A **BOUNDARY** card must
+ be associated with each unit identifying the outermost region of the
+ unit.
+
+KMSG012
+\****\* WARNING \****\* K?012 FOLLOWS:
+INPUT PARAMETER NBK WAS ENTERED AS ___. IT WAS CHANGED TO ___.
+AT LEAST ___ POSITIONS ARE NECESSARY TO ACCOMMODATE THE NEUTRON BANK DATA.
+
+ This selfexplanatory message is from subroutine PARAM. **NBK** should
+ not be entered as input data unless it is known that the default value
+ is inadequate.
+
+KMSG013
+\****\* ERROR \****\* K6013 FOLLOWS:
+MEDIA DATA MUST BE ENTERED FOR UNIT ___
+
+ This KENOVI message is from subroutine KENOG. Either another **UNIT**
+ card or an **END GEOM** card was encountered prior to inputting
+ **MEDIA** data for the current unit.
+
+KMSG014
+\****\* ERROR \****\* K?014 FOLLOWS:
+ERROR  KEYWORD ___ ___ IS NOT A VALID MIXING TABLE KEYWORD.
+
+ This message is from subroutine MIXIT. It can only be encountered if a
+ mixing table is expected (i.e., **READ MIX** or **READ MIXT** has been
+ entered as data). At this point the only valid keywords are **MIX**\ =,
+ **EPS**\ =, **SCT**\ = or **NCM**\ =. The keyword that was entered is
+ printed in the message. See :ref:`81210` for assistance in setting up
+ the mixing table data.
+
+KMSG015
+\****\* ERROR \****\* K5015 FOLLOWS:
+AN ERROR WAS FOUND IN THE HEMISPHERE DESIGNATION
+
+ This KENO V.a message was printed by subroutine KENOG. It signifies that
+ the geometry keyword has been destroyed after it was read. This
+ indicates a code bug.
+
+KMSG016
+\****\* ERROR \****\* K?016 FOLLOWS:
+*** ERROR *** A VALUE MUST BE ENTERED FOR LIB IN THE PARAMETER
+INPUT SO CROSS SECTIONS CAN BE MIXED.
+
+ This message is from subroutine DATAIN. It occurs when a mixing table
+ has been read but the unit number for the AMPXS working library is
+ undefined. This is corrected by entering **LIB**\ =___\_ in the
+ parameter input data and making sure the desired AMPXS working library
+ is properly defined as being on that unit in the job control language.
+
+KMSG017
+\****\* ERROR \****\* K?017 FOLLOWS:
+UNRECOGNIZABLE GEOMETRY WORD ___
+
+ This message is from subroutine KENOG. In the process of reading the
+ geometry data, the word___\_ was encountered when a geometry word was
+ expected. Several of these messages may be generated. A message is
+ generated for each word of data that is read, until a valid geometry
+ word is found. The data are out of phase or the geometry word is
+ misspelled. The previous geometry word should be checked to ensure that
+ it has the correct entries. See Appendices A and B for lists of accepted
+ geometry words.
+
+KMSG018
+\****\* ERROR \****\* K?018 FOLLOWS:
+INVALID INDEX INTO KEYWRD ARRAY. INP=___
+CHECK SUBROUTINE KENOG FOR A CODE ERROR.
+
+ This message is from subroutine KENOG. This message usually means that a
+ code error was introduced when changes were made to the program.
+ Subroutine KENOG, function LCOMPR, and KEYWRD data block should be
+ checked.
+
+KMSG019
+*\* ERROR ***\* ERROR ***\* ERROR ***\* ERROR ***\* ERROR ***\* ERROR ***\* ERROR ***\* ERROR ***\* ERROR ***\* ERROR **
+K?019 FOLLOWS:
+A GLOBAL UNIT HAS NOT BEEN SPECIFIED.
+*\* ERROR ***\* ERROR ***\* ERROR ***\* ERROR ***\* ERROR ***\* ERROR ***\* ERROR ***\* ERROR ***\* ERROR ***\* ERROR *\*
+
+ This message from subroutine KENOG indicates that a **GLOBAL UNIT** has
+ not been specified. The outermost unit in the problem must be specified
+ as the **GLOBAL UNIT**. See :ref:`8124` to determine the correct
+ specification.
+
+KMSG020
+\****\* ERROR \****\* K?020 FOLLOWS:
+GEOMETRY WORD INDEX OUT OF RANGE ON SCRATCH UNIT ___ FOR GEOMETRY
+WORD NUMBER ___ INP=___ GWRD=___
+
+ This message from subroutine READGM means that INP is negative or larger
+ than NP when the geometry data are read from the scratch unit, SKRT.
+ This usually means that a code error was introduced when changes were
+ made to the program. True geometry errors should be detected when the
+ scratch unit, SKRT, is written. A STOP 125 is executed when this message
+ is printed.
+
+KMSG021
+\****\* ERROR \****\* K?021 FOLLOWS:
+___ IS AN INVALID PARAMETER NAME FOR BIASING DATA.
+ID= OR WT= OR WTS= SHOULD HAVE BEEN ENTERED.
+
+ This message is from subroutine RDBIAS. See :ref:`8127` for assistance
+ in determining the proper procedure for entering biasing data.
+
+KMSG022
+\****\* ERROR \****\* K?022 FOLLOWS:
+PROBLEM IN READGM, IGEO =___ IS AN INVALID GEOMETRY TYPE
+
+ If this message has not been preceded by other geometry error messages,
+ it indicates a code bug.
+
+KMSG023
+\****\* ERROR \****\* K?023 FOLLOWS:
+REFLECTION OR PERIODIC BOUNDARY CONDITIONS ARE ILLEGAL ON A CURVED BOUNDARY.
+
+ Only a vacuum or a white boundary condition is allowed on a curvilinear
+ surface.
+
+KMSG024
+K?024 FOLLOWS:
+INCORRECT FLAG RETURNED FROM AREAD. IRET=___
+
+ This message from subroutine RDBIAS indicates that an error was
+ encountered while reading the biasing data. The biasing data were not
+ entered properly. See :ref:`8127` for assistance.
+
+KMSG025
+\****\* ERROR \****\* K?025 FOLLOWS:
+WHITE BOUNDARY CONDITION IS ALLOWED ONLY ON CUBOIDS, CYLINDERS, OR SPHERES
+
+ This selfexplanatory message should never occur and is an indication of
+ a code bug.
+
+KMSG026
+K?026  ARRAY DESCRIPTION ERROR MESSAGES
+K?026 FOLLOWS:
+SET NUMBER ___ OF THE UNIT ORIENTATION DATA CONTAINS ___ ERROR(S).
+
+ This message from subroutine RDBOX is triggered when input errors are
+ recognized in the unit orientation data. A set of unit orientation data
+ consists of 10 numbers as shown in the companion message KMSG027. The
+ number of errors printed in this message is a lower bound. More errors
+ may actually exist. This message often means that a number was omitted
+ or a blank was omitted when entering the unit orientation data.
+
+KMSG027
+K?027 FOLLOWS:
+LTYPE=___ IX1=___ IX2=___ INCX=___ IY1=___ IY2=___ INCY=___ IZ1=___ IZ2=___ INCZ=___
+
+ This message is a companion to KMSG026. It indicates how the unit
+ orientation data description for the set named in KMSG026 was entered.
+ See :ref:`91252` for information pertaining to unit orientation data.
+
+KMSG028
+K?028 FOLLOWS:
+THE ABOVE UNIT ORIENTATION CARD(S) CONTAIN(S) AT LEAST ONE
+OF THE FOLLOWING ERRORS.
+1. IX1,IY1,IZ1,INCX,INCY,OR INCZ IS LESS THAN OR EQUAL TO ZERO
+2. IX2 IS LESS THAN IX1,IY2 IS LESS THAN IY1, OR IZ2 IS LESS THAN IZ1
+3. IX2 IS GREATER THAN NBXMAX, IY2 IS LARGER THAN NBYMAX, OR IZ2 IS LARGER THAN NBZMAX
+4. LTYPE IS LESS THAN 1 OR GREATER THAN NBOX
+
+ This selfexplanatory message is from subroutine RDBOX. It pertains to
+ the input orientation data for LOOP. See :ref:`8125` for input
+ instructions.
+
+KMSG029
+\****\* ERROR \****\* K?029 FOLLOWS:
+THE ARRAY SIZE HAS BEEN SPECIFIED INCORRECTLY. NBXMAX=___ NBYMAX=___ NBZMAX=___
+UNIT ORIENTATION DATA CANNOT BE READ UNLESS NBXMAX, NBYMAX AND NBZMAX ARE GREATER THAN ZERO.
+
+ This message from subroutine ARAYIN indicates that the array definition
+ data were incorrectly specified. It occurs only if one or more of
+ NBXMAX, NBYMAX, or NBZMAX is less than 1. In the array information data
+ these are entered in the form **NUX**\ =___\_ **NUY**\ =___\_
+ **NUZ**\ =____. See :ref:`8125`. If a unit orientation data
+ description is to be entered, NBXMAX, NBYMAX, and NBZMAX must all be
+ greater than zero.
+
+KMSG030
+\****\* ERROR \****\* K?030 FOLLOWS:
+END ___ FLAG WAS NOT FOUND. ___ ___ WAS READ INSTEAD.
+
+ This message from subroutine ARAYIN occurs if the unit orientation data
+ description is terminated with the incorrect **END** flag.
+
+KMSG031
+\****\* ERROR \****\* K?031 FOLLOWS:
+___ IS AN INVALID PARAMETER NAME IN THE ARRAY DATA.
+
+ This message is written from subroutine ARAYIN if the array data block
+ contains an incorrect keyword. The allowed keywords include **NUX**\ =,
+ **NUY**\ =, **NUZ**\ =, **FILL,** **LOOP**, **ARA**\ =, **TYP**\ =. See
+ :ref:`8125` for additional assistance. A STOP 101 is executed when
+ this message is printed.
+
+KMSG032
+\****\* ERROR \****\* K?032 FOLLOWS:
+AN ERROR EXISTS IN UNIT ORIENTATION ARRAY NUMBER ___
+
+ This message from subroutine SORTA is printed when an error is
+ recognized in the array description. The type of error that will trigger
+ the message is for a position in the unit orientation array to be
+ undefined, zero, negative or greater than NBOX, the largest unit number.
+ KMSG033 is a companion message.
+
+KMSG033
+\****\* ERROR \****\* K?033 FOLLOWS:
+UNIT ___ IS INVALID AT X INDEX =___ Y INDEX =___ Z INDEX =___
+
+ This message comes from subroutine SORTA. It is printed for each
+ position in the unit orientation array that is in error. The message is
+ printed a maximum of 10 times. Refer to :ref:`8125` for assistance in
+ correcting the error(s).
+
+KMSG034
+\****\* ERROR \****\* K?034 FOLLOWS:
+THE NUMBER OF MIXTURES REQUESTED IN THE GEOMETRY IS ___ THE NUMBER OF MIXTURE CROSS SECTIONS IS ___
+
+ This message from subroutine FLDATA occurs if the number of mixture
+ cross sections from the restart unit, RSTRT, does not equal the number
+ of mixtures requested in the geometry for a restarted problem.
+
+KMSG035
+\****\* ERROR \****\* K?035 FOLLOWS:
+IN THE ALBEDO INPUT DATA ___ IS AN INVALID FACE CODE NAME.
+
+ This message is from subroutine RDREF. It occurs if an invalid face code
+ name was entered in the albedo data. See :numref:`tab8118` in :ref:`8126`
+ for a list of acceptable face code names.
+
+KMSG036
+\****\* ERROR \****\* K?036 FOLLOWS:
+A BOUNDARY BODY ___ WAS SPECIFIED THAT IS NOT
+ONE OF THE BODIES IN THE GLOBAL UNIT BOUNDARY.
+THE PROBLEM WILL NOT BE RUN.
+\*\* ERROR **** ERROR \***\* ERROR \***\* ERROR \***\* ERROR \***\* ERROR \***\* ERROR \***\* ERROR \***\* ERROR \***\* ERROR **
+
+ This message is from subroutine RDBNDS. It indicates that a boundary
+ body was specified to assign boundary conditions that do not exist in
+ the global unit. The bodies specified for boundary conditions should be
+ carefully matched with those specified in the bounds of the global unit.
+
+KMSG037
+\\***\*\* ERROR \\***\*\* K?037 FOLLOWS:
+AVERAGE NUBAR AND AVG. FISSION GROUP WAS SPECIFIED, BUT THE FISSION XSEC ID (18)
+WAS NOT FOUND IN THE EXTRA 1D ARRAY (MT).
+
+ This message is from subroutine IDX1D. It indicates that the parameter
+ data contained **NUB**\ =YES, but the corresponding necessary type of
+ data was absent from the extra 1D array. This can be due to a code
+ error or an error concerning the extra 1D data (**X1D**\ = in the
+ parameter data).
+
+KMSG038
+\\***\*\* ERROR \****\* K?038 FOLLOWS:
+INPUT DATA INDICATED NO EXTRA 1D XSEC IDS TO BE READ, BUT A READ FLAG WAS ENCOUNTERED.
+
+ This message from subroutine DATAIN is printed when the parameter data
+ did not specify **X1D**\ = and the words **READ X1DS** were encountered
+ later in the data. If extra 1D data are to be used, **X1D**\ = must be
+ entered in the parameter data and appropriate code modifications must be
+ made to properly use the extra 1D data.
+
+KMSG039
+\****\* ERROR \****\* K?039 FOLLOWS:
+INVALID START PARAMETER NAME ___
+
+ This message is from subroutine RDSTRT. It indicates that an invalid
+ start parameter name was encountered when the start data block was being
+ read. A list of allowed start parameter names is contained in
+ :ref:`8128`.
+
+KMSG040
+\****\* WARNING \****\* K?040 FOLLOWS:
+LNU FOR START TYPE 6 WAS ENTERED AS ___.
+THE LARGEST VALUE NEEDED FOR LNU IS NPG; THE LARGEST VALUE ALLOWED FOR LNU IS NFB (___).
+BOTH NPG AND NFB ARE PARAMETER DATA.
+ENTRIES BEYOND NFB WILL BE IGNORED.
+
+ This selfexplanatory message is from subroutine RDSTRT. See
+ :ref:`8128` for assistance in determining a valid value for **LNU**.
+ **NFB**, the fission bank size, is the largest value allowed for
+ **LNU**. **NPG**, the number of histories per generation, is the
+ smallest value allowed for **LNU**.
+
+KMSG041
+\****\* ERROR \****\* K?041 FOLLOWS:
+ALPHANUMERIC START DATA MUST BE ENTERED AS YES OR NO. THE DATA READ WAS ___ ___
+
+ This selfexplanatory message is from subroutine RDSTRT. See
+ :ref:`8128` for assistance concerning start data.
+
+KMSG042
+\****\* WARNING \****\* K?042 FOLLOWS:
+END ___ FLAG WAS NOT FOUND.___ ___ WAS READ INSTEAD
+
+ This message occurs when the **READ** \___\_ and **END** \___\_ do not
+ match. When entering data blocks, each block must start with **READ**
+ \___\_ and end with **END** \____.
+
+KMSG043
+\****\* ERROR \****\* K?043 FOLLOWS:
+AN END OF FILE WAS ENCOUNTERED BEFORE AN END DATA WAS FOUND. THE PROBLEM WILL NOT RUN.
+
+ This message is from subroutine DATAIN. It occurs when an end of file is
+ encountered while reading data.
+
+KMSG044
+\****\* ERROR \****\* K?044 FOLLOWS:
+A PLOT OF ZERO HEIGHT AND/OR WIDTH HAS BEEN SPECIFIED.
+THE HEIGHT IS ___ AND THE WIDTH IS ___
+THE DELTA X IS ___, THE DELTA Y IS ___, AND THE DELTA Z IS ___
+THE DIRECTION COSINES DOWN THE PAGE ARE ___ ___ ___
+THE DIRECTION COSINES ACROSS THE PAGE ARE ___ ___ ___
+
+ This message is from subroutine RDPLOT. At least one of the X, Y, or
+ Z components that make up the upper left corner and lower right corner
+ is inconsistent or one of the direction cosines **UAX**, **VAX**,
+ **WAX**, **UDN**, **VDN**, or **WDN** have the wrong sign. Check the
+ plot data for consistency.
+
+KMSG045
+\****\* ERROR \****\* K?045 FOLLOWS:
+ILLEGAL DATA BLOCK IDENTIFIER, ___ ___
+
+ This message from subroutine DATAIN is printed whenever an invalid data
+ block identifier is encountered. This can be caused by having the data
+ out of order, by omitting data or by misspelling data. A block
+ identifier consists of the words READ XXXX where XXXX is a keyword
+ identifying the type of data to be read. Acceptable keywords are listed
+ in :ref:`8121`.
+
+KMSG046
+\****\* ERROR \****\* K?046 FOLLOWS:
+IPT=___ IS OUTSIDE THE ALLOWABLE LIMIT OF ___
+
+ This message is from subroutine DATAIN. It is indicative of a code
+ error. IPT is the index into the LPOINT array, which contains the direct
+ access pointers for the various types of data.
+ LPOINT(1) is the pointer for the geometry region data.
+ LPOINT(2) is the pointer for the array description (unit orientation) data.
+ LPOINT(3) is the pointer for the mixing table data.
+ LPOINT(4) is the pointer for volume data.
+ LPOINT(5) is the pointer for the biasing or weighting data.
+ LPOINT(6) is the pointer for the start data.
+ LPOINT(7) is the pointer for the albedo data.
+ LPOINT(8) is the pointer for the mixed cross section data.
+ LPOINT(9) is the pointer for the energy and inverse velocity data.
+ LPOINT(10) is the pointer for the plot data.
+ LPOINT(11) is the pointer for the biasing input data.
+ LPOINT(12) is the pointer for the grid data for fluxes.
+ LPOINT(13) is the pointer for importance mapping data.
+ LPOINT(14) is the pointer for reactions data.
+ LPOINT(15) is the pointer for the albedoxsec energy correspondence data.
+
+ A STOP 152 is executed when this message is printed.
+
+KMSG047
+\****\* ERROR \****\* K6047 FOLLOWS:
+SECTOR DATA WAS NOT FOUND FOR ARRAY ___
+
+ This KENOVI message is from subroutine ARRAY. This message usually
+ means that sector data was left off the **ARRAY** contents record. See
+ :ref:`8124` for assistance in specifying an **ARRAY**.
+
+KMSG048
+\****\* ERROR \****\* K?048 FOLLOWS:
+UNABLE TO ALLOCATE ___ DUE TO ERROR STATUS CODE ___ IN SUBROUTINE ___
+
+ This message is associated with allocating memory used to store problem
+ dependent data. The message states the type of data memory was allocated
+ for the error type returned when memory could not be allocated and the
+ current subroutine. This message could be caused by insufficient system
+ memory or a code problem.
+
+KMSG049
+\****\* ERROR \****\* K?049 FOLLOWS:
+WEIGHTS ARE THE WRONG LENGTH
+EXPECTED LENGTH ___ BUT NEED LENGTH ___
+
+KMSG050
+\****\* ERROR \****\* K?050 FOLLOWS:
+THE ___ POSITION OF ARRAY ___ IN UNIT ___ WAS SPECIFIED AS ___ WHICH IS LESS THAN 1 OR GREATER THAN ___, THE NUMBER OF UNITS IN THAT DIRECTION.
+
+ This selfexplanatory message from subroutine RDICE indicates that more
+ space is needed to store the macroscopic cross sections in Monte Carlo
+ format. A STOP 122 is executed when this message is printed.
+
+KMSG051
+\****\* ERROR \****\* K?051 FOLLOWS:
+SURFACE ___ OF BOUNDARY LABEL ___ REQUESTED A DIFFERENTIAL ALBEDO THAT IS NOT ON THE ALBEDO DATA SET.
+THE REQUESTED ALBEDO NAME IS ___
+
+ This message is from subroutine ALBRD. A list of the albedos that are on
+ the standard albedo data set is given in :numref:`tab8119` (:ref:`8126`).
+
+KMSG052
+\****\* ERROR \****\* K?052 FOLLOWS:
+INTERPOLATION CODE SHOULD BE IN THE RANGE 1 TO 5
+INT: ___
+
+ This message is from subroutine XSEC_INTERP. This indicates an error in
+ the continuous energy point data.INT is the interpolation code from the
+ data. A STOP 104 is executed in conjunction with this message, and a
+ traceback may be printed from subroutine STOP.
+
+KMSG053
+\****\* ERROR \****\* K?053 FOLLOWS:
+LOG INTERPOLATION SHOULD NOT BE USED WITH NEG OR ZERO ARGUMENT
+XP: ___
+
+ This KENOVI message is from subroutine RDBNDS. It indicates that an
+ incorrect surface was specified to which a boundary condition was to be
+ assigned. The surfaces of the bodies specified for boundary conditions
+ should be carefully matched with those specified in the bounds of the
+ global unit.
+
+KMSG054
+\****\* ERROR \****\* K6054 FOLLOWS:
+A SURFACE NUMBER ___ WAS SPECIFIED THAT IS LARGER THAN NUMBER OF SURFACES IN THE INDICATED GLOBAL BODY.
+THE PROBLEM WILL NOT BE RUN.
+
+ This message is from subroutine MIXMIX. Either a nuclide ID was
+ misspelled or was not in the cross section library.
+
+KMSG055
+\****\* ERROR \****\* K?055 FOLLOWS:
+ERRORS FOUND IN MIXING CROSS SECTIONS
+THE FOLLOWING NUCLIDE(S) SPECIFIED IN THE MIXING TABLE WERE
+NOT FOUND ON THE CROSS SECTION LIBRARY
+ENTRY NUCLIDE ID
+
+ This message is from subroutine MIXMIX. Either a nuclide ID was
+ misspelled or was not in the cross section library.
+
+KMSG056
+\****\* ERROR \****\* K?056 FOLLOWS:
+MIXTURE ___ LACKS EITHER NU*FISSION OR CHI DATA
+
+ This message from subroutine NORM1D or XSEC1D indicates that a mixture
+ that contains fissile material is missing the nufission cross section
+ or the fission spectrum. A STOP 115 is executed when this message is
+ printed.
+
+KMSG057
+\****\* ERROR \****\* K?057 FOLLOWS:
+INVALID BIAS ID ___ IN REGION ___ ABOVE.
+
+ This message is from subroutines PRTJOM or READGM. It is printed if a
+ negative or zero bias ID is entered for the specified geometry region.
+ Review :ref:`8124` for correct geometry data specification
+ information.
+
+KMSG058
+\****\* ERROR \****\* K?058 FOLLOWS:
+INVALID BIAS ID IN REGION ABOVE.
+
+ This message is from subroutine PRTJOM. It is printed if a negative or
+ zero bias ID is entered for the specified geometry region. Review
+ :ref:`8124` for correct geometry data specification information.
+
+KMSG059
+\****\* ERROR \****\* K?059 FOLLOWS:
+THE CALCULATION WAS TERMINATED BECAUSE OF EXCESSIVE SPLITTING.
+
+ This message from subroutine GUIDE is printed only if message K?128 is
+ printed 50 or more times for a given generation. This indicates that the
+ problem and/or the code is incapable of achieving a reasonable solution.
+ If changes have been made in the code, they should be carefully
+ scrutinized. If a biasing data block has been entered (:ref:`8127`),
+ it should be checked carefully.
+
+KMSG060
+\****\* WARNING \****\* K?060 FOLLOWS:
+THE ANGULAR SCATTERING DISTRIBUTION FOR MIXTURE ___ HAS BAD MOMENTS FOR THE TRANSFER FROM GROUP ___ TO GROUP ___
+___ MOMENTS WERE ACCEPTED
+
+ This message from subroutine BADMOM indicates that the moments from the
+ cross section data are incorrect for the group transfer shown. The code
+ replaces the incorrect moments with acceptable moments and proceeds
+ normally. The moments printed in the last line of the message should
+ match those printed in the eighth line. The user can suppress these
+ messages by entering an appropriate value for the cross section message
+ cutoff parameter, **EPS**\ = in the mixing table data, :ref:`81210`.
+ See :ref:`81344` for assistance in determining an appropriate value.
+
+KMSG061
+\****\* ERROR \****\* K?061 FOLLOWS:
+
+___ IS NOT A VALID UNIT NUMBER, A UNIT NUMBER MUST BE A POSITIVE INTEGER.
+ This message is from subroutine KENOG. A unit number must be an integer
+ greater than 0.
+
+KMSG062
+\****\* ERROR \****\* K?062 FOLLOWS:
+INSUFFICIENT DATA FOLLOWED THE KEYWORD ARRAY.
+
+ This message is from subroutine ARRAY. The data following the keyword
+ ARRAY are misspelled or incomplete. See :ref:`8125` for assistance in
+ determining the correct method for inputting array data.
+
+KMSG063
+\****\* WARNING \****\* K?063 FOLLOWS:
+NUCLIDE ___ ___
+HAS NO GAMMA PRODUCTION DATA.
+\****\* WARNING \****\*
+
+ This message from subroutine MIXMIX indicates that somehow KENO has been
+ told to run a coupled neutrongamma problem, and the indicated nuclide
+ has no neutron to gamma transfer data. This means this nuclide cannot
+ produce any gammas. This message should never occur in KENO, as it
+ should have ignored all gamma data from a coupled library.
+
+KMSG064
+\****\* WARNING \****\* K?064 FOLLOWS:
+THE ANGULAR SCATTERING DISTRIBUTION FOR MIXTURE ___ HAS BAD MOMENTS FOR THE TRANSFER FROM GROUP ___ TO GROUP ___
+___ MOMENTS WERE ACCEPTED. THE P0 COEFFICIENT IS ___
+
+ This message from subroutine BADMOM is printed to inform the user that
+ the cross sections were altered by the code because the moments from the
+ cross section data were incorrect for the group transfer shown. The
+ P\ :sub:`0` coefficient was larger than the cross section message cutoff
+ parameter **EPS**, but the relative change in the moments was smaller
+ than **EPS**.
+
+KMSG065
+\****\* WARNING \****\* K?065 FOLLOWS:
+AN AMPX WORKING LIBRARY WAS SPECIFIED ON UNIT ___ BUT NO MIXING DATA WAS READ.
+MIXED CROSS SECTIONS FROM UNIT ___ WILL BE USED.
+
+ This message from subroutine ICEMIX occurs if the parameter data
+ specified **LIB**\ =___\_ but no cross section mixing data block was
+ entered. The cross section mixing data block begins with **READ MIXT**.
+ See :ref:`8123` for parameter data and :ref:`81210` for mixing table
+ information.
+
+KMSG066
+\****\* WARNING \****\* K?066 FOLLOWS:
+___ MIXTURES WERE REQUESTED IN THE GEOMETRY, BUT ONLY ___ MIXTURES ARE ON THE MIXED CROSS SECTION LIBRARY.
+
+ This message from subroutine ICEMIX indicates that more mixtures were
+ requested in the geometry region data than were available on the mixed
+ cross section library. See :ref:`8123` for the specification of the
+ unit number of the mixed cross section library (**XSC**\ =),
+ :ref:`81210` for the specification of the mixing table, and
+ :ref:`8124` to determine the mixtures used in the geometry region
+ data.
+
+KMSG067
+\****\* ERROR \****\* K?067 FOLLOWS:
+THE ADJOINT INPUT PARAMETER WAS _ BUT THE ADJOINT INDICATOR FROM THE MIXTURE CROSS SECTION LIBRARY WAS _. KENO WILL NOT EXECUTE.
+
+ This message from subroutine ICEMIX occurs if the adjoint input
+ parameter **ADJ**\ = specified a forward calculation and the
+ cross sections were adjointed, or the adjoint input parameter specified
+ an adjoint calculation and the cross sections were not adjointed. T
+ indicates true, F indicates false.
+
+KMSG069
+___ IS AN INVALID GEOMETRY TYPE INDEX
+
+ This message is companion message to KMSG091, and will follow it.
+
+KMSG070
+\****\* ERROR \****\* K?070 FOLLOWS:
+ERROR IN SUBROUTINE WRTRST. NDX=___
+
+ This message from subroutine WRTRST occurs only if the type of data to
+ be written on the restart (WSTRT) unit is undefined (i.e., NDX is
+ greater than 15). NDX is the index in the LPOINT array as described in
+ messages KMSG046 and KMSG058. This error is usually caused by code
+ errors that were introduced when changes were made to the code. A STOP
+ 133 is executed when this message is printed.
+
+KMSG071
+THIS INTERSECTION MAY BE DUE TO ROUNDOFF IN CALCULATING THE ARRAY BOUNDARY DIMENSIONS.
+FOR ROUNDOFF ERRORS, INCREASE THE DIMENSIONS OF ALL SUBSEQUENT REGIONS SHARING THAT BOUNDARY.
++X X +Y Y +Z Z
+ARRAY ___ ___ ___ ___ ___ ___
+
+ This message is companion message to KMSG092 and will follow it.
+
+KMSG072
+CUBOID ___ ___ ___ ___ ___ ___
+
+ This message is companion message to KMSG092 and will follow it.
+
+KMSG073
+\****\* ERROR \****\* K?073 FOLLOWS:
+___ MIXTURES WERE REQUESTED IN THE GEOMETRY DATA, BUT ONLY ___ OF THESE WERE FOUND IN THE MIXED CROSS SECTIONS.
+
+ This message indicates a mixture number used in the KENO model was not
+ included in the cross sections defined in the READ MIXT block.
+
+KMSG074 \****\* ERROR \****\* K?074 FOLLOWS:
+INVALID GEOMETRY TYPE IN VOLCUB. IGEO =___
+
+ This message from subroutine VOLCUB is probably the result of a code error.
+
+ This message is from subroutine MASTER. Either the wrong mixed cross
+ section data set (**XSC**\ = from the parameter data, :ref:`8123`) is
+ being used, or one or more mixture numbers are in error in the geometry
+ region data (see :ref:`8124`.
+
+KMSG075
+\****\* ERROR \****\* THE PROBLEM WILL NOT RUN
+
+ This message is companion message to KMSG188
+
+KMSG076
+\****\* ERROR \****\* K?076 FOLLOWS:
+POSIT ERROR  ILLEGAL GEOMETRY TYPE
+X =___ Y =___ Z =___ K1 =___ K2 =___ K =___ IGEO =___
+
+ This message indicates that the history at X,Y,Z in region K in the unit
+ with regions K1 to K2 has a geometry type IGEO which is not a valid
+ geometry type. This is caused by a code error.
+
+KMSG077
+\****\* INFORMATION WARNING \****\* K?077 FOLLOWS:
+POSIT WARNING  POINT NOT IN GEOMETRY
+X =___ Y =___ Z =___ K1 =___ K2 =___
+
+ This message indicates that point X,Y,Z is not within any region between
+ K1 and K2. This is usually caused from specifying start data that tries to start histories outside
+ the geometry.
+
+KMSG078
+\****\* ERROR \****\* K?078 FOLLOWS:
+INVALID GEOMETRY ENCOUNTERED FOR THE LAST GEOMETRY REGION. IGEO=___
+
+ This message says the geometry type of the last geometry region of the
+ global unit is invalid. This indicates a code bug.
+
+KMSG079
+\****\* ERROR \****\* K6079 FOLLOWS:
+UNABLE TO DETERMINE IF QUADRATIC IS CONVEX OR CONCAVE. CHECK FUNCTION VEXCAV CALLED FROM QUAD.
+
+ This selfexplanatory KENOVI message is from function VEXCAV. It
+ indicates a problem with an arbitrary quadratic. KENOVI is missing the
+ data indicating whether a surface is convex or concave and so was unable
+ to determine this for the current arbitrary quadratic.
+
+KMSG080
+\****\* ERROR \****\* K?080 FOLLOWS:
+UNRECOGNIZED GEOMETRY TYPE. IGEOM =___ IN SUBROUTINE PRTJOM
+
+ This message indicates a code bug.
+
+KMSG081
+\****\* ERROR \****\* K?081 FOLLOWS:
+ERROR IN HEMISPHERE DESIGNATION. ISET =___ IN SUBROUTINE PRTJOM
+
+ This message indicates a code bug.
+
+KMSG082
+\****\* ERROR \****\* K?082 FOLLOWS:
+ERROR IN PRTJOM WITH HEMICYLINDER DESIGNATION. NHCYL =___
+
+ This message indicates a code bug.
+
+KMSG083
+\****\* ERROR \****\* K?083 FOLLOWS:
+FOR ARRAY ___, THE _ DIMENSIONS OF UNIT ___ AT (___ ___ ___) DO NOT MATCH THOSE OF UNIT ___ AT (___ ___ ___)
+FOR UNIT ___ +_ =___ AND _ =___ WHILE FOR UNIT ___ +_ =___ AND _ =___
+
+ This message is from subroutine ARASIZ. The common faces of adjacent
+ units must be the same size and shape. This message occurs whenever this
+ requirement is not met. One or more of the dimensions of the units
+ specified in the message may be incorrect, or the array definition data
+ may be incorrect. Carefully check the input data relating to the
+ geometry region data and the array definition data as described in
+ :ref:`8124` and :ref:`8125`.
+
+KMSG084
+\****\* ERROR \****\* K?084 FOLLOWS:
+UNIT ___, IN UNIT ORIENTATION ARRAY NUMBER ___ IS UNDEFINED IN THE INPUT DATA.
+
+ This message from subroutine ARASIZ occurs when the array description
+ data block specifies a unit that was not defined in the geometry region
+ data. Verify the array definition data and the geometry region data as
+ described in :ref:`8124` and :ref:`8125`.
+
+KMSG085
+\****\* ERROR \****\* K?085 FOLLOWS:
+UNIT ___ AT POSITION X=___ Y=___ Z=___ IN UNIT ORIENTATION ARRAY NUMBER ___
+IS INVALID BECAUSE IT IS LESS THAN ZERO OR LARGER THAN THE LARGEST UNIT NUMBER IN THE INPUT DATA.
+
+ This message from subroutine ARASIZ occurs if the unit number named in
+ the message is less than or equal to zero or greater than NBOX (the
+ number of different units). The position of the offending unit is also
+ given. This error usually results from leaving some positions undefined
+ in the unit orientation array or from erroneous data in the unit
+ orientation data. (This includes extra data, mistyped data and omitted
+ data.) See :ref:`8125` for additional information.
+
+KMSG086
+\****\* ERROR \****\* K?086 FOLLOWS:
+GEOMETRY WORD INDEX OUT OF RANGE. IGEOM =___ IN SUBROUTINE PRTJOM
+
+ This message from subroutine PRTJOM is selfexplanatory. The printed
+ value of IGEOM must be greater than zero and less than 24 in KENO V.a or
+ less than 27 in KENOVI to be valid. If the geometry words (see
+ :ref:`8124`) are correct, this message is due to a code error that has
+ been introduced when changes were made to the code.
+
+KMSG087
+\****\* ERROR \****\* K6087 FOLLOWS:
+INSUFFICIENT DATA FOLLOWED THE KEYWORD MEDIA.
+
+ This KENOVI message is from subroutine MEDIA. Either the material, bias
+ ID, or sector data were not included on the media card, or noninteger
+ data were inadvertently entered. See :ref:`8124` for additional
+ information on the type of data required on a MEDIA card.
+
+KMSG088
+\****\* ERROR \****\* K6088 FOLLOWS:
+SECTOR DATA WAS NOT FOUND FOR MEDIA ___
+
+ This KENOVI message is from subroutine MEDIA. Either the material, bias
+ ID, or sector data were not included on media card \____\_ or
+ noninteger data were inadvertently entered. See :ref:`8124` for
+ additional information on the type of data required on a MEDIA card.
+
+KMSG089
+\****\* ERROR \****\* K6089 FOLLOWS:
+VOLUME HAS BEEN MULTIPLY DEFINED.
+GENERATION = ___ NEUTRON = ___ UNIT =___
+PARTICLE AT POSITION X=___ Y=___ Z=___
+IS LOCATED INSIDE THE FOLLOWING REGIONS IN THE UNIT:
+
+ This KENOVI message is from subroutine PRTPOS out of either subroutine
+ TRACE or TRACK. It is caused by incorrectly specifying the region
+ definition vector in the media cards of a unit. It may be caused by a
+ volume defined as part of more than one media record or incorrectly
+ specifying regions that share a common boundary so the boundary between
+ regions is contained in more than one region. See :ref:`8124` for more
+ information concerning vector definition arrays on MEDIA records.
+
+KMSG090
+\****\* ERROR \****\* K?090 FOLLOWS:
+THE PROBLEM HAS TERMINATED BECAUSE THE PARTICLE HAS ENTERED AN INFINITE LOOP.
+THIS IS POSSIBLY DUE TO A PROBLEM WITH THE CODE.
+UNIT ___ ARRAY ___ HOLE ___
+
+ This selfexplanatory message indicates that a history has become
+ totally lost, and this message prevents the code from wasting time in an
+ infinite loop. This message should never occur.
+
+KMSG091
+\****\* ERROR \****\* K?091 FOLLOWS:
+UNIT ___ CONTAINS THE FOLLOWING GEOMETRY INCONSISTENCIES:
+
+ This message from subroutines JOMCHK, HOLEXT or HOLHOL indicates that
+ one or more intersecting geometry regions were encountered in unit____.
+ KMSG092 is the companion message from subroutine JOMCHK and specifies
+ the regions that intersect. KMSG069 is the companion message from
+ subroutine HOLEXT. KMSG163 and KMSG179 are the companion messages from
+ subroutine HOLHOL. The geometry region data should be corrected and the
+ problem resubmitted. :ref:`8124` may provide assistance in correctly
+ specifying the data.
+
+KMSG092
+\****\* ERROR \****\* K5092 FOLLOWS:
+REGION NUMBER ___ INTERSECTS REGION NUMBER ___.
+
+ This KENO V.a message from subroutine JOMCHK is a companion message to
+ K591 and K594. It specifies the intersecting regions. The user must
+ determine which region is incorrectly specified or if the data are out
+ of order. KENO V.a REQUIRES THAT EACH SUCCESSIVE GEOMETRY REGION MUST
+ COMPLETELY ENCLOSE THE PREVIOUS REGION. THIS DOES ALLOW COMMON FACES AND
+ TANGENCY.
+
+KMSG093
+\****\* ERROR \****\* K?093 FOLLOWS:
+INVALID GEOMETRY TYPE. IGEO=___
+
+ This message is from subroutine JOMCHK. IGEO must be greater than zero
+ and less than 20. If it does not fall in this range, a code error is the
+ probable cause. KENOG or READGM are the subroutines likely to have the
+ code error. Verify that all the geometry words (*fgeom*, :ref:`8124`)
+ are correct.
+
+KMSG094
+\****\* ERROR \****\* K5094 FOLLOWS:
+THE REFLECTOR DIMENSIONS ARE INCONSISTENT.
+
+ This KENOVA message is from subroutine JOMCHK. It is a companion to
+ message K?095 and is printed whenever one or more intersecting geometry
+ regions are encountered in the external reflector.
+
+KMSG095
+\****\* ERROR \****\* K?095 FOLLOWS:
+REGION NUMBER ___ IN UNIT NUMBER ___ CONTAINS AN ERROR IN THE DIMENSIONS.
+
+ This message from subroutine VOLUME indicates an error in the geometry
+ input data such that the negative dimension specification for a cube or
+ cuboid is larger than the positive dimension specification (i.e., the
+ −X dimension is greater than the +X dimension, or the −Y dimension is
+ greater than the +Y dimension or the −Z dimension is greater than the +Z
+ dimension). This message is also printed if the magnitude of the chord
+ for a hemicylinder or hemisphere is larger than the radius. See
+ :ref:`8124` for assistance in specifying the geometry correctly.
+
+KMSG096
+\****\* ERROR \****\* K?096 FOLLOWS:
+THE VOLUME DEFINED BY REGION ___ IN UNIT ___ IS NEGATIVE.
+
+ This message from subroutine VOLUME is printed whenever a negative
+ volume is calculated. This can be caused by the positive dimension being
+ smaller than the negative dimension on a face of a geometry region. It
+ can also be caused by having intersecting regions, or it may be the
+ result of roundoff when the volumes are calculated. Either the geometry
+ regions are incorrectly specified, the data are out of order, or the
+ dimensions are so tight fitting that roundoff causes the net volume of
+ the region to be negative. If the error is caused by roundoff, adjust
+ the appropriate dimensions slightly. See :ref:`8124`.
+
+KMSG097
+\****\* ERROR \****\* K?097 FOLLOWS:
+THE VOLUME FOR UNIT ___ IS NEGATIVE.
+
+ This message is from subroutine VOLUME. A negative volume for a unit can
+ be caused by having intersecting regions within the unit, or by having a
+ unit consisting of one region and having a positive dimension smaller
+ than the negative dimension on one or more faces. Message K595 or K596
+ may accompany this message. See :ref:`8124` for assistance in
+ specifying the geometry data correctly.
+
+KMSG098
+\****\* ERROR \****\* K?098 FOLLOWS:
+PROBLEM IN UNIT ___
+THE ARRAY TYPE SPECIFIED IN THIS UNIT IS UNDEFINED. SPECIFY IF THE ARRAY TYPE IS CUBOID, HEXPRISM, OR DODECAHEDRON.
+
+ This message is from subroutine ARASIZ. The array type specified in this
+ unit in an unknown type. See :ref:`8125` for how to enter array definitions.
+
+KMSG099
+\****\* ERROR \****\* K?099 FOLLOWS:
+PROBLEM WITH UNIT ___
+THE OUTERMOST GEOMETRY REGION OF A UNIT UTILIZED IN THE UNIT ORIENTATION DESCRIPTION OF THE ARRAY DATA MUST BE A ___
+
+ This message is from subroutine ARASIZ. It can occur when the boundary
+ region of a unit in an array is not consistent with the array type. The
+ unit specified should be corrected so that the outer boundary is of the
+ type required, or it should be replaced in the unit orientation data
+ with a unit that has the correct outer boundary.
+
+KMSG100
+\****\* ERROR \****\* K?100 FOLLOWS:
+THIS PROBLEM WILL NOT BE RUN BECAUSE ERRORS WERE ENCOUNTERED IN THE INPUT DATA.
+
+ This message is from subroutine MASTER and indicates that other error
+ messages were printed in the problem output. These messages should be
+ located and the data corrected accordingly. A STOP 129 is executed when
+ this message is printed.
+
+KMSG101
+\****\* ERROR \****\* K?101 FOLLOWS:
+NO FISSILE MATERIAL WAS FOUND IN SUBROUTINE START
+
+ This message is from subroutine START. It indicates that none of the
+ mixtures used in this problem has an associated fission spectrum. Either
+ the geometry data did not specify a fissionable mixture number, the
+ mixing table is incorrect, the wrong mixed cross section data set was
+ mounted, or the mixed cross section data set was incorrectly or
+ incompletely made. A STOP 128 is executed in conjunction with this
+ message, and a traceback may be printed from subroutine STOP.
+
+
+KMSG102
+\****\* ERROR \****\* K?102 FOLLOWS:
+THE START DATA SPECIFIES THAT NEUTRONS CAN BE STARTED IN THE REFLECTOR.
+HOWEVER NEUTRONS WILL NOT BE STARTED BECAUSE THE OUTER REGION OF THE REFLECTOR IS NOT A CUBE OR CUBOID.
+NEUTRONS CAN BE STARTED FOR THE EXISTING GEOMETRY IF XSM,XSP,YSM,YSP,ZSM AND ZSP ARE ENTERED AS START DATA.
+XSM,XSP,YSM,YSP,ZSM AND ZSP MUST FIT WITHIN THE OUTER REGION OF THE REFLECTOR.
+
+ This message is from subroutine START. Start type 0 allows starting
+ points throughout noncuboidal regions. If a start type other than 0 or 6
+ is desired and the outermost region of the reflector is not a cube or
+ cuboid, then data must be entered to specify an imaginary cube or cuboid
+ within this outer region. See :ref:`8128` for assistance in specifying
+ this data.
+
+KMSG103
+\****\* ERROR \****\* K?103 FOLLOWS:
+START TYPE ___ IS OUT OF RANGE.
+
+ This message from subroutine START indicates that the start type was
+ less than zero or greater than 9. The start type is defined by entering
+ the keyword **NST**\ = followed by the desired start type in the start
+ data. The available starting options are given in :numref:`tab8121`,
+ :ref:`8128`.
+
+KMSG104
+\****\* ERROR \****\* K?104 FOLLOWS:
+A POSIT ERROR INDICATES THAT THE POINT X=___ Y=___ Z=___ DOES NOT OCCUR WITHIN UNIT ___
+IF XSM, XSP, YSM, YSP, ZSM, ZSP WERE ENTERED IN THE START DATA, VERIFY THAT THEY FIT WITHIN THE OVERALL COORDINATES OF THE SYSTEM.
+THE OVERALL COORDINATES MAY NOT BE PRINTED FOR A BARE ARRAY.
+
+ If XSM, XSP, YSM, YSP, ZSM, ZSP were entered in the start data, they
+ should fit within the overall coordinates of the system. The overall
+ coordinates may not be printed for a bare array. This message from
+ subroutine START may result from precision difficulties. It is allowed
+ to occur a maximum of five times before being considered fatal. A code
+ error may be the cause of this message if it becomes fatal.
+
+KMSG105
+K?105 \****\* WARNING, ONLY ___ INDEPENDENT STARTING POSITIONS WERE GENERATED. \****\*
+
+ This message is from subroutine START. KENO must have *npb* (**NPG**\ =,
+ see parameter data, :ref:`8123`) starting positions. This message is
+ to inform the user that fewer than *npb* starting positions were
+ generated. The remaining starting positions are randomly selected from
+ those that were generated, thus giving duplicate starting positions. If
+ the number of independent starting positions is nearly *npb*, the
+ starting distribution is probably acceptable. If it is much smaller than
+ *npb*, a different start type should be used to give a better starting
+ distribution (see :ref:`8128`). The amount of time allowed to generate
+ the starting positions is controlled by parameter **TBA**\ = (see
+ :ref:`8123`). If the start data are appropriate, it may be necessary
+ to increase the value of **TBA** to ensure generating *npb* starting
+ positions.
+
+KMSG106
+\****\* ERROR \****\* K6106 FOLLOWS:
+POSIT ERROR  UNIT ___ HAS MULTIPLY DEFINED SPACE AT
+X = ___ Y = ___ Z = ___
+SECTOR INSIDE
+
+ This KENOVI message from subroutine POSIT is usually the result of an
+ incorrectly specified starting point for the initial source distribution
+ when **NST**\ =3, 4 or 6 is specified in the start data. The starting
+ point may not be consistent with the unit’s position in the global
+ array. The message can also be caused by improperly specifying media
+ records. **MEDIA** records in the specified units should be checked for
+ multiply defined volumes. X, Y, Z is the location of the neutron, and
+ SECTOR INSIDE is the sectors which contain that point. See :ref:`8124`
+ for correct geometry words.
+
+KMSG107
+\****\* ERROR \****\* K?107 FOLLOWS:
+POSIT ERROR  UNIT ___ HAS AN UNDEFINED SPACE AT
+X = ___ Y = ___ Z = ___
+SECTOR INSIDE
+
+ This message from subroutine POSIT may result from not specifying all
+ volumes in the unit using media records. It could also occur from start
+ data if a particle is attempting to start outside the global unit or in
+ an undefined space. Geometry should be checked for the specified unit.
+
+
+KMSG108
+\****\* ERROR \****\* K?108 FOLLOWS:
+POSITION (___,___,___) IS NOT VALID FOR THE POSITION OF THE SPIKE FOR START TYPE 2.
+
+ This message from subroutine START2 indicates that **NXS**, **NYS** or
+ **NZS** was entered as zero. See :ref:`8128` for the correct start
+ data specification.
+
+KMSG109
+\****\* ERROR \****\* K?109 FOLLOWS:
+INVALID GEOMETRY TYPE IN START. IGEO =___
+
+ This message from subroutine STRTSU is likely the result of a code
+ error.
+
+KMSG110
+\****\* ERROR \****\* K?110 FOLLOWS:
+THE PROBLEM WILL NOT BE EXECUTED BECAUSE NO FISSILE MATERIAL WAS FOUND.
+
+ This message from subroutine VOLFIS occurs when the volume of fissile
+ material is found to be zero. It should be verified that the fissile
+ material was correctly specified in the geometry data, and the volume of
+ the fissile material in the printout should be nonzero. The mixing table
+ should be verified as being correct or that the correct Monte Carlo
+ mixed cross section data set has been used if a mixing table is not
+ used. If the fissile region is small compared to the rest of the problem
+ and the region volumes are calculated using TRACE or RANDOM types with
+ default number of traces or particles, the fissile region volumes may be
+ incorrect (even zero). If the volumes calculate to be zero, this message
+ may be issued. In this case, the volume calculation (see :ref:`81213`)
+ should be corrected. A STOP 131 is executed when this message is
+ printed.
+
+
+KMSG111
+\****\* WARNING \****\* K?111 FOLLOWS:
+RESTART DATA IS NOT AVAILABLE FOR RESTARTING WITH GENERATION ___ AS SPECIFIED IN THE INPUT DATA. **
+** HOWEVER, AVAILABLE RESTART DATA HAS ALLOWED RESTARTING WITH GENERATION ___
+
+ This message from subroutine RDCALC indicates that *nbas* (**BEG**\ = in
+ :ref:`8123`) was not consistent with the set of restart data that was
+ to be used. A set of restart data is written every *nrstrt* (**RES**\ =
+ in :ref:`8123`). The value of *nbas* should be 1 greater than one of
+ these generations.
+
+KMSG112
+\****\* ERROR \****\* K?112 FOLLOWS:
+ERROR IN RESTART. PARAMETER DATA AND RESTART DATA DO NOT AGREE
+NUMBER PER GENERATION FROM RESTART, NPBT=___NUMBER PER GENERATION FROM INPUT DATA, NPB=___
+NUMBER OF ENERGY GROUPS FROM RESTART, NGPT=___ NUMBER OF ENERGY GROUPS FROM INPUT DATA, NGP=___
+
+ This message is from subroutine RDCALC. A restarted problem MUST use the
+ same number per generation and the same number of energy groups as the
+ parent problem that wrote the restart data. It should be verified that
+ the correct data set is mounted on unit *rstrt*. (**RST**\ = in
+ :ref:`8123`). This message can also be caused by a code error.
+
+KMSG113
+\****\* ERROR \****\* K?113 FOLLOWS:
+ERROR IN RESTART. PARAMETER DATA AND RESTART DATA DO NOT AGREE.
+FISSION DENSITIES, FLUXES, OR REGION DEPENDENT FISSIONS AND ABSORPTIONS WERE REQUESTED, BUT THE GEOMETRY DATA IS INCONSISTENT.
+NUMBER OF GEOMETRY REGIONS FROM RESTART, KMAXT=___ NUMBER OF GEOMETRY REGIONS FROM INPUT DATA, KMAX=___
+
+ This message is from subroutine RDCALC. It should be verified that the
+ correct data set is mounted on unit *rstrt* (**RST**\ = in
+ :ref:`8123`). A code error can also cause this message.
+
+KMSG114
+\****\* ERROR \****\* K?114 FOLLOWS:
+PARAMETER DATA SPECIFIED FLUXES BUT THE RESTART DATA DID NOT INCLUDE FLUXES.
+
+ This message is from subroutine RDCALC. The restarted problem can turn
+ off fluxes if the parent case that wrote the restart data set calculated
+ fluxes. However, if the parent case did not calculate fluxes, the
+ restarted problem cannot calculate fluxes either. If the correct restart
+ data set was mounted on *rstrt* (**RST**\ = in :ref:`8123`), the
+ parameter data **FLX**\ =YES must be removed from the input data or
+ **FLX**\ =NO must be entered later in the parameter data of the
+ restarted problem.
+
+KMSG115
+\****\* ERROR \****\* K?115 FOLLOWS:
+PARAMETER DATA SPECIFIED REGION DEPENDENT FISSIONS AND ABSORPTIONS,
+BUT THEY WERE NOT INCLUDED ON RESTART
+
+ This message is from subroutine RDCALC. The restarted problem specified
+ **FAR**\ =YES in the parameter data block but the parent case that wrote
+ the restart data set did not calculate regiondependent fissions and
+ absorptions. The restarted problem can turn off regiondependent data if
+ the parent case calculated them, but cannot turn them on if they were
+ not calculated by the parent case. It should be verified that the
+ correct restart data set is mounted on *rstrt* (**RST**\ = in
+ :ref:`8123`). **FAR**\ =YES should be removed from the parameter data
+ of the restarted problem, or **FAR**\ =NO should be added later in the
+ parameter data. :ref:`8123` illustrates methods of changing the
+ parameter input data.
+
+KMSG116
+\****\* ERROR \****\* K?116 FOLLOWS:
+EXECUTION IS TERMINATED.
+
+ This message from subroutine RDCALC is a companion to messages K?112
+ through K?115. A STOP 121 is executed when this message is printed.
+
+KMSG117
+\****\* ERROR \****\* K?117 FOLLOWS:
+THE CALCULATION WAS TERMINATED BECAUSE ERRORS WERE ENCOUNTERED IN THE START DATA.
+
+ This message is from subroutine GUIDE.
+ It will be accompanied by one or more of messages K?101
+ through K?104 or K?106 through K?110. A STOP 130 is executed when this message is printed.
+
+KMSG118
+\****\* ERROR \****\* K?118 FOLLOWS:
+EXECUTION TERMINATED. RAKBAR HAS BECOME ZERO OR NEGATIVE.
+
+ This message is from subroutine GUIDE.
+ If this message appears without other error messages,
+ a code error is the probable cause.
+
+KMSG119
+k?119 JOB PULLED GENERATION= ___ NEUTRON = ___
+
+ This message from subroutine REPORTIT indicates that the problem is
+ looping, or the time allotted for each generation, *tbtch* (**TBA**\ =
+ in :ref:`8123`) is too small. If *tbtch* (**TBA**\ =) is increased
+ significantly and the message occurs again for the same generation and
+ the same neutron, it is due to a code error. Without a functional
+ systemdependent routine (PULL) to interrupt execution, the problem will
+ loop indefinitely, and this message will not be printed.
+
+KMSG120
+\****\* ERROR \****\* K?120 FOLLOWS:
+THE MESH FLUX PLANES DO NOT COMPLETELY COVER THE GEOMETRY IN THE ___ DIRECTION.
+THE GEOMETRY IS THAT SPECIFIED IN THE GEOMETRY AND ARRAY DATA BLOCKS,
+AND/OR POSSIBLY COMPUTED OR SPECIFIED IN THE VOLUME DATA BLOCK.
+
+ This message is from subroutine CHECK_MESH_BOUNDS. Mesh fluxes were
+ requested in the input, but the outer bound of the mesh in the specified
+ direction does not completely enclose the geometry. The geometry bounds
+ are determined from the input **GEOMETRY** block, but they may have been
+ overridden if a volume sampling cuboid was specified in the **VOLUME**
+ data block. If mesh fluxes are not needed, they should be turned off.
+ Otherwise, the outer mesh bound should be moved so that it completely
+ encloses the geometry in the specified direction, or the sampling bounds
+ specified in the **VOLUME** data block should be fixed and the problem
+ resubmitted.
+
+KMSG121
+\****\* ERROR \****\* K?121 FOLLOWS:
+EXECUTION TERMINATED DUE TO INSUFFICIENT TIME IN THE JOB STEP.
+___ SECONDS ARE NEEDED PER GENERATION, BUT ONLY ___ REMAIN IN THE JOB STEP.
+
+ This message is from subroutine GUIDE. If more histories are desired,
+ the job control language should be changed to allow adequate time and
+ resubmit the problem. This message is inaccessible on computers lacking
+ job control language to specify the maximum execution time.
+
+KMSG122
+\****\* ERROR \****\* K?122 FOLLOWS:
+EXECUTION TERMINATED DUE TO EXCEEDING THE TIME SPECIFIED FOR THE PROBLEM.
+
+ This message is from subroutine GUIDE. If more histories are desired,
+ *tmax* (**TME**\ = in :ref:`8123`) should be increased to allow
+ computation of the desired number of histories.
+
+KMSG123
+K?123 EXECUTION TERMINATED DUE TO COMPLETION OF THE SPECIFIED NUMBER OF GENERATIONS.
+
+ This message from subroutine GUIDE states that the requested number of
+ histories has been completed. If more histories are desired, the number
+ of generations (**GEN**\ = in :ref:`8123`) should be increased.
+
+KMSG124
+\****\* ERROR \****\* K?124 FOLLOWS:
+THE OPTION TO USE EXTRA 1DS WAS SPECIFIED, BUT ID NO.___ WAS NOT FOUND IN THE EXTRA 1D ARRAY.
+
+ This selfexplanatory message is from function INDX. If extra 1Ds are
+ specified in the parameter data (**X1D**\ =, :ref:`8123`), extra 1D
+ IDs must be entered as data. See :ref:`8129`. A STOP 107 is executed
+ when this message is printed.
+
+
+KMSG126
+\****\* ERROR \****\* K?126 FOLLOWS:
+CROSS ERROR ___ ___ ___ ___ ___ ___ ___ ___
+
+ This message from subroutine CROS indicates a code error. The printed
+ data, left to right, are as follows: IGEO,K,X,Y,Z,X1,Y1,Z1. IGEO is the
+ geometry type, K is the region number, X,Y,Z is the current position,
+ and X1,Y1,Z1 is the end point of the path. A STOP 103 is executed when
+ this message is printed.
+
+KMSG127
+\****\* ERROR \****\* K?127 FOLLOWS:
+NHCYL=___
+
+ This message from subroutine CROS indicates invalid hemicylinder
+ information as the result of a code error. A STOP 104 is executed when
+ this message is printed.
+
+KMSG128
+\****\* ERROR \****\* K?128 FOLLOWS:
+NEUTRON BANK IS FULL. SPLITTING NOT ALLOWED
+
+ This message from subroutine TRACK indicates that the neutron bank is
+ too small to allow additional splitting. This can occur if the bank
+ size, *nbank* (**NBK**\ = in :ref:`8123` is too small, if the biasing
+ or weighting data are incorrect (:ref:`8127`), or if the biasing data
+ are incorrectly utilized in the geometry description (:ref:`8124`).
+
+KMSG129
+\****\* ERROR \****\* K?129 FOLLOWS:
+*** ERROR IN SUBROUTINE ALBEDO *** FACE NUMBER ___ USES ___ ALBEDO NUMBER=___
+INCIDENT XSEC ENERGY GROUP=___ INCIDENT ALBEDO ENERGY GROUP=___ INCIDENT ANGLE INDEX=___
+RANDOM NUMBER=___
+
+ This message from subroutine ALBEDO indicates that a code error was
+ encountered when determining the output energy group during the albedo
+ treatment.
+
+KMSG130
+\****\* ERROR \****\* K?130 FOLLOWS:
+PROBLEM IN SUBROUTINE ALBEDO: FACE NUMBER ___ USES ___ ALBEDO NUMBER=___
+RETURNING XSEC ENERGY GROUP=___ INCIDENT ALBEDO ENERGY GROUP=___ INCIDENT ANGLE INDEX=___
+RETURNING ALBEDO ENERGY GROUP=___ RANDOM NUMBER=___
+
+ This message from subroutine ALBEDO indicates that a code error was
+ encountered while computing the returning angle in the albedo treatment.
+
+KMSG131
+\****\* ERROR \****\* K?131 FOLLOWS:
+NO FISSIONS WERE GENERATED
+
+ This message from subroutine NSTART indicates that none of the histories
+ in the generation encountered a fissile material, so no fission points were
+ generated.
+
+KMSG132
+K?132 FOLLOWS:
+ONLY ___ INDEPENDENT FISSION POINTS WERE GENERATED FOR GENERATION ___
+
+ This message from subroutine NSTART indicates that fewer than *npb*
+ (**NPG**\ = in :ref:`8123`) fission points were generated during the
+ previous generation. Because *npb* fission points are required by the
+ code, the remaining fission points are randomly selected from those that
+ were generated, thus using duplicate fission points. If the keffective
+ of the system is significantly less than 1.0, several of these messages
+ should be expected in the first few generations. The code attempts to
+ set RAKBAR so the message can be expected to occur about once every 100
+ generations. The message may occur more frequently in a correctly
+ modeled problem. However, if the number of fission points is
+ considerably less than *npb* for most of the generations, the answer can
+ be affected.
+
+KMSG133
+\****\* WARNING \****\* K?133 FOLLOWS:
+THE CALCULATION CONCLUDED WITHOUT PRODUCING RESULTS BECAUSE NO ACTIVE GENERATIONS WERE RUN.
+THE NUMBER OF GENERATIONS RUN WAS NOT GREATER THAN THE NUMBER OF GENERATIONS SKIPPED.
+
+ This message from subroutine KEDIT occurs if the number of generations
+ completed is less than *nskip*\ +1 (**NSK**\ =, :ref:`8123`). In this
+ instance, the summaries for the problem cannot be printed.
+
+KMSG136
+\****\* ERROR \****\* K?136 FOLLOWS:
+GEOMETRY TYPE  IGEO = ___  OUT OF RANGE IN ___
+
+ This message from subroutine SRMAX occurs if the geometry indicator is
+ invalid as the result of a code error. A STOP 127 is executed in
+ conjunction with this message and a traceback may be printed from
+ subroutine STOP.
+
+KMSG137
+\****\* ERROR \****\* K?137 FOLLOWS:
+THERE ARE MISSING CROSS SECTIONS. CHECK THE OUTPUT FOR OTHER ERROR MESSAGES.
+
+ This message from subroutine FILLSG says that not all the cross sections
+ requested have been found. There should be other previous messages
+ giving more detail on what cross sections are missing.
+
+KMSG138
+\****\* WARNING \****\* K?138 FOLLOWS:
+A WEIGHT OF 0.0 INDICATES THAT WEIGHTS WERE NOT READ OR GENERATED
+FOR THE BIAS ID.
+WEIGHTS OF 0.0 WILL BE DEFAULTED TO 0.5 PRIOR TO EXECUTION.
+
+ This message is from subroutine PRTWTS. It is printed to alert the user that
+ weights were not entered, defaulted, or generated. This message may appear as
+ the result of a code error.
+
+KMSG139
+\****\* ERROR \****\* K?139 FOLLOWS:
+NO VALID MIXTURES WERE FOUND IN THE GEOMETRY DESCRIPTION.
+
+ This message from subroutine ICEMIX indicates that the geometry data did
+ not specify any valid mixtures. The geometry data (:ref:`8124`) should
+ be checked and any errors that are found should be corrected. This
+ message can also be triggered if the unit orientation data description
+ is not properly entered for geometry having more than one unit.
+
+KMSG140
+\****\* WARNING \****\* THE UNIT THE HOLE IS IN IS NOT USED IN THE MODEL, SO THE
+PROBLEM WILL NOT BE TERMINATED BECAUSE OF THIS ERROR.
+
+ This message is companion message to KMSG188.
+
+KMSG141
+\****\* ERROR \****\* K?141 FOLLOWS:
+DATA CANNOT BE CHANGED WHEN A PROBLEM IS RESTARTED AT A GENERATION
+GREATER THAN ONE.
+
+ This message from subroutine DATAIN is printed if data other than
+ parameter data are entered for a problem being restarted at a generation
+ greater than 1. If data other than certain parameter data are to be
+ changed, the problem must be restarted with the first generation. The
+ error flag is set so the problem will not execute.
+
+KMSG142
+\****\* ERROR \****\* K?142 FOLLOWS:
+NO GEOMETRY DATA HAS BEEN SPECIFIED IN THE INPUT DATA.
+
+ This message from subroutine DATAIN indicates that a geometry data block
+ was not entered for the problem either as input data or from the restart
+ unit. The data needs to be corrected and the problem resubmitted. A STOP
+ 135 is executed in conjunction with this message, and a traceback may be
+ printed from subroutine STOP.
+
+KMSG143
+\****\* ERROR \****\* K?143 FOLLOWS:
+UNIT ORIENTATION DATA IS REQUIRED IF MORE THAN ONE UNIT TYPE IS
+SPECIFIED IN THE GEOMETRY DATA.
+
+ This selfexplanatory message is from subroutine DATAIN. Enter an array
+ i or unit orientation data block as described in :ref:`8125` and
+ :ref:`8136`. A STOP 136 is executed in conjunction with this message, and a
+ traceback may be printed from subroutine STOP.
+
+KMSG144
+\****\* WARNING \****\* K?144 FOLLOWS:
+DUE TO INCONSISTENCIES BETWEEN INPUT AND RESTART DATA,
+MATRIX INFORMATION BY UNIT TYPE WILL BE CALCULATED BUT NOT PRINTED.
+INPUT DATA SET MKU=NO, BUT DATA FROM THE RESTART UNIT SPECIFIED YES.
+
+ This selfexplanatory warning message is from subroutine PARTBL. The
+ matrix information by unit type cannot be eliminated if it was
+ calculated by the original problem (parent case) that wrote the restart
+ data. However, printing it can be avoided. It should be verified that
+ the correct problem is being used for restarting the problem (the title
+ is printed at the bottom of the parameter tables). The specification of
+ the restart unit, **RST**, in the third table of the output should also
+ be verified.
+
+KMSG145
+\****\* WARNING \****\* K?145 FOLLOWS:
+DUE TO INCONSISTENCIES BETWEEN INPUT AND RESTART DATA,
+MATRIX INFORMATION BY UNIT LOCATION WILL BE CALCULATED BUT NOT PRINTED.
+INPUT DATA SET MKP=NO, BUT DATA FROM THE RESTART UNIT SPECIFIED YES.
+
+ This selfexplanatory warning message is from subroutine PARTBL. The
+ matrix information by unit location (also called array position or
+ position index) cannot be eliminated if it was calculated by the
+ original problem (parent case) that wrote the restart data. However,
+ printing it can be avoided. It should be verified that the correct
+ problem is being used for restarting the problem (the title is printed
+ at the bottom of the parameter tables). The specification of the restart
+ unit, RST, in the third table of the output should also be verified.
+
+KMSG146
+\****\* ERROR \****\* K?146 FOLLOWS:
+PARAMETER DATA SPECIFIED MATRIX INFORMATION BY UNIT TYPE BUT IT WAS NOT FOUND ON THE RESTART UNIT.
+
+ This message from subroutine RDCALC is printed if a restarted problem
+ requests matrix information by unit type when it was not requested and
+ calculated by the original problem (parent case) that wrote the restart
+ data. It should be verified that the correct restart data are being used
+ and that the restart unit (**RST**) is correctly specified. The request
+ for matrix information by unit type (**MKU**\ =, in the parameter data)
+ should be eliminated if it is not necessary. The problem must be
+ restarted with the first generation (**BEG**\ =1, in the parameter data)
+ if matrix information by unit type is required and was not calculated by
+ the parent case. A STOP 121 is executed in conjunction with this
+ message.
+
+KMSG147
+\****\* ERROR \****\* K?147 FOLLOWS:
+PARAMETER DATA SPECIFIED MATRIX INFORMATION BY UNIT LOCATION BUT IT WAS NOT FOUND ON THE RESTART UNIT.
+
+ This message from subroutine RDCALC is printed if a restarted problem
+ requests matrix information by unit location (also called array position
+ or position index) when it was not requested and calculated by the
+ original problem (parent case) that wrote the restart data. It should be
+ verified that the correct restart data are being used and that the
+ restart unit (**RST**) is correctly specified in the first table
+ following the parameter table. The request for matrix information by
+ unit location (**MKP**\ =, in the parameter data) should be eliminated
+ if it is not necessary. If matrix information by unit location is
+ required and it was not calculated by the parent case, the problem must
+ be restarted with the first generation (**BEG**\ =1, in the parameter
+ data). A STOP 121 is executed in conjunction with this message.
+
+KMSG148
+\****\* ERROR \****\* K?148 FOLLOWS:
+AN ERROR WAS ENCOUNTERED WHILE ATTEMPTING TO READ RESTART DATA FROM UNIT ___
+NDX =___ NREC =___
+
+ This message from subroutine RDRST is printed if a problem is
+ encountered while reading restart data from the restart file. This may
+ be caused by the specified section of the restart file not being present
+ or the file section being the wrong length. The restart file is
+ corrupted. It should be verified that the problem ran to completion and
+ a restart file was generated. Problems in the input should be corrected,
+ and the problem should be run again. If the problem persists, contact
+ the SCALE helpline.
+
+KMSG149
+\****\* ERROR \****\* K?149 FOLLOWS:
+A CROSS SECTION LIBRARY WAS SPECIFIED FOR A RESTARTED PROBLEM, BUT
+MIXING TABLE DATA WAS NOT AVAILABLE. THE PROBLEM WILL NOT EXECUTE.
+
+ This message from subroutine RDRST means that **LIB**\ = was entered in
+ the parameter data block and a mixing table data block was not
+ available. A flag is set to terminate execution when the data reading
+ has been completed. If cross sections are to be used from the restart
+ unit (**RST**\ =), the **LIB**\ = or **XSC**\ = should be eliminated
+ from the parameter data. If new cross sections are to be mixed,
+ **LIB**\ = must be specified in the parameter data. The IDs in the
+ mixing table must be available on the cross section library specified by
+ **LIB**\ =. A problem can be restarted using a new mixed cross section
+ library by specifying **XSC**\ = in the parameter data.
+
+KMSG150
+\****\* ERROR \****\* K5150 FOLLOWS:
+TOO FEW ENTRIES WERE SUPPLIED IN THE REFLECTOR GEOMETRY DESCRIPTION.
+
+ This KENOV.a message from subroutine KENOG indicates that too few data
+ entries were supplied for the geometry word **REFLECTOR**. The mixture
+ ID, bias ID, one of the thickness/region specifications or the number of
+ regions to be generated was omitted or incorrectly specified. Each
+ **REFLECTOR** entry requires (1) a mixture ID, (2) a bias ID, (3) N
+ entries for the thickness/region specifications, and (4) the number of
+ regions to be generated. The thickness/region can be obtained from the
+ Increment Thickness column of :numref:`tab8120` for the material to be used
+ in the regions generated by the **REFLECTOR** specification. N is the
+ number of thickness/region specifications required by the geometry
+ shape: N=1 for spheres or hemispheres, N=3 for cylinders and
+ hemicylinders, and N=6 for cubes, cuboids, and cores. A flag is set to
+ terminate the problem when the input data reading is completed.
+
+KMSG151
+\****\* ERROR \****\* K?151 FOLLOWS:
+___ IS AN INVALID ARRAY TYPE IN THE ARRAY DEFINITION DATA.
+
+ This message from subroutine ARAYIN indicates that a parameter name was
+ misspelled or the data were out of order. See :ref:`8125` for a list
+ of the array parameter names. A stop 137 is executed in conjunction with
+ this message.
+
+KMSG152
+\****\* ERROR \****\* K?152 FOLLOWS:
+IRET=___ A PREMATURE TERMINATION WAS ENCOUNTERED WHILE READING ARRAY DATA.
+IRET=1 INDICATES AN END WAS FOUND. IRET=2 INDICATES AN END OF FILE.
+
+ This message from subroutine ARAYIN indicates that an array number was
+ specified without entering the corresponding UNIT ORIENTATION
+ DESCRIPTION. See :ref:`8225` and :ref:`8136` for assistance.
+
+
+KMSG153
+\****\* ERROR \****\* IF THE UNIT THIS HOLE IS IN IS USED IN THE MODEL, THE PROBLEM WILL NOT BE RUN.
+
+ This message is a companion message to KMSG188.
+
+KMSG154
+\****\* ERROR \****\* K?154 FOLLOWS:
+ARRAY LEVEL ___ IS LARGER THAN ___, THE NUMBER OF ARRAYS.
+CHECK THE ARRAY AND GEOMETRY INPUT FOR AN ARRAY OR UNIT THAT IS RECURSIVELY NESTED.
+
+ This message from subroutine SORTA indicates that the array data specified in
+ the problem are recursively nested. An example of this follows:
+
+ array 1 contains array 3
+ array 2 contains array 1
+ array 3 contains array 2
+
+ Thus the definition of array 1 and array 3 are intertwined in a neverending loop.
+ The array data (:ref:`8125`) should be corrected and the problem resubmitted.
+ If the input data did not specify recursive nesting, a code error has occurred.
+ A STOP 139 is executed in conjunction with this message.
+
+KMSG155
+\****\* ERROR \****\* K?155 FOLLOWS:
+THE NESTING FLAG OR NUMBER OF ARRAY LEVELS HAS BEEN DESTROYED BY A CODE ERROR.
+THE ORIGINAL NESTING FLAG WAS SET _ IT IS NOW SET _. THE ORIGINAL NESTING LEVEL WAS ___, IT IS NOW ___
+
+ This selfexplanatory message is from subroutine LODARA. A STOP 140 is
+ executed in conjunction with this message.
+
+KMSG156
+\****\* ERROR \****\* K?156 FOLLOWS:
+MIXTURE ___ CONTAINS AT LEAST ONE ZERO VALUE FOR THE TOTAL CROSS SECTION.
+
+ This message is from subroutine XSEC1D. All the total cross sections
+ must be positive. Zero total cross sections can occur if all the
+ components of a mixture are mixed with a zeronumber density. Correct
+ the mixing table for the specified mixture and resubmit the problem.
+
+KMSG157
+\****\* ERROR \****\* K5157 FOLLOWS:
+THE FIRST HOLE IN A UNIT MUST FOLLOW A VALID GEOMETRY REGION.
+
+ A STOP 141 accompanies this KENO V.a message from subroutine READGM. If
+ holes are to be used in the geometry region data (:ref:`8124`), they
+ must follow the region in which they are to be placed. This message
+ indicates that HOLE was the first geometry description in a unit or was
+ placed inside an ARRAY description. Correct the geometry region data and
+ resubmit the problem.
+
+KMSG158
+\****\* ERROR \****\* K?158 FOLLOWS:
+THE NUMBER OF HOLES IS INCORRECT. IHOL=___ NUMHOL=___
+
+ This message is from subroutine READGM. A code error is the probable cause of this error.
+
+KMSG159
+\****\* ERROR \****\* K?159 FOLLOWS:
+ARRAY NUMBER ___ SPECIFIED IN THE GEOMETRY REGION DATA WAS NOT ENTERED IN THE ARRAY DATA.
+
+ This message from subroutine SORTA or subroutine HOLE occurs if the
+ array number specified for an ARRAY region description of the EXTENDED
+ GEOMETRY data (:ref:`8124`) did not have the corresponding UNIT
+ ORIENTATION DATA entered in the ARRAY DATA (:ref:`8125`). A STOP 142
+ is executed in conjunction with this message when it is printed from
+ subroutine SORTA. The data should be corrected and the problem
+ resubmitted.
+
+KMSG160
+\****\* ERROR \****\* K?160 FOLLOWS:
+THE HOLES ARE RECURSIVELY NESTED.
+
+ This message from subroutine HOLE indicates that the geometry region data
+ description (:ref:`8124`) specifies holes that are recursively nested.
+ This can occur if a unit contains a hole whose definition traces back to
+ the same unit or are defined in terms of each other. A simple example of
+ recursive nesting is
+
+ KENO V.a:
+
+ ::
+
+ UNIT 1 CUBE 0 1 2P10.0 HOLE 2 3*0.0
+ UNIT 2 CUBE 0 1 2P10.0 HOLE 1 3*0.0
+
+ KENOVI:
+
+ ::
+
+ UNIT 1 CUBOID 10 6P10.0 BOUNDARY 10 HOLE 2 1 3*0.0
+ UNIT 2 CUBOID 10 6P10.0 BOUNDARY 10 HOLE 1 1 3*0.0
+
+ Thus **UNIT** 1 contains **UNIT** 2 and **UNIT** 2 contains **UNIT** 1.
+ The geometry region data should be checked for recursive nesting. In the
+ absence of recursive nesting, a code error is the probable cause of this
+ message. A STOP 143 is executed when this message occurs and a traceback
+ is printed.
+
+KMSG161
+\****\* ERROR \****\* K?161 FOLLOWS:
+THE GLOBAL ARRAY SPECIFIED IN THE GEOMETRY REGION DATA IS ___
+BUT THE GLOBAL ARRAY SPECIFIED IN THE ARRAY DATA IS ___. EXECUTION IS TERMINATED.
+
+ This message is from subroutine FLDATA. A STOP 144 is executed in
+ conjunction with it. The global array specified in the array data
+ (:ref:`8125`) was entered using the keyword **GBL**\ =. It was not
+ consistent with the implied global array from the geometry region data
+ (:ref:`8124`). The global array number in the geometry region data is
+ defined to be the array number in the global unit or of the last
+ **ARRAY** description that does not immediately follow a **UNIT**
+ definition (i.e., other geometry definitions occur between **UNIT** and
+ **ARRAY**). The data should be corrected and the problem resubmitted.
+
+KMSG162
+\****\* ERROR \****\* K?162 FOLLOWS:
+THE GLOBAL ARRAY WAS NOT CONSISTENTLY SPECIFIED.
+THE ARRAY DATA SPECIFIED ARRAY NUMBER ___ AND THE GEOMETRY DATA SPECIFIED ARRAY NUMBER ___.
+
+ This message from subroutine SORTA occurs if **GBL**\ = in the array
+ data (:ref:`8125`) does not agree with the global array number
+ implicitly set in the geometry region data (:ref:`8124`). The geometry
+ region data define the global array number in the global unit or to be
+ the array number of the last **ARRAY** description that does not
+ immediately follow a **UNIT** definition (i.e., other geometry
+ definitions occur between **UNIT** and **ARRAY**). A flag is set to
+ terminate execution when the data reading is completed.
+
+KMSG163
+\****\* ERROR \****\* K?163 FOLLOWS:
+HOLE NUMBER ___ (UNIT NUMBER ___) INTERSECTS REGION NUMBER ___
+
+ This selfexplanatory message is from subroutine HOLHOL.
+
+KMSG164
+\****\* ERROR \****\* K?164 FOLLOWS:
+HOLE NUMBER ___ (UNIT NUMBER ___) INTERSECTS REGION NUMBER ___.
+
+ This selfexplanatory message is from subroutine HOLEXT.
+
+KMSG165
+\****\* ERROR \****\* K?165 FOLLOWS:
+*** ERROR *** GEOMETRY TYPE OUT OF RANGE IN SUBROUTINE ADJUST. IGEOH = ___
+
+ This message from subroutine ADJUST indicates that the geometry type,
+ IGEO, falls outside the allowable range of 1 through 19. This can occur
+ if a **HOLE** references an undefined unit number. If all the unit
+ numbers referenced by the holes are valid, a code error is the probable
+ cause.
+
+KMSG166
+\****\* ERROR \****\* K?166 FOLLOWS:
+THE PLUS CUBE FACE IS NOT GREATER THAN THE MINUS CUBE FACE
+PLUS FACE = ___ MINUS FACE = ___
+
+ This selfexplanatory message is from subroutine KENOG.
+
+KMSG167
+\****\* ERROR \****\* K?167 FOLLOWS:
+ONE OR MORE PLUS FACES OF A CUBOID ARE NOT GREATER THAN THE CORRESPONDING MINUS FACES
++X = ___ X = ___ +Y = ___ Y = ___ +Z = ___ Z = ___
+
+ This selfexplanatory message is from subroutine KENOG.
+
+KMSG168
+\****\* ERROR \****\* K?168 FOLLOWS:
+THE CYLINDER RADIUS IS NOT GREATER THAN ZERO, OR THE + HEIGHT IS NOT GREATER THAN THE  HEIGHT
+RADIUS = ___ +H = ___ H = ___
+
+ This selfexplanatory message is from subroutine KENOG.
+
+KMSG169
+\****\* ERROR \****\* K?169 FOLLOWS:
+THE SPHERE RADIUS IS NOT GREATER THAN ZERO  RADIUS = ___
+
+ This selfexplanatory message is from subroutine KENOG.
+
+KMSG170
+\****\* ERROR \****\* K?170 FOLLOWS:
+A REPLICATE THICKNESS IS LESS THAN ZERO
+SURFACE NUMBER = ___ THICKNESS = ___
+
+ This message from subroutine KENOG specifies that a thickness on a replicate
+ was specified as a negative number. This is not allowed, as it would lead to
+ an intersection.
+
+KMSG171
+\****\* ERROR \****\* K?171 FOLLOWS:
+DIRECTION COSINES DOWN THE PAGE WERE ALL INPUT AS ZERO.
+
+ This message from subroutine RDPLOT indicates that the values for
+ **UDN**\ =, **VDN**\ = and **WDN**\ = were all zero. A zero value vector
+ does not define a direction, so an error has occurred. See
+ :ref:`81211` for information concerning direction cosines down the
+ page.
+
+KMSG172
+\****\* ERROR \****\* K?172 FOLLOWS:
+DIRECTION COSINES ACROSS THE PAGE WERE ALL INPUT AS ZERO.
+
+ This message from subroutine RDPLOT indicates that the values for
+ **UAX**\ =, **VAX**\ = and **WAX**\ = were all zero. This is an error
+ because a zerovalue vector does not define a direction. See
+ :ref:`81211` for assistance in defining direction cosines across the
+ page.
+
+KMSG173
+\****\* ERROR \****\* K?173 FOLLOWS:
+ERRORS WERE DETECTED IN THE INPUT DATA FOR PLOT ___. IT WILL NOT BE DRAWN
+
+ This message from subroutine RDPLOT is a companion to messages
+ K?171, K?172, K?174, and K?180. The error that triggered the companion
+ message should be corrected and the problem resubmitted.
+
+KMSG174
+\****\* ERROR \****\* K?174 FOLLOWS:
+ERROR IN KENO PLOT DATA ___ ___ SHOULD BE ENTERED AS ___YES, OR ___NO
+
+ This selfexplanatory message is from subroutine RDPLOT.
+ The error should be corrected and the problem resubmitted.
+ See :ref:`81211` for assistance.
+
+KMSG175
+\****\* WARNING \****\* K?175 FOLLOWS:
+DUE TO INCONSISTENCIES BETWEEN INPUT AND RESTART DATA,
+MATRIX INFORMATION BY HOLE WILL BE CALCULATED BUT NOT PRINTED.
+INPUT DATA SET MKH=NO, BUT DATA FROM THE RESTART UNIT SPECIFIED YES.
+
+ This selfexplanatory warning message is from subroutine PARTBL. The
+ matrix information by hole cannot be eliminated if it was calculated by
+ the original problem (parent case) that wrote the restart data. However,
+ printing it can be avoided. It should be verified that the correct
+ problem is being used for restarting the problem (the title is printed
+ at the bottom of the parameter tables). The specification of the restart
+ unit, **RST**, in the third table of the computer output should be
+ verified.
+
+KMSG176
+\****\* WARNING \****\* K?176 FOLLOWS:
+DUE TO INCONSISTENCIES BETWEEN INPUT AND RESTART DATA,
+MATRIX INFORMATION BY ARRAY WILL BE CALCULATED BUT NOT PRINTED.
+INPUT DATA SET MKA=NO BUT DATA FROM THE RESTART UNIT SPECIFIED YES.
+
+ This selfexplanatory warning message is from subroutine PARTBL. The
+ matrix information by array cannot be eliminated if it was calculated by
+ the original problem (parent case) that wrote the restart data. However,
+ printing it can be avoided. It should be verified that the correct
+ problem is being used for restarting the problem (the title is printed
+ at the bottom of the parameter tables). Specification of the restart
+ unit, RST, in the third table in the computer output should also be
+ verified.
+
+KMSG177
+\****\* ERROR \****\* K?177 FOLLOWS:
+PARAMETER DATA SPECIFIED MATRIX INFORMATION BY HOLE BUT IT WAS NOT FOUND ON THE RESTART UNIT.
+
+ This message from subroutine RDCALC is printed if a restarted problem
+ requests matrix information by hole when it was not requested and
+ calculated by the original problem (parent case) that wrote the restart
+ data. It should be verified that the correct restart data file is being
+ used and that the restart unit (**RST**) is correctly specified. The
+ request for matrix information by hole (**MKH**\ =, in the parameter
+ data) should be eliminated if it is not necessary. The problem must be
+ restarted with the first generation (**BEG**\ =1, in the parameter data)
+ if matrix information by hole is required and was not calculated by the
+ parent case. A STOP 121 is executed in conjunction with this message.
+
+KMSG178
+\****\* ERROR \****\* K?178 FOLLOWS:
+PARAMETER DATA SPECIFIED MATRIX INFORMATION BY ARRAY BUT IT WAS NOT FOUND ON THE RESTART UNIT.
+
+ This message from subroutine RDCALC is printed if a restarted problem
+ requests matrix information by array (also called array position or
+ position index) when it was not requested and calculated by the original
+ problem (parent case) that wrote the restart data. It should be verified
+ that the correct restart data are being used and that the restart unit
+ (**RST**) is correctly specified in the first table following the
+ parameter tables. The request for matrix information by array (MKA=, in
+ the parameter data) should be eliminated if it is not necessary. If
+ matrix information by array is required and it was not calculated by the
+ parent case, the problem must be restarted with the first generation
+ (**BEG**\ =1, in the parameter data). A STOP 121 is executed in
+ conjunction with this message.
+
+KMSG179
+\****\* ERROR \****\* K?179 FOLLOWS:
+HOLE NUMBER ___ (UNIT NUMBER ___) INTERSECTS HOLE NUMBER ___ (UNIT NUMBER ___) IN REGION NUMBER ___.
+
+ This message from subroutine HOLHOL indicates that the specified holes
+ intersect. Check the dimensions and origins of the units being placed in
+ the region.
+
+KMSG180
+\****\* ERROR \****\* K?180 FOLLOWS:
+PROBLEM IN KENO PLOT DATA  KEYWORD ___ IS NOT VALID
+
+ This message from subroutine RDPLOT indicates that the plot data are out
+ of order or a keyword is incorrectly spelled. See :ref:`81211` for a
+ list of correct keywords.
+
+KMSG181
+\****\* ERROR \****\* K?181 FOLLOWS:
+LPIC IS OUT OF RANGE. LPIC=___
+
+ This message from subroutine PRTPLT indicates that a code error has
+ occurred or the type of plot (**PIC**\ =) was not properly specified.
+ *lpic*\ =l for a mixture map, *lpic*\ =2 for a unit map, and *lpic*\ =3
+ for a bias ID map. Any other values of *lpic* are invalid.
+
+KMSG182
+\****\* ERROR \****\* K?182 FOLLOWS:
+AN ARRAY WAS SPECIFIED IN THE GLOBAL UNIT, BUT ARRAY DATA WAS NOT ENTERED.
+
+ This message from subroutine SORTA indicates that the global unit
+ contains an array specification, but the array was not entered in the
+ array data block. A typo may need to be corrected in the **GLOBAL UNIT**
+ or in the **ARRAY** data block.
+
+KMSG183
+\****\* WARNING \****\* K?183 FOLLOWS:
+UNIT ___ WAS NOT CHECKED FOR GEOMETRIC CONSISTENCY.
+IT CONTAINS ARRAY ___ BUT WAS NOT USED IN THE PROBLEM.
+
+ This warning message is from subroutine JOMCHK. It indicates that a unit
+ whose first region is an array was described in the extended geometry
+ data, but that unit was not referenced in the unit orientation data (see
+ :ref:`8124` and :ref:`8125`). KENO usually checks all the geometry region
+ data to be sure it is correct, even when the unit is not used in the
+ problem. The code is unable to make these checks when a unit containing
+ an array is not used in the problem. It is not necessarily an error, but
+ the user should double check to be sure that unit was intentionally
+ omitted from all the arrays.
+
+KMSG184
+\****\* ERROR \****\* K?184 FOLLOWS:
+ALBEDOS WERE SPECIFIED FOR A PROBLEM WHOSE OUTER BOUNDARY IS NOT A CUBE OR CUBOID.
+THE PROBLEM WILL NOT EXECUTE.
+
+ This message from subroutine JOMCHK indicates that a
+ nonvacuum albedo boundary condition was entered for a
+ curvilinear outer surface. This is not allowed, and the problem will not be run.
+
+KMSG185
+\****\* ERROR \****\* K?185 FOLLOWS:
+*** ERROR *** THE NUMBER OF SETS OF BIASING CORRELATION DATA EXCEEDS THE NUMBER THAT WAS WRITTEN WHEN THE BIASING DATA WAS
+READ. ___ WERE WRITTEN, BUT AN ATTEMPT WAS MADE TO READ ___.
+
+ This message from subroutine WAITIN is accompanied by a STOP 148.
+ It indicates a code error unless it is accompanied by error messages
+ related to the biasing input data.
+
+KMSG186
+\****\* ERROR \****\* K?186 FOLLOWS:
+THE NUMBER OF SETS OF BIASING AUXILIARY DATA EXCEEDS THE NUMBER THAT WAS WRITTEN WHEN THE BIASING DATA WAS
+READ. ___ WERE WRITTEN, BUT AN ATTEMPT WAS MADE TO READ ___.
+
+ This message from subroutine WAITIN is accompanied by a STOP 149.
+ It indicates a code error unless it is accompanied by error messages related
+ to the biasing input data.
+
+KMSG187
+\****\* WARNING \****\* K?187 FOLLOWS:
+INTERVALS IN THE ABOVE RANGE WERE NOT USED. **\*
+**\* THIS COULD LEAD TO IMPROPER BIASING. \****\* **\*
+**\* **\*
+
+ This message from subroutine LODWTS is printed to remind the user that
+ at least one of the specified intervals was not used in the problem.
+ This can result in improper biasing. Biasing should not be used between
+ fissile units. When biasing is used, it should be flat or increasing as
+ distance from the fissile material increases and flat or decreasing as a
+ history moves toward fissile material. See :ref:`8127` for additional
+ assistance.
+
+KMSG188
+\****\* ERROR \****\* K?188 FOLLOWS:
+HOLE NUMBER ___ REFERENCES UNDEFINED UNIT NUMBER ___
+
+ This message is printed by subroutine READGM if the unit number
+ referenced by the hole is less than 1 or greater than the largest unit
+ number in the geometry data. The message is printed by subroutine HOLE
+ if the unit number referenced by the hole is larger than zero and not
+ greater than the largest unit number in the geometry data but is a unit
+ number for which all data are missing. The message is printed by
+ subroutine HOLCHK if the unit number referenced by the hole is
+ undefined. Message K?165 may accompany this message. Specify a valid
+ unit number (*lhole* – see EXTENDED GEOMETRY DESCRIPTION, :ref:`8124`)
+ and resubmit the problem.
+
+KMSG189
+\****\* ERROR \****\* K?189 FOLLOWS:
+HOLE NUMBER ___ REFERENCES UNDEFINED UNIT NUMBER ___
+
+ This selfexplanatory message is from subroutine READGM.
+
+KMSG190
+\****\* ERROR \****\* K?190 ERROR IN PLOT DATA  OPTION ___ IS NOT VALID FOR KEYWORD PIC=.
+
+ This message from subroutine RDPLOT indicates an incorrect option
+ associated with the keyword **PIC**\ =. See :ref:`81211`. Acceptable
+ options include MAT, MIX, MIXT, MEDI, UNT, UNIT, IMP, BIAS, WTS, WGT,
+ WGTS, or WEIGH.
+
+KMSG191
+\****\* ERROR \****\* K?191 FOLLOWS:
+START TYPE ___ IS INVALID FOR A PROBLEM THAT
+DOES NOT HAVE A GLOBAL ARRAY.
+
+ This message from subroutine DATAIN occurs if the start type (**NST**\ =
+ in the start data, :ref:`8128`) is 2, 3, 4, or 5. A global array is
+ required in order to use the specified start type.
+
+KMSG192
+\****\* WARNING \****\* K?192 FOLLOWS:
+MATRIX INFORMATION BY ARRAY WAS SPECIFIED AS YES IN THE PARAMETER DATA (MKA=),
+BUT IS NOT OF USE UNLESS ARRAYS ARE SPECIFIED.
+
+ This warning message from subroutine DATAIN is selfexplanatory. The
+ code redefines the problem so matrix information will not be collected
+ by array number.
+
+KMSG193
+\****\* WARNING \****\* K?193 FOLLOWS:
+MATRIX INFORMATION BY HOLE WAS SPECIFIED AS YES IN THE PARAMETER, DATA (MKH=),
+BUT IS NOT OF USE UNLESS HOLES ARE SPECIFIED.
+
+ This warning message from subroutine DATAIN is selfexplanatory.
+ The code redefines the problem so matrix information will not be
+ collected by hole number.
+
+KMSG194
+\****\* WARNING \****\* K?194 FOLLOWS:
+MATRIX INFORMATION BY UNIT LOCATION WAS SPECIFIED AS YES IN THE PARAMETER DATA (MKP=),
+BUT IS NOT ALLOWED BECAUSE A GLOBAL ARRAY WAS NOT SPECIFIED.
+
+ This warning message from subroutine DATAIN is selfexplanatory.
+ The code redefines the problem so matrix information will not be
+ collected by unit location.
+
+KMSG195
+\****\* ERROR \****\* K?195 FOLLOWS:
+CHARACTER STRING EXCEEDS THE SPECIFIED LENGTH. CHECK FOR ENDING DELIMITER.
+
+ This error message is from subroutine RCHRS. It indicates that either
+ the character string exceeds 132 characters or the ending delimiter was
+ omitted for **TTL**\ = (plot title, :ref:`81211`) or for **COM**\ =
+ (unit comment, :ref:`8124`, or array comment, :ref:`8125`). A
+ STOP 153 is executed when this message is printed.
+
+KMSG196
+\****\* ERROR \****\* K?196 FOLLOWS:
+A PROBLEM CANNOT BE RESTARTED WHEN RESTART DATA DO NOT EXIST FOR THE SPECIFIED GENERATION AND THE
+NEXT GENERATION FOR WHICH RESTART DATA ARE AVAILABLE IS LARGER THAN THE REQUESTED NUMBER OF GENERATIONS. **
+** EXECUTION IS TERMINATED.
+
+ This message from subroutine RDCALC indicates that a problem was to be
+ restarted but the requested number of generations (**GEN**\ = in
+ :ref:`8123`) was smaller than the beginning generation number
+ (**BEG**\ = in :ref:`8123`). The beginning generation number for a
+ restarted problem is the generation at which the calculation of
+ keffectives and associated information is resumed. Therefore, the
+ number of generations to be run must be larger than the beginning
+ generation number. The data should be corrected and the problem
+ resubmitted. A STOP 154 is executed when this message is printed.
+
+KMSG197
+\****\* ERROR \****\* K5197 FOLLOWS:
+A VALID GEOMETRY REGION MUST PRECEDE A REPLICATE REGION.
+
+ This KENO V.a message from subroutine KENOG indicates that a replicate
+ specification follows an invalid geometry specification (for example,
+ REPLICATE immediately follows a UNIT specification).
+
+KMSG198
+\****\* ERROR \****\* K?198 FOLLOWS:
+ARRAY ___ CONTAINS AN ERROR IN THE INPUT DATA.
+
+ This message from subroutine ARAYIN is printed as the result of an error in
+ the FILL input data for the specified array. One or more messages from the
+ library routine YREAD should immediately precede this message and indicate
+ the nature of the error. The data should be corrected and the problem resubmitted.
+ Messages K?32, K?33, and/or K?85 may also print as a result of this error.
+
+KMSG199
+\****\* ERROR \****\* K?199 FOLLOWS:
+THERE IS NO MIXING TABLE
+
+ This selfexplanatory message comes from subroutine PREMIXSETUP.
+ A continuous energy problem requires a mixing table, but none was entered.
+
+
+KMSG200
+\****\* ERROR \****\* K?200 FOLLOWS:
+START TYPE 6 WAS SPECIFIED IN THE START DATA, BUT THE STARTING
+POINTS WERE NOT SPECIFIED.
+
+ This message from subroutine RDSTRT indicates that start type 6 was
+ specified but the corresponding starting points were not included in the
+ START data block. The corresponding starting points must be entered or
+ the start type must be changed. See :ref:`8128`.
+
+KMSG201
+\****\* WARNING \****\* K?201 FOLLOWS:
+NEUTRON ___ SPECIFIED A POSITION IN THE GLOBAL ARRAY.
+THE GLOBAL UNIT DID NOT CONTAIN AN ARRAY SO THE POSITION WAS IGNORED
+**\* WARNING \****\** WARNING \****\** WARNING \****\** WARNING \****\** WARNING \****\** WARNING \****\** WARNING \****\** WARNING \****\** WARNING \****\** WARNING **\*
+
+ This warning message from subroutine START6 indicates that extraneous
+ data were specified in the start type 6 data. It should be verified that
+ the correct global unit is specified.
+
+KMSG202
+\****\* ERROR \****\* K?202 FOLLOWS:
+ONLY START TYPES 0,1,6 OR 7 ARE VALID FOR A PROBLEM WITHOUT AN ARRAY IN THE GLOBAL UNIT.
+
+ This message from subroutine START indicates that the specified
+ start type is not valid for the problem. An appropriate start type must be chosen.
+ A STOP 157 is executed when this message is printed.
+
+KMSG203
+\****\* ERROR \****\* K?203 FOLLOWS:
+UNIDENTIFIED KEYWORD ___ IN MIXING TABLE
+
+ This message from subroutine MIXING_TABLE indicates that when reading the mixing table,
+ an unrecognized keyword was found. See :ref:`81210` for the acceptable keywords.
+
+KMSG204
+K?204 EXECUTION TERMINATED DUE TO ACHIEVING THE STANDARD DEVIATION SPECIFIED FOR THE PROBLEM.
+NOTE THAT AT LEAST 50 OR NSK*2 ACTIVE GENERATIONS ARE ALWAYS RUN.
+
+ This message from subroutine GUIDE indicates that the specified standard
+ deviation has been achieved and the problem will therefore terminate at
+ the current generation. If a lower standard deviation is desired the
+ requested standard deviation (**SIG**\ =, :ref:`8123`) must be
+ decreased.
+
+KMSG205
+\****\* ERROR \****\* K?205 FOLLOWS:
+A GLOBAL UNIT MUST BE SPECIFIED FOR A SINGLE UNIT PROBLEM.
+
+ This message from subroutine FLDATA is printed if a global unit is not
+ specified for a single unit problem. A STOP 164 is executed when the
+ message is printed. If the input data do not specify the global unit, it
+ is defaulted to Unit 1.
+
+KMSG206
+\****\* ERROR \****\* K?206 FOLLOWS:
+THE UNIT SPECIFIED FOR STARTING IS NOT USED IN THE PROBLEM OR IS UNDEFINED.
+
+ This message from subroutine START indicates that the unit in which
+ neutrons are to be started is undefined. It should be verified that the
+ global unit or array is correctly specified. The start data should be
+ checked for start types 4 and 5 (:ref:`8128`) to be sure that
+ **NBX**\ = is correctly specified. A STOP 158 is executed when this
+ message is printed.
+
+KMSG207
+\****\* ERROR \****\* K?207 FOLLOWS:
+THE STARTING ARRAY POSITION IS INVALID.
+
+ This message from subroutine START indicates that the array position
+ **NXS**, **NYS**, or **NZS** is not valid for start types 3 or 6.
+ **NXS**, **NYS**, and **NZS** must be larger than zero and no larger
+ than NBXMAX, NBYMAX, and NBZMAX of the global array, respectively. It
+ should be verified that the **GLOBAL UNIT** or **ARRAY** is correctly
+ specified. The start data (:ref:`8128`) should be corrected and the
+ problem resubmitted. A STOP 159 is executed when this message is
+ printed.
+
+KMSG208
+\****\* WARNING \****\* K?208 FOLLOWS:
+THE FRACTION OF NEUTRONS STARTED AS A SPIKE WAS LESS THAN ZERO. IT HAS BEEN RESET TO ZERO.
+
+ This message from subroutine START indicates that **FCT**\ = was
+ incorrectly specified in the start data for start type 2. The resultant
+ starting distribution is a cosine distribution throughout the volume of
+ a cuboid defined by **XSM**, **XSP**, **YSM**, **YSP**, **ZSM**, and
+ **ZSP** (see :ref:`8128`). If a spike was desired, **FCT**\ = should
+ be set to a positive number between 0.0 and 1.0. If **FCT**\ =0.0 is
+ specified, a cosine distribution without a spike is used as the starting
+ distribution. If **FCT**\ =1.0 is specified, all the neutrons are
+ started as a spike (i.e., they are started uniformly in the unit located
+ at position **NXS**, **NYS**, **NZS** in the global array) as noted in
+ :ref:`8128`
+
+KMSG209
+\****\* WARNING \****\* K?209 FOLLOWS:
+THE FRACTION OF NEUTRONS STARTED AS A SPIKE WAS GREATER THAN ONE. IT HAS BEEN RESET TO ONE.
+
+ This message from subroutine START indicates that **FCT**\ = was
+ incorrectly specified in the start type 2 data. The code reset
+ **FCT**\ =1, so all of the neutrons are started as a spike (i.e., they
+ are started uniformly in the unit located at **NXS**, **NYS**, **NZS**
+ in the global array) as noted in :ref:`8128`
+
+KMSG210
+\****\* ERROR \****\* K?210 FOLLOWS:
+THE UNIT SPECIFIED FOR STARTING IS NOT IN THE GLOBAL ARRAY.
+
+ This message from subroutine START indicates that the unit specified by
+ **NBX**\ = does not occur in the global array. It should be verified
+ that the global array is correctly specified and that the unit specified
+ by **NBX**\ = is correct (see :ref:`8128`).
+
+KMSG211
+\****\* ERROR \****\* K?211 FOLLOWS:
+THE NUMBER OF SETS OF BIAS FACTORS FROM CARDS EXCEEDS THE NUMBER THAT WAS WRITTEN WHEN THE BIASING DATA WAS
+READ. ___ WERE WRITTEN, BUT AN ATTEMPT WAS MADE TO READ ___.
+
+ This message from subroutine WAITIN indicates a code error.
+ A STOP 161 is executed when this message is printed.
+
+KMSG212
+\****\* ERROR \****\* K?212 FOLLOWS:
+THE BIASING DATA SPECIFIED IBGN=___ AND IEND=___.
+IBGN MUST BE LARGER THAN ZERO AND IEND MUST BE AT LEAST AS LARGE AS IBGN.
+THE PROBLEM WILL NOT BE RUN.
+
+ This message from subroutine RDBIAS indicates an error in the biasing
+ data. The biasing correlation data is order dependent. The order of data
+ entry is ID=\ *nn ibgn iend*. where *nn* is an ID number from
+ Table 8.1.20 and *ibgn* is the beginning BIAS ID and *iend* is the
+ ending BIAS ID (see :ref:`8127` and :ref:`8127`). In order to continue
+ checking the input data, if *ibgn* is less than or equal to zero, it is
+ set to 1. Similarly, if *iend* is less than *ibgn*, it is set to *ibgn*.
+
+KMSG214
+\****\* ERROR \****\* K6214 FOLLOWS:
+THE BASE OF A TRIANGULAR FACE OF A WEDGE CANNOT BE ZERO.
+
+ This KENOVI message is from subroutine WEDGE.
+ The input data for the wedge following the keyword WEDGE are incorrect. See Keno Appendix B.
+
+KMSG215
+\****\* ERROR \****\* K6215 FOLLOWS:
+THE Y COORDINATE OF A TRIANGULAR FACE OF A WEDGE CANNOT BE ZERO.
+
+ This KENOVI message is from subroutine WEDGE.
+ The input data for the wedge following the keyword WEDGE are incorrect. See Appendix B.
+
+
+KMSG216
+\****\* ERROR \****\* K?216 FOLLOWS:
+UNIT ___ CONTAINS ARRAY ___ WHICH WAS NOT DEFINED IN THE INPUT DATA.
+
+ This message from subroutine JOMCHK indicates that the unit specified an array,
+ but the array number was not entered in the array data block.
+ The array number specified in the unit should be checked to verify that it is correct, o
+ r the unit orientation data should be entered in the array data block.
+
+KMSG217
+\****\* ERROR \****\* K?217 FOLLOWS:
+*** ERROR *** DIFFERENTIAL ALBEDOS CANNOT BE USED IN AN ADJOINT PROBLEM.
+
+ This selfexplanatory message is from subroutine FLDATA.
+ Reflector material in the mixing table and the geometry
+ should be described instead of using differential albedos, or
+ the problem should be run in the forward mode.
+
+KMSG218
+\****\* ERROR \****\* K?218 FOLLOWS:
+AN INPUT DATA ERROR HAS BEEN ENCOUNTERED IN THE ___ DATA ENTERED FOR THIS PROBLEM.
+
+ This message is from subroutine DATAIN. Additional error messages should be
+ found and corrected, and the data in the named data block should be checked.
+
+KMSG219
+\****\* ERROR \****\* K?219 FOLLOWS:
+THE START DATA SPECIFIED ___ STARTING POINTS CHOSEN FROM A COSINE DISTRIBUTION BUT NONE WERE FOUND.
+
+ This message from subroutine START is printed if start type 2 was
+ specified and the code was unable to start any neutrons in the cuboid
+ defined by **XSM**, **XSP**, **YSM**, **YSP**, **ZSM**, **ZSP**. It
+ should be verified that fissile material exists within that cuboid. If
+ it does not, the starting cuboid should be respecified to contain
+ fissile material, or a different start type should be chosen. If message
+ KMSG105 states that only 0 independent starting points were generated,
+ it indicates that the code was unable to start any neutrons in the spike
+ specified by start type 2. It should be verified that the unit specified
+ for the spike contains fissile material. If only a very small fraction
+ of the volume of this unit is fissile, it may be necessary to enter a
+ larger value for the KENO parameter **TBA**\ = or a different start type
+ may need to be selected. The problem will not be run if message KMSG219
+ is printed.
+
+KMSG220
+\****\* ERROR \****\* K?220 FOLLOWS:
+ERROR IN PLOT DATA.
+IF THE COORDINATE OF THE LOWER RIGHTHAND CORNER IS ENTERED, ONE OF THE PLOT PARAMETERS DLX, DLD, NAX OR NDN MUST BE ENTERED.
+CURRENT VALUES ARE LISTED BELOW. TITLE:
+_____
+UPPER LEFT LOWER RIGHT
+COORDINATES COORDINATES
+X _________ _________
+Y _________ _________
+Z _________ _________
+U AXIS V AXIS
+(DOWN) (ACROSS)
+X ________ ________
+Y ________ ________
+Z ________ ________
+NDN=___ NAX=___ DLD=___ DLX=___
+
+
+ This message from subroutine RDPLOT indicates that the coordinates of
+ the lower righthand corner of the plot were specified in the input data
+ without specifying one of the following plot parameters: (1) **NDN**,
+ the number of characters down the page, (2) **NAX**, the number of
+ characters across the page, (3) **DLD**, the vertical spacing between
+ points, or (4) **DLX**, the horizontal spacing between points. The
+ problem will not be run. To correct the error, **NDN**, **NAX**,
+ **DLD**, or **DLX** should be specified in the plot data and the problem
+ resubmitted. See :ref:`81211` and :ref:`8139` for assistance.
+
+KMSG221
+\****\* ERROR \****\* K6221 FOLLOWS:
+THE LENGTH OF THE EDGE ALONG THE BASE OF THE X AXIS FOR A RHOMBOID
+MUST BE GREATER THAN 0.0. CHECK GEOMETRY WORD ___
+
+ This KENOVI message is from subroutine RHOMB. The data following the
+ keyword RHOMB should be checked. See Appendix B.
+
+KMSG222
+\****\* WARNING \****\* K?222 FOLLOWS:
+___ TRANSFERS FOR MIXTURE ___ WERE CORRECTED FOR BAD MOMENTS.
+
+ This message from subroutine MAKANG indicates moments were corrected to
+ eliminate negative probabilities for calculated angles. If the moment
+ was changed by more than **EPS** times the moment, a K?60 or K?64
+ message is printed. If **EPS** is very small, any change without an
+ accompanying message is trivial. The K?60 or K?64 messages can be used
+ to determine if the affected transfer and correction are significant.
+ Most messages are caused by the cross sections being in single precision
+ and the moments calculations being done in double precision. Generally,
+ as the number of energy groups increase, so does the number of corrected
+ transfers for a given mixture.
+
+KMSG224
+\****\* ERROR \****\* K6224 FOLLOWS:
+THE HEIGHT OF A WEDGE CANNOT BE ZERO.
+
+ This KENOVI message is from subroutine WEDGE. The input data for the wedge
+ following the keyword WEDGE are incorrect. See Appendix B.
+
+KMSG225
+\****\* ERROR \****\* K?225 FOLLOWS:
+TO START IN A GLOBAL PLANE GEOMETRY, IGEO =___
+VALUES FOR XSM, XSP, YSM, YSP, ZSM, AND ZSP MUST BE ENTERED AS START DATA.
+
+ This error message is from subroutine STRTSU. A GLOBAL PLANE GEOMETRY implies
+ an infinite media. The boundary of the starting points must be entered.
+ See :ref:`8128`.
+
+KMSG226
+\****\* ERROR \****\* K6226 FOLLOWS:
+XDIST, YDIST, AND ZDIST SPECIFIED FOR A PPIPED MUST BE GREATER THAN 0.0.
+CHECK GEOMETRY WORD ___
+
+ This KENOVI message is from subroutine PPIPED. The data must be checked following the keyword PPIPED. See Appendix B.
+
+KMSG227
+\****\* ERROR \****\* K6227 FOLLOWS:
+PSI, THETA, AND PHI SPECIFIED FOR A PARALLELEPIPED MUST BE GREATER THAN OR EQUAL TO 0.0 AND LESS THAN 90.0.
+CHECK GEOMETRY WORD ___
+
+ This KENOVI message is from subroutine PPIPED.
+ The data following the keyword PPIPED should be checked. See Appendix B.
+
+KMSG228
+\****\* ERROR \****\* K?228 FOLLOWS:
+___ ___ IS INVALID. UNITS MUST BE GREATER THAN 0.
+THE PREVIOUS UNIT NUMBER IS ___. PRINTING THE GEOMETRY AS READ WILL BE TURNED ON
+
+ This message from subroutine KENOG is printed if a unit number, *nn*, is
+ read which is not greater than 0. This unit followed unit *mm* in the
+ input (if *mm* is 1, the unit *nn* may be the first unit in the
+ geometry). The geometry following this will be printed as read as an aid
+ in locating the error. The error must be corrected, and all unit numbers
+ must be greater than 0.
+
+KMSG229
+\****\* WARNING \****\* K?229 FOLLOWS:
+THE NUMBER OF START TYPE 6 HISTORIES SPECIFIED DOES NOT MATCH THE NUMBER OF HISTORIES PER GENERATION
+___ HISTORIES WILL BE RANDOMLY SELECTED FROM THE ___ HISTORIES SPECIFIED.
+
+
+ This message from subroutine START6 is printed if the number of starting
+ points specified (**LNU**) is less than the number of histories per
+ generation (**NPG**). The remaining unspecified starting points will be
+ randomly selected from the already specified starting points.
+
+KMSG230
+\****\* ERROR \****\* K?230 FOLLOWS:
+MATRIX KEFFECTIVE WAS NOT CONVERGED. KEFFECTIVE IS ___ CONVERGENCE ERROR IS ___
+
+ This message is printed if the matrix eigenvalue equation did not converge to
+ 0.1 % after a maximum number of iterations. This is likely a code error,
+ but it might be caused by too much variance in the matrix terms.
+
+KMSG231
+\****\* ERROR \****\* K6231 FOLLOWS:
+THE CALCULATION WAS TERMINATED BECAUSE ARRAY ___ IS NOT PROPERLY POSITIONED IN REGION ___ OF UNIT ___.
+THE ARRAY BOUNDARY IS OUTSIDE POSITION ___ ___ ___ ON THE ___ ARRAY FACE.
+
+ This KENOVI message from subroutine PNTCHK is printed only
+ if an array is placed in a region so that there is space in the
+ region not occupied by the array. The array needs to be repositioned.
+
+KMSG233
+\****\* ERROR \****\* K?233 FOLLOWS:
+MIXTURE ___ HAS A NEGATIVE CROSS SECTION FOR REACTION ___  GROUP ___ THE VALUE IS ___
+
+ This error message from subroutine NORM1D is printed if an MT number for a
+ specified mixture has a negative cross section value in any group. This is a
+ library or cross section processing problem. This error should be reported to
+ scalehelp@ornl.gov.
+
+KMSG234
+\****\* ERROR \****\* K?234 FOLLOWS:
+MIXTURE ___ HAS NEGATIVE CROSS SECTIONS FOR REACTION ___
+SET XS1=YES AND P1D=YES IN THE PARAMETERS TO SEE THE VALUE(S).
+
+ This error message from subroutine FILLSG is printed if an MT number for
+ a specified mixture has a negative cross section value in any group.
+ This is a library or cross section processing problem.
+ This error should be reported to scalehelp@ornl.gov.
+
+KMSG235
+\****\* ERROR \****\* K?235 FOLLOWS:
+ERROR IN TYPE OF CENTER FOR REGION ___ ___ IS NOT ALLOWED.
+
+ This error message from subroutine VOLUME is related to the flux moments
+ used in SENS. After a geometry record, keyword **CENTER** may be entered
+ followed by an integer <= −3 followed by an X, Y, and Z offset. The
+ number after **CENTER** should be checked to ensure that it is between 0
+ and −3 or a unit number.
+
+KMSG236
+\****\* ERROR \****\* K?236 FOLLOWS:
+EITHER NEUTRON OR GAMMA SHOULD HAVE BEEN ENTERED TO SELECT THE TYPE OF 1D CROSS SECTIONS, BUT ___ WAS ENTERED INSTEAD.
+
+ This error message from subroutine IDX1D indicates the user specified
+ extra 1D cross sections, but specified an invalid type. Valid types are
+ either neutron or gamma. The data must be corrected in the **READ X1DS**
+ data block.
+
+
+KMSG237
+\****\* ERROR \****\* K?237 FOLLOWS:
+NUMBER OF SCATTERING ANGLES ASKED FOR ,___,DO NOT MATCH THE NUMBER ON THE MIXED CROSS SECTION LIBRARY ,___.
+UNABLE TO PROCESS FURTHER.
+
+ This error message from subroutine ICEMIX indicates the user requested a
+ number of angles to be used in the problem, NSCT, that is inconsistent
+ with the premixed cross section library specified for this problem.
+ Either **SCT**\ = should not be specified, or it should be specified by
+ creating a new mixed library.
+
+KMSG238
+\****\* ERROR \****\* K?238 FOLLOWS:
+DELTA ___COORDINATE ___
+DIRECTION COSINE ACROSS ___
+DIRECTION COSINE DOWN ___
+ARE INCONSISTENT. IF DELTA IS ZERO, THEN BOTH DIRECTION COSINES SHOULD BE ZERO.
+IF DELTA IS NOT ZERO, THEN AT LEAST ONE DIRECTION COSINE SHOULD BE NONZERO, AND THE NONZERO VALUES SHOULD ALL HAVE THE SAME SIGN.
+
+ The error message from subroutine rdplot_I.f90 indicates an error in the
+ **READ PLOT** input data. The direction cosines entered using **UAX**,
+ **VAX**, **WAX**, **UDN**, **VDN**, and **WDN** are inconsistent with
+ one of the following: (1) the lower righthand corner and upper
+ lefthand corner specified; (2) the delta across (**DLX**) and delta
+ down (**DLD**); or (3) the number of points across (**NAX**) and the
+ number of points down (**NDN**).
+
+KMSG239
+\****\* WARNING \****\* K?239 FOLLOWS:
+THE VOLUMES FOR ALL REGIONS ARE NOT SET.
+SOME REGION VOLUMES ARE NOT SET BY INPUT, NOT IN THE SPACE FOR WHICH VOLUMES ARE CALCULATED,
+MISSED BY THE VOLUME CALCULATION, OR ACTUALLY 0.0. FOR THESE REGIONS, VOLUMES ARE SET TO 1.0
+AND THE FLUXES AND FISSION DENSITIES ARE DIVIDED BY 1.0 INSTEAD OF THE REAL VOLUME.
+
+ This error message is from subroutine VOLUME. If fluxes or other densities are needed,
+ the real volumes are required. These can be calculated, with some error,
+ or entered with as much precision as needed and the user knows.
+
+KMSG240
+\****\** ERROR \****\*K?240 FOLLOWS:
+GEOMETRY WORD UNIT IS REQUIRED BUT ___ WAS READ INSTEAD.
+
+ This error message is from subroutine KENOG. Prior to specifying geometry or
+ media data in the GEOMETRY DATA BLOCK, a unit must be specified.
+
+KMSG241
+\****\** ERROR \****\*K?241 FOLLOWS:
+NEUTRON ___ OF GENERATION ___ HAS LEAKED WITHOUT BEING ON THE
+SURFACE OF THE BOUNDARY REGION OF UNIT ___ AT
+X = ___ Y = ___ Z = ___
+U = ___ V = ___ W = ___
+
+ This message from subroutine TRACK indicates a history exited the system from
+ somewhere internal to the geometry. The geometry of the unit at the specified
+ point should be checked to ensure that it is correctly defined.
+
+KMSG242
+\****\** ERROR \****\*K?242 FOLLOWS:
+NEUTRON ___ IN GENERATION ___ HAS LEAKED FROM UNIT ___
+AT X = ___ Y = ___ Z = ___
+BUT IS STILL WITHIN THE VOLUME DEFINED BY THE UNIT BOUNDARY RECORD.
+
+ This error message from subroutine TRACK indicates that the specified particle
+ is inside the volume defined by the unit’s boundary record but is not in any region.
+ The media record descriptions should be checked for the specified unit.
+ Also, specifying a screen plot of the problem may help identify the problem.
+
+KMSG243
+\****\* ERROR \****\* K6243 FOLLOWS:
+IN UNIT ___ THE BOUNDARY RECORD CONTAINS LABEL ___ WHICH DOES NOT CORRESPOND TO A GEOMETRY RECORD.
+
+ This KENOVI error message from subroutine KLANGA indicates that in the
+ specified unit the boundary record contains a geometry record label that is
+ not linked to a geometry record in the unit.
+
+KMSG244
+\****\* ERROR \****\* K?244 FOLLOWS:
+UNRECOGNIZABLE VOLUME CALCULATION TYPE ___ SPECIFIED
+
+ This error message from subroutine RDVOL indicates an invalid input.
+ TYPE = parameter was encountered in the READ volume data block.
+
+KMSG245
+\****\* ERROR \****\* K?245 FOLLOWS:
+UNIT ___ REGION ___ REFERENCES UNIT ___.
+AN INSTANCE OF THIS REGION HAS OCCURRED WITHOUT FINDING THE REFERENCED UNIT AT ANY NESTING LEVEL.
+
+ This error message from subroutine TRACK indicates that the fuel center for
+ the unit and region printed is specified with respect to the referenced unit,
+ but the referenced unit could not be found in the geometry.
+
+KMSG246
+\****\* ERROR \****\* K?246 FOLLOWS:
+THE RESTART FILE WAS A ___ PROBLEM, BUT THE CURRENT PROBLEM IS ___.
+THE CURRENT PROBLEM WILL NOT BE RUN
+
+ This error message from subroutine PARAM indicates that a restart file to be read
+ for this problem was either forward or adjoint, which conflicted with what was
+ specified in the input. Only a forward restart file can be used for a forward
+ problem, and only an adjoint restart file can be used for an adjoint problem.
+
+KMSG247
+\****\* ERROR \****\* K?247 FOLLOWS:
+INVALID KEYWORD ___ IN THE VOLUME INPUT DATA \****\* ERROR \****\*
+
+ This error message from subroutine RDVOL indicates the keyword printed
+ is not valid in the **READ VOLUME** data block. See :ref:`81213` for
+ guidance on **VOLUME** inputs.
+
+KMSG249
+\****\* ERROR \****\* K?249 FOLLOWS:
+UNDEFINED SPACE IN THE REGION CONTAINING HOLE ___.
+
+ This error message from subroutine TRACE is caused by a unit improperly being
+ placed in a hole, leaving a gap between crossing into a hole and entering the
+ unit in the hole. The hole geometry must be checked.
+
+KMSG250
+K?250 EXECUTION TERMINATED ON USER SIGNAL.
+
+ This message from subroutine GUIDE indicates that the user has set the flag to
+ KENO so that it will not run further generations and to wrap up execution.
+ The flag is set by creating a file named stop_keno in the working directory.
+
+KMSG251
+\****\* ERROR \****\* K?251 FOLLOWS:
+INVALID VOLUME CALCULATION TYPE ___
+
+ This error message from subroutine VOLUME indicates that the variable VCALC
+ has been overwritten. This indicates a code error.
+
+KMSG253
+\****\* ERROR \****\* K?253 FOLLOWS:
+CANNOT SELECT A FACE FOR VOLUME INTEGRATION.
+
+ This error message from subroutine PATHVOLS indicates an invalid face was
+ selected for the volume integration. This indicates a code error.
+
+KMSG254
+\****\* ERROR \****\* K6254 FOLLOWS:
+THE ANGLE BETWEEN THE Y AXIS AND THE Y EDGE OF THE BASE MUST BE BETWEEN 0 AND 90 DEGREES. CHECK GEOMETRY WORD ___
+
+ This KENOVI error message from subroutine RHOMB indicates an invalid angle
+ has been entered. The angle must be between 0 and 90 degrees.
+
+KMSG256
+\****\* ERROR \****\* K6256 FOLLOWS:
+RAY TRACE NUMBER ___ HAS LEAKED FROM UNIT ___
+AT X= ___ Y= ___ Z= ___
+BUT IS STILL WITHIN THE VOLUME DEFINED BY THE UNIT BOUNDARY RECORD.
+
+ This KENOVI message from subroutine TRACE occurs when volumes are calculated
+ using ray tracing and an undefined region was encountered by a ray.
+
+KMSG257
+\****\* ERROR \****\* K6257 FOLLOWS:
+\****\* ERROR \****\* KEYWORD PLACE NOT FOUND FOR ARRAY ___
+
+ This KENOVI error message from subroutine ARRAY means an array was
+ improperly placed within a unit. The keyword **PLACE**, which should
+ immediately follow the array’s vector definition array, is missing from
+ the array data. See :ref:`8125` for more information about array
+ placement.
+
+KMSG258
+\****\* ERROR \****\* K6258 FOLLOWS:
+THE CALCULATION WAS TERMINATED BECAUSE A GEOMETRY WORD IN REGION ___ OF UNIT ___ PRODUCES AN IMAGINARY BOUNDARY.
+
+ This KENOVI message from subroutine PNTCHK should only be produced by the
+ geometry word QUADRATIC when used as part of an array boundary. The boundary
+ produces imaginary results. The coefficients of the geometry word should be
+ checked.
+
+KMSG259
+\****\* ERROR \****\* K?259 FOLLOWS:
+NEUTRON ___ FROM GENERATION ___ LOCATED IN UNIT ___
+AT POSITION X = ___ Y = ___ Z = ___
+IN ARRAY ___ BOUNDARY UNIT ___ GLOBAL REGION ___
+AT BOUNDARY POSITION XARY = ___ YARY = ___ ZARY = ___
+HAS A NEGATIVE DISTANCE TO CROSS THE ARRAY BOUNDARY
+THIS COULD BE DUE TO AN ARRAY BOUNDARY OVERLAPPING A HOLE.
+
+ This message from subroutine TRACK occurs when a history computes a negative
+ distance to cross an array boundary when it is inside the array. This can be
+ caused by the array boundary intersecting a hole, of by round off in computing
+ the coordinates of the point in the unit containing the array boundary for large
+ dodecahedral arrays. For the latter case, KENOVI will silently allow up to
+ 5 such events per generation before giving this message and terminating.
+
+KMSG260
+\****\* ERROR \****\* K?260 FOLLOWS:
+NEUTRON ___ FROM GENERATION ___ LOCATED IN UNIT ___
+A PARTICLE AT POSITION X = ___ Y = ___ Z = ___
+TRAVELING IN DIRECTION U = ___ V = ___ W = ___
+TRAVELED___ CM INSIDE HOLE ___ BEFORE CROSSING THE BOUNDARY.
+THIS COULD BE DUE TO THE HOLE OVERLAPPING ANOTHER HOLE, UNIT, OR ARRAY BOUNDARY.
+
+ This message from subroutine TRACK occurs when a history checks whether it
+ is crossing into a hole and finds it is already inside the hole.
+
+KMSG261
+\****\* ERROR \****\* K?261 FOLLOWS:
+NEUTRON ___ FROM GENERATION ___ LOCATED IN UNIT ___
+A PARTICLE AT POSITION X = ___ Y = ___ Z = ___
+TRAVELING IN DIRECTION U = ___ V = ___ W = ___
+TRAVELED___ CM OUTSIDE THE UNIT BEFORE CROSSING THE BOUNDARY.
+THIS COULD BE DUE TO A HOLE OVERLAPPING THE UNIT BOUNDARY.
+
+ This message from subroutine TRACK occurs when a history goes to check crossing
+ out of a unit and finds that it does not occur at the unit boundary.
+
+KMSG262
+\****\* ERROR \****\* K?262 FOLLOWS:
+NEUTRON ___ FROM GENERATION ___ LOCATED IN UNIT ___
+A PARTICLE AT POSITION X = ___ Y = ___ Z = ___
+TRAVELING IN DIRECTION U = ___ V = ___ W = ___
+IS OUTSIDE THE ARRAY BOUNDARY WITHOUT CROSSING OUT OF THE ARRAY
+THIS COULD BE DUE TO A HOLE OVERLAPPING THE ARRAY BOUNDARY.
+
+ This message from subroutine CRSARA occurs when a history computes a negative
+ distance to cross an array boundary when it is inside the array. This can be
+ caused by the array boundary intersecting a hole.
+
+KMSG263
+\****\* ERROR \****\* K6263 FOLLOWS:
+MULTIPLY DEFINED POINT  LL = ___ X = ___ Y = ___ Z = ___
+
+ This KENOVI message from subroutine TRACE indicates incorrect sector definitions in unit LL at point X,Y,Z.
+
+KMSG264
+\****\* ERROR \****\* K?264 FOLLOWS:
+HOLE ___ NOT DEFINED IN REGION ___
+
+ This message from subroutine TRACE indicates incorrect geometry
+ specification of holes. See :ref:`812414` for more information on
+ the correction specification of **HOLE**\ s.
+
+KMSG265
+\****\* ERROR \****\* K6265 FOLLOWS:
+BOUNDARY SECTOR DATA WAS NOT FOUND FOR UNIT ___
+
+ This KENOVI message from subroutine BNDRY indicates that the region
+ definition vector for the unit is missing in the input.
+
+KMSG266
+\****\* ERROR \****\* K6266 FOLLOWS:
+A VECTOR DEFINITION ARRAY IN UNIT ___ REFERENCES GEOMETRY RECORD ___ WHICH HAS NOT BEEN SPECIFIED.
+
+ This KENOVI message from subroutine KLANGA indicates that a region definition
+ vector in the unit references an undefined geometry input record.
+
+KMSG267
+\****\* ERROR \****\* K6267 FOLLOWS:
+IN UNIT ___ THE USE OF GEOMETRY LABEL ___ IN THE BOUNDARY DEFINITION VECTOR
+CONFLICTS WITH VECTOR DEFINITON GEOMETRY LABEL ___
+
+ This KENOVI message from subroutine KLANGA indicates that a geometry word
+ referenced in a region definition vector in the unit defines the region to
+ be on the wrong side of the unit boundary (the same geometry record is
+ referenced with opposite signs).
+
+KMSG268
+\****\* ERROR \****\* K?268 FOLLOWS:
+INVALID KEYWORD ___ IN THE VOLUME INPUT FILE
+
+ This selfexplanatory message resykts from subroutine GTVOLS, and it occurs
+ when reading a separate volume file. See :ref:`81213` for more information
+ regarding the volume input file.
+
+KMSG269
+\****\* ERROR \****\* K6269 FOLLOWS:
+FOR UNIT NUMBER ___ TOO MANY MEDIA ENTRIES WERE SPECIFIED.
+
+ This KENOVI error message results from subroutine GTVOLS, and it indicates
+ that the separate volume file is inconsistent with the geometry input.
+
+KMSG270
+\****\* ERROR \****\* K6270
+CYLINDERS/ECYLINDERS/CONES IN THE GLOBAL UNIT BOUNDARY DEFINITION VECTOR
+NEED TO BE ORIENTED ALONG A MAJOR AXIS.
+
+ This KENOVI message from subroutine VOLCUB indicates that a bounding cuboid
+ for the global unit cannot be calculated because one of the referenced bodies
+ has been rotated off axis. The user can bypass this message by specifying a
+ bounding cuboid in the input in the VOLUME data block.
+
+KMSG271
+\****\* ERROR \****\* K6271
+THE FIRST NONNEGATIVE BODY SPECIFIED IN THE BOUNDARY DEFINITION VECTOR OF THE
+GLOBAL UNIT MUST SPECIFY FINITE VOLUME BODY.
+
+ This KENOVI message from subroutine VOLCUB indicates that a bounding cuboid
+ for the global unit cannot be calculated because the first body in the boundary
+ definition vector does not define a finite volume body. The user can
+ bypass this message by specifying a bounding cuboid in the input in the
+ VOLUME data block.
+
+
+KMSG273
+\****\* ERROR \****\* K?273
+THE NUMBER OF GROUPS ON THE RESTART LIBRARY DOES NOT MATCH WHAT WAS SET PREVIOUSLY.
+THE NUMBER OF GROUPS SET PREVIOUSLY ___
+THE NUMBER OF GROUPS FROM THE RESTART UNIT ___
+
+ This selfexplanatory message from subroutine READ_MIXED XSECS indicates
+ an inconsistency between the number of groups for cross sections on the
+ restart unit and the number of groups specified elsewhere.
+
+KMSG274
+\****\* ERROR \****\* K?274 FOLLOWS:
+AN ERROR OCCURED WHILE READING GRIDGEOMETRY DATA. MESSAGES CAPTURED FROM GRIDGEOMETRY CONSTRUCTOR AS FOLLOWS: ___
+
+ This error message comes from subroutine READ_MESH_INPUT, and indicates an
+ error in specifying the mesh grid for the problem. See :ref:`81214` for
+ more information about the specification of the mesh grid geometry.
+
+KMSG275
+\****\* ERROR \****\* K?275 FOLLOWS:
+ADJOINT SOLUTIONS ARE CURRENTLY NOT AVAILABLE IN CONTINUOUS ENERGY PROBLEMS.
+IF ADJOINT SOLUTION IS DESIRED, THE USER SHOULD CHOOSE THE MULTIGROUP ENERGY TREATMENT
+
+ This message from subroutine DATAIN indicates the user turned on adjoint
+ calculation (see parameter **ADJ** in :ref:`8123`) for a continuous
+ energy problem. The current version of KENO does not have adjoint
+ continuous energy cross sections. If adjoint solution is desired, the
+ user should choose the multigroup energy treatment.
+
+KMSG276
+\****\* ERROR \****\* K?276 FOLLOWS:
+DIFFERENTIAL ALBEDOS ARE CURRENTLY NOT AVAILABLE IN CONTINUOUS ENERGY PROBLEMS.
+
+ This message from subroutine DATAIN indicates the user entered
+ differential albedos for a continuous energy problem. The current
+ version of KENO does not have differential albedos for continuous
+ energy treatment. The user should replace the albedo data with appropriate materials.
+
+KMSG277
+\****\* ERROR \****\* K6277 FOLLOWS:
+THE UNIT ___ BOUNDARY RECORD CONTAINS MORE THAN ONE POSITIVE GEOMETRY RECORD LABEL
+
+ This KENOVI message from subroutine JOMCHK indicates that the
+ unit reported has multiple geometry records defining the boundary.
+ This unit is used in an array, so it is only allowed one boundary
+ geometry record.
+
+KMSG278
+\****\* ERROR \****\* K?278 FOLLOWS:
+TOO MANY ERRORS TRACING THROUGH THE GEOMETRY WHILE INTEGRATING VOLUMES.
+
+ This selfexplanatory message is from subroutine PATHVOLS, and it
+ indicates that the problem is terminated because of errors. There
+ should be error messages previous to this indicating what the problems are.
+ Errors should be corrected and the problem resubmitted.
+
+KMSG280
+\****\* ERROR \****\* K6280 FOLLOWS:
+ERROR IN PERIODIC BOUNDARY CONDITION  DENOMINATOR 0
+A = ___ B = ___ C = ___ D = ___ E = ___
+F = ___ G = ___ H = ___ I = ___ J = ___
+U = ___ V = ___ W = ___
+X = ___ Y = ___ Z = ___
+
+ This KENOVI error message comes from subroutine PERIOD, and it
+ indicates the problem with periodic boundary conditions. AJ are the
+ coefficients of the relevant quadratic equation, UW are the direction
+ cosines, and XZ is the point on the boundary. The denominator is
+ AU\ :sup:`2`\ +BV\ :sup:`2`\ +CW\ :sup:`2`\ +DUV+EUW+FVW.
+
+KMSG281
+\****\* ERROR \****\* K6281 FOLLOWS:
+IN UNIT ___ MORE THAN ONE GEOMETRY RECORD IS SPECIFIED AS NUMBER ___
+
+ This selfexplanatory KENOVI message from subroutine READGM indicates
+ that multiple geometry records in the specified unit have been given the
+ specified number. This is not allowed. The data must be corrected and the
+ problem resubmitted.
+
+KMSG282
+\****\* ERROR \****\* K?282 FOLLOWS:
+FISSION FLAG IS NONZERO BUT COULD NOT FIND NUBAR DATA FOR NUCLIDE: ___
+
+ This message from subroutine READ_POINTWISE indicates a problem with the
+ cross section data for a certain nuclide. If the nuclide cross section
+ file being used is a standard file that is part of an official and current
+ SCALE system, scalehelp@ornl.gov should be contacted.
+
+KMSG283
+\****\* ERROR \****\* K?283 FOLLOWS:
+USER DID NOT PROVIDE A CROSS SECTION DIRECTORY FILE (CE_XXXX).
+A DIRECTORY FILE THAT CONTAINS THE DATA PATH AND THE CROSS SECTION ID RECORDS MUST BE PROVIDED.
+
+ This message from subroutines NUCLIDE_SETUP and PREMIX_SETUP indicates that the
+ filename specified in the library name record is not valid (i.e., the file does
+ not exist in the working directory) for calculations in the continuous energy mode.
+ Links to SCALEprovided libraries are automatically created in the working directory.
+ If one of the default files is being used, the file may not be accessible
+ due to network problems, or access permissions. If it is a usersupplied
+ directory file, it should be verified to exist in the SCALE temporary
+ working directory.
+
+KMSG284
+\****\* ERROR \****\* K?284 FOLLOWS:
+PROCESSING NUCLIDE ___, ID=___
+COULD NOT FIND CROSS SECTION FILE. TRIED:
+___ ___ AND ___
+
+ This message from subroutine NUCLIDE_SETUP indicates the continuous energy
+ cross sections for the specified nuclide are not accessible. This message is
+ issued if the continuous energy cross section filename extension for the
+ nuclide is provided in the input. The code checks the working directory first.
+ If not found, it will check the directory specified in the cross section
+ directory file. Access permissions, network problems, and typographical
+ errors in the input file should be verified. If the nuclide cross section
+ file being used is a standard file that is part of an official and current
+ SCALE system, please contact scalehelp@ornl.gov.
+
+KMSG285
+\****\* ERROR \****\* K?285 FOLLOWS:
+PROCESSING NUCLIDE ___, ID=___
+THE SPECIFIED LIBRARY DOES NOT CONTAIN NUCLIDE: ___
+
+ This message from subroutine NUCLIDE_SETUP indicates the nuclide requested
+ does not exist in the continuous energy cross section directory file
+ (ce_xxxx). This may be due to user requesting a nuclide that is not
+ available with the ENDF version and release of the continuous energy
+ cross sections specified in the input. The user should either specify
+ what file to use in the input explicitly or provide a userdefined
+ continuous energy directory file containing the nuclide requested.
+
+KMSG286
+\****\* ERROR \****\* K?286 FOLLOWS:
+PROCESSING NUCLIDE ___, ID=___
+COULD NOT FIND NUCLIDE: ___
+
+ This message from subroutine NUCLIDE_SETUP indicates the continuous energy cross
+ sections for the specified nuclide are not accessible. This message is issued
+ if continuous energy cross section filename extension for the nuclide is NOT
+ provided in the input (default usage). The code checks the working directory
+ first. If not found, it will check the directory specified in the cross
+ section directory file. Access permissions, network problems, and
+ typographical errors in the input file should be ruled out. If the nuclide
+ cross section file being used is a standard file that is part of an official
+ and current SCALE system, please contact scalehelp@ornl.gov.
+
+KMSG287
+\****\* ERROR \****\* K?287 FOLLOWS:
+OUTGOING ANGLE COSINE ___ IS GREATER THAN 1
+
+ This message from subroutine ROTASZ indicates a problem with the angle
+ cosine when calculating the particle velocity in the continuous energy
+ mode. This error usually indicates a coding error. Please contact
+ scalehelp@ornl.gov.
+
+KMSG288
+\****\* ERROR \****\* K?288 FOLLOWS:
+SAMPLING PROBABILITY TABLE FOR NUCLIDE:___
+ENERGY (EV): ___
+
+ This message from subroutine PROB_TABLE is issued if the energy of the
+ particle that is being tracked is higher than the maximum energy of the
+ probabilities available in the probability table that is being sampled.
+ This error may be due to data problems. Please contact scalehelp@ornl.gov.
+
+KMSG290
+\****\* WARNING \****\* K?290 FOLLOWS:
+COULD NOT FIND TEMP:___ ON CROSS SECTION FILE. USING CLOSEST TEMPERATURE:___
+
+ This warning message from subroutine READ_XSEC is issued to indicate
+ that the temperature selected was not found for the current nuclide and
+ the continuous energy cross sections that are at the closest temperature
+ will be used. This should only be issued with **DBX**\ =0, so the user
+ has disabled problemdependent Doppler broadening. See :ref:`8123` or
+ :ref:`816210` for more information.
+
+KMSG291
+\****\* ERROR \****\* K?291 FOLLOWS:
+COULD NOT FIND CROSS SECTION FILE. ___
+NOTE THAT THE TEMPERATUREDEPENDENT AND TEMPERATUREINDEPENDENT FILES MUST BE IN THE SAME DIRECTORY.
+
+ This message from subroutine READ_XSEC is issued to indicate that the file that
+ contains
+ the continuous energy cross sections for the requested temperature is not found.
+ Since the continuous energy cross sections are kept in different files for each
+ temperature, it indicates that the location in which the zero degree file is
+ kept does not contain the file that has the requested temperature. Access
+ permissions should be checked, and it should be verfied that the file is
+ located in the appropriate data directory or the SCALE temporary working
+ directory.
+
+KMSG292
+\****\* ERROR \****\* K?292 FOLLOWS:
+PROBLEM IN SUBROUTINE SAMPLE_COLLISION AT:
+NEUTRON: ___
+IZA: ___
+MT: ___
+EIN: ___
+MINIMUM ENERGY:___
+MAXIMUM ENERGY:___
+LOCATION:___
+
+ This message from subroutine SAMPLE_COLLISION indicates the energy of the
+ particle being tracked is outside the energy range of the selected reaction
+ for the selected nuclide. The code will reset the particle’s energy to
+ correspond to one of the boundaries and will continue tracking. If this
+ message is issued, it usually indicates a problem with the continuous
+ energy cross sections. The problem is usually not severe and may be the
+ result of round off. Please contact scalehelp@ornl.gov.
+
+
+KMSG293
+\****\* ERROR \****\* K?293 FOLLOWS:
+PROBLEM IN SUBROUTINE SAMPLE_ENERGY AT:
+MT: ___
+EIN: ___
+EOUT: ___
+LOCATION:___
+
+ This message from subroutine SAMPLE_ENERGY indicates the energy of
+ the particle being tracked is outside the energy range of the selected
+ reaction for the selected nuclide. If this message is issued, it usually
+ indicates a problem with the continuous energy cross sections. Please
+ contact scalehelp@ornl.gov.
+
+KMSG294
+\****\* WARNING \****\* K?294 FOLLOWS:
+UNIT ___ REGION ___ CONTAINS FISSIONABLE MATERIAL, BUT NO FISSIONS OCCURRED IN IT.
+THIS MAY MEAN THE PROBLEM WAS INADEQUATELY SAMPLED.
+
+ This message from subroutine KEDIT indicates some of the fissile regions are
+ not adequately sampled. Depending on the problem, the calculated keff value
+ may be too small. The problem should be run again with enough histories or
+ start data to ensure that all regions are sampled adequately.
+
+KMSG295
+\****\* WARNING \****\* K?295 FOLLOWS:
+THERE WERE ___ COLLISIONS THAT PRODUCED A NEUTRON WITH AN ENERGY OUTSIDE THE GROUP STRUCTURE YOU SELECTED.
+THESE WERE TALLIED INTO THE APPROPRIATE END GROUP.
+IF YOU WISH TO SEPARATE THESE NEUTRONS, ADD A GROUP ON EACH END WITH LIMITS CORRESPONDING TO THE CROSS SECTIONS.
+
+ This warning message from subroutine SAMPLE_ENERGY indicates the energy
+ boundaries of the groups specified for tallying in the continuous energy
+ mode does not cover the possible energy ranges of all reactions for all
+ nuclides in the problem. Group energy boundaries must be adjusted.
+
+KMSG296
+\****\* ERROR \****\* K?296 FOLLOWS:
+IT IS NOT POSSIBLE TO TURN OFF WRITING ARRAYS TO DIRECT ACCESS IN WRTICE.
+
+ This error message from subroutine WRITE_ICE indicates that the arrays must be
+ saved in the direct access file.
+
+KMSG297
+\****\* ERROR \****\* K?297 FOLLOWS:
+ENERGY BOUNDARIES MUST BE IN DESCENDING ORDER (EV). EB(___) = ___ IS GREATER THAN EB(___) = ___.
+
+ This error message from subroutine RDENER indicates the upper energy boundaries
+ specified in the ENERGY data block are not in descending order. The upper
+ energy boundary of the highest energy group (i.e., group 1) must be
+ specified first and then successive energy groups with descending upper
+ energy group boundaries must be specified until all groups are specified.
+
+KMSG298
+\****\* ERROR \****\* K?298 FOLLOWS:
+CROSS SECTION FILE FOR NUCLIDE ___ HAS NO 2D KINEMATICS DATA FOR THERMAL RANGE. THIS IS OK IF FREEGAS TREATMENT IS NOT TURNED OFF.
+FOR THIS PROBLEM, FREEGAS TREATMENT HAS BEEN TURNED OFF (FRE=NO IN PARAMETER DATA BLOCK).
+EITHER PROVIDE DATA THAT CONTAINS 2D KINEMATICS FOR THERMAL RANGE OR TURN ON FREEGAS TREATMENT.
+
+ This message from subroutine READ_KINEMATICS indicates that no thermal
+ scattering has been specified for the given nuclide. Data must be provided or
+ freegas scattering must be allowed.
+
+KMSG299
+\****\* ERROR \****\* K?299 FOLLOWS:
+INVALID KEYWORD ___ IN THE ENERGY BOUNDARIES INPUT DATA.
+
+ This message from subroutine RDENER says that an invalid keyword was read
+ while reading the energy boundaries for a continuous energy problem. The
+ energy bounds data block must be checked to correct the error. See :ref:`81212`
+ for more information.
+
+KMSG300
+\****\* ERROR \****\* K?300 FOLLOWS:
+INVALID THERMAL CUTOFF VALUE ___ IN THE ENERGY BOUNDARIES INPUT DATA. THE CUTOFF VALUE MUST BE GREATER THAN ZERO.
+
+ The thermal cutoff value for a continuous energy problem must be greater than
+ zero. The data must be corrected and the problem rerun.
+
+KMSG304
+K?304 ALTHOUGH THE STANDARD DEVIATION SPECIFIED FOR THE PROBLEM IS ACHIEVED,
+AT LEAST 50 OR NSK*2=___ ACTIVE GENERATIONS HAVE NOT BEEN RUN. EXECUTION WILL CONTINUE.
+
+ This message from GUIDE indicates that although the standard deviation
+ asked for in the input has been achieved, too few generations have been
+ run to get a fair value for the standard deviation, and more generations
+ will be run.
+
+KMSG305
+\****\* ERROR \****\* K?305 FOLLOWS:
+MESH FLUXES HAVE BEEN SPECIFIED, BUT THE MESH DOES NOT COMPLETELY COVER THE GEOMETRY.
+THE POINT X=___ Y=___ Z=___ LIES OUTSIDE THE MESH.
+THE PROBLEM WILL NOT BE RUN. FIX THE MESH AND RESUBMIT THE CASE.
+
+ This selfexplanatory message comes from subroutine accumulateTempVolumes or
+ from pntvols.
+
+KMSG306
+\****\* ERROR \****\* K?306 FOLLOWS:
+UNIT ___ HAS BEEN DEFINED ___ TIMES.
+THIS BEHAVIOR IS NO LONGER ALLOWED AS IT COULD POTENTIALLY MISLEAD THE USERS.
+NOTE THAT DEFINING UNITS THAT ARE NOT USED IN THE PROBLEM IS STILL ALLOWED.
+IF DUPLICATE UNITS ARE KEPT FOR CONVENIENCE (E.G., SCOPING CALCULATIONS), THEN
+SIMPLY USE A UNIT NUMBER THAT IS UNIQUE AND IS NOT UTILIZED IN THE PROBLEM.
+THE PROBLEM WILL NOT BE RUN. REMOVE DUPLICATE DEFINITIONS AND RESUBMIT.
+
+ This selfexplanatory message comes from READGM.
+
+KMSG307
+\****\* ERROR \****\* K?307 FOLLOWS:
+INVALID KEYWORD ___ IN THE REACTIONS INPUT DATA.
+
+ This message comes from subroutine READ_REACTIONS_INPUT, and indicates that an
+ invalid keyword was entered in the input. See :ref:`81215` for valid
+ reaction block input. The data must be corrected and the problem resubmitted.
+
+KMSG308
+\****\* ERROR \****\* K?308 FOLLOWS:
+THE USER ENTERED ___ FOR THE ___ NUMBER.
+ONLY LEGAL NUMBERS (>0) AND * (WILDCARD) ARE ALLOWED. THE PROBLEM WILL NOT BE RUN.
+
+ This message results from subroutine READENTRY, and it indicates invalid
+ reaction input. See :ref:`81215` for valid reaction block input;
+ data must be corrected and resubmitted.
+
+KMSG309
+\****\* ERROR \****\* K?309 FOLLOWS:
+REACTION TALLY CALCULATIONS ARE CURRENTLY ALLOWED FOR ONLY CE TRANSPORT.
+
+KMSG310
+\****\* ERROR \****\* K?310 FOLLOWS:
+THE USER ENTERED ___ FOR THE CUTOFF VALUE FOR WOODCOCK TRACKING.
+CUTOFF VALUE FOR WOODCOCK TRACKING MUST BE BETWEEN 0 (ZERO) AND 1 (ONE). THE PROBLEM WILL NOT BE RUN.
+
+KMSG311
+\****\* WARNING \****\* K?311 FOLLOWS:
+THE USER ENTERED ___ FOR THE CUTOFF VALUE FOR WOODCOCK TRACKING.
+CUTOFF VALUE FOR WOODCOCK TRACKING MUST BE GREATER THAN 0 (ZERO) AND LESS THAN OR EQUAL TO 1 (ONE).
+THE PROBLEM WILL CONTINUE WITHOUT WOODCOCK TRACKING.
+
+KMSG312
+\****\* ERROR \****\* K?312 FOLLOWS:
+OBSOLETE PARAMETER (CXM). USE REACTION DATA BLOCK TO SPECIFY PARAMETERS FOR REACTION TALLY CALCULATIONS.
+
+KMSG313
+\****\* ERROR \****\* K?313 FOLLOWS:
+INVALID COMPUTATIONAL MODE (CXM=___) FOR TALLYING REACTION CROSS SECTIONS FOR CEDEPLETION.
+AVAILABLE MODES ARE:
+(1) ALL REACITONS, NGP GROUP,
+(2) TRANSMUATION REACTIONS, NGP GROUP,
+(3) ALL REACTIONS, 1 GROUP,
+(4) TRANSMUTATION REACTIONS, 1 GROUP.
+
+KMSG314
+\****\* ERROR \****\* K?314 FOLLOWS:
+NO MESH DEFINITION IN INPUT. THE USER REQUESTED ___ WITHOUT PROVIDING A MESH IN INPUT.
+
+KMSG315
+\****\* ERROR \****\* K?315 FOLLOWS:
+MESH < ___ > SPECIFIED FOR ___ IS NOT FOUND IN INPUT.
+
+KMSG316
+\****\* WARNING \****\* K?316 FOLLOWS:
+NO MESH PROVIDED FOR SOURCE CONVERGENCE DIAGNOSTICS (SCD). CONTINUE WITH DEFAULT MESH.
+
+KMSG317
+\****\* ERROR \****\* K?317 FOLLOWS:
+INCONSISTENT MIXTURE NUMBERS. REACTION DATA BLOCK HAS MORE MIXTURE DEFINITIONS THAN DEPLETION DATA BLOCK.
+
+
+KMSG318
+\****\* WARNING \****\* K?318 FOLLOWS:
+INCONSISTENET MIXTURE NUMBERS. REACTION DATA BLOCK HAS FEWER MIXTURE DEFINITIONS THAN THE DEPLETION DATA BLOCK DOES. CONTINUE DEPLETION CALCULATIONS BY UPDATING REACTION DATA BLOCK WITH RESPECT TO ENTRIES IN THE DEPLETION DATA BLOCK.
+
+KMSG319
+\****\* WARNING \****\* K?319 FOLLOWS:
+CFP WAS EITHER NOT SPECIFIED OR A NONPOSITIVE VALUE WAS ENTERED!
+THE CE TSUNAMI IFP METHOD REQUIRES A POSITIVE NUMBER OF LATENT GENERATIONS.
+CFP=5 WILL BE USED FOR THIS CALCULATION.
+
+KMSG320
+\****\* WARNING \****\* K?320 FOLLOWS:
+CFP>10 DETECTED! THIS CE TSUNAMI IFP RUN MAY PRODUCE A LARGE MEMORY FOOTPRINT!
+
+KMSG321
+\****\* WARNING \****\* K?321 FOLLOWS:
+CFP<0 DETECTED! AN F*(R) MESH WILL NOT BE USED FOR THIS CALCULATION.
+THIS CE TSUNAMI CLUTCH CALCULATION MAY NOT PRODUCE ACCURATE SENSITIVITIES.
+
+KMSG322
+\****\* ERROR \****\* K?322 FOLLOWS:
+CFP IS GREATER THAN THE NUMBER OF ACTIVE GENERATIONS! CE TSUNAMI IFP SENSITIVITY TALLIES WILL NOT BE PERFORMED. CFP SHOULD BE << THE NUMBER OF ACTIVE GENERATIONS.
+
+KMSG323
+\****\* ERROR \****\* K?323 FOLLOWS:
+CFP IS GREATER THAN THE NUMBER OF INACTIVE GENERATIONS! CE TSUNAMI F*(R) TALLIES CANNOT BE PERFORMED. CFP SHOULD BE << THE NUMBER OF INACTIVE GENERATIONS.
+
+KMSG324
+\****\* ERROR \****\* K?324 FOLLOWS:
+NO F*(R) MESH GRID WAS SPECIFIED!
+
+KMSG325
+\****\* WARNING \****\* K?325 FOLLOWS:
+ONLY ___ PARTICLE HISTORIES ARE BEING USED TO POPULATE F*(R) TALLIES
+PER F*(R) MESH INTERVAL. THIS MAY LEAD TO POORLYCONVERGED F*(R) ESTIMATES
+AND INACCURATE SENSITIVITY COEFFICIENTS! AT LEAST 10100 INACTIVE PARTICLE
+HISTORIES SHOULD BE SIMULATED PER MESH INTERVAL TO OBTAIN ACCURATE F*(R) SCORES.
+
+KMSG326
+\****\* ERROR \****\* K?326 FOLLOWS:
+THE CE TSUNAMI IFP METHOD CANNOT BE EXECUTED IN PARALLEL.
+
+KMSG327
+\****\* WARNING \****\* K?327 FOLLOWS:
+USER SET MAPTOUNION (M2U) TO ON (DEFAULT),
+BUT ALSO TURNED ONTHEFLY DOPPLER PREBROADENING (OTF) TO ON. MAPTOUNION IS FORCED TO OFF.
+
+KMSG328
+\****\* ERROR \****\* K?328 FOLLOWS:
+NO SOURCE ENTROPY CALCULATIONS! ALL FISSION SOURCE POINTS ARE OUTSIDE OF THE USERDEFINED MESH.
+
+KMSG329
+\****\* ERROR \****\* K?329 FOLLOWS:
+NO SOURCE ENTROPY CALCULATIONS! ALL FISSION SOURCE POINTS ARE SCORED IN THE SAME MESH VOXEL.
+USERDEFINED MESH FOR SOURCE CONVERGENCE DIAGNOSTICS DOES NOT ENCLOSE THE FISSILE REGIONS PROPERLY.
+
+KMSG330
+\****\* WARNING \****\* K?330 FOLLOWS:
+DISABLING SOURCE ENTROPY CALCULATIONS. ALL FISSION SOURCE POINTS ARE SCORED IN THE SAME MESH VOXEL.
+THE DEFAULT MESH FOR SOURCE CONVERGENCE DIAGNOSTICS DOES NOT ENCLOSE THE FISSILE REGIONS PROPERLY.
+
+KMSG331
+\****\* WARNING \****\* K?331 FOLLOWS:
+ALL FISSION SOURCE POINTS ARE OUTSIDE OF THE USERDEFINED MESH.
+
+KMSG332
+\****\* WARNING \****\* K?332 FOLLOWS:
+MESH FLUXES HAVE BEEN SPECIFIED, BUT CE TSUNAMI DOES NOT ALLOW MESH FLUX USAGE.
+CONTINUE CALCULATIONS WITH DISABLING MESH FLUXES.
+
+KMSG333
+\****\* ERROR \****\* K?333 FOLLOWS:
+THE NUMBER OF GENERATIONS SKIPPED IS NOT LESS THAN THE NUMBER OF GENERATIONS TO BE RUN.
+NSK=___  GEN=___.
+THE CASE WILL NOT BE RUN.
+
+KMSG334
+\****\* ERROR \****\* K?334 FOLLOWS:
+UNABLE TO CREATE A WEIGHTED LIBRARY. CODE COULD NOT INITIALIZE AMPX WORKING LIBRARY TO WRITE REACTION CROSS SECTIONS IN CE DEPLETION CALCULATIONS. CE DEPLETION CALCULATIONS WILL BE TERMINATED.
+
+KMSG335
+\****\* ERROR \****\* K?335 FOLLOWS:
+UNABLE TO ADD NUCLIDE ___ TO THE WEIGHTED LIBRARY.
+CE DEPLETION CALCULATIONS WILL BE TERMINATED.
+
+KMSG336
+\****\* ERROR \****\* K?336 FOLLOWS:
+UNABLE TO GET NEUTRON 1D CROSS SECTION FOR THE REACTION, MT=___.
+CE DEPLETION CALCULATIONS WILL BE TERMINATED.
+
+KMSG337
+\****\* ERROR \****\* K?337 FOLLOWS:
+UNABLE TO CREATE A NEUTRON 1D CROSS SECTION FOR THE WEIGHTING LIBRARY.
+CE DEPLETION CALCULATIONS WILL BE TERMINATED.
+
+KMSG338
+\****\* ERROR \****\* K?338 FOLLOWS:
+ERROR OCURRED WHILE WRITING WEIGHTED LIBRARY, RETURN CODE=___ .
+CE DEPLETION CALCULATIONS WILL BE TERMINATED.
+
+KMSG339
+\****\* ERROR \****\* K?339 FOLLOWS:
+UNABLE TO INITIALIZE OBJECT FOR ENERGY BOUNDS FOR THE WEIGHTING LIBRARY.
+CE DEPLETION CALCULATIONS WILL BE TERMINATED.
+
+KMSG340
+\****\* ERROR \****\* K?340 FOLLOWS:
+UNABLE TO INITIALIZE HEADER OBJECT FOR THE WEIGHTING LIBRARY.
+CE DEPLETION CALCULATIONS WILL BE TERMINATED.
+
+KMSG341
+\****\* ERROR \****\* K?341 FOLLOWS:
+DATA ENTERED TO THE REACTION BLOCK WITHOUT CALCULATION MODE. CALCULATION MODE SHOULD BE ENTERED IN REACTION BLOCK WITH ONE OF THE FOLLOWING KEYWORD: (1) XS/XSTALLY=YES, (2) RX/RRTALLY=YES, (3) CEDEPL=YES, AND/OR, (4) MIXFLX=YES.
+
+KMSG342
+\****\* WARNING \****\* K?342 FOLLOWS:
+REACTION BLOCK IS CURRENTLY ALLOWED FOR ONLY CE TRANSPORT. SKIP READING DATA FROM REACTION BLOCK.
+
+ The READ REACTION block will not function when KENO is run in multigroup
+ cross section mode. Use KMART5 or KMART 6 to generation reaction rates when
+ running KENO in multigroup mode.
+
+KMSG343
+\****\* WARNING \****\* K?343 FOLLOWS:
+MISSING REACTION BLOCK FOR REACTION\/CROSS SECTION TALLY CALCULATIONS. CXM HAS BEEN SET ___ WITHOUT PROVIDING DATA WITHIN REACTION BLOCK. CONTINUE CALCULATIONS AS IF IT IS A DEPLETION CALCULATION.
+
+KMSG344
+\****\* ERROR \****\* K?344 FOLLOWS:
+MISSING CXM PARAMETER IN PARAMETER BLOCK. REACTION BLOCK FOR REACTION/CROSS SECTION TALLY CALCULATIONS IS NOT OPERATIONAL WITHOUT CXM.
+
+KMSG345
+\****\* WARNING \****\* K?345 FOLLOWS:
+DIRECT S(A,B) METHOD TURNED ON, BUT S(A,B) LIBRARY NOT FOUND FOR THIS NUCLIDE. NOT USING DIRECT S(A,B) METHOD FOR THIS NUCLIDE.
+
+KMSG346
+\****\* ERROR \****\* K?346 FOLLOWS:
+ERROR IN MIXTURE ENTRY IN REACTION BLOCK. MIXTURE NUMBER (MIX=___) SPECIFIED IN REACTION BLOCK IS NOT USED IN THE PROBLEM.
+
+KMSG347
+\****\* ERROR \****\* K?347 FOLLOWS:
+ERROR IN NUCLIDE ENTRY IN REACTION BLOCK. NUCLIDE ___[MIXTURE = ___] SPECIFIED IN REACTION BLOCK IS NOT FOUND IN THE MIXING TABLE.
+
+
+KMSG348
+\****\* WARNING \****\* K?348 FOLLOWS:
+SPECIFIED REACTION IS NOT AVAILABLE IN CE DATA LIBRARY FOR THE GIVEN NUCLIDE.
+PERFORM REACTION TALLY CALCULATIONS BY SKIPPING THIS REACTION MT=___ FOR THE GIVEN NUCLIDE, ___.
+
+KMSG349
+\****\* WARNING \****\* K?349 FOLLOWS:
+A CE TSUNAMI F*(R) MESH PRINT (FST=YES) WAS REQUESTED BUT AN F*(R) MESH IS NOT BEING USED.
+
+KMSG350
+\****\* ERROR \****\* K?350 FOLLOWS:
+A FISSION NEUTRON WAS BORN OUTSIDE OF THE F*(R) MESH AT POSITION:
+X =___ Y =___ Z =___
+THE F*(R) MESH MUST ENCOMPASS ALL FISSILE MATERIAL IN THE SYSTEM.
+
+KMSG351
+\****\* ERROR \****\* K?351 FOLLOWS:
+MISSING REACTION MT SPECIFICATION IN REACTION BLOCK (MT).
+
+KMSG352
+\****\* ERROR \****\* K?352 FOLLOWS:
+MISSING NUCLIDE SPECIFICATION IN REACTION BLOCK (NUC).
+
+KMSG353
+\****\* ERROR \****\* K?353 FOLLOWS:
+MISSING MIXTURE SPECIFICATION IN REACTION BLOCK (MIX).
+
+KMSG354
+\****\* ERROR \****\* K?354 FOLLOWS:
+ERROR IN REACTION BLOCK. NUMBER OF ENERGY GROUPS (___) AND ENERGY BOUNDS (___) DO NOT AGREE
+NUMBER OF ENERGY GROUPS ___ = ___ NUMBER OF ENERGY INTERVALS = ___.
+
+.. _816:
+
+Theory and Techniques
+
+
+.. _8161:
+
+The transport equation
+~~~~~~~~~~~~~~~~~~~~~~
+
+The equation KENO solves may be derived in the following manner,
+starting with the Boltzmann neutron transport equation which may be
+written as
+
+.. math::
+ :label: eq813
+
+ & \frac{1}{\mathrm{v}}\frac{\partial\Phi}{\partial t}\left( X,E,\Omega,t \right) + \Omega \bullet \nabla\Phi\left( X,E,\Omega,t \right) + \Sigma_{t}\left( X,E,\Omega,t \right)\Phi\left( X,E,\Omega,t \right)
+
+ & \ \ \ \ \ \ \ \ = S\left( X,E,\Omega,t \right)
+
+ & \ \ \ \ \ \ \ \ + \int_{E^{'}}^{}{\int_{\Omega^{'}}^{}{\Sigma_{s}\left( X,E^{'} \rightarrow E,\Omega^{'} \rightarrow \Omega,t \right)\Phi\left( X,E^{'},\Omega^{'},t \right)}}d\Omega^{'}dE^{'}\ ,
+
+
+where
+
+ Φ(X,E,Ω,t) = neutron flux (neutrons/cm\ :sup:\ `2`/s) per unit energy at
+ energy E per steradian about direction Ω at position X at time t
+ moving at speed v corresponding to E;
+
+ Σ\ :sub:`t`\ (X,E,Ω,t) = macroscopic total cross section of the media
+ (cm:sup:`−1`) at position X, energy E, direction Ω and time t;
+
+ Σ\ :sub:`s`\ (X,E′→E,Ω′→Ω,t) = macroscopic differential cross section
+ of the media (cm\ :sup:`−1`) per unit energy at energy E′ per steradian
+ about direction Ω′ at position X, and time t, for scattering to
+ energy E and direction Ω;
+
+ S(X,E,Ω,t) = neutrons/cm\ :sup:`3`/s born at position X and time t
+ per unit energy at energy E per steradian about direction Ω (excludes
+ scatter source).
+
+Defining q(X,E,Ω,t) as the total source resulting from the external
+source, scattering, fission, and all other contributions, the following
+relationship can be written.
+
+.. math::
+ :label: eq814
+
+ q(X,E,\Omega, t) =
+
+ & S(X,E,\Omega, t) + \int_{E^{'}}^{}{\int_{\Omega^{'}}^{}{\Sigma_{s}\left( X,E^{'} \rightarrow E,\Omega^{'} \rightarrow \Omega,t \right)\Phi\left( X,E^{'},\Omega^{'},t \right)}}d\Omega^{'}dE^{'}\ .
+
+Combining :eq:`eq813` and :eq:`eq814`, assuming media to be stationary and ignoring timedependence, yields
+
+.. math::
+ :label: eq815
+
+ \ \Omega \bullet \nabla\Phi\left( X,E,\Omega \right)+ \Sigma_{t}\left( X,E,\Omega \right)\Phi\left( X,E,\Omega \right) = q\left( X,E,\Omega \right)
+
+.. _8162:
+
+Continuous energy mode solution procedure
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Using the relationship X′ = X − RΩ, using an integrating factor on both
+sides of :eq:`eq815`, and defining
+
+.. math::
+
+ T(R) = \int_{0}^{R} \Sigma_{t}(X  R^{'}\Omega, E)dR ,
+
+the following equation can be written.
+
+At this point, the problem becomes an eigenvalue problem. If there is no
+external source, the source may be defined as
+
+.. math::
+ :label: eq816
+
+ \Phi(X,E,\Omega) = \int_{O}^{\infty}q(X  R\Omega,E,\Omega)e^{T(R)}dR
+
+At this point, the problem becomes an eigenvalue problem. If there is no external source, the source may be defined as
+
+
+.. math::
+ :label: eq817
+
+ q\left( X,E,\Omega \right) = & \int_{}^{}{\int_{}^{}{{dE^{'}d\Omega^{'}\ \Phi\left( X,E^{'},\Omega^{'} \right)\ \Sigma}_{s}\left( X,E^{'} \rightarrow E,\Omega^{'} \cdot \Omega \right)}}
+
+ & + \ \frac{1}{k}Q^{'}(X,E,\Omega) ,
+
+where
+
+k
+ is the largest eigenvalue of the integral equation,
+
+Q′(X,E,Ω)
+ is the fission source at position X for energy E and
+ direction Ω (all fission contributions to point E from all energy
+ points in the previous generation),
+
+Σ\ :sub:`s`\ (X,E′→E,Ω′:math:`\cdot` Ω)
+ is the scattering cross section for
+ scattering at position X from energy point E′ and direction Ω′ to
+ energy point E and direction Ω.
+
+Assuming the fission neutrons to be isotropic, the fission source
+Q′(X,E,Ω) can be written as
+
+.. math::
+ :label: eq818
+
+ Q^{'}(X,E,\Omega) = \frac{1}{4\pi}\int_{E^{'}}^{}\int_{\Omega^{'}}^{}dE^{'}d\Omega^{'}\Phi(X,E^{'},\Omega^{'})\chi(X,E^{'}\rightarrow E)\nu(X,E^{'})\Sigma_{f}(X,E^{'}) ,
+
+where
+
+ χ(X,E′→E) is the fraction of neutrons born at energy point E from
+ fission at energy point E′ in the media at position X,
+
+ ν(X,E′) is the number of neutrons resulting from a fission at energy
+ point E′ at position X,
+
+ Σ\ :sub:`f`\ (X,E′) is the macroscopic fission cross section of the
+ material at position X for a neutron at energy point E′.
+
+Substituting :eq:`eq817` into :eq:`eq816` yields the following equation:
+
+.. _ first equation says chapter 9
+
+.. math::
+ :label: eq819
+
+ \ {\Phi\left( X,E,\Omega \right) = \int_{0}^{\infty}{\text{dR }e^{ T\left( R \right)}\left\{ \frac{1}{k}Q^{'}\left( X  R\Omega,E,\Omega \right) \right.\ }}
+
+ {+ \left. \ \int_{E^{'}}^{}{\int_{\Omega^{'}}^{}{{dE^{'}d\Omega^{'}\Phi\left( X  R\Omega,E^{'},\Omega^{'} \right)\Sigma}_{s}\left( X  R\Omega,E^{'} \rightarrow E,\Omega^{'} \cdot \Omega \right)}} \right\}}
+
+The definition of k may be given as the ratio of the number of neutrons
+produced in the (n + 1)\ *th* generation to the number of neutrons
+produced in the n\ *th* generation or the largest eigenvalue of the
+integral equation. Using :eq:`eq818`, :eq:`eq816` can be written as
+
+.. math::
+ :label: eq8110
+
+ \ {\Phi\left( X,E,\Omega \right) =
+
+ \int_{0}^{\infty}{\text{dR }e^{T\left( R \right)}\left\{ \ \frac{1}{k}\int_{E^{'}}^{}{\int_{\Omega^{'}}^{}{{\nu\left( X  R\Omega,E^{'}\right)\text{ Σ}}_{f}\left( X  R\Omega,E^{'} \right)}\chi\left( X  R\Omega,E^{'}\rightarrow E \right)}\Phi\left( X  R\Omega,E^{'},\Omega^{'} \right)dE^{'}\frac{d\Omega^{'}}{4\pi}\ \right.\ }}
+
+ {+ \left. \ \int_{E^{'}}^{}{\int_{\Omega^{'}}^{}{{dE^{'}d\Omega^{'}\text{ Φ}\left( X  R\Omega,E^{'},\Omega^{'} \right)\text{ Σ}}_{s}\left( X  R\Omega,E^{'}\rightarrow E,\Omega^{'} \cdot \Omega \right)}} \right\}}
+
+Writing :eq:`eq8110` in generation notation, multiplying and dividing
+certain terms by Σ\ :sub:`t`\ (X,E) and multiplying both sides of the
+equation by ν(X,E)Σ\ :sub:`f`\ (X,E), yields the following equation,
+which is solved by KENO V in the continuous energy mode:
+
+.. _ first equation says chapter 9
+
+.. math::
+ :label: eq8111
+
+ {\frac{{\nu\left( X,E \right)\text{ Σ}}_{f}\left( X,E \right)}{\Sigma_{t}\left( X,E \right)}\Sigma_{t}\left( X,E \right)\Phi_{n}\left( X,E,\Omega \right) = \frac{{\nu\left(X,E \right)\text{ Σ}}_{f}\left( X,E \right)}{\Sigma_{t}\left(X,E \right)}\Sigma_{t}\left( X,E \right)\int_{0}^{\infty}{\text{dR }e^{ T\left( R\right)}}}
+
+ {{\left\{ \ \frac{1}{k}\int_{E^{'}}^{}{\int_{\Omega^{'}}^{}\frac{{\nu\left( X  R\Omega,E^{'} \right)\text{ Σ}}_{f}\left( X  R\Omega,E^{'} \right)}{\text{ Σ}_{t}\left( X  R\Omega,E^{'} \right)}\chi\left( X  R\Omega,E^{'} \rightarrow E \right)\text{ Σ}_{t}\left( X  R\Omega,E^{'} \right)}\Phi_{n  1}\left( X  R\Omega,E^{'},\Omega^{'}\right)dE^{'}\frac{d\Omega^{'}}{4\pi} \right.\ }
+
+ {\left. \ + \int_{E^{'}}^{}{\int_{\Omega^{'}}^{}\frac{\Sigma_{s}\left( X  R\Omega,E^{'} \rightarrow E,\Omega^{'} \cdot \Omega \right)}{\text{ Σ}_{t}\left( X R\Omega,E^{'} \right)}\text{ Σ}_{t}\left( X  R\Omega,E^{'} \right)}\Phi_{n}\left(X  R\Omega,E^{'},\Omega^{'} \right)dE^{'}d\Omega^{'} \right\},}}
+
+where n indicates the n\ *th* generation and n − 1 is the (n − 1)\ *th*
+generation. Note that the lefthand side of the equation, ν(X,E)
+Σ\ :sub:`f`\ (X,E)Φ\ :sub:`n`\ (X,E,Ω) is the fission production for the
+n\ *th* generation.
+
+The solution strategy used by KENO solves :eq:`eq8111` by using an
+iterative procedure. The fission production at point X at energy point E
+due to neutrons in the (n − 1)\ *th* generation, normalized to the
+system multiplication, is
+
+.. math::
+
+ \frac{1}{k}\int_{E^{'}}{}\int_{\Omega^{'}}{}\frac{\nu(X,E^{'})\Sigma_{f}(X,E^{'})}{\Sigma_{t}(X,E^{'})}\chi(X,E^{'}\rightarrow E)\Sigma_{t}(X,E)\Phi_{n1}(X,E^{'}\Omega^{'})dE^{'}\frac{d\Omega^{'}}{4\pi}
+
+The collision points used in KENO are chosen by selecting path lengths
+from the distribution
+
+e\ :sup:`−T(R)` ,
+
+which is the probability of transport from any position X − RΩ to
+position X.
+
+The first collision density of neutrons at energy E per unit solid angle
+about Ω resulting from the fission source produced by the (n − 1)
+generation, normalized to the system multiplication, is
+
+.. math::
+
+ \Sigma_{t}(X,E)\int_{0}^{\infty}dRe^{T(R)}\frac{1}{k}\int_{\Omega^{'}}^{}\int_{E^{'}}^{}\frac{\nu(XR\Omega,E^{'})\Sigma_{f}(XR\Omega,E^{'})}{\Sigma_{t}(XR\Omega,E^{'})}
+
+ \chi(X  R\Omega, E^{'}\rightarrow E)\Sigma_{t}(X  R\Omega,E^{'})\Phi_{n1}(XR\Omega,E^{'},\Omega^{'})dE^{'}\frac{d\Omega^{'}}{4\pi}
+
+The scattering source at position X emerging at energy E and direction :math:`\Omega` resulting from previous collisions in the same generation, is
+
+.. math::
+
+ \int_{E^{'}}^{}{\int_{\Omega^{'}}^{}{\frac{\Sigma_{s}\left( X,E^{'} \rightarrow E,\Omega^{'} \cdot \Omega \right)}{\Sigma_{t}\left( X,E^{'} \right)}\Sigma_{t}\left( X,E^{'} \right)\Phi_{n}\left( X,E^{'},\Omega^{'} \right)}}d\Omega^{'}dE^{'}
+
+The collision density at energy E, per solid angle about :math:`\Omega` is
+
+.. math::
+
+ \Sigma_{t}\left( X,E \right)\int_{0}^{\infty}{\text{dR }e^{ T\left( R \right)}}\int_{E^{'}}^{}{\int_{\Omega^{'}}^{}{\frac{\Sigma_{s}\left( X  R\Omega,E^{'} \rightarrow E,\Omega^{'} \cdot \Omega \right)}{\Sigma_{t}\left( X  R\Omega,E^{'} \right)}\Sigma_{t}\left( X  R\Omega,E^{'}\right)\Phi_{n}\left( X  R\Omega,E^{'},\Omega^{'} \right)}}d\Omega^{'}dE^{'}
+
+The total collision density times :math:`\frac{\nu_{g}(X)\Sigma_{fg}(X)}{\Sigma_{tg}(X)}` is the relationship from which KENO picks the source points for the next generation.
+
+.. _81621:
+
+Problem initialization
+^^^^^^^^^^^^^^^^^^^^^^
+
+In order to use continuous energy cross sections in the random walk,
+various initialization tasks must be addressed for each problem. Based
+on the mixture specifications for a problem, KENO reads the microscopic
+cross section data for each nuclide and dynamically allocates storage
+for the particular problem. For continuous energy problems, if
+**UUM=**\ no then KENO will not allocate macroscopic cross sections for
+each material, and will instead use the master set of microscopic cross
+section data (on a nonunionized energy grid). This is the default
+behavior. Storing cross sections on a materialbased unionized energy
+grid (**UUM=**\ yes) results in smaller cross section lookup times and
+faster KENO runtimes; however, storing unionized cross section data for
+every material can require a prohibitively large amount of memory for
+problems with a large number of materials. Users should therefore only
+set **UUM**\ =yes for relatively small models; experience is the best
+guide as to what “small” means with respect to available system
+resources. After finishing the cross section processing, KENO reads the
+userspecified KENO data (See Sect. ) and stores the problemdependent
+data for retrieval during the random walk. After the data initialization
+tasks are complete, the Monte Carlo random walk can be performed
+according to the procedures that are documented in the subsequent
+sections.
+
+.. _81622:
+
+Initial source distribution
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Before the Monte Carlo simulation can be performed, the initial source
+distribution of neutrons must be sampled. Typically, each mixture in a
+problem is composed of multiple isotopes, and each mixture must be
+checked for the presence of fissionable material. For each fissionable
+mixture, the volume fraction of fissionable material must be calculated
+on a per isotope basis.
+
+The first source distribution is comprised of the initial spatial
+coordinates, direction cosines and energy for each neutron within the
+problem. Regarding the coordinate values, both continuous energy and
+multigroup KENO use the same start types, and the initial angular
+distribution is sampled from an isotropic distribution. For the initial
+energy distribution, the energy of each neutron must be sampled from the
+continuous energy fission spectrum, χ(\ *E*), of a fissionable isotope
+within the mixture. If more than one fissionable isotope is present, the
+*i*\ :sup:`th` isotope can be selected using the following relation:
+
+.. math::
+ :label: eq8112
+
+ \sum^{i1}_{j=1}\Sigma^{j}_{f} < R\sum^{N}_{j=1}\Sigma^{j}_{f} \leq \sum^{i}_{j=1}\Sigma^{j}_{f}
+
+where
+
+ :math:`\sum^{j}_f` = macroscopic fission cross section for the *j*\ :sup:`th`
+ isotope,
+
+ *R* = random number [0, 1),
+
+ *N* = total number of fissionable isotopes in the mixture.
+
+Note that the relation in :eq:`eq8112` requires the knowledge of the fission
+cross section at a particular energy. Therefore, an initial energy of
+0.025 eV is assumed for selecting the appropriate isotope to sample.
+Once the *i*\ :sup:`th` isotope is selected, the initial energy is
+sampled from the corresponding χ\ :sub:`i`\ (*E*).
+
+.. _81623:
+
+Collision site selection
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+Each neutron must be tracked until the history is terminated via leakage
+from the system or the particle is “killed” via roulette. The selection
+of the next collision site is governed by the following probability
+density function (PDF):
+
+.. math::
+ :label: eq8113
+
+ f(x)dx = \Sigma^{m}_{t}(E)e^{\Sigma^{m}_{t}(E)x}dx ,
+
+where
+
+ :math:`\Sigma^{m}_{t}(E)` = macroscopic total cross section for mixture *m* at
+ energy *E*,
+
+ *x* = spatial variable.
+
+The PDF in :eq:`eq8113` describes the probability that a neutron will have an
+interaction between *x* and *x* + *dx* along its flight path.
+Integrating :eq:`eq8113` over the spatial variable yields the following
+cumulative distribution function (CDF):
+
+.. math::
+ :label: eq8114
+
+ F(x) = \int^{x}_{0}\Sigma^{m}_{t}(E)e^{\Sigma^{m}_{t}(E)x^{'}}dx^{'} = 1  e^{\Sigma^{m}_{t}(E)x} ,
+
+and the next collision site is determined by setting the CDF in :eq:`eq8114`
+equal to a random number on the interval [0, 1) and solving for *x*.
+
+Note that :eq:`eq8114` requires the total cross section for mixture *m* at
+energy *E* in order to calculate the next collision site. As mentioned
+in the :ref:`81621`, KENO has two approaches to calculate the
+macroscopic total cross section for each mixture; (1) use a unionized
+energy grid (**UUM=**\ yes) – once KENO reads the microscopic data for
+each isotope/nuclide in a mixture, KENO calculates and stores the
+macroscopic total cross sections for the nuclides in each mixture (2)
+onthefly mixture macroscopic cross section calculation (**UUM=**\ no)
+– KENO does not store macroscopic cross sections and instead calculates
+mixture cross sections upon request during particle tracking. Selecting
+**UUM**\ =yes results in substantially increased memory usage for
+problems with a large number of materials, making it impossible to
+perform CE calculations for some detailed problems. Thus, it is highly
+recommended to use **UUM**\ =no, the default setting, for the large
+problems with multiple mixture definitions. For most cases selecting
+**UUM**\ =no increases the runtime for KENO CE calculations by
+approximately 17 %, but this feature also expands the code’s capability
+to simulate very large problems with multiple mixture configurations.
+
+Just as the **UUM** option allows the user to prevent KENO from storing
+mixture cross sections on a unionized energy grid, the **M2U** option
+toggles whether or not KENO stores cross sections on a unionized energy
+grid for each individual nuclide. The default for this option is
+**M2U=**\ no, which prevents the storage of all the transport cross
+sections (i.e. inelastic scattering levels) for each nuclide in addition
+to the major reactions that are already on the unionized energy grid
+(i.e. total, fission, capture, and scatter) on an energy grid that is
+unionized for that nuclide, and setting **M2U=**\ yes activates this
+unionization and storage. **M2U=**\ no reduces the nuclear data memory
+footprint of large models by several gigabytes, but it also increases
+the runtime of these problems by several percent. It is encouraged to
+investigate both **UUM** and **M2U** options in continuous energy
+problems to optimize the runtime and memory depending on the user’s
+models and applications. In the continuous energy depletion
+calculations, **UUM** parameter is intentionally forced to “no” to
+minimize the memory requirement of internal data storage. The cross
+section storage and treatment options should be used consistently in
+both validation and analysis calculations.
+
+
+If any of the isotopes in the mixture have unresolvedresonance data and
+corresponding probabilitytable data, KENO must determine if the neutron
+energy is in the unresolved resonance range (URR) for each isotope
+during the random walk. If the neutron energy is in the URR for an
+isotope, the appropriate probability table must be sampled to obtain the
+total cross section for each isotope (refer to :ref:`81621` for sampling
+probability tables). Subsequently, the macroscopic total cross section
+for mixture *m* is adjusted to account for sampling the probability
+tables. Once the revised Σ\ :sub:`t`\ :sup:`m`\ (*E*) is determined,
+:eq:`eq8114` can be used to select the next collision site within mixture *m* at
+energy *E*.
+
+.. _81624:
+
+Collision treatment
+^^^^^^^^^^^^^^^^^^^
+
+Once the collision site is determined, the collision can be modeled, and
+the post collision parameters can be calculated. In the continuous
+energy approach, each collision is modeled with an individual
+isotope/nuclide. If a mixture is defined by multiple isotopes and/or
+nuclides, the target must be selected at each collision site. If there
+are *N* different isotopes/nuclides present in a mixture, the following
+equation can be used to select the *i*\ :sup:`th` target for
+interaction:
+
+.. math::
+ :label: eq8115
+
+ \sum^{i1}_{j=1}\Sigma^{j}_{t} < R \sum^{N}_{j=1}\Sigma^{j}_{t} \leq \sum^{i}_{j=1}\Sigma^{j}_{t} ,
+
+where,
+
+ :math:`Σ^{j}_{t}` = macroscopic total cross section for the *j*\ :sup:`th`
+ isotope/nuclide.
+
+As noted in :ref:`81622` and :ref:`81623`, the collision energy may be in the
+URR of one or more isotopes within the mixture. Consequently, the total
+cross section for each isotope that has unresolvedresonance data is
+sampled from the probability table information prior to selecting the
+next collision site (see discussion in :ref:`81621`). Subsequently, the
+sampled values for the total and partial reactions are stored for
+retrieval. Therefore, the macroscopic total cross section values that
+are used in :eq:`eq8115` are adjusted to account for sampling the probability
+table data by retrieving the appropriate microscopic total cross section
+value at energy *E*. Once the corrected values for Σ\ *t\ j*\ (*E*) are
+determined, :eq:`eq8115` can be used to select the target for interaction.
+
+After selecting the collision target, the neutron’s weight is reduced by the nonabsorption probability:
+
+.. math::
+ :label: eq8116
+
+ w = \frac{\sigma^{i}_{s}(E)}{\sigma^{i}_{t}(E)}w_{b} = P_{nabs}(E)w_{b} ,
+
+where
+
+ :math:`\sigma^{i}_{s}(E)` = microscopic scattering cross section for the
+ *i*\ :sup:`th` isotope/nuclide at energy *E*,
+
+ :math:`\sigma^{i}_{t}(E)` = microscopic total cross section for the
+ *i*\ :sup:`th` isotope/nuclide at energy E,
+
+ *w\ b* = weight before collision.
+
+The absorption and fission weights are calculated using the following relations, respectively:
+
+.. math::
+ :label: eq8117
+
+ w_{a} = \frac{\sigma^{i}_{a}(E)}{\sigma^{i}_{t}(E)}w_b ,
+
+where
+
+ :math:`\sigma^{i}_{a}(E)` = microscopic absorption cross section for the *i*\ :sup:`th` isotope/nuclide at energy *E*,
+
+and
+
+.. math::
+ :label: eq8118
+
+ w_f = \frac{\bar{\nu}^{i}(E)\sigma^{i}_{f}(E)}{\sigma^{i}_{t}(E)}w_b ,
+
+:math:`\bar{\nu}^i` = average number of neutrons released per fission at energy *E*,
+
+:math:`\sigma^{i}_{f}(E)` = microscopic fission cross section for the *i*\ :sup:`th` isotope/nuclide at energy *E*.
+
+If the collision isotope is in the URR at energy *E* and probability
+table data are available, the collision probabilities must be adjusted
+for sampling the partial reactions from the appropriate probability
+table. In particular, the revised or sampled values for scattering,
+absorption and fission must be used to calculate the collision weights
+as defined by :eq:`eq8116` through :eq:`eq8118`. Depending on the neutron’s weight, splitting
+and/or Roulette are performed as necessary. Once the appropriate weights
+are calculated, the collision can be processed to determine the type of
+interaction and the corresponding exiting energy and angle if secondary
+neutrons are generated.
+
+Because an explicit collision treatment is dictated by the point cross
+section data, the type of reaction must be modeled explicitly in the
+continuous energy version of KENO. :numref:`fig81196` summarizes the cross section
+hierarchy and can be used as an aide to understanding the collision
+treatment in KENO in continuous energy mode. After selecting the
+isotope/nuclide for interaction according to :eq:`eq8115` and calculating the
+weights using :eq:`eq8116` through :eq:`eq8118`, the collision is modeled using the following
+procedures:
+
+1. At each collision site, ensure that the type of collision is
+ selected based on the cross section data. Moreover, the
+ *k*\ :sup:`th` reaction can be randomly selected using the following
+ relation:
+
+ .. math::
+ :label: eq8119
+
+ \sum^{k1}_{j=1}\sigma_{j} < R\sum^{NI}_{j=1}\sigma_{j} < \sum^{k}_{j=1}\sigma_{j} ,
+
+ where
+
+ :math:`\sigma_{j}(E)` = cross section for the *j*\ :sup:`th` reaction,
+
+ *NI* = number of elastic and nonelastic reactions (i.e., excludes
+ neutron disappearance reactions).
+
+ Note that the fission reactions (e.g., first chance fission, second
+ chance fission, etc.) are excluded from :eq:`eq8119` because an implicit
+ approach is used to treat fission. The details of the fission
+ treatment are provided in :ref:`81625`. If a neutron production reaction
+ with multiple exit neutrons such as (n, 2n), (n, 3n) is selected and
+ the reaction is not a fission reaction, then the weight of the
+ neutron is adjusted by the multiplicity to account for the additional
+ neutrons, such as *w* = 2\ *w* for (n, 2n), *w* = 3\ *w* for (n, 3n).
+
+ .. _fig81196:
+ .. figure:: figs/Keno/fig196.png
+ :align: center
+ :width: 600
+
+ Cross section hierarchy for particle interactions.
+
+2. Select the exiting angle for the collision. The cross section
+ library provides a kinematics data block that provides the angle and
+ energy distributions of secondary particles for a specified reaction.
+ Each record for each section of a reaction provides a flag (NPU)
+ indicating the number of secondary angles for that energy. If the NPU
+ flag is 1 and the corresponding cosine value is 2 (set as a
+ programming flag), then the reaction is isotropic. The exiting angle
+ for the collision can be obtained as follows:
+
+ i. Isotropic Emission
+
+ If the LAND flag is 0 for the secondary angular distribution, the
+ exiting angle cosine is sampled uniformly between −1 and +1:
+
+ .. math::
+ :label: eq8120
+
+ \mu = 2R  1
+
+
+ If the LAND flag is 1 for the secondary angular distribution, the
+ exiting angle cosine must be sampled from an anisotropic distribution
+ provided in the cross section library for the specified reaction.
+ Details for sampling the exiting angle from the angular distribution
+ data are provided in :ref:`81626`.
+
+ The secondary angular distribution data are provided as a function of
+ incident energy. The initial record of each section for a reaction
+ provides the number of incident energies (*NE*) for the secondary
+ angular and energy distributions. Corresponding to each incident
+ energy is a secondary angular distribution. Therefore, there will be
+ *NE* records used to describe the secondary angular data for each
+ section.
+
+ For each angular distribution record, there is an *LMU* flag and a
+ *NPU* flag that describes the format of the data. The *LMU* flag
+ designates whether the secondary distribution is provided in
+ equiprobable cosine bins or in nonequiprobable cosine bins. The
+ procedures for sampling the two types of data are provided in :ref:`81627`.
+ The *LMU* flag must be the same for all *NE* records within a
+ section. The *NPU* flag specifies the number of cosine values in the
+ distribution.
+
+ Based on the incident energy of the neutron, the angular distribution
+ data are sampled according to the procedures of :ref:`81627` to obtain the
+ exiting angle cosine, *μ*, in the lab system.
+
+3. Select the exiting energy for the collision. In addition to the
+ angular distributions of the kinematics data, the cross section
+ library provides the energy distributions of secondary particles for
+ a specified reaction.
+
+ The secondary energy distributions are provided as a function of
+ incident energy and secondary angle cosine in each section. Once the
+ exiting angle cosine is selected, the exiting energy is selected from
+ the energy distribution that corresponds to the (*E*, \ *μ*) pair.
+ The exit energy is determined using the procedures of :ref:`81627`.
+
+ For each energy distribution record, there is an *LE* flag and an
+ *NPE* flag describing the format of the data. The *LE* flag
+ designates whether the secondary distribution is provided in
+ equiprobable energy bins or in nonequiprobable energy bins. The
+ procedures for sampling the two types of data are provided in :ref:`81627` .
+ Note that the *LE* flag must be the same for all *NE* records within
+ a section for the secondary energy distribution data. The *NPE* flag
+ specifies the number of secondary energy values in the distribution.
+ For elastic scattering and discretelevel inelastic scattering, the
+ *NPE* flag will equal the *NPU* flag due to the onetoone
+ correspondence between angle and energy.
+
+4. Select the azimuthal angle η uniformly between 0. and 2π (i.e., η
+ = 2\ *Rπ*).
+
+5. Calculate the new direction cosines in the lab system using the
+ following equations:
+
+ .. math::
+ :label: eq8121
+
+ u^{'} = u\mu  \sqrt{\nu^{2}+w^{2}} \sqrt{1\mu^{2}}\text{cos}(\eta)
+
+ .. math::
+ :label: eq8122
+
+ \nu^{'} = \nu \mu + \frac{u\nu}{\sqrt{\nu^{2}+w^{2}}}\text{cos}(\eta)\sqrt{1\mu^{2}}  \frac{w}{\sqrt{\nu^{2}+w^{2}}}\sqrt{1\mu^{2}}\text{sin}(\eta)
+
+ .. math::
+ :label: eq8123
+
+ w^{'} = w\mu + \frac{uw}{\sqrt{\nu^{2}+w^{2}}}\text{cos}(\eta)\sqrt{1\mu^{2}} + \frac{v}{\sqrt{\nu^{2}+w^{2}}}\sqrt{1\mu^{2}}\text{sin}(\eta)
+
+ where
+
+ *u*, :math:`v`, and *w* = initial direction cosines,
+
+ *u′*, :math:`v^{'}`, and *w′* = exiting direction cosines,
+
+ *μ* = cosine of the scattering angle, and
+
+ η = cosine of the azimuthal angle.
+
+.. _81625:
+
+Fission treatment
+^^^^^^^^^^^^^^^^^
+
+As noted in the previous section, an implicit approach is used to treat
+a fission event. During the collision treatment, the fission weight is
+calculated using :eq:`eq8118`. After processing the collision, the fission
+weight is evaluated to determine if the fission treatment should be
+applied. If the fission weight is greater than zero, the collision
+occurred in fissile material. During the random walk, several fission
+source points must be generated to provide an adequate representation of
+the true source distribution. A minimum production factor is defined at
+the beginning of each generation to ensure that enough fission points
+are generated:
+
+.. math::
+ :label: eq8124
+
+ mpf = \frac{3.0\bar{k}}{\sqrt{FG}} ,
+
+where
+
+ :math:`\bar{k}` = running average of :math:`k_{eff}` through the current generation, and
+
+ *FG* = number of histories per generation.
+
+:eq:`eq8124` represents an estimate of the 99% lower confidence interval for the distribution of the generation keffective.
+
+If the fission weight is greater than zero, a pseudofission weight is calculated as follows:
+
+.. math::
+ :label: eq8125
+
+ pfw = \frac{w_{f}}{R} = \frac{\nu^{i}(E)\sigma^{i}_{f}(E)}{R\sigma^{i}_{t}(E)}w_{b} .
+
+If the pseudofission weight is less than the minimum production factor
+given by :eq:`eq8124` fission points are not generated and tracking of the
+particle continues. However, if the pseudofission weight is greater
+than the minimum production factor, *pfw* is redefined to be the minimum
+production factor divided by a random number:
+
+.. math::
+ :label: eq8126
+
+ pfw = \frac{mpf}{R}
+
+Once the pseudofission weight is redefined, a fission point can be
+generated. Each time a fission point is generated, the pseudofission
+weight is stored with the point in the fission bank. When a new point is
+stored in the fission bank, the energy and angular cosine must be
+selected from the kinematics data. Once the kinematics data are sampled
+for the new fission point, the fission weight of the history is
+decremented by the minimum production factor. If the remaining fission
+weight is greater than zero, the fission treatment procedures are
+repeated until the fission weight of the history has been exhausted
+(i.e., *w*\ :sub:`f` ≤ 0).
+
+.. _81626:
+
+Sampling details
+^^^^^^^^^^^^^^^^
+
+The preceding sections describe the procedures for the continuous energy
+random walk for KENO. During the random walk, KENO must sample various
+tables of data that may include probability tables and angleenergy distributions
+for secondary particles.
+
+.. _816261:
+
+Probability tables
+..................
+
+
+For each isotope with unresolved resonance data, multiple probability
+tables may be used to describe the URR. The header block for each
+isotope has an LPTAB flag that provides the number of probability tables
+for an isotope. Each table is defined for a range of incident energies
+between *E*\ :sub:`i` and *E*\ :sub:`i+1`, and the energy range for a table should not
+overlap with another table for the isotope. For a particle with energy
+*E*, a search must be performed to find the probability table with
+energy bounds that bracket the particle energy (i.e., *E*\ :sub:`i` ≤ *E* <
+*E*\ :sub:`i+1`). Once the appropriate table is identified, the table can be
+sampled to obtain the total, elastic scattering, fission and capture
+cross section values in the URR.
+
+The probability table block provides four separate records that
+correspond to each reaction within a table; however, the probability
+table construction is based on the total cross section. Therefore, the
+probabilities in each table refer to the total cross section band
+values, and the bands should be sampled based on the total cross
+section. Once the band is sampled, the corresponding partial reaction
+cross section values are selected from the same band as the total
+cross section. The cross section format permits the probability table to
+be expressed in equiprobable or nonequiprobable cross section bands
+(i.e., LBND = 0 or 1, respectively). The procedures for sampling both
+types of tables are provided in the subsequent subsections.
+
+.. _816262:
+
+Equiprobable cross section bands
+................................
+
+Each probability record has an NB parameter that designates the number
+of cross section bands for a table. If the table is constructed with
+equiprobable cross section bands, the *k*\ :sup:`th` band can be
+selected as follows:
+
+.. math::
+ :label: eq8127
+
+ k = NB \ ^{\ast} R + 1
+
+where
+
+ *R* = random number [0., 1).
+
+
+Based on the sampled cross section band, the total cross section
+corresponding to *k*\ :sup:`th` band is extracted from the table.
+Likewise, the elastic scattering, fission and capture cross section
+values that correspond to the *k*\ :sup:`th` band are also extracted
+from their respective records in the probabilitytable block.
+
+.. _816263:
+
+Nonequiprobable cross section bands
+...................................
+
+If the LBND flag is 1, the cross section bands in the table are not
+equiprobable, and a different procedure must be used to sample the
+appropriate cross section band. For this case, the probability values in
+the table must be constructed as a cumulative distribution function. As
+noted previously, each probability record has an NB parameter that
+designates the number of cross section bands for a table, and the
+*k*\ :sup:`th` band can be selected as follows:
+
+.. math::
+ :label: eq8128
+
+ \sum^{k1}_{j=1}P_{j} < R\sum^{NB}_{j=1}P_{j} \leq \sum^{k}_{j=1}P_{j} ,
+
+where
+
+ *P*\ :math:`j` = probability corresponding to the j\ :sup:`th` cross section
+ band.
+
+Based on the sampled cross section band, the total cross section
+corresponding to the *k*\ :sup:`th` band is extracted from the table.
+Likewise, the elastic scattering, fission and capture cross section
+values that correspond to the *k*\ :sup:`th` band are also extracted
+from their respective records in the probabilitytable block.
+
+.. _81627:
+
+Kinematics data
+^^^^^^^^^^^^^^^
+
+The kinematics data in the KENO library are provided in the lab or
+targetatrest system as opposed to the centerofmass system. By
+adhering to the lab coordinate system, KENO does not have to transform
+between different coordinate systems during the random walk; however,
+the energy and angle representations for elastic and discretelevel
+inelastic scattering become more complex in the lab system. For example,
+an angular distribution that is isotropic in the centerofmass system
+is anisotropic in the lab system. Moreover, the secondary energy
+distribution as a function of exit angle in the lab system can be double
+valued (i.e., two possible exit energies with respect to a single angle)
+for energies above the threshold for the reaction. Likewise, a similar
+double valued distribution is observed for elastic scattering with
+hydrogen in the lab system if the actual mass ratio is used (i.e.,
+*A* = 0.99928 as opposed to *A* = 1.0). Consequently, special care must
+be exercised in the construction of the secondary angle and energy
+distributions in the lab system.
+
+The subsequent sections address the general procedures for sampling the
+kinematics data with emphasis on the special cases that must be
+addressed during the random walk. In :ref:`816271`, the general
+procedures for sampling the kinematics data are provided,
+:ref:`816274` discusses isotropic angular data with energy coupling,
+while :ref:`816275` discusses coherent and incoherent elastic
+scattering. A discussion is also provided in :ref:`816276` to
+describe the elastic and discretelevel inelastic treatment.
+
+.. _816271:
+
+General procedures
+..................
+
+The kinematics data format is designed to accommodate coupled angle
+energy distributions of secondary particles. The following discussion
+provides the procedures for sampling the coupled distributions. Special
+cases such as elastic and discrete level inelastic scattering are
+discussed after the “General Procedures” section.
+
+The sampling procedures in the following sections assume that the angle
+and energy distributions are continuous in nature. As a result,
+interpolation procedures can be used to obtain intermediate angle or
+energy values between the tabulated angle or energy values. During the
+course of KENO development, there may be a need to provide an average
+angle or energy value for a bin. The kinematics format can be modified
+as needed to accommodate additional angle and energy representations.
+Therefore, the following procedures represent the anticipated approach
+for sampling the current form of the kinematics data.
+
+.. _816272:
+
+Exit angle cosine
+.................
+
+The first record for each reaction provides the number of sections
+(NSECT) used to describe the kinematics for the reaction. Within each
+section, the first record defines the incident energy range for the
+section. After the first record for a section, the first block of data
+provides the secondary angular distributions for *NE* different incident
+energies within the energy range of the section. Consequently, there
+will be *NE* different angular distribution records in the secondary
+angle cosine block. The kinematics format permits the anisotropic
+angular distributions to be expressed in either equiprobable or
+nonequiprobable cosine bins (i.e., LMU = 0 or 1, respectively).
+Moreover, the formats permit the number of cosine bins to vary as a
+function of incident energy. In particular, each cosine distribution
+record can have *NPU* secondary angles that correspond to *NPU* − 1
+cosine bins.
+
+**Equiprobable Cosine Bins.** If the incident energy, *E*, is between
+*E*\ :sub:`i` and *E*\ :sub:`i+1`, the angle cosine is sampled in both
+tables, and the exit angle cosine is obtained by interpolating between
+the two tables. If the angular distribution is provided in equiprobable
+cosine bins, the *a*\ :sup:`th` bin is selected from the *i*\ :sup:`th`
+table as follows:
+
+.. math::
+ :label: eq8129
+
+ a = (NPU_{i}  1) \ ^{\ast} R_{1} + 1 = NA_{i} \ast R_{1} + 1 .
+
+In :eq:`eq8129` *a* denotes an integer quantity, and *NA*\ :sub:`i` is the number of
+cosine bins for the *i*\ :sup:`th` table. Using a similar procedure, the
+*b*\ :sup:`th` bin is selected from the *i*\ +1\ :sup:`st` table:
+
+.. math::
+ :label: eq8130
+
+ b = NA_{i+1} \ ^{\ast} R_{1} + 1
+
+As noted for the *i*\ :sup:`th` table, *b* is an integer quantity in
+Eq. and *NA*\ :sub:`i+1` is the number of cosine bins for the
+*i*\ +1\ :sup:`st` table. Once the cosine bins are selected, the cosine
+of the exiting angle from the *i*\ :sup:`th` and *i*\ +1\ :sup:`st`
+tables is calculated with :eq:`eq8131` and :eq:`eq8132`, respectively:
+
+.. math::
+ :label: eq8131
+
+ {\dot{\mu}}_{i} = \mu_{ia} + \left( a  NA_{i}*R_{1} \right)\left( \mu_{ia + 1}  \mu_{ia} \right) ,
+
+.. math::
+ :label: eq8132
+
+ {\dot{\mu}}_{i + 1} = \mu_{i + 1b} + \left( b  NA_{i + 1}*R_{1} \right)\left( \mu_{i + 1b + 1}  \mu_{i + 1b} \right) .
+
+The exiting angle cosine is obtained by interpolating between *i* and
+*i*\ +1 based on the incident energy grid:
+
+.. math::
+ :label: eq8133
+
+ \ \mu = {\dot{\mu}}_{i} + \left( \frac{E  E_{i}}{E_{i + 1}  E_{i}} \right)\left( {\dot{\mu}}_{i + 1}  {\dot{\mu}}_{i} \right).
+
+**Nonequiprobable Cosine Bins.** If the angular distribution is in the
+form of nonequiprobable cosine bins, the *a*\ :sup:`th` bin is selected
+from the cumulative distribution function for the *i*\ :sup:`th` table:
+
+.. math::
+ :label: eq8134
+
+ C_{ia  1} < R_{1} \leq C_{ia}\ ,
+
+where
+
+ *C*\ :math:`_{ia1}` = cumulative probability corresponding to the :math:`a1^{st}` cosine bin,
+
+ *C*\ :math:`_{ia}` = cumulative probability corresponding to the :math:`a^{th}` cosine bin,
+
+Using a similar procedure, the *b*\ :sup:`th` bin is selected from the
+*i*\ +1\ :sup:`st` table:
+
+.. math::
+ :label: eq8135
+
+ C_{i + 1b  1} < R_{1} \leq C_{i + 1b}\ ,
+
+where
+
+ :math:`C_{ib1}` = cumulative probability corresponding to the :math:`b  1^{st}` cosine bin,
+
+ :math:`C_{ib}` = cumulative probability corresponding to the :math:`b^{th}` cosine bin.
+
+If the cosine bins are not equiprobable and the PDF is represented by a
+continuous distribution, the bins are selected so that linear
+interpolation can be performed in the PDF. Because the CDF is obtained
+by integrating the PDF, the interpolation procedure for the CDF has a
+quadratic form. The value for :math:`{\dot{\mu}}_{i}` is obtained with
+the following equation:
+
+.. math::
+ :label: eq8136
+
+ {\dot{\mu}}_{i} = \mu_{ia} + \frac{\sqrt{P_{ia}^{2} + 2s_{i}(R_{1}  C_{ia  1})}  P_{ia}}{s_{i}}\ ,
+
+and
+
+.. math::
+ :label: eq8137
+
+ s_{i} = \frac{P_{ia + 1}  P_{ia}}{\mu_{ia + 1}  \mu_{ia}}\ ,
+
+where
+
+ :math:`P_{ia}` = value of the PDF corresponding to the lower boundary of the :math:`a^{th}` cosine bin in the distribution for :math:`E_{i}`, and
+
+ :math:`P_{ia+1}` = value of the PDF corresponding to the upper boundary of the :math:`a^{th}` cosine bin in the distribution for :math:`E_{i}`.
+
+Likewise, the equation for :math:`{\dot{\mu}}_{i + 1}` is obtained using
+an equation that is similar to :eq:`eq8136`
+
+.. math::
+ :label: eq8138
+
+ {\dot{\mu}}_{i + 1} = \mu_{i + 1b} + \frac{\sqrt{P_{i + 1b}^{2} + 2s_{i + 1}(R_{1}  C_{i + 1b  1})}  P_{i + 1b}}{s_{i + 1}},
+
+and
+
+.. math::
+ :label: eq8139
+
+ s_{i + 1} = \frac{P_{i + 1b + 1}  P_{i + 1b}}{\mu_{i + 1b + 1}  \mu_{i + 1b}} ,
+
+where
+
+ :math:`P_{i + 1b}` = value of the PDF corresponding to the lower value of the :math:`b^{th}` cosine bin in the distribution for :math:`E_{i+1}`, and
+
+ :math:`P_{i + 1b + 1}` = value of the PDF corresponding to the upper value of the :math:`b^{th}` cosine bin in the distribution for :math:`E_{i+1}`.
+
+The exiting angle cosine is obtained by interpolating between
+:math:`{\dot{\mu}}_{i}` and :math:`{\dot{\mu}}_{i + 1}` based on the
+incident energy using :eq:`eq8133`.
+
+.. _ last eq says chapter 9
+
+.. _816273:
+
+Exit energy
+...........
+
+In the kinematics data block, each incident energy has a secondary
+distribution of *NPU* angle cosines. Therefore, there are *NPU*
+(*E*, \ *μ*) pairs associated with each incident energy. For each
+(*E*, \ *μ*) pair, there is a corresponding exit energy distribution
+that can have *NPE* exit energies. Because the kinematics data are
+tabulated in a coupled angleenergy format, the exit energy is obtained
+by a 2D interpolation as shown in :numref:`fig81197`.
+
+The objective of the sampling procedure is to sample the exit energy
+*E′* in conjunction with the sampled angle cosine. Therefore, the
+interpolation for the exit energy is performed with an equation that is
+analogous to :eq:`eq8133`:
+
+.. _ last eq says chapter 9
+
+.. math::
+ :label: eq8140
+
+ E^{'} = E^{'}_{i} + \bigg(\frac{E  E_{i}}{E_{i+1}  E_{i}}\bigg) (E^{'}_{i + 1}  E^{'}_{i})
+
+Based on :eq:`eq8140`, the values of *E′\ i* and *E′\ i+*\ :sub:`1` must
+be obtained in order to calculate the exit energy for the collision. The
+*a*\ :sup:`th` and *b*\ :sup:`th` cosine bins are selected according to
+the procedures in :ref:`816271` from tables
+*i* and *i*\ +1, respectively. As a result, the secondary energy
+distributions corresponding to the *a*\ :sup:`th` and *b*\ :sup:`th`
+cosine bins must be used to sample the exit energies from tables *i* and
+*i*\ +1. The details for sampling the energy bins are deferred for the
+moment. Once the appropriate energy bins are sampled from the two
+tables, the interpolation for :math:`E^{'}_{i}` and :math:`{E_{i+1}` is obtained
+with the following equations:
+
+.. math::
+ :label: eq8141
+
+ E_{i}^{'} = E_{ia}^{'} + \left( \frac{{\dot{\mu}}_{i}  \mu_{ia}}{\mu_{ia + 1}  \mu_{ia}} \right)\left( E_{ia + 1}^{'}  E^{'}_{ia} \right)\ ,
+
+.. math::
+ :label: eq8142
+
+ E_{i + 1}^{'} = E_{i + 1b}^{'} + \left( \frac{{\dot{\mu}}_{i + 1}  \mu_{i + 1b}}{\mu_{i + 1b + 1}  \mu_{i + 1b}} \right)\left( E_{i + 1b + 1}^{'}  E_{i + 1b}^{'} \right) .
+
+.. _fig81197:
+.. figure:: figs/Keno/fig197.png
+ :align: center
+ :width: 600
+
+ Interpolation diagram for secondary angleenergy data.
+
+Based on :eq:`eq8141` and :eq:`eq8142` the values for :math:`E^{'}_{ia}`, :math:`E^{'}_{ia + 1}`, and
+:math:`E^{'}_{ia + 1 b+1}`are needed to
+calculate :math:`E^{'}_{i}` and :math:`E^{'}_{i+1}`. The values for :math:`E^{'}_{ia}`
+and :math:`E^{'}_{ia + 1}`correspond to secondary energies that are coupled
+with the *a*\ :sup:`th` and :math:`a+1^{st}` angle cosines in Table
+*i*. Likewise, the values for :math:`E^{'}_{i+1 b}` :math:`E^{'}_{i+1 b+1}`
+correspond to the secondary energies that are coupled with the
+*b*\ :sup:`th` and :math:`b+1^{st}` angle cosines in Table *i*\ +1.
+Therefore, the exit energies from Table *i* are sampled from the
+secondary energy distributions that correspond to (*E*, \ *μ*\ :sub:`i a`) and
+(*E*, \ *μ*\ :sub:`i a + 1`), and the energies from Table *i*\ +1 are
+sampled from the energy distributions for (*E*, \ *μ*\ :sub:`i+1 b`)
+and (*E*, \ *μ*\ :sub:`i+1 b+1`).
+
+As with the angular data, the secondary energy distributions may be
+provided in equiprobable or nonequiprobable energy bins. The following
+discussion provides the procedures for sampling the different
+distributions.
+
+**Equiprobable Energy Bins.** In Table *i*, the *k*\ :sup:`th` and
+*m*\ :sup:`th` energy bins are sampled from the energy distributions for
+(*E*, :math:`\mu_{i \ a}`) and (*E*, :math:`\mu_{i \ a+1}`), respectively. The
+number of energy bins in a distribution is one less than the number of
+energies in the table (i.e., *NPE* − 1). If the energy distributions are
+provided in equiprobable bins, the *k*\ :sup:`th` and *m*\ :sup:`th`
+bins are selected as follows:
+
+.. math::
+ :label: eq8143
+
+ k = (NPE_{ia}  1)\ast R_{2} + 1 ,
+
+.. math::
+ :label: eq8144
+
+ m = (NPE_{ia+1}  1)\ast R_{2} + 1 .
+
+The exiting energy values for :math:`E^{'}_{i \ a}` :math:`E^{'}_{i \ a+1}` are interpolated as follows:
+
+.. math::
+ :label: eq8145
+
+ E^{'}_{ia} = E^{'}_{iak} + \bigg[k  (NPE_{ia}  1)\ast R_{2}\bigg] \bigg(E^{'}_{iak+1}  E^{'}_{iak}\bigg) ,
+
+.. math::
+ :label: eq8146
+
+ E^{'}_{ia+1} = E^{'}_{ia + 1m} + \bigg[m  (NPE_{ia+1}  1)\ast R_{2}\bigg] \bigg(E^{'}_{ia+1m+1}  E^{'}_{ia+1m}\bigg) .
+
+In Table *i*\ +1, the *n*\ :sup:`th` and *q*\ :sup:`th` energy bins
+are sampled from the energy distributions for (*E*, \ *μ*\ :sub:`i \ b`) and
+(*E*,\ *μ* :sub:`i b+1`), respectively. As presented for the
+*i*\ :sup:`th` table, the *n*\ :sup:`th` and *q*\ :sup:`th` bins are
+selected from an equiprobable distribution in a manner analogous with
+:eq:`eq8143` and :eq:`eq8144`:
+
+.. math::
+ :label: eq8147
+
+ n = (NPE_{i+1b}  1)\ast R_{2} + 1 ,
+
+.. math::
+ :label: eq8148
+
+ q = (NPE_{i+1b+1}  1)\ast R_{2} + 1 .
+
+The exiting energy values for :math:`E_{i+1 \ b}` and :math:`E_{i+1 b+1}` are interpolated as follows:
+
+.. math::
+ :label: eq8149
+
+ E^{'}_{i+1b} = E^{'}_{i+1bn} + \bigg[n  (NPE_{i+1b}  1)\ast R_{2}\bigg] \bigg(E^{'}_{i+1bn+1}  E^{'}_{i+1bn}\bigg) ,
+
+.. math::
+ :label: eq8150
+
+ E^{'}_{i+1b+1} = E^{'}_{i+1b+1q} + \bigg[q  (NPE_{i+1b+1}  1)\ast R_{2}\bigg] \bigg(E^{'}_{i+1b+1q+1}  E^{'}_{i+1b+1q}\bigg) .
+
+The exit energy from the *i*\ :sup:`th` table (i.e., :math:`E^{'}`) is
+obtained by substituting the values for :math:`E^{'}_{ia}` and :math:`E^{'}_{ia+1}`
+into :eq:`eq8141`, and the exit energy from the *i*\ +1\ :sup:`st` table (i.e.,
+:math:`E^{'}_{i+1}`) is calculated by substituting the values for
+:math:`E^{'}_{ib}` and :math:`E^{'}_{ib+1}` into :eq:`eq8142`. Finally, the exit energy for
+the collision is obtained by inserting the calculated values for :math:`E^{'}_{i}`
+and :math:`E^{'}_{i+1}` into :eq:`eq8140`.
+
+.. _ last equation in this paragraph says chapter 9
+
+**Nonequiprobable Energy Bins.** If the energy distributions are
+provided in nonequiprobable bins, the *k*\ :sup:`th` and *m*\ :sup:`th`
+bins are sampled according to the cumulative distribution values:
+
+.. math::
+ :label: eq8151
+
+ C_{iak  1} < R_2 \leq C_{iak} ,
+
+.. math::
+ :label: eq8152
+
+ C_{ia + 1m  1} < R_2 \leq C_{ia+1m} ,
+
+where
+
+ :math:`C_{iak  1}` = cumulative probability corresponding to the *k*\ 1\ :sup:`st` energy bin in the (E, :math:`μ_{i \ a}` distribution,
+
+ :math:`C_{iak}` = cumulative probability corresponding to the *k*\ :sup:`th` energy bin in the (E, :math:`μ_{i \ a}` distribution,
+
+ :math:`C_{ia + 1m  1}` = cumulative probability corresponding to the m1\ :sup:`st` energy bin in the (E, :math:`μ_{i \ a+1}`) distribution, and
+
+ :math:`C_{ia+1m}` = cumulative probability corresponding to the m\ :sup:`th` energy bin in the (E, :math:`μ_{i \ a+1}`) distribution.
+
+For the nonequiprobable bins, the bins for the secondary energy are selected
+so that linear interpolation can be performed in the PDF. Since the CDF is
+obtained by integrating the PDF, the interpolation procedure for the CDF is
+quadratic in form. As a result, the value for :math:`E^{'}_{i \ a}` is obtained with the following equation:
+
+.. math::
+ :label: eq8153
+
+ E^{'}_{ia} = E^{'}_{iak} + \frac{\sqrt{P^{2}_{iak} + 2s_{ia}(R_{2}C_{iak1})}  P_{iak}}{s_{ia}} ,
+
+and
+
+.. math::
+ :label: eq8154
+
+ s_{ia} = \frac{\sqrt{P_{iak+1}  P_{iak}}}{E^{'}_{iak+1}  E^{'}_{iak}} ,
+
+where
+
+ :math:`P_{iak}` = value of the PDF corresponding to the lower boundary of the *k*\ :sup:`th` energy bin in the (E, :math:`μ_{i \ a}`) distribution, and
+
+ :math:`P_{iak+1}` = value of the PDF corresponding to the upper boundary of the *k*\ :sup:`th` energy bin in the (E, :math:`μ_{i \ a}`) distribution.
+
+Likewise, the value for :math:`E_{i \ a+1}` is obtained with the following equation:
+
+.. math::
+ :label: eq8155
+
+ E^{'}_{ia+1} = E^{'}_{ia+1m} + \frac{\sqrt{P^{2}_{ia+1m} + 2s_{ia+1}(R_{2}  C_{ia+1m1})}  P_{ia+1m}}{s_{ia+1}} ,
+
+and
+
+.. math::
+ :label: eq8156
+
+ s_{ia+1} = \frac{P_{ia+1m+1}  P_{ia+1m}}{E^{'}_{ia+1m+1}  E^{'}_{ia+1m}}
+
+where
+
+ :math:`P_{ia+1m}` = value of the PDF corresponding to the lower boundary of the *m*\ :sup:`th` energy bin in the (E, :math:`μ_{i a+1}`) distribution, and
+
+ :math:`P_{ia+1m+1}` = value of the PDF corresponding to the upper boundary of the *m*\ :sup:`th` energy bin in the (E, :math:`μ_{i a+1}`) distribution.
+
+For nonequiprobable distributions in the *i*\ +1\ :sup:`st` table, the
+*n*\ :sup:`th` and *q*\ :sup:`th` bins are sampled according to the
+cumulative distribution values:
+
+.. math::
+ :label: eq8157
+
+ C_{i+1bn1} < R_{2} \leq C_{i+1bn} ,
+
+.. math::
+ :label: eq8158
+
+ C_{i+1b+1q1} < R_{2} \leq C_{i+1b+1q} ,
+
+where
+
+ :math:`C_{i+1bn1}` = cumulative probability corresponding to the n1\ :sup:`st` energy bin in the (E, :math:`μ_{i+1 \ b}`) distribution,
+
+ :math:`C_{i+1bn}` = cumulative probability corresponding to the *n*\ :sup:`th` energy bin in the (E, :math:`μ_{i+1 \ b}`) distribution,
+
+ :math:`C_{i+1b+1q1}` = cumulative probability corresponding to the q1\ :sup:`st` energy bin in the (E, :math:`μ_{i+1 \ b+1}`) distribution, and
+
+ :math:`C_{i+1b+1q}` = cumulative probability corresponding to the *q*\ :sup:`th` energy bin in the (E, :math:`μ_{i+1 \ b+1}`) distribution.
+
+As observed for the i\ :sup:`th` table, the interpolation procedure for the CDF is
+quadratic in form, and the value for :math:`E^{'}_{i+1 \ b}` is obtained as follows:
+
+.. math::
+ :label: eq8159
+
+ E^{'}_{i+1b} = E^{'}_{i+1bn} + \frac{\sqrt{P^{2}_{i+1bn} + 2s_{i+1b}(R_{2}  C_{i+1bn1})}  P_{i+1bn}} {s_{i+1b}} ,
+
+and
+
+.. math::
+ :label: eq8160
+
+ s_{i+1b} = \frac{P_{i+1bn+1}  P_{i+1bn}}{E^{'}_{i+1bn+1}  E^{'}_{i+1bn}} ,
+
+where
+
+ :math:`P_{i+1bn}` = value of the PDF corresponding to the lower boundary of the *n*\ :sup:`th` energy bin in the (E, :math:`μ_{i+1 b}`) distribution, and
+
+ :math:`P_{i+1bn+1}` = value of the PDF corresponding to the upper boundary of the *n*\ :sup:`th` energy bin in the (E, :math:`μ_{i+1 b}`) distribution.
+
+Likewise, the value for :math:`E^{'}_{i+1 b+1}` is obtained with the following equation:
+
+.. math::
+ :label: eq8161
+
+ E^{'}_{i+1b+1} = E^{'}_{i+1b+1q} + \frac{\sqrt{P^{2}_{i+1b+1q} + 2s_{i+1b+1}(R_{2}  C_{i+1b+1q1})}  P_{i+1b+1q}}{s_{i+1b+1}} ,
+
+and
+
+.. math::
+ :label: eq8162
+
+ s_{i+1b+1} = \frac{P_{i+1b+1q+1}  P_{i+1b+1q}}{E^{'}_{i+1b+1q+1}  E^{'}_{i+1b+1q}} ,
+
+where
+
+ :math:`P_{i+1b+1q}` = value of the PDF corresponding to the lower boundary of the *q*\ :sup:`th` energy bin in the (E, :math:`μ_{i+1 b+1}`) distribution, and
+
+ :math:`P_{i+1b+1q+1}` = value of the PDF corresponding to the upper boundary of the *q*\ :sup:`th` energy bin in the (E, :math:`μ_{i+1 b+1}`) distribution.
+
+
+To obtain the exit energy for the collision, the energy from the i\ :sup:`th`
+table (i.e., :math:`E^{'}_{i}`) is calculated by substituting the values for
+:math:`E^{'}_{ia}` and :math:`E^{'}_{ia+1}` into :eq:`eq8141`, and the exit
+energy from the i+1\ :sup:`st` table (i.e., :math:`E^{'}_{i+1}`)
+is calculated by substituting the values for :math:`E^{'}_{ib}` and :math:`E^{'}_{ib+1}`
+into :eq:`eq8142`.
+Finally, the exit energy for the collision is obtained by inserting the
+calculated values for :math:`E^{'}_{i}` and :math:`E^{'}_{i+1}` into :eq:`eq8140`.
+
+.. _ last ref says chapter 9
+
+.. _816274:
+
+Isotropic Angular Distributions With Energy Coupling
+....................................................
+
+The kinematics format can accommodate isotropic angular distributions in
+the coupled angle energy format. The following discussion describes the
+special case with the appropriate sampling procedures. If the secondary
+angular distribution is isotropic at an incident energy *E*, a single
+exit cosine with a value of −2.0 is specified in the (*E*, \ *μ*) block.
+Therefore, the exit angle cosine is sampled uniformly between −1.0 and
+1.0:
+
+.. math::
+ :label: eq8163
+
+ \mu = 2R_{1}  1 .
+
+Because there is only one exit cosine specified in the (*E*, \ *μ*)
+block, there is a single energy distribution record specified for the
+(*E*, \ *μ*) pair. The general structure (i.e., material identifiers and
+data flags are omitted for clarity) of the kinematics data within a
+section for a reaction is presented in :numref:`tab8125`. As a result, the
+sampling procedure for the exit energy is based on the incident energy.
+
+.. listtable:: Kinematics data structure for isotropic angular distributions
+ :name: tab8125
+ :align: center
+
+ *  .. image:: figs/Keno/tab25.svg
+ :align: center
+ :width: 600
+
+Once the angle is sampled according to :eq:`eq8163`, the exit energy is sampled
+in a manner that is analogous to the procedures of Sect. Exit energy. If
+the incident energy, *E*, is between *E*\ :sub:`i` and
+*E*\ :sub:`i+1`, the *k*\ :sup:`th` energy bin is sampled from the
+distribution corresponding to *E*\ :sub:`i` using :eq:`eq8164` or :eq:`eq8165` for
+equiprobable or nonequiprobable distributions, respectively.
+
+.. math::
+ :label: eq8164
+
+ k = \big(NPE_{i}  1\big)\ast R_{2} + 1 ,
+
+
+or
+
+.. math::
+ :label: eq8165
+
+ C_{ik1} < R_{2} \leq C_{ik} ,
+
+where
+
+ :math:`NPE_{i}` = number of exit energies corresponding to :math:`E_{i}`,
+
+ :math:`C_{ik1}` = cumulative probability corresponding to the k1\ :sup:`st` energy bin in the distribution for :math:`E_{i}`, and
+
+ :math:`C_{ik}` = cumulative probability corresponding to the k\ :sup:`th` energy bin in the distribution for :math:`E_{i}`.
+
+For equiprobable energy bins, the exit energy corresponding to :math:`E_{i}` is calculated as follows:
+
+.. math::
+ :label: eq8166
+
+ E^{'}_i = E^{'}_{ik} + \bigg[k  \big(NPE_{i}  1\big)\ast R_{2}\bigg] \bigg(E^{'}_{ik+1}  E^{'}_{ik} \bigg) .
+
+If the secondary energy distributions are provided in nonequiprobable bins the exit energy is calculated using the following equation:
+
+.. math::
+ :label: eq8167
+
+ E^{'}_{i} = E^{'}_{ik} + \frac{P^{2}_{ik} +2s_{i}\big(R_{2}C_{ik1}\big)  P_{ik}}{s_{i}} ,
+
+and
+
+.. math::
+ :label: eq8168
+
+ s_{i} = \frac{P_{ik+1}  P_{ik}}{E^{'}_{ik+1}  E^{'}_{ik}} ,
+
+where
+
+ :math:`P_{ik}` = value of the PDF corresponding to the lower boundary of the *k*\ :sup:`th` energy bin in the distribution for :math:`E_{i}`, and
+
+ :math:`P_{ik+1}` = value of the PDF corresponding to the upper boundary of the *k*\ :sup:`th` energy bin in the distribution for :math:`E_{i}`.
+
+By replacing *i* with *i*\ +1 in :eq:`eq8164` through :eq:`eq8168`, the exit energy :math:`E^{'}_{i+1}` can be
+calculated from the secondary energy distribution corresponding to the
+incident energy :math:`E_{i+1}`. Subsequently, :eq:`eq8140` can be used to calculate the
+exit energy.
+
+.. _ last equation says chapter 9.
+
+.. _816275:
+
+Coherent and incoherent elastic scattering
+..........................................
+
+If thermal scattering law data are available for a material, the elastic
+scattering mechanism may be specified as either coherent or incoherent
+elastic scattering. Consequently, there is no change in energy resulting
+from either collision. The secondary energy distribution block for each
+(*E*, \ *μ*) pair only has one exit energy with a value equal to the
+incident energy *E*. Therefore, the procedure for coherent or incoherent
+elastic scattering reduces to sampling the exit angle cosine. The
+procedures detailed in :ref:`816272` are used to sample the exit
+angle cosine. The general structure of the kinematics data within a
+section for coherent or incoherent elastic scattering is presented in
+:numref:`tab8126` with the material identifiers and data flags omitted for
+clarity. Once the angle cosine is selected, the exit energy is set equal
+to the incident energy.
+
+.. listtable:: Kinematics data structure for coherent and incoherent elastic scattering
+ :name: tab8126
+ :align: center
+
+ *  .. image:: figs/Keno/tab26.svg
+ :align: center
+ :width: 600
+
+
+.. _816276:
+
+Elastic and discretelevel inelastic scattering
+...............................................
+
+There is a onetoone correspondence between the exiting angle and
+energy for elastic and discrete level inelastic scattering . Once the
+exiting angle is selected, the exiting energy is already determined
+based on the kinematics equations documented in most conventional
+reactor theory text books. However, an obscure fact is that the exiting
+energy distributions for discretelevel inelastic reactions and hydrogen
+elastic scattering can be double valued in the lab system. For discrete
+level inelastic scattering in the lab system, the range of incident
+energies that can have a double valued exit energy is given by the
+following expression:
+
+.. math::
+ :label: eq8169
+
+ \Delta E_{double} = \frac{Q}{A(1A)} ,
+
+where
+
+ *Q* = the excess of the kinetic energy of the product particles over
+ that of the original particles, and
+
+ *A* = atomic mass ratio of the target mass to the mass of a neutron.
+
+:eq:`eq8169` provides the size in energy of the double valued region above the
+threshold energy for the reaction. As indicated by :eq:`eq8169`, the range of
+energies for a double valued region is inversely proportional to the
+target mass. Using :eq:`eq8169` and ENDF/B data, the values of Δ\ *E*\ :sub:`double`
+can be calculated for all discrete level inelastic scattering reactions
+for all isotopes. A plot of Δ\ *E*\ :sub:`double` as a function of atomic mass
+ratio is provided in :numref:`fig81198` for all possible discrete level
+inelastic scattering collisions for all isotopes. As shown in Fig.
+:numref:`fig81198`, the size of the double valued region approaches 1 MeV as the
+mass ratio decreases. Because Δ\ *E\ double* can be relatively large,
+the double valued anomaly cannot be ignored in the collision treatment.
+The following discussion outlines the properties of the kinematics data
+and the procedures for treating elastic and discrete level inelastic
+scattering.
+
+.. _fig81198:
+.. figure:: figs/Keno/fig198.png
+ :align: center
+ :width: 600
+
+ Range of incident energies (∆\ *E*\ :sub:`double`) for double valued region as a function of mass ratio.
+
+As noted previously, *NPU* secondary angle cosines are provided for each
+incident energy for a reaction, and the cosine distribution can be
+represented with either equiprobable or nonequiprobable distributions.
+Depending on the type of distribution, procedures similar to those of
+:ref:`816273` are used to sample an equiprobable or nonequiprobable
+angular distribution for the exit cosine in the lab system.
+
+The angular data blocks for discrete level inelastic scattering and
+hydrogen elastic scattering are similar in form to other reactions;
+however, the exit lab cosines for discrete level inelastic scattering
+are greater than zero in the doublevalued region, and an exit lab
+cosine may appear twice in the distribution with different
+probabilities. As an example, discrete level inelastic scattering for
+:sup:`7`\ Li is characterized by a double valued exit energy
+distribution as a function of exit cosine in the lab system.
+:numref:`fig81190` provides the exit energy distribution for an inelastic
+collision that leaves the :sup:`7`\ Li nucleus in the first excited
+state (i.e., MT = 51) in the lab system. For :sup:`7`\ Li, the threshold
+for MT = 51 is 5.4672 × 10\ :sup:`5` eV, and the double valued region
+extends from the threshold energy up to 5.58259 × 10\ :sup:`5` eV;
+therefore, the incident energy range of the double valued region is
+~1.15 × 10\ :sup:`4` eV. As shown in :numref:`fig81190`, the exit energy
+distributions are provided for different incident energies within the
+double valued region and an incident energy above the double valued
+region. As the incident energy exceeds the maximum energy for which two
+exiting energies can be produced, the secondary energy distribution
+becomes single valued (i.e., one exit energy for an exit cosine).
+
+Note that the double valued anomaly does not occur in the centerofmass
+system. Therefore, the two exit energies possible for the lab system
+actually correspond to two different centerofmass exit cosines. During
+the preparation of the KENO library, the angular distribution tables for
+discrete level inelastic scattering and elastic scattering for hydrogen
+can be constructed in the centerofmass system and subsequently
+converted to the lab system. In order to properly construct the angular
+distribution tables in the lab system, the minimum lab cosine,
+*μ*\ :sup:`min`\ :sub:`lab`, must be determined because exit angles
+below the minimum lab cosine are not possible.
+
+For discrete level inelastic scattering and elastic scattering, the exit
+cosine in the lab system can be expressed as a function of the
+centerofmass scattering angle, *μ*\ :sub:`cm`:
+
+.. math::
+ :label: eq8170
+
+ \mu = \frac{\gamma + \mu_{cm}}{\big(1+2\gamma\mu_{cm}+\gamma^{2}\big)^{1/2}} ,
+
+where
+
+.. math::
+ :label: eq8171
+
+ \frac{1}{\gamma} = \bigg[A^{2} + \frac{A\big(A+1\big)Q}{E}\bigg]^{1/2}
+
+Physically, the quantity 1/γ represents the ratio of the exit velocity
+of the neutron in the lab system to the centerofmass velocity.
+Moreover, the quantity 1/γ reduces to *A* for elastic scattering
+(i.e., *Q* = 0). The minimum value for *μ* can be obtained by taking the
+derivative of :eq:`eq8172` with respect to *μ*\ :sub:`cm` which yields the following
+expression:
+
+.. math::
+ :label: eq8172
+
+ \frac{d\mu}{d\mu_{cm}} = \frac{1+ \gamma\mu_{cm}}{\big(1+2\gamma\mu_{cm}+\gamma^{2}\big)^{3/2}} .
+
+Setting :eq:`eq8172` equal to 0 reveals that the minimum lab cosine
+(*μ*\ :sup:`min`\ :sub:`lab`) occurs when *μ*\ :sub:`cm` = −1/γ. For elastic
+scattering, the minimum lab cosine occurs when *μ*\ :sub:`cm` = −\ *A*. Because
+hydrogen is the only nuclide with a mass ratio below 1, hydrogen is the
+only nuclide that has a double valued exit energy distribution in the
+lab system for elastic scattering.
+
+During the preparation of the KENO library, the lab distributions for
+discrete level inelastic scattering and hydrogen elastic scattering will
+be constructed so that *μ*\ :sup:`min`\ :sub:`lab` is a boundary for an
+angular bin, and no angular cosines in the lab system will be permitted
+below *μ*\ :sup:`min`\ :sub:`lab`. As shown in :numref:`fig81199` for
+:sup:`7`\ Li, the exit cosines greater than *μ*\ :sup:`min`\ :sub:`lab`
+will have two possible exit energies in the double valued region. As a
+result, the angular distribution table in the library will have angles
+that appear twice with different probabilities. For example, an angle
+cosine *μ* may be present in the table with probabilities *P*\ :sub:`m` and
+*P*\ :sub:`n`. Although the value of the angle cosine is the same for both
+probabilities, the corresponding exit energy will be different for each
+(*μ*, *P)* pair. In other words, the probability for an exit cosine
+determines the location in the exit energy distribution table for
+selecting the outgoing energy.
+
+.. _fig81199:
+.. figure:: figs/Keno/fig199.png
+ :align: center
+ :width: 600
+
+ :sup:`7`\ Li exit energy distribution for the first discrete
+ level inelastic scattering reaction (MT=51). *E*\ :sub:`threshold` =
+ 5.4672 × 10\ :sup:`5` eV; ∆\ *E*\ :sub:`double` = 1.1539 × 10\ :sup:`4` eV.
+
+Based on the format of the kinematics data, angle cosine distributions
+are provided as a function of incident energy. If the incident energy,
+*E*, is between *E*\ :sub:`i` and *E*\ :sub:`i+1`, then the *i*\ :sup:`th`
+table is selected with probability *P*\ :sub:`i` and the *i*\ +1 table is
+selected with probability *P*\ :sub:`i+1`:
+
+.. math::
+ :label: eq8173
+
+ P_{i} = \frac{E_{i+1}  E}{E_{i+1}E_{i}} ,
+
+.. math::
+ :label: eq8174
+
+ P_{i+1} = \frac{E  E_{i}}{E_{i+1}  E_{i}} .
+
+Once the angular distribution corresponding to the incident energy is
+selected, the exit angle cosine can be selected using procedures like
+those in Sect. Exit angle cosine. For example, if the *i*\ :sup:`th`
+incident energy is selected, either :eq:`eq8129` is used to select the
+*a*\ :sup:`th` cosine bin for equiprobable bins, or :eq:`eq8134` is used for
+nonequiprobable bins. Subsequently, either :eq:`eq8131` or :eq:`eq8136` is used
+to calculate the exit angle cosine, depending on the type of angular
+distribution provided.
+
+.. _ last equation said chapter 9
+
+The coupled secondary angleenergy data blocks (*E*, *µ*, *E′* ) follow
+the angular data block in the kinematics data. For elastic scattering
+and discrete level inelastic scattering, there is one possible exit
+energy. Therefore, in the exit energy distribution block, a single exit
+energy (*NPE* = 1) is provided for each (*E*, \ *µ*) pair, and the
+general structure (i.e., material identifiers and data flags are omitted
+for clarity) of the secondary energy distribution data block is
+presented in :numref:`tab8127`. Because only one exit energy is provided for
+each (*E*, \ *µ*) pair, the probability for the exit energy is 1.0. As
+indicated in :numref:`tab8127`, a cumulative probability of 1.0 is stored for
+each exit energy; however, the parameters stored in the PDF location are
+the powerinterpolation parameters needed to interpolate the exit
+energy.
+
+.. listtable:: Secondary energy distribution format for elastic and discretelevel inelastic scattering
+ :name: tab8127
+ :align: center
+
+ *  .. image:: figs/Keno/tab27.svg
+ :width: 600
+ :align: center
+
+When an exiting angle :math:`{\dot{\mu}}_{i}` is sampled between *µ*\ :sub:`a`
+and *µ*\ :sub:`a+1`, the exiting energy values that correspond to
+*µ*\ :sub:`a` and *µ*\ :sub:`a+1` for the incident energy *E*\ :sub:`i` can be used
+to interpolate the exiting energy *E*\ ′ that corresponds
+to\ :math:`{\dot{\mu}}_{i}`. Physically, the interpolation procedures
+correspond to an interpolation along one of the incident energy curves
+as depicted in :numref:`fig81197`. In order to perform the interpolation, the
+*a*\ :sup:`th` and *a*\ +1\ :sup:`st` (*E*, \ *µ*) pairs are located in
+the secondary energy distribution block corresponding to *E*\ :sub:`i`.
+Subsequently, the corresponding *a*\ :sup:`th` and *a*\ +1 exit energy
+values (i.e., :math:`E^{'}_a` and :math:`E^{'}_{a+1}`) are read from the secondary energy distribution
+record.
+
+The exiting energy is interpolated with the following relation:
+
+.. math::
+ :label: eq8175
+
+ E^{'}\left( {\dot{\mu}}_{i} \right) = E_{a}^{'} + \left( \frac{{\dot{\mu}}_{i}^{P_{a}}  \mu_{a}^{P_{a}}}{\mu_{a + 1}^{P_{a}}  \mu_{a}^{P_{a}}} \right)\left( E_{a + 1}^{'}  E_{a}^{'} \right)\ ,
+
+where
+
+ *P* = is a “powerinterpolation” factor for the *a*\ :sup:`th` cosine
+ bin that is obtained from a fit to the *E′* distribution as a
+ function of *µ*.
+
+The interpolation procedure in :eq:`eq8175` is analogous to the interpolation
+scheme that has been used successfully to interpolate Bondarenko factors
+as a function of temperature in the BONAMI module. If the curve is
+monotonic in nature, the powerinterpolation scheme can be used to
+represent the curvature with a minimum number of points. For elastic and
+discrete level inelastic scattering, the *E′*\ (*µ*) distribution is
+monotonic and is suited for the power interpolation scheme. Note that if
+*p* is 1, :eq:`eq8175` reduces to a linear interpolation in *µ**E′* space.
+
+.. _81628:
+
+Thermal scattering effects
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+A collision between a neutron and nucleus can be affected by the thermal
+motion of the target nucleus. Moreover, ENDF provides thermal scattering
+law data to account for the thermal effects of scattering with a
+material below 5 eV; however, the scattering law data are only available
+for a select number materials as shown in :numref:`tab8128`. If thermal
+scattering law data are not available, elastic scattering is treated
+with the free gas approximation in the KENO library. For heavy nuclides
+with 0 K scattering libraries available, the Doppler Broadening
+Rejection Correction (DBRC) method is used instead. For DBRCenabled
+nuclides, thermal scattering effects are taken into account up to 210 eV
+(although this parameter can be controlled by the user). More
+information on DBRC is given in :ref:`81629`.
+
+.. listtable:: ENDF/B thermal scattering law data.
+ :align: center
+ :name: tab8128
+
+ *  .. image:: figs/Keno/tab28.svg
+ :align: center
+ :width: 600
+
+The continuous energy cross section library is processed to account for
+the appropriate scattering effects. As a result, the KENO cross section
+library inherently accounts for thermal scattering using either the
+thermal scattering law data or the free gas approximation. In other
+words, the kinematics data based on thermal effects are combined with
+the fast data to represent the collision kinematics for the material. As
+noted previously, the kinematics data block for a reaction is divided
+into sections that describe the collision kinematics for a range of
+incident energies. As a result, the kinematics data structure has a
+modular format that is beneficial for data library production. Because
+of the kinematics data structure, the thermal scattering law data, which
+are typically applied up to 5 eV, can be processed independently with
+AMPX to obtain the angle energy probability distributions. Subsequently,
+one or more sections in the kinematics data block can be used to
+represent the thermal angle energy distributions for energies up to
+5 eV. Moreover, the fast kinematics data can be represented with one or
+more sections for energies above 5 eV. As part of the library
+preparation, the thermal kinematics data are combined with the fast
+kinematics data block to complete the collision representation for the
+entire range of incident energies. Because the thermal scattering
+effects are treated during the processing of the cross section data for
+a material, the thermal effects are inherently treated in KENO. During
+the Monte Carlo random walk, the procedures provided in :ref:`816272`
+and :ref:`816273` are used to sample the exit angle and energy
+for the collision.
+
+.. _81629:
+
+Doppler broadening rejection correction method
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+When colliding with a heavy nuclide, the thermal motion of the target
+nuclide can significantly affect the exit angle and energy of the
+neutron. The thermal motion of the target nuclide was previously
+ignored, but this assumption has been proven inadequate by Dagan and
+Becker :cite:`becker_proof_2009`.
+
+A new sampling equation has been implemented to allow for Doppler
+broadening of the scattering kernel. Removing this approximation can
+have a significant impact on the critical eigenvalue of systems by
+allowing neutrons to be upscattered into absorption resonances.
+Currently, DBRC is enabled in KENO only for :sup:`238`\ U, and this
+feature can be activated by setting the parameter **DBR**\ =1.
+
+.. _816210:
+
+Doppler broadening methods
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+CE KENO calculations will perform temperature adjustment of neutron
+cross sections by default. The cross sections provided with SCALE are
+typically supplied in 300 K intervals, and additional cross section
+temperature resolution may be desired to model non–room temperature
+systems or systems with significant temperature effects.
+
+The capability to perform problemdependent Doppler broadening of
+nuclear cross sections has been implemented in KENO. This feature is
+controlled by the **DBX** parameter, which causes KENO to perform
+Doppler broadening on the cross sections in all compositions in a
+problem before simulating particle histories. When this occurs, the
+cross sections for each material are broadened to the temperature
+assigned to that material in the **READ COMP** block, as long as the
+requested temperature is more than 4 K from the library temperature.
+Within this ±4 K band, the library temperature is used to avoid
+difficulties with numerical instabilities in small cross section
+adjustments. The default for this feature is **DBX=**\ 2, which performs
+Doppler broadening for both the 1D and 2D cross sections. Current
+options available are as follows:
+
+ **DBX** = 0 – Doppler broadening is not performed. KENO selects the
+ library at the closest temperature. If desired, the user can use the
+ **TTL** parameter to force a job abort if the library temperature is
+ too far from the requested temperature. By default, **TTL**\ =1, so
+ the closest library will be used regardless of the temperature
+ difference.
+
+ **DBX** = 1 –Doppler broadening is performed using a finite
+ difference method on the onedimensional cross sections that are
+ temperature dependent. Logarithmic interpolation is also used to
+ broaden the probability table data. When this option is used, the
+ collision probabilities are recalculated after the Doppler broadening
+ is complete to ensure consistency.
+
+ **DBX** = 2 –The same actions as **DBX** = 1 are performed, and
+ Doppler broadening is also performed on the thermal moderator data by
+ conducting interpolation on the double differential probability data
+ present on the cross section library.
+
+Nuclide level energy unionization is automatically disabled
+(**M2U=**\ NO\ **)** when Doppler broadening is enabled in order to
+reduce the memory usage. At this writing, research is in progress to
+allow KENO to perform onthefly cross section Doppler broadening as
+particle histories are being simulated.
+
+.. _8163:
+
+Multigroup mode solution procedure
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. math::
+ :label: eq8176
+
+ \frac{1}{v_{g}}\frac{\partial\Phi_{g}}{\partial t}\left( X,\Omega,t \right) + \Omega \bullet \nabla\Phi_{g}\left( X,\Omega,t \right) + \Sigma_{\text{tg}}\left( X \right)\ \Phi_{g}\left( X,\Omega,t \right) = \mathrm{q}_{\mathrm{g}}\left( X,\Omega,t \right),
+
+where
+
+ g = is the energy group of interest,
+
+ v\ :sub:`g` = is the average velocity of the neutrons in group g,
+
+ Φ\ :sub:`g`\ (X,Ω,t) = is the angular flux of neutrons having their
+ energies in group g, at position X and time t, and
+
+ Σ\ :sub:`tg`\ (X) = is the macroscopic total cross section of the
+ media at position X for group g, corresponding to
+
+ .. math::
+
+ \Sigma_{tg}(X) = \frac{\int^{}_{\Delta E_{g}}\Sigma_{t}(X,E)\Phi(X,E,\Omega,t)dE} {\int^{}_{\Delta E_{g}}\Phi(X,E,\Omega,t)dE} ,
+
+.. _ correct?
+
+where
+
+ ∆E\ :sub:`g` defines group g, and
+
+ q\ :sub:`g`\ (X,Ω,t) is the total source contributing to energy group g
+ at position X, and time t in direction Ω.
+
+Using the relationship X′ = X − RΩ, defining the problem to be time
+independent using an integrating factor on both sides of :eq:`eq8176`,
+and defining
+
+.. _ last equation says chapter 9
+
+.. math::
+
+ T(R) = \int^{R}_{0}\Sigma_{tg}(X  R^{'}\Omega)dR^{'} ,
+
+the following equation can be written:
+
+.. math::
+ :label: eq8177
+
+ \Phi_{g}(X,\Omega) = \int^{\infty}_{O}q_{g}(X  R\Omega,\Omega)e^{T(R)}dR .
+
+At this point, the problem becomes an eigenvalue problem. If there is no
+external source, the source may be defined as
+
+.. math::
+ :label: eq8178
+
+ q_{g}\left( X,\Omega \right) = \sum_{g^{'}}^{}{\int_{}^{}{{d\Omega^{'}}\Phi_{g^{'}}\left( X,\Omega^{'} \right)\ \Sigma_{s}\left( X,g^{'} \rightarrow g,\Omega^{'} \cdot \Omega \right)} + \frac{1}{k}Q_{g}^{'}\left( X,\Omega \right)},
+
+where
+
+ k is the largest eigenvalue of the integral equation,
+
+ Q′\ :sub:`g`\ (X,Ω) is the fission source at position X for energy
+ group g and direction Ω (all fission contributions to group g from
+ all energy groups in the previous generation), and
+
+ Σ\ :sub:`s`\ (X,g′→g,Ω′⋅Ω) is the scattering cross section for
+ scattering at position X from group g′ and direction Ω′ to group g
+ and direction Ω.
+
+In terms of energy, the scatter can be defined as
+
+.. math::
+ :label: eq8179
+
+ \Sigma_{s}\left( X,g^{'} \rightarrow g,\Omega^{'} \cdot \Omega \right) = \frac{\int_{\mathrm{\Delta}E_{g}}^{}{\int_{\mathrm{\Delta}E_{g^{'}}}^{}{\Sigma_{s}\left( X,E^{'} \rightarrow E,\Omega^{'} \cdot \Omega \right)\ \Phi\left(X,E^{'},\Omega^{'} \right)\text{d}E^{'}\text{dE}}}}{\int_{\mathrm{\Delta}E_{g^{'}}}^{}{\Phi\left( X,E^{'},\Omega^{'} \right)\text{dE}^{'}}\ }\ \ ,
+
+where
+
+ ∆E\ :sub:`g` is the energyrangedefining energy group g, and
+
+ ∆E\ :sub:`g`\ ′ is the energyrangedefining energy group g′.
+
+Assuming the fission neutrons to be isotropic, the fission source
+Q\ :sub:`g′` (X,Ω) can be written as
+
+.. math::
+ :label: eq8180
+
+ Q^{'}_{g}(X,\Omega) = \frac{1}{4\pi}\sum_{g^{'}}\int_{\Omega^{'}}^{}{d\Omega^{'}\Phi_{g^{'}}(X,\Omega^{'})\chi(X,g^{'}\rightarrow g)\nu_{g^{'}}(X)\Sigma_{fg^{'}}(X)} ,
+
+.. _ correct?
+
+where
+
+ χ(X,g′→g) is the fraction of neutrons born in energy group g from
+ fission in energy group g in the media at position X,
+
+ ν\ :sub:`g′` (X) is the number of neutrons resulting from a fission
+ in group g′ at position X, and
+
+ Σ\ :sub:`fg′` (X) is the macroscopic fission cross section of the
+ material at position X for a neutron in energy group g′.
+
+Substituting :eq:`eq8178` into :eq:`eq8177` yields the following equation:
+
+.. _ first equation says chapter 9
+
+.. math::
+ :label: eq8181
+
+ \frac{\Phi_{g}\left( X,\Omega \right) = \int_{0}^{\infty}{dRe^{ T\left( R \right)}\left\{ \ \frac{1}{k}Q_{g}^{'}\left( X  R\Omega,\Omega \right) \right.\ }}{+ \left. \ \sum_{g^{'}}^{}{\left\lbrack \int_{\Omega^{'}}^{}{{d\Omega^{'}\ \Phi_{g^{'}}\left( X  R\Omega,\Omega^{'} \right)\text{Σ}}_{s}\left( X  R\Omega,g^{'} \rightarrow g,\Omega^{'} \cdot \Omega \right)} \right\rbrack\ } \right\}}
+
+.. _ correct?
+
+The definition of k may be given as the ratio of the number of neutrons
+in the (n + 1)\ *th* generation to the number of neutrons in the n\ *th*
+generation or the largest eigenvalue of the integral equation. Using
+:eq:`eq8180`, :eq:`eq8181` can be written as
+
+.. _ last equation says chapter 9
+
+.. math::
+ :label: eq8182
+
+ \frac{\Phi_{g}\left( X,\Omega \right) = \int_{0}^{\infty}{dRe^{ T\left( R \right)}\left\{ \sum_{g^{'}}^{}{\frac{1}{k}\int_{\Omega^{'}}^{}{\upsilon_{g^{'}}\left( X  R\Omega \right)\Sigma_{\text{fg}^{'}}(X  R\Omega)}}{\chi\left( X  R\Omega,g^{'} \rightarrow g \right)\text{Φ}}_{g}\left( X  R\Omega,\Omega^{'} \right)\frac{d\Omega^{'}}{4\pi} \right.\ }}{+ \left. \ \sum_{g^{'}}^{}\left\lbrack \int_{\Omega^{'}}^{}{d\Omega^{'}\ \Sigma_{\text{tg}^{'}}\left( X  R\Omega,\Omega^{'} \right)\text{Σ}_{s}\left( X  R\Omega,g^{'} \rightarrow g,\Omega^{'} \cdot \Omega \right)\ } \right\rbrack \right\}}
+
+Writing :eq:`eq8182` in generation notation, multiplying and dividing
+certain terms by Σ\ :sub:`t`\ (X), and multiplying both sides of the
+equation by ν\ :sub:`g`\ (X)Σ\ :sub:`fg`\ (X) yields the following
+equation, which is solved by KENO:
+
+.. _ equation says chapter 9
+
+.. math::
+ :label: eq8183
+
+ \frac{{\frac{\upsilon_{g}\left( X \right)\Sigma_{\text{fg}}\left( X \right)}{\Sigma_{\text{tg}}\left(X \right)}\Sigma_{\text{tg}}\left( X \right)\ \Phi}_{g,n}\left( X,\Omega \right) = \frac{\upsilon_{g}\left( X \right)\Sigma_{\text{fg}}\left( X \right)}{\Sigma_{\text{tg}}\left( X \right)}\Sigma_{\text{tg}}\left( X \right)\int_{0}^{\infty}{dRe^{ T\left( R \right)}}}{\begin{matrix} \left\{ \frac{1}{k}\sum_{g^{'}}^{}\left\lbrack \int_{\Omega^{'}}^{}{\frac{\upsilon_{g^{'}}\left( X  R\Omega \right)\Sigma_{fg^{'}}\left( X  R\Omega \right)}{\Sigma_{tg^{'}}\left( X  R\Omega \right)}{\chi\left( X  R\Omega,g^{'} \rightarrow g \right)\ \Sigma_{tg^{'}}\left( X  R\Omega \right)\text{Φ}}_{g^{'},n  1}\left( X  R\Omega,\Omega^{'} \right)\frac{d\Omega^{'}}{4\pi}} \right\rbrack \right.\ \\ + \left. \ \sum_{g^{'}}^{}\left\lbrack \int_{\Omega^{'}}^{}{\frac{\text{Σ}_{s}\left( X  R\Omega,g^{'} \rightarrow g,\Omega^{'} \cdot \Omega\right)}{\Sigma_{tg^{'}}\left( X  R\Omega \right)}\ \Sigma_{\text{tg}^{'}}\left( X R\Omega \right)\ \Phi_{g^{'},n}\left( X R\Omega,\Omega^{'}\right)\text{d}\Omega^{'}} \right\rbrack \right\}\ , \\ \end{matrix}}
+
+.. _ correct?
+
+where n indicates the n\ *th* generation and n − 1 is the (n − 1)\ *th*
+generation. Note that the lefthand side of the
+equation—ν\ :sub:`g`\ (X) Σ\ :sub:`fg`\ (X)Φ\ :sub:`g,n`\ (X,Ω)—is the
+fission production for the n\ *th* generation.
+
+The solution strategy used by KENO solves :eq:`eq8183` by using an iterative
+procedure. The fission production at point X in energy group g due to
+neutrons in the (n − 1)\ *th* generation, normalized to the system
+multiplication, is
+
+.. math::
+
+ \frac{1}{k}\sum_{g^{'}}\int_{\Omega^{'}}\frac{\nu_{g^{'}}(X)\Sigma_{fg^{'}}(X)}{\Sigma_{tg^{'}}(X)}\chi \big(X,g^{'} \rightarrow g\big)\Sigma_{tg^{'}}\big(X\big)\Phi_{g^{'},n1}\big(X,\Omega^{'}\big)\frac{d\Omega^{'}}{4\pi} .
+
+The collision points used in KENO are chosen by selecting path lengths
+from the distribution
+
+ e\ :sup:`−T(R)` ,
+
+which is the probability of transport from any position X − RΩ to
+position X.
+
+The first collision density of neutrons in group g per unit solid angle
+about Ω resulting from the fission source produced by the (n − 1)
+generation, normalized to the system multiplication, is
+
+.. math::
+
+ \frac{\Sigma_{tg}\big(X\big)\int^{\infty}_{0}dRe^{T(R)}\frac{1}{k}\int_{\Omega^{'}}\sum_{g^{'}}\frac{\nu_{g^{'}}\big(XR\Omega\big)\Sigma_{fg^{'}}\big(XR\Omega\big)}{E_{tg^{'}}\big(XR\Omega\big)}}{\chi\big(XR\Omega,g^{'}\rightarrow g\big)\Sigma_{tg^{'}}\big(XR\Omega\big)\Phi_{g^{'},n1}\big(XR\Omega,\Omega^{'}\big)\frac{\text{d}\Omega^{'}}{4\pi}} .
+
+.. _ correct?
+
+The scattering source at position X emerging in group g and direction Ω
+resulting from previous collisions in the same generation, is
+
+.. math::
+
+ \sum_{g^{'}}^{}{\int_{\Omega^{'}}^{}{\ \frac{\Sigma_{s}\left( X,g^{'} \rightarrow g,\Omega^{'} \cdot \Omega \right)}{\Sigma_{tg^{'}}\left( X \right)}\text{Σ}_{tg^{'}}\left( X \right)\ \Phi_{g^{'},n}\left( X,\Omega \right)d\Omega^{'}}}
+
+The collision density in group g, per solid angle about Ω is
+
+.. math::
+
+ \Sigma_{tg}\int_{0}^{\infty}{\text{dR}e^{ T\left( R \right)}\sum_{g^{'}}^{}{\int_{\Omega^{'}}^{}{{\frac{\text{Σ}_{s}\left( X  R\Omega,g^{'} \rightarrow g,\Omega^{'} \cdot \Omega \right)}{\Sigma_{tg^{'}}\left( X  R\Omega \right)}\text{Σ}_{tg^{'}}\left( X  R\Omega \right)\text{Φ}}_{g^{'},n}\left( X  R\Omega,\Omega^{'} \right)}}d\Omega^{'}\ }
+
+The total collision density times :math:`\frac{\nu_g(X)\Sigma_{fg}(X)}{\Sigma_{tg}(X)}` is the relationship from
+which KENO picks the source points for the next generation.
+
+.. _81631:
+
+Collision treatment
+^^^^^^^^^^^^^^^^^^^
+
+A collision occurs in a geometrical region when a history exhausts its
+meanfreepath length within the boundaries of the region. For each
+collision, the absorbed weight and the fission weight are tabulated,
+then the weight is modified by the nonabsorption probability. This new
+weight is checked for splitting and Russian roulette, and if it
+survives, the history is scattered. A new energy group is selected from
+the cumulative transfer probability distribution. This grouptogroup
+transfer determines an angular scattering distribution, usually
+expressed as a Legendre expansion of the cross section transfer array.
+A set of discrete angles and probabilities are generated by a
+generalized Gaussian quadrature procedure, preserving the moments of the
+Legendre expansion of the angular scattering distribution. KENO treats
+P\ :sub:`0` and P\ :sub:`1` Legendre expansions as special cases. If the
+scattering distribution is isotropic, a flag is set to randomly select
+new direction cosines from an isotropic distribution, instead of using
+discrete scattering angles. If the distribution is a P\ :sub:`1`
+expansion, KENO randomly selects the cosine of the scattering angle
+according to
+
+ (1) :math:`\bar{\mu} < \frac{10^{10}}{3}`: scattering distribution is isotropic,
+
+ (2) :math:`\bar{\mu} \leq 1/3: \mu = \bigg(\sqrt{1+6\zeta\bar{\mu}+\big(3\bar{\mu}\big)^{2}}  1\bigg)/ 3\bar{\mu}`,
+
+or
+
+ (3) :math:`\bar{\mu} > 1/3: \mu = \zeta\big(1\bar{\mu}\big) + \bar{\mu}`
+
+
+where ζ is a uniform random variable between −1 and +1 and
+
+:math:`\bar{\mu}` is the mean cosine of the scattering angle.
+
+Otherwise, KENO randomly selects one of the discrete scattering angles
+(μ). New direction cosines are then calculated according to the
+following relationships where u, v, and w are the initial direction
+cosines and u′, v′, and w′ are the direction cosines after the
+collision:
+
+ u' = ucos\ :math:`\Psi  \sqrt{\text{v}^{2} + \text{w}^{2}}`\ sin\ :math:`\Psi`\ cos\ :math:`\eta`
+
+ v' = vcos\ :math:`\Psi + \frac{\text{uv}}{\sqrt{\text{v}^{2} + \text{w}^{2}}}\text{cos}\eta\text{sin}\Psi  \frac{\text{w}}{\sqrt{\text{v}^{2} + \text{w}^{2}}}\text{sin}\Psi\text{sin}\eta`
+
+ w' = wcos\ :math:`\Psi + \frac{\text{uw}}{\sqrt{\text{v}^{2} + \text{w}^{2}}}\text{cos}\eta\text{sin}\Psi + \frac{\text{v}}{\sqrt{\text{v}^{2} + \text{w}^{2}}}\text{sin}\Psi\text{sin}\eta`
+
+where
+
+ sinψ = :math:`\sqrt{1\mu^{2}}`,
+
+ cosψ = μ = cosine of the scattering angle,
+
+ η = a random azimuthal angle between 0 and 2π.
+
+.. _81632:
+
+Fission point selection
+^^^^^^^^^^^^^^^^^^^^^^^
+
+In order for a fission to occur, a neutron must first have a collision.
+The fission weight, :math:`\text{fisw}`, is defined as the neutron
+weight, :math:`\text{wt}`, times the νfission probability,
+:math:`\text{fnfp}`:
+
+.. math::
+ :label: eq8184
+
+ fisw = wt\ \times \ fnfp
+
+Two important variables used in the processing of fission points are (1)
+FWR, which is defined as the fission weight, :math:`\text{fisw}`,
+divided by a random number, and (2) RAKBAR, which is defined as a factor
+times the running average value of keffective, AKBAR. This factor is a
+function of the square root of the number of neutrons per generation and
+was chosen because it usually produces an adequate number of independent
+fission points and does not produce so many that an excessive amount of
+time is spent choosing from the fission points produced.
+
+The following procedure for generating fission points is repeated until
+FWR is less than RAKBAR. A fission point is generated only if FWR is
+greater than RAKBAR. Multiple fissions at the same point are allowed
+only if :math:`\text{fisw}` is greater than RAKBAR. If
+:math:`\text{fisw}` is greater than RAKBAR, a fission point is stored
+with FWR set equal to RAKBAR divided by a random number and
+:math:`\text{fisw}` is decremented by RAKBAR. Then the energy group of
+fission is chosen randomly from the fission spectrum of the mixture in
+which the fission occurred. The energy group of fission, the X, Y, and
+Z position, the location of the unit within the array, the region
+number, the value of FWR, the region number of the array boundary, and
+the nesting data for holes and/or arrays are stored in the fission bank.
+The quantity of fission points kept to be used as fission positions for
+the next generation is limited to the number of positions in the fission
+bank (input parameter **NFB**\ =). Typically **NFB** is equal to the
+input parameter **NPG**, the number of neutrons per generation. If a
+fission occurs and the fission counter is less than **NFB**, the fission
+point information is stored in the fission bank. If a fission occurs and
+the fission counter is greater than or equal to the number per
+generation, a search is made to find the smallest stored value of FWR.
+If FWR of the newly fissioned neutron is less than the smallest FWR in
+the table, it is discarded. Otherwise, the information from the newly
+fissioned neutron replaces that associated with the smallest value of
+FWR found in the table.
+
+When the next generation is ready to be processed, data are transferred
+from the fission bank into the neutron bank to be used as starting
+positions for the fission neutrons. If more than NPG neutrons are saved
+in the fission bank, **NPG** of those having the highest values of FWR
+will be used. If too few fission positions were stored (less than the
+number per generation), a warning message to that effect (K?132) is
+printed, and additional fission points are randomly chosen from those
+that were stored until the number of fission points available to start
+the next generation is equal to the number of neutrons per generation.
+
+.. _81633:
+
+Biasing or weighting
+^^^^^^^^^^^^^^^^^^^^
+
+In order to minimize the statistical deviation of keffective per unit
+computer time, KENO uses weighted tracking rather than analog tracking.
+Weighted tracking accounts for absorption by reducing the neutron weight
+rather than allowing the neutron history to be terminated by absorption.
+To prevent expending excessive computer time tracking lowweight
+neutrons, Russian roulette is played when the weight of the neutron
+drops below a preset weight, WTLOW. Neutrons that survive Russian
+roulette are assigned a weight, WTAVG. The value of WTLOW and WTAVG can
+be assigned as a function of position and energy. The values used by
+KENO are
+
+ DWTAV = 0.5, the default value of WTAVG,
+
+ WTAVG = DWTAV, the weight given a neutron that survives Russian
+ roulette, and
+
+ WTLOW = WTAVG/3.0, the value of weight at which Russian roulette is
+ played.
+
+A study :cite:`hoffman_optimization_1982` by Hoffman shows these default values to be reasonable for
+bare critical assemblies. :numref:`fig81200` from this study shows the
+analytic relationship between the variance and WTLOW when WTAVG is 0.5.
+Note that the default value of 0.167 for WTLOW is very close to the
+minimum point on the curve. Experimental results of actual Monte Carlo
+calculations\ :sup:`7` provide further assurance that 0.167 is an
+optimum choice for WTLOW when WTAVG is 0.5.
+
+.. _fig81200:
+.. figure:: figs/Keno/fig200.png
+ :align: center
+ :width: 600
+
+ Analytic estimate of the relationship between WTLOW and the variance, :math:`\sigma^{2}_{k}`, when WTAVG is 0.5.
+
+:numref:`fig81201`, also from the Hoffman study, shows the analytic
+relationship between the variance and the value chosen for WTAVG for a
+value of WTLOW = 0.167. Although the KENO default value for WTAVG is not
+the optimum, a close examination of the data shows that the variance was
+changing relatively slowly as a function of WTAVG. Even though this
+study shows a value near 0.26 to be optimum for this system, further
+studies of other systems are needed before changing the default value of
+WTAVG from 0.5 as it has been used in previous versions of KENO.
+
+.. _fig81201:
+.. figure:: figs/Keno/fig201.png
+ :align: center
+ :width: 600
+
+ Analytic estimate of the relationship between WTAVG and the
+ variance, :math:`\sigma^{2}_{k}`, when WTLOW is :sup:`1`/:sub:`6`.
+
+Inside a fissile core, the importance of a neutron is a slowly varying
+function in terms of energy and position. Hence, for many systems, the
+standard defaults for WTLOW and WTAVG are good values to use. For
+reflectors, however, the worth of a neutron varies as a function of
+distance from the fissile material and as a function of energy. As a
+neutron in the reflector becomes less important relative to a neutron in
+the fissile region, it becomes desirable to spend less time tracking it.
+Therefore a space and energydependent weighting or biasing function is
+used in KENO to allow the user to minimize the variance in keffective
+per unit of tracking time. When a biasing function is used in a
+reflector, it becomes possible for a neutron to move from one importance
+region into another in which the WTLOW is greater than the weight of the
+neutron. When this occurs, Russian roulette is played to reduce the
+number of neutrons tracked. When the reverse occurs, that is, when the
+neutron moves to a region of higher importance, its weight may be much
+higher than WTAVG for that region. When the weight of the neutron is
+greater than a preset value, WTHI, the neutron is split into two
+neutrons, each having a weight equal to onehalf the weight of the
+original neutron. This procedure is repeated until the weight of the
+split neutron is less than WTHI. The default value for WTHI is
+WTAVG*3.0. WTHI is the weight at which splitting occurs.
+
+The weighting or biasing function for a given core material and
+reflector material can be obtained by using the adjoint solution from
+S\ :sub:`n` type programs for a similar (usually simplified) problem.
+This adjoint flux gives the relative contribution of a neutron at a
+given energy and position to the total fissions in the system. The
+weighting function for KENO is thus proportional to the reciprocal of
+the adjoint flux. Although such a function can be difficult to obtain,
+the savings gained makes the effort worthwhile for many of the materials
+that are frequently used as reflectors. Biasing functions :cite:`odell_transport_1987` have been
+prepared for several reflector materials commonly used in KENO
+calculations. The use of biasing to minimize the variance in keffective
+per unit of computer time will usually increase the variance in other
+parameters such as leakage or absorption in the reflector.
+
+.. _81634:
+
+Differential albedos
+^^^^^^^^^^^^^^^^^^^^
+
+Arrays reflected by thick layers of material having a small absorption
+to the scattering ratio may require large amounts of computer time to
+determine keffective\ :cite:`demaret_accurate_1999` because of the relatively long time a
+history may spend in the reflector. A differential albedo technique was
+developed for use with the KENO codes to eliminate tracking in the
+reflector. This involves returning a history at the point it impinges on
+the reflector and selecting an emergent energy and polar angle from a
+joint density function dependent upon the incident energy and polar
+angle. The weight of the history is adjusted by the functional return
+from the reflector, which is also based on the incident energy and
+angle.
+
+The characteristics of a differential albedo emulate the attributes of
+the reflector material and are independent of the material or materials
+adjacent to the reflector. Thus, a differential albedo that is generated
+for a given reflector material can be used with any array, regardless of
+the type of fuel or fissile material contained within the array.
+
+For many calculations involving reflected arrays of fissile material,
+the differential albedo treatment is a powerful tool that can
+significantly reduce the computing time required to determine
+keffective. The savings will vary depending on the importance of the
+reflector to the system. A substantial effort is required to generate a
+differential albedo, but the savings gained were well worth the effort
+for commonly used reflector materials. The savings are not worth the
+applicability questions on modern computing platforms; the differential
+albedo capability is maintained only for backwards compatibility.
+
+To generate the differential albedo information for a material, a
+fixedsource calculation must be made for each incident energy and
+angle. The data presently available for use with KENO were generated by
+1‑D discrete ordinates calculations for slab geometry representing
+infinite slabs. Consequently, for a finite reflector, these data will
+not correctly treat histories that enter the reflector near an edge.
+Past experience with differential albedo reflectors indicates that
+keffective appears to be conservative for small faces and will tend
+toward the correct result as the face becomes large relative to the area
+near the corners. Care must be taken to ensure that any surface to which
+a differential albedo is applied is large enough that the errors at the
+edges can be ignored.
+
+Because differential albedos are expensive and time consuming to
+generate, those corresponding to the HansenRoach 16energygroup
+structure are the only differential albedos available for use with KENO
+at this writing. In the past, their use was limited to problems using
+cross sections having the Hansen‑Roach 16energygroup structure. KENO
+extends the use of differential albedos to other energygroup structures
+by allowing appropriate energy transfers. This is accomplished by
+creating lethargy boundary tables for the albedo group structure and the
+cross section group structure and determining the lethargy interval
+corresponding to the desired transfer (cross section group structure to
+albedo group structure or vice versa) based on a uniform lethargy
+distribution over the interval. When the energygroup boundaries of the
+cross sections and albedos are different, the results should be
+scrutinized by the user to evaluate the effects of the approximations.
+
+.. _8164:
+
+Geometry
+~~~~~~~~
+
+KENO V.a geometry is restricted to the use of specific shapes. These
+shapes are called geometry regions or regions. Allowed shapes in KENO
+V.a are cubes, cuboids (rectangular parallelepipeds), spheres,
+cylinders, hemispheres, and hemicylinders. These shapes must be oriented
+along orthogonal axes and cannot be rotated in KENO V.a. They can be
+translated. Hemispheres and hemicylinders are not limited to half
+spheres and half cylinders; the definitive plane can be positioned by
+entering a chord. The value of this chord can range from the positive
+magnitude of the radius (giving a complete sphere or cylinder) to the
+negative magnitude of the radius (giving a zero volume, nonexistent
+sphere or cylinder).
+
+KENOVI geometry can model any geometric shape that can be described
+using quadratic equations. These geometric shapes are stacked together
+forming regions. The set of regions is then used to build units. A set
+of predefined shapes that include cones, cuboids (rectangular
+parallelepipeds), cylinders, dodecahedrons, ecylinders (extruded
+elliptical cylinders), ellipsoids, hexprisms, hoppers, parallelepipeds,
+planes, rhombohedrons, spheres, wedges (triangular prisms), as well as
+others is used to construct regions. In addition, the keyword
+**QUADRATIC** is provided which allows additional shapes to be
+constructed by specifying the quadratic equations that describe the
+shape. These shapes can be rotated and translated to any orientation and
+position within their respective units. Hemispheres and hemicylinders
+can be constructed using spheres and cylinders with a chord. Regions are
+rotated by providing the nonzero angles associated with the Euler
+Xconvention.
+
+A major restriction applied to KENO V.a geometry is that intersections
+are not allowed. Furthermore, each successive geometry region must
+completely enclose the preceding region. Tangency and shared faces are
+allowed. The volume of a region is the volume of the specified shape
+minus the volume of the preceding region shape and any holes contained
+in the region. To alleviate the complete enclosure restriction, KENO V.a
+allows multiple sets of geometry regions, with each set independently
+governed by this restriction. Each set of these multiple geometry
+regions is called a *unit*. Units can be stacked together in a 3D
+rectangular parallelepiped called an *array* or *lattice*, just as
+children’s blocks can be stacked. Units that are to be stacked together
+in this manner must have a rectangular parallelepiped outer region, and
+the adjacent faces of adjacent units must be the same size and shape. An
+array can be treated as a building block and used as a unit within
+another array.
+
+A major improvement in KENOVI is the ability to intersect regions.
+Region volumes are no longer calculated due to the complexity involved
+with intersecting regions. Each set of multiple geometry regions is
+called a unit. KENOVI allows multiple sets of geometry regions (i.e.,
+units), and each set has an independent coordinate system. A global unit
+must be specified for every problem, including singleunit problems.
+Units with cuboidal outer boundaries where the adjoining faces have the
+same dimensions can be stacked together in a 3D rectangular
+parallelepiped called an *array* or *lattice*, just as children’s blocks
+can be stacked. Unlike KENO V.a, units having hexagonal or dodecahedral
+outer boundaries where the adjoining faces have the same dimensions can
+also be stacked together in an array. An array boundary must be
+specified that either coexists with the outermost edge of the array or
+that is entirely within the array. The array boundary can be any shape
+that is definable using quadratic equations. An array can be treated as
+a building block and used as a unit within another array.
+
+The use of holes in KENO allows a unit to be emplaced within another
+unit. This feature allows the addition of a complex structure,
+previously defined as a unit, to be directly placed within another unit.
+In KENO V.a a hole is not allowed to intersect other holes or regions,
+but holes may intersect multiple regions in KENOVI.
+
+Multiple arrays can be described in KENO. The global array in an
+unreflected problem is the outermost array in the problem geometry
+description. The global array in a reflected problem is the array
+referenced by surrounding geometry regions following the last array
+placement description that does not immediately follow a unit number
+description. In KENOVI, the outermost boundary is always specified as
+the global unit boundary. If the outermost boundary is to be the array
+boundary, a global unit must still be specified with the global unit
+boundary coinciding with the array boundary. Unlike past versions of
+KENO, KENOVI cannot run a single unit problem without specifying a
+global unit.
+
+.. _8165:
+
+Fluxes
+~~~~~~
+
+Fluxes are computed in KENO with a track length estimator. The scalar
+flux in region \ *z* for energy group *g* for a single generation is
+computed as
+
+.. math::
+ :label: eq8185
+
+ \Phi_{g,z} = \frac{\sum^{K}_{k=1}W_{k,z}l_{k,z}}{V_{z}\sum^{K}_{k=1}W_{k,0}} ,
+
+where
+
+ *l*\ :math:`_{k,z}` = distance traversed by particle *k* while within region z
+ and energy group *g*,
+
+ *W*\ :math:`_{k,z}` = weight of particle *k* while traversing region *z*,
+
+ *V*\ :math:`_z` = volume of region *z*,
+
+ *W*\ :math:`_{k,0}` = initial weight of particle *k*, and
+
+ *K* = total number of histories in the generation.
+
+The average fluxes for all active generations and the standard deviation
+in the averages are also computed. Scaler fluxes computed by KENO are
+reported in units of neutrons per cm\ :sup:`2` per initial source
+neutron.
+
+KENO is also capable of computing the angular flux for a level symmetric
+quadrature set. The angular flux for energy group g in region z for
+quadrature direction \ *n* is computed as
+
+.. math::
+ :label: eq8186
+
+ \Phi^{n}_{g,z} = \frac{\sum_{k=1}^{K}W_{k,z}l_{k,z,n}}{V_{z}\sum^{K}_{k=1}W_{k,0}} ,
+
+where
+
+ *l*\ :sub:`k,z,n` = the distance traversed by particle \ *k* while within
+ region \ *z* and energy group \ *g* within the quadrature
+ direction \ *n*.
+
+The angular flux can be expanded to flux moments using an appropriate
+spherical harmonics expansion. KENO has even number symmetric level
+quadrature sets S\ :sub:`2`\ −S\ :sub:`16`.
+
+Flux moments can also be computed directly in KENO. The *j\ th* moment,
+which corresponds to real valued spherical harmonics functions :cite:`demaret_accurate_19991` for
+a single generation for energy group \ *g* in region \ *z,* is computed
+as
+
+.. math::
+ :label: eq8187
+
+ \phi^{j}_{g,z} = \frac{\sum_{k=1}^{K}R^{j}_{k}W_{k,z}l_{k,z}}{V_{z}\sum^{K}_{k=1}W_{k,0}} ,
+
+where
+
+ :math:`R^{j}_{k}` = real valued spherical harmonics function for moment index \ *j*
+ corresponding to the direction of particle \ *k*.
+
+KENO offers the option of computing the angular fluxes and flux moments
+using a transformed coordinate system so that the moments are based on a
+polar rather than a Cartesian position vector. This is a 3D extension
+of the 1D method for calculating the flux moments in terms of Legendre
+polynomials based only on the direction cosine with respect to the
+spatial coordinate.
+
+This coordinate transform is illustrated in :numref:`fig81193`. Here,
+:math:`\hat{i}`, :math:`\hat{j}`, and :math:`\hat{k}`
+represent the directional coordinate system axes, µ, η, ξ represent the
+direction cosines, and θ and ρ\ represent the polar and
+azimuthal angles of the “normal” coordinate system. The same symbols
+primed represent the transformed coordinate system. The transformed
+polar or :math:`\hat{k}^{'}` axis is colinear, with the position vector :math:`\vec{r}`
+directed from the
+center of the region for which moments are desired to the point at which
+the flux tally occurs. By using the center of the region as a reference
+point, consistency of the moment calculation is assured with differing
+models of the same system. The :math:`\hat{i}^{'}` and :math:`\hat{j}^{'}`
+axes are chosen to form an
+orthogonal coordinate system, with :math:`\hat{i}^{'}` held in the plane formed
+by :math:`\hat{i}` and :math:`\hat{j}`. The
+use of constraints other than the restriction of :math:`\hat{i}^{'}` to this plane may be
+explored in future studies. If an additional constraint is not placed on
+either :math:`\hat{i}^{'}` or :math:`\hat{j}^{'}`, the transform would be able to
+rotate about :math:`\hat{k}^{'}`, and the
+consistency of consecutive transformations of the same direction could
+not be assured. With the transform computed, the position and direction
+of travel of the particle remain unchanged, but the quadrature
+directions and/or spherical harmonics terms are calculated using the
+transformed coordinate system. With the direction cosines consistently
+transformed for each history, the new polar and azimuthal angles can be
+computed and the spherical harmonics functions can be calculated for
+each history.
+
+KENO offers a mesh flux tally in which the fluxes are computed in a
+userdefined cubic mesh superimposed on the geometry model. The mesh is
+defined from the origin of the global unit and is oriented with the
+Cartesian axes. At the end of each particle track, appropriate track
+lengths are assigned to the mesh intervals that were crossed for the
+region in which the track occurred. The length of the actual particle
+track is equal to the sum of the lengths assigned to the meshes
+encountered by the particle track. Because the coordinates of the mesh
+are defined in terms of the global unit, fluxes for regions in repeated
+units (i.e., units in arrays or holes) may be stored separately for each
+occurrence of the unit. The volumes of each region in each mesh interval
+are computed so that the fluxes are appropriately normalized on a per
+unit volume basis, consistent with :eq:`eq8185`. When the mesh flux option is
+activated, all requested fluxes, scalar, angular and/or moment, are
+computed for each mesh interval.
+
+.. _fig81202:
+.. figure:: figs/Keno/fig202.png
+ :align: center
+ :width: 600
+
+ Coordinate transform used for quadrature direction and spherical harmonics terms.
+
+.. _8166:
+
+Reaction Rate and Few Group Micro Cross Section Calculations
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+A fewgroup microscopic reaction cross section calculation capability is
+included in the KENO codes to provide this data especially for the CE
+depletion calculations in SCALE. This new method produces multigroup
+cross sections and reaction rates directly in CE mode calculations
+rather than using a postprocessing approach. In each generation, KENO
+uses track length estimators for the reaction rate tallies for all
+isotopes in each specified regions. At the end of each generation, a
+subsequent calculation is performed to compute few group microscopic
+reaction cross sections for all isotopes in a region as the ratio of the
+computed reaction rates to the flux averaged over this cell. Finally,
+KENO computes mean values and statistical uncertainties for all these
+quantities, and saves them in a file, which could be used by the
+depletion modules in SCALE.
+
+Reaction tally calculations can be enabled by entering the required data
+in the **READ REACTION** block described in :ref:`81215`.
+
+.. _8167:
+
+Source Convergence Diagnostics
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Fission source convergence detection techniques are implemented in KENO
+to provide improved confidence in the computed *k*\ :sub:`eff` and tally
+results. The dominance ratio of a system is equal to the ratio of the
+eigenvalue of the first nonfundamental mode to that of the fundamental
+mode, *k*\ :sub:`1`\/\ *k*\ :sub:`0`. The dominance ratio is strongly related to the
+convergence rate of the fission source for systems, and problems with
+larger dominance ratios will require more inactive generations to
+produce reliable *k*\ :sub:`eff` and reaction rate estimates. A converged
+*k*\ :sub:`eff` estimate does not necessarily guarantee a converged fission
+source distribution, and the fission source and flux distribution may
+continue to evolve well after *k*\ :sub:`eff` convergence is reached.
+Convergence of the fission source distribution is necessary to ensure
+that all regions containing fissile material in a model are adequately
+represented in the final *k*\ :sub:`eff` estimate. Typically, the *k*\ :sub:`eff`
+estimate converges much faster than the fission source and neutron flux
+distributions, and simulations may undersample important regions and
+produce inaccurate flux and reaction rate estimates if the user includes
+only enough inactive generations for the eigenvalue to converge. This is
+particularly important in models where one region is physically small
+but substantially more reactive than others (i.e. the keffective of the
+World problem :cite:`whitesides_difficulty_1971`). The highly reactive region may not be adequately
+sampled, which may result in an underprediction of *k*\ :sub:`eff`. Thus, it is
+essential to monitor the convergence of both the fission source
+distribution and *k*\ :sub:`eff`; versions of KENO included in SCALE versions
+prior to SCALE 6.2 only monitored the convergence of *k*\ :sub:`eff`, but
+diagnostic tools to identify unconverged fission source distributions
+are included in SCALE 6.2 and beyond.
+
+.. note:: Due to limited experience with these tests in KENO, the
+ Shannon entropy test results should be used as a supplement to guarantee
+ that a problem’s fission source is converged. Failure of Shannon entropy
+ tests typically indicates insufficient convergence of fission site
+ source distributions. Whenever Shannon entropy tests report failure,
+ users should review the plots of *k*\ :sub:`eff` as a function of generation
+ skipped and *k*\ :sub:`eff` as a function of generation completed
+ (:ref:`81426` and :ref:`81427`) to ensure that the *k*\ :sub:`eff` value is adequately
+ converged. If it is not clear that the *k*\ :sub:`eff` value is converged,
+ users should rerun the calculation using a different number of neutrons
+ per generation (using the **NPG** parameter) or using a different random
+ number seed value (using the **RND** parameter) or a different starting
+ source term distribution (using the **READ START** block).
+
+It may also be possible to pass the Shannon entropy tests by changing
+the source convergence mesh (using the **SCD** parameter and the **READ
+GRID** block) or changing the number skipped generations (using the
+**NSK** parameter).
+
+
+For KENO calculations that are used for other purposes (such as
+producing neutron flux and reaction rate distributions, fuel depletion
+calculations, or fission distributions for radiation transport
+calculations) in which the spatial dependence of the neutron flux and
+fission source may be more important, KENO calculations with failed
+Shannon entropy tests should be rerun because these spatially dependent
+distributions may not be adequately converged.
+
+.. _81671:
+
+Shannon Entropy Statistics
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The fission source distribution, *S*, is measured at the beginning of
+each generation using given spatial meshes. The state of source
+distribution at the *j*\ :sup:`th` generation can then be characterized by
+Shannon entropy:
+
+.. math::
+ :label: eq8188
+
+ H(S^{j}) =  \sum^{M}_{i}[S^{j}_{i}\text{log}_{2}(S^{j}_{i})] ,
+
+where :math:`{S}_{i}^{j}` is the fraction of the fission source
+distribution from the *j*\ :sup:`th’` generation tallied in the spatial bin
+*i*, and *M* is the total number of spatial bins (typically represented
+using a spatial mesh). The value of *H* ranges from a maximum value of
+log\ :sub:`2`\ *M* when the source distribution is uniform, and to a minimum value of zero
+when the whole source is located in a single bin. By computing *H* for
+each generation, the distribution of the fission source is used to
+generate a score for *H* for each generation, and the convergence of the
+fission source can be assessed by tracking the convergence and
+randomness of the values of *H* over each successive generation. Random
+fluctuations in the generationtogeneration Shannon entropy tallies
+make it difficult to determine if and when the Shannon entropy of a
+system has converged, so several metrics and tests are typically applied
+to examine the Shannon entropy and identify convergence in a
+system :cite:`ueki_information_2005`.
+
+The first test for fission source convergence is a comparison between
+the mean square of posterior relative entropy, and the centered mean
+square Shannon entropy. The posterior relative entropy, :math:`D(S^{j}\parallel T)` , is defined as
+the statistical distance between the binned fission source
+:math:`{S}^{j}_i`\ and the average fission source over the second half of
+the active generations, *T*, and is given by
+
+.. math::
+ :label: eq8189
+
+ D(S^{j}\parallel T) = \sum^{M}_{i}[S^{j}_{i}\text{log}_{2}(S^{j}_{i} / T_{i})] ,
+
+where *T* is defined by
+
+.. math::
+ :label: eq8190
+
+ T_{i} = \frac{2}{N}\sum^{N}_{j=N / 2+1}S^{j}_{i} ,
+
+where *N* is the number of active generations. The posterior relative
+entropy is nonnegative and becomes zero only when :math:`{S}^{j}`\ = *T*
+and achieves its maximum value when :math:`S^{j}` is uniform.
+
+The mean square posterior relative entropy is defined as
+
+.. math::
+ :label: eq8191
+
+ msq(D) = \frac{2}{N}\sum^{N}_{j=N / 2+1}D(S^{j}_{i}\parallel T_{i})^{2} ,
+
+and the centered mean square Shannon entropy is defined as
+
+.. math::
+ :label: eq8192
+
+ cmsq(H) = \frac{2}{N2}\sum^{N}_{j=N / 2+1}[H(S^{j}_{i})  \bar{H}]^{2} ,
+
+where :math:`\bar{H}` is defined as
+
+.. math::
+ :label: eq8193
+
+ \bar{H} = \frac{2}{N}\sum^{N}_{j=N / 2+1}H(S^{j}_{i}) .
+
+This test compares the measure of fluctuations of Shannon entropy (*cmsq(H)*)
+with the measure of the magnitude of the penalty incurred by assuming *T*
+(*msq(D)*) and states that the fission source is converged if *msq(D)* < *cmsq(H)*.
+This test is
+useful to determine whether the source is converged by the end of the
+calculation. Failure of this test indicates that the fission source was
+still moving during the active generations, which indicates that the
+number of skipped generations was not sufficient to converge the fission
+source.
+
+The second test is given by
+
+.. math::
+ :label: eq8194
+
+ D(S^{j}\parallel T)  [H(TH(S^{j}))] \leq \varepsilon
+
+
+where ε has been set to 0.1. This test verifies that the Shannon entropy
+of each active generation does not vary significantly from the average
+Shannon entropy of the system and should be valid over all active
+generations. For example, this test could detect an unconverged fission
+source for a problem with an undersampled, highly fissile fuel region,
+as any neutrons that reached this region would produce an outlier in the
+Shannon entropy tally for that generation. This test is especially
+useful for reporting the generation at which the source converged. Once
+the converged generation is determined, the user can repeat the
+calculation with the number of inactive generations (skipped
+generations) set to be the identified generation or greater to ensure
+that only contributions from generations with a converged source
+contribute to flux and reaction rate tallies. This test complements the
+first test since it will not be affected by whether or not the binned
+source is uniform.
+
+The last test calculates whether
+
+.. math::
+ :label: eq8195
+
+ H_{\eta} = H(S^{j})  H_{b} \leq \eta ,
+
+where *H*\ :sub:`b` is the average Shannon Entropy over the second half of
+active generations, and η has been set to 0.1. This test verifies that
+the average Shannon entropy of all active generations does not differ
+significantly from the Shannon entropy of the last half of the active
+generations. This test is useful for detecting fission source
+convergence in problems where an inadequate number of inactive
+generations was sampled, as the Shannon entropy would continue to change
+during the active generations until it eventually converges.
+
+.. _81672:
+
+Source Convergence Diagnostic Input
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Because the processing of the source tallies for fission source
+convergence calculations is quite fast and produces small memory
+requirements, these source convergence diagnostics have been permanently
+enabled in KENO and require no additional input parameters. However, the
+KENO input specifications were updated to allow users to specify the
+spatial mesh data for the source convergence tests via the **SCD**
+parameter and **READ GRID** data block.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+.. bibliography:: bibs/Keno.bib
diff git a/KenoA.rst b/KenoA.rst
new file mode 100644
index 0000000000000000000000000000000000000000..a3460cca9194dca3b14eadd040dc68920d7e96b8
 /dev/null
+++ b/KenoA.rst
@@ 0,0 +1,120 @@
+.. _81A:
+
+Keno Appendix A: KENO V.a Shape Descriptions
+============================================
+
+The geometry **shape**\ s allowed in KENO V.a geometry description are:
+
+ **CUBE, CUBOID, SPHERE, CYLINDER, ZCYLINDER, XCYLINDER, YCYLINDER,
+ HEMISPHERE, HEMISPHE+X, HEMISPHE−X, HEMISPHE+Y,**
+
+ **HEMISPHE−Y, HEMISPHE+Z, HEMISPHE−Z, XHEMICYL+Y, XHEMICYL−Y,
+ XHEMICYL+Z, XHEMICYL−Z, YHEMICYL+X, YHEMICYL−X, YHEMICYL+Z,
+ YHEMICYL−Z, ZHEMICYL+X, ZHEMICYL−X, ZHEMICYL+Y, ZHEMICYL−Y**
+
+**CUBE**
+ specifies a cube. It sets +X = +Y = +Z and −X = −Y = −Z. Note
+ that the +X dimension need not equal the −X dimension of the cube (i.e.,
+ the origin need not be at the center of the cube).
+
+**CUBOID**
+ is a rectangular parallelepiped and may be described anywhere
+ relative to the origin.
+
+**SPHERE**
+ specifies a sphere that is centered about the origin, unless
+ otherwise specified by the optional region origin data.
+
+**CYLINDER**
+ specifies a cylinder that has its length described along
+ the Z axis. Its centerline must lie on the Z axis, unless otherwise
+ specified by the optional region origin data.
+
+**ZCYLINDER**
+ specifies a cylinder that has its length described along
+ the Z axis. Its centerline must lie on the Z axis, unless otherwise
+ specified by the optional region origin data.
+
+**XCYLINDER**
+ specifies a cylinder that has its length described along
+ the X axis. Its centerline must lie on the X axis, unless otherwise
+ specified by the optional region origin data.
+
+**YCYLINDER**
+ specifies a cylinder that has its length described along
+ the Y axis. Its centerline must lie on the Y axis, unless otherwise
+ specified by the optional region origin data.
+
+**HEMISPHERE**
+ is used to specify a spherical segment of one base whose
+ spherical surface exists in the positive Z direction. The base or flat
+ portion of the spherical segment is centered about a point that may be
+ specified in the optional region origin data. By default, the center of
+ the spherical surface is the origin and the distance to the base from
+ the center of the spherical surface is zero.
+
+**HEMISPHE**\ *bc*
+ is used to specify a spherical segment of one base
+ whose spherical surface exists in the *bc* direction (b = + or −, c = x,
+ y, or z). The base or flat portion of the spherical segment is located a
+ distance ρ from the center of the spherical surface, and the center may
+ be specified in the optional region origin data. **HEMISPHE+Z** is the
+ same as the previously described **HEMISPHERE** and **HEMISPHE−Z** is
+ the mirror image of **HEMISPHE+Z**, therefore existing only in the
+ negative Z direction. By default the center of the spherical surface is
+ the origin and the distance of the base from the center of the spherical
+ surface is zero.
+
+*b*\ **HEMICYL**\ *cd*
+ is used to specify a cylindrical segment whose
+ axis is in the *b* direction (b = x, y, or z) and whose cylindrical
+ surface exists only in the *c* direction from a plane perpendicular to
+ the *d* axis (c = + or −, d = x, y, or z). The position of the plane
+ (cut surface) can be specified in the optional region chord data. This
+ plane cuts the cylinder parallel to the axis at some distance, ρ, from
+ the axis. By default, the axis passes through the origin and ρ is zero.
+ (Examples: **ZHEMICYL+X, YHEMICYL−Z, XHEMICYL+Y**)
+
+Up to 6 dimensions follow the shape keyword [*xx(1)* through *xx(6)*].
+These entries are separated by one or more blanks and define the size of
+the region. Dimensions must be given in cm.
+
+*xx(1)*: Radius for a sphere, cylinder, hemisphere or hemicylinder,
+
+ +X dimension for a cube or cuboid.
+
+*xx(2)*: −X dimension for cube or cuboid,
+
+ +Z for cylinder or Z cylinder,
+
+ +X for X cylinder,
+
+ +Y for Y cylinder,
+
+ +length for hemicylinder,
+
+ omit *xx(2)* for a sphere or hemisphere.
+
+*xx(3)*: +Y dimension for cuboid,
+
+ −Z for cylinder or Z cylinder,
+
+ −X for X cylinder,
+
+ −Y for Y cylinder,
+
+ −length for hemicylinder,
+
+ omit *xx(3)* for a sphere, hemisphere, or cube.
+
+*xx(4)*: −Y dimension for cuboid,
+
+ omit for all other geometry types.
+
+*xx(5)*: +Z dimension for cuboid,
+
+ omit for all other geometry types.
+
+*xx(6)*: −Z dimension for cuboid,
+
+ omit for all other geometry types.
diff git a/KenoB.rst b/KenoB.rst
new file mode 100644
index 0000000000000000000000000000000000000000..b899f2a25bef3d753caf8e3a3da0af12dc8c850f
 /dev/null
+++ b/KenoB.rst
@@ 0,0 +1,406 @@
+.. _81B:
+
+Keno Appendix B: KENO VI Shape Descriptions
+===========================================
+
+The geometry **shape**\ s allowed in KENOVI geometry description are:
+
+ **CONE**, **CUBOID**, **CYLINDER**, **DODECAHEDRON**, **ECYLINDER**,
+ **ELLIPSOID**, **HEXPRISM**, **HOPPER**, **PARALLELEPIPED**,
+ **PPIPED**, **PENTAGON**, **PLANE**, **QUADRATIC**, **RHEXPRISM**,
+ **RHOMBOID**, **SPHERE**, **WEDGE**, **XCYLINDER**, **XPPLANE**,
+ **YCYLINDER**, **YPPLANE**, **ZCYLINDER**, **ZPPLANE**
+
+**CONE**
+ specifies a body consisting of one nappe of a right circular
+ cone. It is defined by specifying the top radius of the cone,
+ R\ :sub:`t`, the Z coordinate of the top face, Z\ :sub:`t`, the bottom
+ radius of the cone, R\ :sub:`b`, and the Z coordinate of the bottom
+ face, Z\ :sub:`b`. :numref:`fig81b1` shows the correct input sequence for a
+ cone.
+
+.. _fig81b1:
+.. figure:: figs/KenoB/fig1.png
+ :align: center
+ :width: 500
+
+ Example of cone construction.
+
+**CUBOID**
+ specifies a rectangular parallelepiped. It is defined by
+ specifying the +X dimension, −X dimension, +Y dimension, −Y dimension,
+ +Z dimension, −Z dimension. It is perpendicular to the X, Y, and Z axes
+ unless otherwise specified by the option geometry modification data.
+ :numref:`fig81b2` shows the correct input sequence for a cuboid.
+
+.. _fig81b2:
+.. figure:: figs/KenoB/fig2.png
+ :align: center
+ :width: 500
+
+ Example of cuboid construction.
+
+**CYLINDER**
+ specifies a right circular cylinder. It is defined by
+ specifying the radius of the cylinder, R, the Z coordinate of the top
+ face, Z\ :sub:`t`, and the Z coordinate of the bottom face, Z\ :sub:`b`.
+ Its centerline must lie on the Z axis, unless otherwise specified by the
+ optional geometry modification data. :numref:`fig81b3` shows the correct
+ input sequence for a cylinder.
+
+.. _fig81b3:
+.. figure:: figs/KenoB/fig3.png
+ :align: center
+ :width: 600
+
+ Example of cylinder construction.
+
+
+**DODECAHEDRON**
+ specifies a body whose surface consists of 12 rhombuses
+ of the same size and shape. It is defined by specifying the radius of
+ the inscribed sphere, R. It is centered on the origin in a fixed
+ orientation unless otherwise specified by the optional geometry
+ modification data. :numref:`fig81b4` shows the correct input sequence for a
+ dodecahedron.
+
+.. _fig81b4:
+.. figure:: figs/KenoB/fig4.png
+ :align: center
+ :width: 600
+
+
+ Example of dodecahedron construction.
+
+**ECYLINDER**
+ specifies a right cylinder with an elliptical cross
+ section. It is defined by specifying the semiradius along the Xaxis,
+ R\ :sub:`x`, the semiradius along the Yaxis, R\ :sub:`y`, the
+ Z coordinate of the top face, Z\ :sub:`t`, and the Z coordinate of the
+ bottom face, Z\ :sub:`b`. Its centerline must lie on the Z axis, unless
+ otherwise specified by the optional geometry modification data.
+ :numref:`fig81b5` shows the correct input sequence for an elliptical
+ cylinder.
+
+.. _fig81b5:
+.. figure:: figs/KenoB/fig5.png
+ :align: center
+ :width: 600
+
+ Example of elliptical cylinder construction.
+
+**ELLIPSOID**
+ specifies a body whose crosssection slices parallel to
+ each of the coordinate axes are ellipses. It is defined by specifying
+ the semiradius along the Xaxis, R\ :sub:`x`, the semiradius along the
+ Yaxis, R\ :sub:`y`, and the semiradius along the Zaxis, R\ :sub:`z`.
+ It is centered about the origin, unless otherwise specified by the
+ optional geometry modification data.
+ :numref:`fig81b6` shows the correct input sequence for an ellipsoid.
+
+.. _fig81b6:
+.. figure:: figs/KenoB/fig6.png
+ :align: center
+ :width: 600
+
+ Example of ellipsoid construction.
+
+**HEXPRISM**
+ specifies a body whose top and bottom faces are hexagons
+ that have the same orientation and are perpendicular to the Z axis. It
+ is defined by specifying the inscribed radius, R, the Z coordinate of
+ the top face, Z\ :sub:`t`, and the Z coordinate of the bottom face,
+ Z\ :sub:`b`. :numref:`fig81b7` is an example input for a hexprism.
+
+.. _fig81b7:
+.. figure:: figs/KenoB/fig7.png
+ :align: center
+ :width: 600
+
+ Example of hexprism construction.
+
+**HOPPER**
+ specifies a body whose top and bottom faces are rectangular
+ parallelepipeds centered about the Zaxis and parallel to the X and
+ Y axes. It is defined by specifying the halflength of the top face
+ along the Xaxis, X\ :sub:`t`, the halflength of the top face along the
+ Yaxis, Y\ :sub:`t`, the Z coordinate of the top face, Z\ :sub:`t`, the
+ halflength of the bottom face along the Xaxis, X\ :sub:`b`, the
+ halflength of the bottom face along the Yaxis, Y\ :sub:`b`, and the
+ Z coordinate of the bottom face, Z\ :sub:`b`. Its centerline must lie on
+ the Z axis unless otherwise specified by the optional geometry
+ modification data. :numref:`fig81b8` shows the correct input sequence for a
+ hopper.
+
+.. _fig81b8:
+.. figure:: figs/KenoB/fig8.png
+ :align: center
+ :width: 600
+
+ Example of hopper construction.
+
+**PARALLELEPIPED** or **PPIPED**
+ is a body with six faces composed
+ of parallelograms, whose opposing
+ faces are parallel. It is defined
+ by specifying the length of the
+ faces in the X direction, XDIST,
+ the length of the faces in the
+ Y direction, YDIST, the length of
+ the faces in the Z direction,
+ ZDIST, the angle between the
+ Xface and the Yaxis, PSI, the
+ angle between the Yface and the
+ Zaxis, THETA, and the angle
+ between the projection of the top
+ corner nearest the Zaxis onto
+ the XY plane and the Xaxis,
+ PHI. The bottom face must lie on
+ the XY plane at Z = 0 with a
+ corner at the origin unless
+ otherwise specified by the
+ optional geometry modification
+ data. :numref:`fig81b9` shows the
+ correct input sequence for a
+ parallelepiped. The angles psi,
+ theta, and phi must be in the
+ range 0 to 90°.
+
+.. _fig81b9:
+.. figure:: figs/KenoB/fig9.png
+ :align: center
+ :width: 600
+
+ Example of parallelepiped construction.
+
+**PENTAGON**
+ specifies a body whose top and bottom faces are pentagons
+ that have the same orientation and are perpendicular to the Z axis. It
+ is defined by specifying the inscribed radius, R, the Z coordinate of
+ the top face, Z\ :sub:`t`, and the Z coordinate of the bottom face,
+ Z\ :sub:`b`. :numref:`fig81b10` is an example input for a pentagon.
+
+
+.. _fig81b10:
+.. figure:: figs/KenoB/fig10.png
+ :align: center
+ :width: 600
+
+ Example of pentagon construction.
+
+**PLANE**
+ is a surface where any two points can be connected by a
+ straight line entirely contained within a plane that divides all space
+ into two regions. The positive side of the plane is the side the normal
+ points to or where the equation aX + bY + cZ + d > 0. It is defined by
+ specifying the coefficients of the equation aX + bY + cZ + d = 0 using
+ the keywords XPL=a, YPL=b, ZPL=c, and CON=d. Only the nonzero
+ coefficients of the equation need to be specified. :numref:`fig81b11` shows
+ the correct input sequence for a plane.
+
+.. _fig81b11:
+.. figure:: figs/KenoB/fig11.png
+ :align: center
+ :width: 600
+
+ Example of plane construction.
+
+**QUADRATIC**
+ specifies a surface using a quadratic equation of the
+ form:
+
+ aX\ :sup:`2` + bY\ :sup:`2` + cZ\ :sup:`2` + dXY + eXZ + fYZ + gX +
+ hY + iZ + j = 0.
+
+ It is defined by specifying the coefficients of the above equation
+ using the keywords AQU=a, BQU=b, CQU=c, DQU=d, EQU=e, FQU=f, GQU=g,
+ HQU=h, IQU=i, and JQU=j. Only the nonzero coefficients of the
+ equation need to be specified.
+
+**RHEXPRISM**
+ specifies a body whose top and bottom faces are rotated
+ hexagons that have the same orientation and are perpendicular to the
+ Z axis. It is defined by specifying the inscribed radius, R, the
+ Z coordinate of the top face, Z\ :sub:`t`, and the Z coordinate of the
+ bottom face, Z\ :sub:`b`. :numref:`fig81b12` is an example input for a
+ rotated hexprism.
+
+.. _fig81b12:
+.. figure:: figs/KenoB/fig12.png
+ :align: center
+ :width: 600
+
+ Example of rotated hexprism construction.
+
+**RING**
+ is a body composed of the space between 2 concentric cylinders.
+ It is defined by specifying the radius Rin of the inner cylinder and
+ Rout of the outer cylinder, and the coordinate Zt of the top and Zb of
+ the bottom of the annulus. Its center line lies on the Z axis unless
+ specified by the optional geometry modification data. :numref:`fig81b13`
+ shows the correct input sequence for a ring.
+
+.. _fig81b13:
+.. figure:: figs/KenoB/fig13.png
+ :align: center
+ :width: 600
+
+ Example of ring construction.
+
+**RHOMBOID**
+ is a body composed of six identical faces, each one a
+ rhombus. It is defined by specifying the length of the edge of the base
+ along the Xaxis, DX and the angle between Y edge of the base and the
+ Yaxis, Ψ. Its base is in the XY plane at Z = 0, with a corner at the
+ origin unless otherwise specified by the optional geometry modification
+ data. :numref:`fig81b14` shows the correct input sequence for a rhomboid.
+
+.. _fig81b14:
+.. figure:: figs/KenoB/fig14.png
+ :align: center
+ :width: 500
+
+ Example of rhomboid construction.
+
+**SPHERE**
+ specifies a sphere. It is defined by specifying the radius,
+ R. It is centered about the origin, unless otherwise specified by the
+ optional geometry modification data.
+ :numref:`fig81b15` shows the correct input sequence for a sphere.
+
+.. _fig81b15:
+.. figure:: figs/KenoB/fig15.png
+ :align: center
+ :width: 600
+
+ Example of sphere construction.
+
+**WEDGE**
+ is a righttriangular prism having five faces. The two ends
+ are triangles, and the three sides are rectangles. It is defined by
+ specifying the length of the base along the Xaxis, XBASE, the X and
+ Y coordinate where the other two sides meet, Xpt and Ypt, and the length
+ along the Zaxis, ZLNG. One side is in the XZ plane at Y = 0, and the
+ bottom face is in the XY plane at Z = 0, with a corner at the origin
+ unless otherwise specified by the optional geometry modification data.
+ :numref:`fig81b16` shows the correct input sequence for a wedge.
+
+.. _fig81b16:
+.. figure:: figs/KenoB/fig16.png
+ :align: center
+ :width: 600
+
+ Example of wedge construction.
+
+**XCYLINDER**
+ specifies a right circular cylinder oriented about the
+ Xaxis. It is defined by specifying the radius of the cylinder, R, the
+ X coordinate of the top face, X :sub:`t`, and the X coordinate of the
+ bottom face, X :sub:`b`. Its centerline must lie on the X axis, unless
+ otherwise specified by the optional geometry modification data.
+ :numref:`fig81b17` shows the correct input sequence for a cylinder.
+
+.. _fig81b17:
+.. figure:: figs/KenoB/fig17.png
+ :align: center
+ :width: 600
+
+ Example of xcylinder construction.
+
+**XPPLANE**
+ is a set of flat parallel surfaces where any two points in
+ one of the surfaces can be connected by a straight line entirely
+ contained within that surface. These surface planes divide space into
+ three sections; one section between the two planes which is considered
+ inside the surfaces, one section on the negative side of the negative
+ plane which is considered outside the surfaces, and one section on the
+ positive side of the positive plane which is considered outside the
+ surfaces. The set of parallel planes are defined by the keyword XPPLANE,
+ which places the planes perpendicular to the Xaxis, the Xintercept
+ between the more positive plane and the Xaxis (X\ :sub:`+`) and the
+ X‑intercept between the more negative plane and the Xaxis (X\ :sub:`−`).
+ :numref:`fig81b18` shows the correct input sequence for the set of paired
+ planes.
+
+.. _fig81b18:
+.. figure:: figs/KenoB/fig18.png
+ :align: center
+ :width: 600
+
+ Example of xpaired plane construction.
+
+**YCYLINDER**
+ specifies a right circular cylinder oriented about the
+ Yaxis. It is defined by specifying the radius of the cylinder, R, the
+ Y coordinate of the top face, Y\ :sub:`t`, and the Y coordinate of the
+ bottom face, Y\ :sub:`b`. Its centerline must lie on the Y axis, unless
+ otherwise specified by the optional geometry modification data.
+ :numref:`fig81b19` shows the correct input sequence for a cylinder.
+
+.. _fig81b19:
+.. figure:: figs/KenoB/fig19.png
+ :align: center
+ :width: 600
+
+ Example of ycylinder construction.
+
+**YPPLANE**
+ is a set of flat parallel surfaces where any two points in
+ one of the surfaces can be connected by a straight line entirely
+ contained within that surface. These surface planes divide space into
+ three sections; one section between the two planes which is considered
+ inside the surfaces, one section on the negative side of the negative
+ plane which is considered outside the surfaces, and one section on the
+ positive side of the positive plane which is considered outside the
+ surfaces. The set of parallel planes are defined by the keyword YPPLANE,
+ which places the planes perpendicular to the Yaxis, the Y‑intercept
+ between the more positive plane and the Yaxis (Y\ :sub:`+`) and the
+ Yintercept between the more negative plane and the Yaxis (Y\ :sub:`−`).
+ :numref:`fig81b20` shows the correct input sequence for the set of paired
+ planes.
+
+.. _fig81b20:
+.. figure:: figs/KenoB/fig20.png
+ :align: center
+ :width: 600
+
+ Example of ypaired plane construction.
+
+**ZCYLINDER**
+ specifies a right circular cylinder oriented about the
+ Zaxis. It is defined by specifying the radius of the cylinder, R, the
+ Z coordinate of the top face, Z :sub:`t`, and the Z coordinate of the
+ bottom face, Z :sub:`b`. Its centerline must lie on the Zaxis, unless
+ otherwise specified by the optional geometry modification data. The
+ keyword ZCYLINDER is the same as CYLINDER. It is included to be
+ consistent with the XCYLINDER and YCYLINDER keywords. :numref:`fig81b21`
+ shows the correct input sequence for a zcylinder.
+
+.. _fig81b21:
+.. figure:: figs/KenoB/fig21.png
+ :align: center
+ :width: 600
+
+ Example of zcylinder construction.
+
+**ZPPLANE**
+ is a set of flat parallel surfaces where any two points in
+ one of the surfaces can be connected by a straight line entirely
+ contained within that surface. These surface planes divide space into
+ three sections; one section between the two planes which is considered
+ inside the surfaces, one section on the negative side of the negative
+ plane which is considered outside the surfaces, and one section on the
+ positive side of the positive plane which is considered outside the
+ surfaces. The set of parallel planes are defined by the keyword ZPPLANE,
+ which places the planes perpendicular to the Zaxis, the Zintercept
+ between the more positive plane and the Zaxis (Z\ :sub:`+`) and the
+ Zintercept between the more negative plane and the Zaxis (Z\ :sub:`−`).
+ :numref:`fig81b22` shows the correct input sequence for the set of paired
+ planes.
+
+.. _fig81b22:
+.. figure:: figs/KenoB/fig22.png
+ :align: center
+ :width: 600
+
+ Example of zpaired plane construction.
diff git a/KenoC.rst b/KenoC.rst
new file mode 100644
index 0000000000000000000000000000000000000000..417999537e6a5b6dc5e90d6758c4950bcd5efc49
 /dev/null
+++ b/KenoC.rst
@@ 0,0 +1,3786 @@
+.. _81C:
+
+Keno Appendix C: Sample problems
+================================
+
+This section contains sample problems to demonstrate some of the options
+available in KENO in standalone mode. Because standalone KENO has no
+means to read standard composition information and process for use, the
+problemdependent cross section library must be prepared before
+executing KENO in the multigroup mode. The **MIXTURE** data block (See
+:ref:`9121`) is used to provide the mixing table. In the continuous
+energy mode, the cross sections are directly used and therefore no
+problemdependent library is needed. The mixing table is required in the
+continuous energy mode as well. If KENO is executed as part of CSAS5 or
+CSAS6 sequence, generation of the problemdependent library (for the
+multigroup mode) and the mixing table is automatically performed by the
+sequence.
+
+A total of 33 KENO V.a different case inputs and 27 KENOVI inputs are
+provided as multigroup mode KENO sample problems in a single input file
+“kenova.input” and “kenovi.input” for KENO V.a and KENOVI,
+respectively. This input file contains an initial CSASMG input to
+create the problemdependent cross section library to be used in the
+sample problems in the input file. Although KENO does not run stacked
+cases, when KENO is run as part of SCALE, the driver allows KENO to be
+executed each time it encounters an “=KENO5” or “=KENOVA”, respectively
+“=KENO6” or “=KENOVI.” The “.input” file contains all 33/27 problems one
+after the other. A similar input file “cekenova.input”, respectively
+“cekenovi.input” is also provided for continuous energy mode of
+calculations. The changes required to create the continuous energy mode
+input file from the multigroup mode input file are simple. The
+continuous energy mode file does not have (or need) the CSASMG input at
+the beginning. In addition, all “lib=4” entries in the PARAMETER data
+block are changed to “cep=ce_v7_endf” to indicate the mode of
+calculation is continuous energy and the continuous energy cross section
+directory file is “ce_v7_endf” indicating ENDF/BVIIbased cross
+sections. The mixing table entry SCT is not applicable in the continuous
+energy mode, so it has been deleted from the continuous energy input
+file. Finally, the nuclide IDs in the mixing table are modified to
+remove the mixture number prefix because the continuous energy mode
+cross section file for a nuclide or isotope is the same regardless of
+where that nuclide is used.
+
+The same 33/27 problems are also executed as individual cases with
+filenames “k5smp??.input”, respectively “k6smp??.input”, where ?? stands
+for sample problem number (01 through 33 or 27). Since each one of these
+sample problems needs a problemdependent cross section library
+(multigroup mode only) and a mixing table, these problems have been
+converted to run as CSAS5/6 problems. Similar input files are also
+provided to be run in the continuous energy mode and the files are named
+“cek5smp??.input”, respectively “cek6smp??.input”, where ?? again stands
+for sample problem number (01 through 33 or 27). The change required to
+create the continuous energy mode inputs from the multigroup mode inputs
+is very simple: the crosssection library name is changed from “v7238”
+to “ce_v7”.
+
+In the following section the input for each case is listed assuming the
+multigroup mode of calculation in KENO. The KENO input is also listed in
+the file corresponding “.input” file. The CSASMG input file for these
+cases is in the next section.
+
+.. _81c1:
+
+CSASMG data
+
+
+The multigroup mode KENO sample problems use nuclide IDs that are
+consistent with the SCALE CSAS5/6 nuclide ID naming convention. Nuclides
+are identified by the ZA number plus 1000000 times the mixture number.
+CSASMG can be used to create a problemdependent working format
+crosssection library suitable for use with the sample problems. CSASMG
+can (1) be run alone with problemdependent working library on logical
+Unit 4 saved for later use with the KENO sample problems, or (2) be
+placed in front of the KENO sample problems.
+
+The CSASMG SCALE control module calculates the necessary resonance data
+required to create the problemdependent AMPX working format library
+using SCALE standard composition input.
+
+The multigroup mode KENO sample problem input data are independent of
+energy group structure. To use a different energy group structure,
+simply supply the desired master crosssection library name in the
+CSASMG or CSAS5/6 data. See XSProc, Standard Composition and CSAS5/6
+chapters for additional information and examples. See the XSLib chapter
+for information about the master format crosssection libraries that are
+available in SCALE.
+
+Data for CSASMG are provided to create a problemdependent AMPX working
+format crosssection library suitable for use with the multigroup mode
+KENO sample problems. These data include all of the mixtures used in the
+KENO sample problems and will create an AMPX working format
+crosssection library with nuclide IDs matching those in the KENO sample
+problem mixing tables. This crosssection library is problemspecific
+and is not appropriate for use with other problems.
+
+The CSASMG input data to produce an AMPX working format crosssection
+library for the multigroup mode KENO V.a sample problems are given
+below.
+
+.. highlight:: scale
+
+::
+
+ =CSASMG
+ csasn to prepare 238 group working format xsec lib for kenova smp prbs
+ v7238
+ READ COMP
+ ' uranium metal for smp prbs 1,2,3,4,5,6,7,8,9,10,11,12,19,22,23,24,25,26,27,28
+ uranium 1 den=18.76 1 300 92235 93.2 92238 5.6 92234 1.0 92236 0.2 end
+ ' uranyl nitrate solution for smp prbs 12,18,19 spg=1.555
+ solution mix=2 rho[uo2(no3)2]=415 92235 92.6 92238 5.9 92234 1.0 92236 0.5
+ molar[hno3]=9.7833 temp=300 density=? end solution
+ ' uranium metal for smp prbs 13,14
+ uranium 3 den=18.69 1 300 92235 93.2 92238 5.6 92234 1.0 92236 0.2 end
+ ' uranium metal for smp prb 15
+ uranium 4 den=18.794 1 300 92235 97.67 92238 1.03
+ 92234 1.09 92236 0.21 end
+ ' uranyl fluoride solution for smp prb 16
+ solution mix=5 rho[uo2f2]=578.7 92235 93.2 92238 6.8 temp=300 end solution
+ ' borated uranyl fluoride solution for smp prb 16
+ solution mix=6 rho[uo2f2]=578.7 92235 93.2 92238 6.8 temp=300 end solution
+ boron 6 den=.0266 end
+ ' uranyl fluoride solution for smp prb 17
+ solution mix=7 rho[uo2f2]=133 92235 93.0 92238 7.0 temp=300 end solution
+ ' uranyl fluoride solution for smp prb 20
+ solution mix=8 rho[uo2f2]=576.87 92235 93.2 92238 6.8 temp=300 end solution
+ ' uranyl fluoride solution for smp prb 21 spg= 1.56
+ solution mix=9 rho[uo2f2]=494 92235 4.89 92238 95.09 92234 0.02
+ temp=300 end solution
+ ' paraffin for smp prbs 3,4,18
+ paraffin 10 end
+ ' plexiglas for smp prbs 12,15,18,19
+ plexiglas 11 end
+ ' water for smp prbs 15
+ h2o 12 end
+ ' pyrex glass for smp prb 16
+ pyrex 13 end
+ ' aluminum for smp prb 20,21
+ al 14 end
+ ' low density water for smp prb 18
+ h2o 15 19 end
+ ' uranium metal for smp prbs 29  32
+ uranium 16 den=18.747 1 300 92235 93.21 92238 5.7697 92234 0.9844
+ 92236 0.0359 end
+ ' uranium metal for water moderated portion of smp prb 33
+ uranium 17 den=19.0 1 300 92235 1.95 92238 98.042 92234 0.002 92236 0.006 end
+ ' internal (2nd) moderator water for smp prb 33
+ h2o 18 end
+ ' external moderator water and reflector for smp prb 33
+ h2o 19 end
+ ' uranium metal for bare portion of smp prb 33
+ uranium 20 den=19.0 1 300 92235 1.95 92238 98.042 92234 0.002 92236 0.006 end
+ END COMP
+ READ CELLDATA
+ 'latticecell data for samp prb 33
+ latticecell atriangpitch pitch=20.828 19 fueld=18.288 17 imodd=6.604 18 end
+ latticecell atriangpitch pitch=20.828 0 fueld=18.288 20 imodd=6.604 0 end
+ END CELLDATA
+ END
+
+.. _81c2:
+
+KENO V.a sample problem data
+
+
+A brief problem description and the associated input data are included
+for each multigroup mode KENO sample problem. Different options may be
+easily activated by making changes in the data. These problems are set
+up using an AMPX working format library which was created by a CSASMG
+case just prior to the KENO V.a cases. The nuclide identifiers for this
+library are consistent with the SCALE identifiers created by CSASMG.
+Input data to create this library are given in :ref:`81c1`. The unit
+number is defined by the parameter LIB= in the parameter data.
+
+.. _81c21:
+
+Sample Problem 1 2C8 BARE
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This is a simple 2 × 2 × 2 array of uranium metal cylinders as described
+in the article “Critical ThreeDimensional Arrays of U(93.2)Metal
+Cylinders,” :cite:`thomas_critical_1973` by J. T. Thomas. This critical experiment is designated
+in Table II of that article as cylinder index 11 and reflector index 1.
+:numref:`fig81c1` shows the critical experiment.
+
+.. centered:: Input Data
+
+KENO V.a
+
+::
+
+ =KENOVA
+ sample problem 1 case 2c8 bare
+ READ PARAMETERS
+ flx=yes fdn=yes far=yes gas=no lib=4
+ END PARAMETERS
+ READ MIXT
+ sct=2
+ mix=1
+ 1092234 4.82717e04 1092235 4.47971e02 1092236 9.57233e05 1092238 2.65767e03
+ END MIXT
+ READ GEOMETRY
+ unit 1
+ cylinder 1 1 5.748 5.3825 5.3825
+ cuboid 0 1 6.87 6.87 6.87 6.87 6.505 6.505
+ END GEOMETRY
+ READ ARRAY
+ nux=2 nuy=2 nuz=2
+ END ARRAY
+ END DATA
+ END
+
+KENOVI
+
+::
+
+ =KENOVI
+ kenovi sample problem 1 case 2c8 bare
+ READ PARAMETERS
+ flx=yes fdn=yes far=yes gas=no lib=4
+ END PARAMETERS
+ READ MIXT
+ sct=2
+ mix=1 1092234 4.82717e04 1092235 4.47971e02 1092236 9.57233e05
+ 1092238 2.65767e03
+ END MIXT
+ READ GEOMETRY
+ unit 1
+ com='single 2c8 unit centered'
+ cylinder 10 5.748 5.3825 5.3825
+ cuboid 20 4p6.87 2p6.505
+ media 1 1 10 vol=8938.968624
+ media 0 1 20 10 vol=10710.044784
+ boundary 20
+ global unit 2
+ cuboid 10 4p13.74 2p13.01
+ com='2x2x2 2c8 array'
+ array 1 +10 place 1 1 1 2r6.87 6.505
+ boundary 10
+ END GEOMETRY
+ READ ARRAY
+ ara=1 nux=2 nuy=2 nuz=2 fill f1 end fill
+ END ARRAY
+ END DATA
+ END
+
+.. _fig81c1:
+.. figure:: figs/KenoC/fig1.png
+ :align: center
+ :width: 400
+
+ Critical 2C8 bare assembly.
+
+.. _81c22:
+
+Sample Problem 2 CASE 2C8 BARE WITH 8 UNIT TYPES MATRIX CALCULATION
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This problem is the same as sample problem 1 except it is set up as a
+mixed unit problem with each unit of the array defined as a different
+unit type. Matrix keffectives will be calculated for this problem by
+both unit type and array position. The print flags are set to print all
+matrix data.
+
+.. centered:: Input Data
+
+KENO V.a
+
+::
+
+ =KENOVA
+ sample problem 2 2c8 bare with 8 unit types matrix calculation
+ READ PARAM
+ lib=4 flx=yes fdn=yes
+ mku=yes fmu=yes mkp=yes fmp=yes
+ END PARAM
+ READ GEOMETRY
+ unit 1
+ cylinder 1 1 5.748 5.3825 5.3825
+ cuboid 0 1 6.87 6.87 6.87 6.87 6.505 6.505
+ unit 2
+ cylinder 1 1 5.748 5.3825 5.3825
+ cuboid 0 1 6.87 6.87 6.87 6.87 6.505 6.505
+ unit 3
+ cylinder 1 1 5.748 5.3825 5.3825
+ cuboid 0 1 6.87 6.87 6.87 6.87 6.505 6.505
+ unit 4
+ cylinder 1 1 5.748 5.3825 5.3825
+ cuboid 0 1 6.87 6.87 6.87 6.87 6.505 6.505
+ unit 5
+ cylinder 1 1 5.748 5.3825 5.3825
+ cuboid 0 1 6.87 6.87 6.87 6.87 6.505 6.505
+ unit 6
+ cylinder 1 1 5.748 5.3825 5.3825
+ cuboid 0 1 6.87 6.87 6.87 6.87 6.505 6.505
+ unit 7
+ cylinder 1 1 5.748 5.3825 5.3825
+ cuboid 0 1 6.87 6.87 6.87 6.87 6.505 6.505
+ unit 8
+ cylinder 1 1 5.748 5.3825 5.3825
+ cuboid 0 1 6.87 6.87 6.87 6.87 6.505 6.505
+ END GEOM
+ READ MIXT
+ sct=2
+ mix=1
+ 1092234 4.82717e04 1092235 4.47971e02 1092236 9.57233e05 1092238 2.65767e03
+ END MIXT
+ READ ARRAY
+ nux=2 nuy=2 nuz=2 loop
+ 10*1
+ 3*2 7*1
+ 3 1 1 1 2 2 1 1 1 1
+ 4 2 2 1 2 2 1 1 1 1
+ 5 6*1 2 2 1
+ 6 2 2 1 1 1 1 2 2 1
+ 7 1 1 1 2 2 1 2 2 1
+ 8 2 2 1 2 2 1 2 2 1 end loop
+ END ARRAY
+ END DATA
+ END
+
+KENOVI
+
+::
+
+ =KENOVI
+ kenovi sample problem 2 case 2c8 bare with 8 unit types matrix cal
+ READ PARAM
+ lib=4 flx=yes fdn=yes mku=yes cku=yes fmu=yes mkp=yes ckp=yes fmp=yes
+ END PARAMETERS
+ READ MIXT
+ sct=2
+ mix=1 1092234 4.82717e04 1092235 4.47971e02 1092236 9.57233e05
+ 1092238 2.65767e03
+ END MIXT
+ READ GEOMETRY
+ unit 1
+ cylinder 10 5.748 5.3825 5.3825
+ cuboid 20 4p6.87 2p6.505
+ media 1 1 10 vol=1117.371078
+ media 0 1 20 10 vol=1338.755598
+ boundary 20
+ unit 2
+ cylinder 10 5.748 5.3825 5.3825
+ cuboid 20 4p6.87 2p6.505
+ media 1 1 10 vol=1117.371078
+ media 0 1 20 10 vol=1338.755598
+ boundary 20
+ unit 3
+ cylinder 10 5.748 5.3825 5.3825
+ cuboid 20 4p6.87 2p6.505
+ media 1 1 10 vol=1117.371078
+ media 0 1 20 10 vol=1338.755598
+ boundary 20
+ unit 4
+ cylinder 10 5.748 5.3825 5.3825
+ cuboid 20 4p6.87 2p6.505
+ media 1 1 10 vol=1117.371078
+ media 0 1 20 10 vol=1338.755598
+ boundary 20
+ unit 5
+ cylinder 10 5.748 5.3825 5.3825
+ cuboid 20 4p6.87 2p6.505
+ media 1 1 10 vol=1117.371078
+ media 0 1 20 10 vol=1338.755598
+ boundary 20
+ unit 6
+ cylinder 10 5.748 5.3825 5.3825
+ cuboid 20 4p6.87 2p6.505
+ media 1 1 10 vol=1117.371078
+ media 0 1 20 10 vol=1338.755598
+ boundary 20
+ unit 7
+ cylinder 10 5.748 5.3825 5.3825
+ cuboid 20 4p6.87 2p6.505
+ media 1 1 10 vol=1117.371078
+ media 0 1 20 10 vol=1338.755598
+ boundary 20
+ unit 8
+ cylinder 10 5.748 5.3825 5.3825
+ cuboid 20 4p6.87 2p6.505
+ media 1 1 10 vol=1117.371078
+ media 0 1 20 10 vol=1338.755598
+ boundary 20
+ global unit 9
+ cuboid 10 4p13.74 2p13.01
+ com='2x2x2 2c8 array'
+ array 1 +10 place 1 1 1 2r6.87 6.505
+ boundary 10
+ END GEOMETRY
+ READ ARRAY
+ ara=1 nux=2 nuy=2 nuz=2 gbl=1
+ loop 10*1
+ 3*2 7*1
+ 3 1 1 1 2 2 1 1 1 1
+ 4 2 2 1 2 2 1 1 1 1
+ 5 6*1 2 2 1
+ 6 2 2 1 1 1 1 2 2 1
+ 7 1 1 1 2 2 1 2 2 1
+ 8 2 2 1 2 2 1 2 2 1 end loop
+ END ARRAY
+ END DATA
+ END
+
+.. _81c23:
+
+Sample Problem 3 2C8 15.24CM PARAFFIN REFL
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+A 2 × 2 × 2 array of uranium metal cylinders is reflected by 6 in. of
+paraffin on all faces (:numref:`fig81c1`). This critical
+experiment\ :sup:`1` is designated as cylinder index 11 and reflector
+index 5 in Table II of Ref. 1. :numref:`fig81c2` shows half of the critical
+experiment, which consisted of the half shown and the mirror image of
+it. These two assemblies were moved together to achieve criticality. The
+top reflector is missing in :numref:`fig81c2`, but was present when
+criticality was achieved.
+
+.. _fig81c2:
+.. figure:: figs/KenoC/fig2.png
+ :align: center
+ :width: 500
+
+ Half of the paraffin reflected 2C8 assembly before the top reflector was added.
+
+.. centered:: Input Data
+
+KENO V.a
+
+::
+
+ =KENOVA
+ sample problem 3 2c8 15.24 cm paraffin refl
+ READ PARAM
+ lib=4 flx=yes fdn=yes pwt=yes
+ END PARAM
+ READ ARRAY
+ nux=2 nuy=2 nuz=2
+ END ARRAY
+ READ MIXT
+ mix=1
+ 1092234 4.82717e04 1092235 4.47971e02 1092236 9.57233e05 1092238 2.65767e03
+ mix=2
+ 10006000 3.84193e02 10001901 7.99120e02
+ sct=2
+ END MIXT
+ READ GEOM
+ unit 1
+ cylinder 1 1 5.748 5.3825 5.3825
+ cuboid 0 1 11.74 11.74 11.74 11.74 11.375 11.375
+ global unit 2
+ array 1 23.48 23.48 22.75
+ cuboid 2 2 26.48 26.48 26.48 26.48 25.75 25.75
+ cuboid 2 3 29.48 29.48 29.48 29.48 28.75 28.75
+ cuboid 2 4 32.48 32.48 32.48 32.48 31.75 31.75
+ cuboid 2 5 35.48 35.48 35.48 35.48 34.75 34.75
+ cuboid 2 6 38.72 38.72 38.72 38.72 37.99 37.99
+ END GEOM
+ READ BIAS
+ id=400 2 6
+ END BIAS
+ END DATA
+ END
+
+ KENOVI
+
+ =KENOVI
+ kenovi sample problem 3 2c8 15.24 cm paraffin refl
+ READ PARAM
+ lib=4 flx=yes fdn=yes pwt=yes
+ END PARAM
+ READ MIXT
+ sct=2
+ mix=1 1092234 4.82717e04 1092235 4.47971e02 1092236 9.57233e05
+ 1092238 2.65767e03
+ mix=2 10006000 3.84193e02 10001901 7.99120e02
+ END MIXT
+ READ GEOMETRY
+ unit 1
+ com='single 2c8 unit centered'
+ cylinder 10 5.748 5.3825 5.3825
+ cuboid 20 4p11.74 2p11.375
+ media 1 1 10 vol=8938.968624
+ media 0 1 20 10 vol=10710.044784
+ boundary 20
+ global unit 2
+ com='2x2x2 2c8 array with reflector'
+ cuboid 10 4p23.48 2p22.75
+ cuboid 20 26.48 26.48 26.48 26.48 25.75 25.75
+ cuboid 30 29.48 29.48 29.48 29.48 28.75 28.75
+ cuboid 40 32.48 32.48 32.48 32.48 31.75 31.75
+ cuboid 50 35.48 35.48 35.48 35.48 34.75 34.75
+ cuboid 60 38.72 38.72 38.72 38.72 37.99 37.99
+ array 1 +10 place 1 1 1 2r11.74 11.375
+ media 2 2 10 +20 vol=4.41067E+04
+ media 2 3 20 +30 vol=5.54410E+04
+ media 2 4 30 +40 vol=6.80712E+04
+ media 2 5 40 +50 vol=8.19974E+04
+ media 2 6 60 50 vol=1.05694E+05
+ boundary 60
+ END GEOMETRY
+ READ BIAS
+ id=400 2 6
+ END BIAS
+ READ ARRAY
+ ara=1 nux=2 nuy=2 nuz=2 fill f1 end fill
+ END ARRAY
+ END DATA
+ END
+
+.. _81c24:
+
+Sample Problem 4 2C8 15.24CM PARAFFIN REFL AUTOMATIC REFL
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This problem is the same as sample problem 3 except it is set up using more reflector regions.
+
+.. centered:: Input Data
+
+KENO V.a
+
+::
+
+ =KENOVA
+ sample problem 4 2c8 15.24 cm paraffin refl automatic refl
+ READ PARAM
+ pwt=yes lib=4 flx=yes fdn=yes
+ END PARAM
+ READ GEOMETRY
+ unit 1
+ cylinder 1 1 5.748 5.3825 5.3825
+ cuboid 0 1 11.74 11.74 11.74 11.74 11.375 11.375
+ global unit 2
+ array 1 23.48 23.48 22.75
+ reflector 2 2 6*3.0 5
+ reflector 2 7 6*.24 1
+ END GEOM
+ READ MIXT
+ sct=2
+ mix=1
+ 1092234 4.82717e04 1092235 4.47971e02 1092236 9.57233e05 1092238 2.65767e03
+ mix=2
+ 10006000 3.84193e02 10001901 7.99120e02
+ END MIXT
+ READ ARRA
+ nux=2 nuy=2 nuz=2
+ END ARRAY
+ READ BIAS
+ id=400 2 7
+ END BIAS
+ END DATA
+ END
+
+KENOVI
+
+::
+
+ =KENOVI
+ kenovi sample problem 4 2c8 15.24 cm paraffin refl
+ READ PARAM
+ lib=4 flx=yes fdn=yes pwt=yes
+ END PARAM
+ READ MIXT
+ sct=2
+ mix=1 1092234 4.82717e04 1092235 4.47971e02 1092236 9.57233e05
+ 1092238 2.65767e03
+ mix=2 10006000 3.84193e02 10001901 7.99120e02
+ END MIXT
+ READ GEOMETRY
+ unit 1
+ com='single 2c8 unit centered'
+ cylinder 10 5.748 5.3825 5.3825
+ cuboid 20 4p11.74 2p11.375
+ media 1 1 10
+ media 0 1 20 10
+ boundary 20
+ global unit 2
+ com='2x2x2 2c8 array with reflector'
+ cuboid 10 4p23.48 2p22.75
+ cuboid 20 26.48 26.48 26.48 26.48 25.75 25.75
+ cuboid 30 29.48 29.48 29.48 29.48 28.75 28.75
+ cuboid 40 32.48 32.48 32.48 32.48 31.75 31.75
+ cuboid 50 35.48 35.48 35.48 35.48 34.75 34.75
+ cuboid 60 38.48 38.48 38.48 38.48 37.75 37.75
+ cuboid 70 38.72 38.72 38.72 38.72 37.99 37.99
+ array 1 +10 place 1 1 1 2r11.74 11.375
+ media 2 2 10 +20
+ media 2 3 20 +30
+ media 2 4 30 +40
+ media 2 5 40 +50
+ media 2 6 60 50
+ media 2 7 70 60
+ boundary 70
+ END GEOMETRY
+ READ VOLUME
+ type=trace
+ END VOLUME
+ READ BIAS
+ id=400 2 7
+ END BIAS
+ READ ARRAY
+ ara=1 nux=2 nuy=2 nuz=2 fill f1 end fill
+ END ARRAY
+ END DATA
+ END
+
+.. _81c25:
+
+Sample Problem 5 2C8 12INCH PARAFFIN ALBEDO REFLECTOR
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This problem is the same as samples problems 3 and 4 except the
+reflector is represented by a 12‑in. paraffin albedo. Note the decrease
+in execution time when using an albedo reflector instead of doing actual
+tracking. Note also that keffective is somewhat higher for this system,
+probably due to the small edge size of the system :cite:`whitesides_use_1969`.
+
+.. centered:: Input Data
+
+KENO V.a
+
+::
+
+ =KENOVA
+ sample problem 5 2c8 12 inch paraffin albedo reflector
+ READ PARA
+ flx=yes far=yes gas=no fdn=yes lib=4
+ END PARA
+ READ ARRAY
+ nux=2 nuy=2 nuz=2
+ END ARRAY
+ READ MIXT
+ mix=1
+ 1092234 4.82717e04 1092235 4.47971e02 1092236 9.57233e05 1092238 2.65767e03
+ sct=2
+ END MIXT
+ READ BOUNDS
+ all=paraffin
+ END BOUNDS
+ READ GEOM
+ unit 1
+ cylinder 1 1 5.748 5.3825 5.3825
+ cuboid 0 1 11.74 11.74 11.74 11.74 11.375 11.375
+ END GEOM
+ END DATA
+ END
+
+KENOVI
+
+::
+
+ =KENOVI
+ kenovi sample problem 5 2c8 12 inch paraffin albedo reflector
+ READ PARA
+ flx=yes far=yes gas=no fdn=yes lib=4
+ END PARA
+ READ MIXT
+ sct=2
+ mix=1 1092234 4.82717e04 1092235 4.47971e02 1092236 9.57233e05
+ 1092238 2.65767e03
+ END MIXT
+ READ BOUNDS
+ all=paraffin
+ END BOUNDS
+ READ GEOMETRY
+ unit 1
+ com='single 2c8 unit centered'
+ cylinder 10 5.748 5.3825 5.3825
+ cuboid 20 4p11.74 2p11.375
+ media 1 1 10
+ media 0 1 20 10
+ boundary 20
+ global unit 2
+ cuboid 10 4p23.48 2p22.75
+ com='2x2x2 2c8 array'
+ array 1 +10 place 1 1 1 2r11.74 11.375
+ boundary 10
+ END GEOMETRY
+ READ ARRAY
+ ara=1 nux=2 nuy=2 nuz=2 fill f1 end fill
+ END ARRAY
+ READ VOLUME
+ type=random
+ END VOLUME
+ END DATA
+ END
+
+.. _81c26:
+
+Sample Problem 6 ONE 2C8 UNIT (SINGLE UNIT)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+One of the 2C units\ :sup:`1` is described and run as a singleunit
+problem, and its keffective is calculated.
+
+.. centered:: Input Data
+
+KENO V.a
+
+::
+
+ =KENOVA
+ sample problem 6 one 2c8 unit (single unit)
+ READ PARA
+ lib=4 flx=yes fdn=yes far=yes gas=no
+ END PARA
+ READ MIXT
+ sct=2
+ mix=1
+ 1092234 4.82717e04 1092235 4.47971e02 1092236 9.57233e05 1092238 2.65767e03
+ END MIXT
+ READ GEOMETRY
+ unit 1
+ cylinder 1 1 5.748 5.3825 5.3825
+ END GEOMETRY
+ END DATA
+ END
+
+KENOVI
+
+::
+
+ =KENOVI
+ kenovi sample problem 6 one 2c8 unit (single unit)
+ READ PARA
+ lib=4 flx=yes fdn=yes far=yes gas=no
+ END PARA
+ READ MIXT
+ sct=2
+ mix=1 1092234 4.82717e04 1092235 4.47971e02 1092236 9.57233e05
+ 1092238 2.65767e03
+ END MIXT
+ READ GEOMETRY
+ global unit 1
+ com='single 2c8 unit centered'
+ cylinder 10 5.748 5.3825 5.3825
+ media 1 1 10 vol=1117.3710776
+ boundary 10
+ END GEOMETRY
+ END DATA
+ END
+
+.. _81c27:
+
+Sample Problem 7 BARE 2C8 USING SPECULAR REFLECTION
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+One of the 2C units\ :sup:`1` is described and the 2 × 2 × 2 array is
+simulated by using specular reflection on the positive X, Y, and Z faces
+of the unit. This is a simulation of sample problem 1.
+
+.. centered:: Input Data
+
+KENO V.a
+
+::
+
+ =KENOVA
+ sample problem 7 bare 2c8 using specular reflection
+ READ PARA
+ lib=4 flx=yes fdn=yes far=yes gas=no
+ END PARAMETERS
+ READ MIXT
+ sct=2
+ mix=1
+ 1092234 4.82717e04 1092235 4.47971e02 1092236 9.57233e05 1092238 2.65767e03
+ END MIXT
+ READ GEOM
+ unit 1
+ cylinder 1 1 5.748 5.3825 5.3825
+ cuboid 0 1 6.87 6.87 6.87 6.87 6.505 6.505
+ END GEOM
+ READ BOUNDS
+ +fc=specular
+ END BOUNDS
+ END DATA
+ END
+
+KENOVI
+
+::
+
+ =KENOVI
+ kenovi sample problem 7 bare 2c8 using specular reflection
+ READ PARA
+ flx=yes fdn=yes far=yes gas=no lib=4
+ END PARAMETERS
+ READ MIXT
+ sct=2
+ mix=1 1092234 4.82717e04 1092235 4.47971e02 1092236 9.57233e05
+ 1092238 2.65767e03
+ END MIXT
+ READ GEOMETRY
+ global unit 1
+ com='single 2c8 unit centered'
+ cylinder 10 5.748 5.3825 5.3825
+ cuboid 20 4p6.87 2p6.505
+ media 1 1 10 vol=1117.371078
+ media 0 1 20 10 vol=1338.755598
+ boundary 20
+ END GEOMETRY
+ READ BOUNDS
+ +fc=specular
+ END BOUNDS
+ END DATA
+ END
+
+.. _81c28:
+
+Sample Problem 8 INFINITELY LONG CYLINDER FROM 2C8 UNIT
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The fuel and cylinder radius from sample problem 1 is used. The length
+of the cylinder is arbitrarily chosen to be 20 cm, and the unit is
+specularly reflected on the top and bottom to create an infinitely long
+cylinder.
+
+.. centered:: Input Data
+
+KENO V.a
+
+::
+
+ =KENOVA
+ sample problem 8 infinitely long cylinder from 2c8 unit
+ READ PARAM
+ lib=4
+ END PARAM
+ READ MIXT
+ sct=2
+ mix=1
+ 1092234 4.82717e04 1092235 4.47971e02 1092236 9.57233e05 1092238 2.65767e03
+ END MIXT
+ READ GEOMETRY
+ unit 1
+ cylinder 1 1 5.748 10.0 10.0
+ cuboid 0 1 6.87 6.87 6.87 6.87 10.0 10.0
+ END GEOMETRY
+ READ BOUNDS
+ zfc=mirror
+ END BOUNDS
+ END DATA
+ END
+
+KENOVI
+
+::
+
+ =KENOVI
+ kenovi sample problem 8 infinitely long cylinder from 2c8 unit
+ READ PARAMETERS
+ lib=4
+ END PARAMETERS
+ READ MIXT
+ sct=2
+ mix=1 1092234 4.82717e04 1092235 4.47971e02 1092236 9.57233e05
+ 1092238 2.65767e03
+ END MIXTURES
+ READ GEOMETRY
+ global unit 1
+ com='single 2c8 unit centered'
+ cylinder 10 5.748 2p10.0
+ cuboid 20 4p6.87 2p10.0
+ media 1 1 10
+ media 0 1 20 10
+ boundary 20
+ END GEOMETRY
+ READ BOUNDS
+ zfc=mirror
+ END BOUNDS
+ READ VOLUME
+ type=trace iface=zface
+ END VOLUME
+ END DATA
+ END
+
+.. _81c29:
+
+Sample Problem 9 INFINITE ARRAY OF 2C8 UNITS
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. centered:: Input Data
+
+KENO V.a
+
+::
+
+ =KENOVA
+ sample problem 9 infinite array of 2c8 units
+ READ PARAM
+ lib=4 gen=103
+ END PARAM
+ READ MIXT
+ sct=2
+ mix=1
+ 1092234 4.82717e04 1092235 4.47971e02 1092236 9.57233e05 1092238 2.65767e03
+ END MIXT
+ READ BOUN
+ all=mir
+ END BOUN
+ READ GEOM
+ unit 1
+ cylinder 1 1 5.748 5.3825 5.3825
+ cuboid 0 1 6.87 6.87 6.87 6.87 6.505 6.505
+ END GEOM
+ END DATA
+ END
+
+KENOVI
+
+::
+
+ =KENOVI
+ kenovi sample problem 9 infinite array of 2c8 units
+ READ PARAMETERS
+ lib=4
+ END PARAMETERS
+ READ MIXTURES
+ sct=2
+ mix=1 1092234 4.82717e04 1092235 4.47971e02 1092236 9.57233e05
+ 1092238 2.65767e03
+ END MIXT
+ READ GEOMETRY
+ global unit 1
+ com='single 2c8 unit centered'
+ cylinder 10 5.748 5.3825 5.3825
+ cuboid 20 4p6.87 2p6.505
+ media 1 1 10 vol=1117.371078
+ media 0 1 20 10 vol=1338.755598
+ boundary 20
+ END GEOMETRY
+ READ BOUNDS
+ all=mirror
+ END BOUNDS
+ END DATA
+ END
+
+.. _81c210:
+
+Sample Problem 10 2C8 BARE WRITE RESTART
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The geometry description from sample problem 1 is used, and the cuboid
+is specularly reflected on all faces to create an infinite array of 2C8
+units having an edgetoedge spacing of 2.244 cm in the X and
+Y directions and 2.245 cm in the Z direction.
+
+.. centered:: Input Data
+
+KENO V.a
+
+::
+
+ =KENOVA
+ sample problem 10 case 2c8 bare write restart
+ READ PARAMETERS
+ flx=yes fdn=yes far=yes gas=no lib=4 res=5 wrs=94
+ app=yes
+ END PARAMETERS
+ READ MIXT
+ sct=2
+ mix=1
+ 1092234 4.82717e04 1092235 4.47971e02 1092236 9.57233e05 1092238 2.65767e03
+ END MIXT
+ READ GEOMETRY
+ unit 1
+ cylinder 1 1 5.748 5.3825 5.3825
+ cuboid 0 1 6.87 6.87 6.87 6.87 6.505 6.505
+ END GEOMETRY
+ READ ARRAY
+ nux=2 nuy=2 nuz=2
+ END ARRAY
+ END DATA
+ END
+
+KENOVI
+
+::
+
+ =KENOVI
+ sample problem 10 case 2c8 bare write restart
+ READ PARAMETERS
+ flx=yes fdn=yes far=yes gas=no lib=4 res=5 wrs=94 app=yes
+ END PARAMETERS
+ READ MIXT
+ sct=2
+ mix=1 1092234 4.82717e04 1092235 4.47971e02 1092236 9.57233e05
+ 1092238 2.65767e03
+ END MIXTURES
+ READ GEOMETRY
+ unit 1
+ com='single 2c8 unit centered'
+ cylinder 10 5.748 5.3825 5.3825
+ cuboid 20 4p6.87 2p6.505
+ media 1 1 10 vol=8938.968624
+ media 0 1 20 10 vol=10710.044784
+ boundary 20
+ global unit 2
+ cuboid 10 4p13.74 2p13.01
+ com='2x2x2 2c8 array'
+ array 1 +10 place 1 1 1 2r6.87 6.505
+ boundary 10
+ END GEOMETRY
+ READ ARRAY
+ ara=1 nux=2 nuy=2 nuz=2 fill f1 end fill
+ END ARRAY
+ END DATA
+ END
+
+.. _81c211:
+
+Sample Problem 11 2C8 BARE READ RESTART DATA
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This problem is a restart of sample problem 10. The problem is restarted
+from the tenth set of restart data that was written by sample problem 10
+(i.e., it restarts with the fiftyfirst generation).
+
+.. centered:: Input Data
+
+KENO V.a
+
+::
+
+ =KENOVA
+ sample problem 11 2c8 bare read restart data
+ READ PARAM
+ beg=51 rst=94 res=0
+ END PARAM
+ END DATA
+ END
+
+KENOVI
+
+::
+
+ =KENOVI
+ sample problem 11 2c8 bare read restart data
+ READ PARAM
+ beg=51 rst=94 res=0
+ END PARAM
+ END DATA
+ END
+
+.. _81c212:
+
+Sample Problem 12 4 AQUEOUS 4 METAL
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This problem is a critical experiment consisting of a
+composite array\ :sup:`1` of four highly enriched uranium metal
+cylinders and four cylindrical Plexiglas containers filled with uranyl
+nitrate solution. The metal units in this experiment are designated in
+Table II of Ref. 1 as cylinder index 11 and reflector index 1. A
+photograph of the experiment is given in :numref:`fig81c3`.
+
+.. _fig81c3:
+.. figure:: figs/KenoC/fig3.png
+ :align: center
+ :width: 500
+
+ Critical assembly of 4 solution units and 4 metal units.
+
+.. centered:: Input Data
+
+KENO V.a
+
+::
+
+ =KENOVA
+ sample problem 12 4 aqueous 4 metal mixed units
+ READ PARAM
+ lib=4 fdn=yes nub=yes smu=yes mkp=yes
+ mku=yes fmp=yes fmu=yes
+ END PARAM
+ READ MIXT
+ sct=2
+ mix=1
+ 1092234 4.82717e04 1092235 4.47971e02 1092236 9.57233e05 1092238 2.65767e03
+ mix=2
+ 2001001 5.77931e02 2007014 2.13092e03 2008016 3.74114e02
+ 2092234 1.06784e05 2092235 9.84602e04 2092236 5.29386e06
+ 2092238 6.19414e05
+ mix=3
+ 11001001 5.67873e02 11006000 3.54921e02 11008016 1.41968e02
+ END MIXT
+ READ GEOM
+ unit 1
+ cylinder 2 1 9.525 8.89 8.89
+ cylinder 3 1 10.16 9.525 9.525
+ cuboid 0 1 10.875 10.875 10.875 10.875 10.24 10.24
+ unit 2
+ cylinder 1 1 5.748 5.3825 5.3825
+ cuboid 0 1 6.59 15.16 6.59 15.16 6.225 14.255
+ unit 3
+ cylinder 1 1 5.748 5.3825 5.3825
+ cuboid 0 1 6.59 15.16 15.16 6.59 6.225 14.255
+ unit 4
+ cylinder 1 1 5.748 5.3825 5.3825
+ cuboid 0 1 6.59 15.16 6.59 15.16 14.255 6.225
+ unit 5
+ cylinder 1 1 5.748 5.3825 5.3825
+ cuboid 0 1 6.59 15.16 15.16 6.59 14.255 6.225
+ END GEOM
+ READ ARRAY
+ gbl=1 ara=1 nux=2 nuy=2 nuz=2 loop
+ 1 3r2 1 2 1 1 2 1
+ 2 9r1
+ 3 3r1 2 2 1 3r1
+ 4 6r1 2 2 1
+ 5 3r1 2 2 1 2 2 1 end loop
+ END ARRAY
+ END DATA
+ END
+
+KENOVI
+
+::
+
+ =KENOVI
+ sample problem 12 4 aqueous 4 metal mixed units
+ READ PARAM
+ lib=4 flx=yes fdn=yes nub=yes smu=yes mku=yes fmp=yes fmu=yes
+ END PARAM
+ READ MIXT
+ sct=2
+ mix=1 1092234 4.82717e04 1092235 4.47971e02 1092236 9.57233e05
+ 1092238 2.65767e03
+ mix=2 2001001 5.77931e02 2007014 2.13092e03 2008016 3.74114e02
+ 2092234 1.06784e05 2092235 9.84602e04 2092236 5.29386e06
+ 2092238 6.19414e05
+ mix=3 11001001 5.67873e02 11006000 3.54921e02 11008016 1.41968e02
+ END MIXT
+ READ GEOM
+ unit 1
+ cylinder 10 9.525 8.89 8.89
+ cylinder 20 10.16 9.525 9.525
+ cuboid 30 10.875 10.875 10.875 10.875 10.24 10.24
+ media 2 1 10 vol=20270.8327
+ media 3 1 10 20 vol=4440.27764
+ media 0 1 30 20 vol=14042.16966
+ boundary 30
+ unit 2
+ cylinder 10 5.748 5.3825 5.3825
+ cuboid 20 6.59 15.16 6.59 15.16 6.225 14.255
+ media 1 1 10 vol=1117.371078
+ media 0 1 20 10 vol=8570.948922
+ boundary 20
+ unit 3
+ cylinder 10 5.748 5.3825 5.3825
+ cuboid 20 6.59 15.16 15.16 6.59 6.225 14.255
+ media 1 1 10 vol=1117.371078
+ media 0 1 20 10 vol=8570.948922
+ boundary 20
+ unit 4
+ cylinder 10 5.748 5.3825 5.3825
+ cuboid 20 6.59 15.16 6.59 15.16 14.255 6.225
+ media 1 1 10 vol=1117.371078
+ media 0 1 20 10 vol=8570.948922
+ boundary 20
+ unit 5
+ cylinder 10 5.748 5.3825 5.3825
+ cuboid 20 6.59 15.16 15.16 6.59 14.255 6.225
+ media 1 1 10 vol=1117.371078
+ media 0 1 20 10 vol=8570.948922
+ boundary 20
+ global
+ unit 6
+ cuboid 10 43.5 0.0 43.5 0.0 40.96 0.0
+ array 1 +10 place 1 1 1 15.16 15.16 14.255
+ boundary 10
+ END GEOM
+ READ ARRAY
+ gbl=1 ara=1 nux=2 nuy=2 nuz=2 loop
+ 1 3r2 1 2 1 1 2 1
+ 2 9r1
+ 3 3r1 2 2 1 3r1
+ 4 6r1 2 2 1
+ 5 3r1 2 2 1 2 2 1 end loop
+ END ARRAY
+ END DATA
+ END
+
+.. _81c213:
+
+Sample Problem 13 TWO CUBOIDS IN A CYLINDRICAL ANNULUS
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This critical experiment :cite:`irving_monte_1964` consists of two assemblies of 93.2%
+:sup:`235`\ Uenriched uranium metal (ρ = 18.69 g/cc) stacked
+vertically. The bottom assembly contains a uranium metal cuboid offset
+to the left within a uranium metal cylindrical annulus. The top assembly
+contains a uranium metal cuboid offset to the right within a uranium
+metal cylindrical annulus. The cuboid extends above the annulus. A
+drawing of the two sections and the total assembly is given in
+:numref:`fig81c4`.
+
+.. _fig81c4:
+.. figure:: figs/KenoC/fig4.png
+ :align: center
+ :width: 500
+
+ Drawing of two cuboids in an annulus critical assembly.
+
+.. centered:: Input Data
+
+KENO V.a
+
+::
+
+ =KENOVA
+ sample problem 13 two cuboids in a cylindrical annulus
+ READ PARAM
+ lib=4
+ END PARAM
+ READ GEOM
+ unit 1
+ cuboid 1 1 6.35 6.35 6.35 6.35 7.62 0.0
+ cylinder 0 1 13.97 7.62 0.0 orig 6.0934 0.0
+ cylinder 1 1 19.05 7.62 0.0 orig 6.0934 0.0
+ cuboid 0 1 12.9566 25.1434 19.05 19.05 7.62 0.0
+ unit 2
+ cuboid 1 1 6.35 6.35 6.35 6.35 8.56 0.0
+ cylinder 0 1 13.97 8.56 0.0 origin 6.0934 0.0
+ cylinder 1 1 19.05 8.56 0.0 origin 6.0934 0.0
+ cuboid 0 1 25.1434 12.9566 19.05 19.05 8.56 0.0
+ unit 3
+ cuboid 1 1 6.35 6.35 6.35 6.35 2.616 0.0
+ cuboid 0 1 25.1434 12.9566 19.05 19.05 2.616 0.0
+ END GEOM
+ READ MIXT
+ sct=2
+ mix=1
+ 3092234 4.80916e04 3092235 4.46300e02 3092236 9.53661e05 3092238 2.64776e03
+ END MIXT
+ READ ARRAY
+ gbl=1 nux=1 nuy=1 nuz=3 fill 1 2 3 t
+ END ARRAY
+ END DATA
+ END
+
+KENOVI
+
+::
+
+ =KENOVI
+ sample problem 13 two cuboids in a cylindrical annulus
+ READ PARAM
+ lib=4
+ END PARAM
+ READ MIXT
+ sct=2
+ mix=1 3092234 4.80916e04 3092235 4.46300e02 3092236 9.53661e05
+ 3092238 2.64776e03
+ END MIXT
+ READ GEOM
+ unit 1
+ cuboid 10 6.35 6.35 6.35 6.35 7.62 0.0
+ cylinder 20 13.97 7.62 0.0 orig x=6.0934
+ cylinder 30 19.05 7.62 0.0 orig x=6.0934
+ cuboid 40 12.9566 25.1434 19.05 19.05 7.62 0.0
+ media 1 1 10 vol=1229.0298
+ media 0 1 20 10 vol=3442.914497898
+ media 1 1 30 20 vol=4015.555429598
+ media 0 1 40 30 vol=2373.768472504
+ boundary 40
+ unit 2
+ cuboid 10 6.35 6.35 6.35 6.35 8.56 0.0
+ cylinder 20 13.97 8.56 0.0 origin x=6.0934
+ cylinder 30 19.05 8.56 0.0 origin x=6.0934
+ cuboid 40 25.1434 12.9566 19.05 19.05 8.56 0.0
+ media 1 1 10 vol=1380.6424
+ media 0 1 20 10 vol=3867.630984515
+ media 1 1 30 20 vol=4510.912661071
+ media 0 1 40 30 vol=2666.595554414
+ boundary 40
+ unit 3
+ cuboid 10 6.35 6.35 6.35 6.35 2.616 0.0
+ cuboid 20 25.1434 12.9566 19.05 19.05 2.616 0.0
+ media 1 1 10 vol=421.93464
+ media 0 1 20 10 vol=3375.47712
+ boundary 20
+ global unit 4
+ cuboid 10 12.9566 25.1434 2p19.05 18.796 0.
+ array 1 10 place 1 1 1 3r0.
+ boundary 10
+ END GEOM
+ READ ARRAY
+ ara=1 nux=1 nuy=1 nuz=3 fill 1 2 3 end fill
+ END ARRAY
+ END DATA
+ END
+
+.. _81c214:
+
+Sample Problem 14 U METAL CYLINDER IN AN ANNULUS
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This critical experiment\ :sup:`3` consists of a 93.2
+:sup:`235`\ Uenriched uranium metal cylinder within a cylindrical
+annulus of the same material as shown in :numref:`fig81c5`. The uranium
+metal specification is identical to that used in sample problem 13.
+
+.. _fig81c5:
+.. figure:: figs/KenoC/fig5.png
+ :align: center
+ :width: 500
+
+ Drawing of the cylinder in an annulus critical assembly.
+
+.. centered:: Input Data
+
+KENO V.a
+
+::
+
+ =KENOVA
+ sample problem 14 u metal cylinder in an annulus
+ READ PARAM
+ lib=4
+ END PARAM
+ READ MIXT
+ sct=2
+ mix=1
+ 3092234 4.80916e04 3092235 4.46300e02 3092236 9.53661e05 3092238 2.64776e03
+ END MIXT
+ READ GEOM
+ global unit 1
+ cylinder 1 1 8.89 10.109 0.0 orig 5.0799 0.0
+ cylinder 0 1 13.97 10.109 0.0
+ cylinder 1 1 19.05 10.109 0.0
+ END GEOM
+ END DATA
+ END
+
+KENOVI
+
+::
+
+ =KENOVI
+ sample problem 14 u metal cylinder in an annulus
+ READ PARAM
+ lib=4
+ END PARAM
+ READ MIXT
+ SCT=2
+ mix=1 3092234 4.80916e04 3092235 4.46300e02 3092236 9.53661e05
+ 3092238 2.64776e03
+ END MIXT
+ READ GEOM
+ global unit 1
+ cylinder 10 8.89 10.109 0.0 orig x=5.08
+ cylinder 20 13.97 10.109 0.0
+ cylinder 30 19.05 10.109 0.0
+ media 1 1 10 vol=2509.929894
+ media 0 1 20 10 vol=3688.060252
+ media 1 1 30 20 10 vol=5327.198142
+ boundary 30
+ END GEOM
+ END DATA
+ END
+
+.. _81c215:
+
+Sample Problem 15 SMALL WATER REFLECTED SPHERE ON PLEXIGLAS COLLAR
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This critical experiment :cite:`byers_critical_1977` is a small highly enriched uranium sphere
+supported by a Plexiglas doughnut in a tank of water. The sphere extends
+down through the hole of the doughnut. However, the KENO geometry
+package cannot rigorously describe a doughnut (torus) with either KENO
+V.a or KENOVI. Therefore, the KENO mockup of this problem describes the
+doughnut as an annular cylindrical plate and the sphere is supported by
+it. Both are contained in a cylindrical tank of water. A drawing of the
+experiment is given in :numref:`fig81c6`. This drawing shows the sphere
+above the cylindrical collar for the sake of clarity. The sphere is
+actually supported by the collar and extends into the opening in its
+center. The actual experiment utilized a torus or doughnut instead of a
+cylindrical collar.
+
+.. _fig81c6:
+.. figure:: figs/KenoC/fig6.png
+ :align: center
+ :width: 400
+
+ Drawing of a critical assembly consisting of a uranium sphere on a Plexiglas collar with a cylindrical water reflector.
+
+.. centered:: Input Data
+
+KENO V.a
+
+::
+
+ =KENOVA
+ sample problem 15 small water reflected sphere on plexiglas collar
+ READ PARAM
+ lib=4 flx=yes fdn=yes
+ END PARAM
+ READ MIXT
+ sct=2
+ mix=1
+ 4092234 5.27115e04 4092235 4.70308e02 4092236 1.00692e04 4092238 4.89708e04
+ mix=2
+ 11001001 5.67873e02 11006000 3.54921e02 11008016 1.41968e02
+ mix=3
+ 12001001 6.67554e02
+ mix=3
+ 12008016 3.33757e02
+ END MIXT
+ READ GEOM
+ unit 1
+ hemisphez 1 1 6.5537 chord 5.09066
+ cylinder 3 1 4.1275 5.09066 7.63065
+ cylinder 2 1 12.7 5.09066 7.63065
+ cuboid 3 1 4p12.7 5.09066 7.63065
+ unit 2
+ hemisphe+z 1 1 6.5537 chord 5.09066
+ cuboid 3 1 4p12.7 6.5537 5.09066
+ global unit 3
+ array 1 12.7 12.7 7.092175
+ cylinder 3 1 17.97 2p7.0922
+ replicate 3 2 3*3.0 5
+ END GEOM
+ READ BIAS
+ id=500 2 6
+ END BIAS
+ READ ARRAY
+ nux=1 nuy=1 nuz=2 fill 1 2 end fill
+ END ARRAY
+ READ PLOT
+ scr=yes lpi=10
+ ttl='xz slice through the center of the sphere'
+ xul=20.0 zul=10.0 yul=0.0 xlr=20.0 ylr=0.0 zlr=10.0
+ uax=1.0 wdn=1.0 nax=400
+ END PLOT
+ END DATA
+ END
+
+KENOVI
+
+::
+
+ =KENOVI
+ sample problem 15 small water reflected sphere on plexiglas collar
+ READ PARAM
+ lib=4 flx=yes fdn=yes plt=yes
+ END PARAM
+ READ MIXT
+ sct=2
+ mix=1 4092234 5.27115e04 4092235 4.70308e02 4092236 1.00692e04
+ 4092238 4.89708e04
+ mix=2 11001001 5.67873e02 11006000 3.54921e02 11008016 1.41968e02
+ mix=3 12001001 6.67515e02
+ mix=3 12008016 3.33757e02
+ END MIXT
+ READ GEOM
+ global unit 1
+ sphere 10 6.5537
+ cylinder 20 4.1275 5.09066 7.63065
+ cylinder 30 12.7 5.09066 7.63065
+ cylinder 40 21.5537 21.5537 21.5537
+ media 1 1 10 vol=1179.093598091
+ media 3 1 20 10 vol=95.1516
+ media 2 1 30 20 10 vol=1151.089182028
+ media 3 1 40 30 20 10 vol=60488.221616778
+ boundary 40
+ END GEOM
+ READ PLOT
+ scr=yes lpi=10
+ ttl='xz slice through the center of the sphere'
+ xul=20.0 zul=10.0 yul=0.0 xlr=20.0 ylr=0.0 zlr=10.0
+ uax=1.0 wdn=1.0 nax=400
+ END PLOT
+ END DATA
+ END
+
+.. _81c216:
+
+Sample Problem 16 UO2F2 INFINITE SLAB KINFINITY
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This problem solves for the kinfinity of an infinite number of slabs of
+uranyl fluoride solution contained in Pyrex glass and separated by
+borated uranyl fluoride solution. The uranyl fluoride slab is 4.958 cm
+thick, 93.2% enriched, and has a density of 578.7 g U/l. The Pyrex glass
+is 1.27 cm thick and is present on both faces of the uranyl fluoride
+solution. A total of 27.46 cm of borated solution separates the Pyrex
+glass of adjacent slabs of solution. 1.482 × 10\ :sup:`–27` atoms of
+boron per milliliter are present in the borated solution.
+
+.. centered:: Input Data
+
+KENO V.a
+
+::
+
+ =KENOVA
+ sample problem 16 uo2f2 infinite slab kinfinity
+ READ PARAMETERS
+ lib=4 amx=yes xap=no
+ END PARAMETERS
+ READ MIXT
+ sct=2
+ mix=1
+ 5009019 2.96287e03 5001001 6.08125e02 5008016 3.33691e02 5092235 1.38188e03 5092238 9.95505e05
+ mix=2
+ 13011023 2.39503e03 13013027 4.97720e04 13014028 1.66260E02 13014029 8.41845E04 13014030 5.58826E04 13005010 9.14627e04 13005011 3.68149e03 13008016 4.49174e02 mix=3
+ 6009019 2.96287e03 6001001 6.08125e02 6008016 3.33691e02 6092235 1.38188e03 6092238 9.95505e05 6005010 2.94862e04 6005011 1.18686e03
+ END MIXT
+ READ GEOMETRY
+ global unit 1
+ cuboid 1 1 2.479 2.479 100 100 100 100
+ cuboid 2 1 3.749 3.749 100 100 100 100
+ cuboid 3 1 17.479 17.479 100 100 100 100
+ END GEOM
+ READ BOUNDS
+ all=mirror
+ END BOUNDS
+ END DATA
+ END
+
+KENOVI
+
+::
+
+ =KENOVI
+ sample problem 16 uo2f2 infinite slab kinfinity
+ READ PARAMETERS
+ lib=4 amx=yes xap=no
+ END PARAMETERS
+ READ MIXT
+ sct=2
+ mix=1 5009019 2.96287e03 5001001 6.08125e02 5008016 3.33691e02
+ 5092235 1.38188e03 5092238 9.95505e05
+ mix=2 13011023 2.39503e03 13013027 4.97720e04 13014028 1.66260E02
+ 13014029 8.41845E04 13014030 5.58826E04
+ 13005010 9.14627e04 13005011 3.68149e03 13008016 4.49174e02
+ mix=3 6009019 2.96287e03 6001001 6.08125e02 6008016 3.33691e02
+ 6092235 1.38188e03 6092238 9.95505e05
+ 6005010 2.94862e04 6005011 1.18686e03
+ END MIXT
+ READ GEOMETRY
+ global unit 1
+ cuboid 10 2.479 2.479 100.0 100.0 100.0 100.0
+ cuboid 20 3.749 3.749 100.0 100.0 100.0 100.0
+ cuboid 30 17.479 17.479 100.0 100.0 100.0 100.0
+ media 1 1 10
+ media 2 1 20 10
+ media 3 1 30 20 10
+ boundary 30
+ END GEOM
+ READ BOUNDS
+ all=mirror
+ END BOUNDS
+ READ VOLUME
+ type=trace iface=xface
+ END VOLUME
+ END DATA
+ END
+
+.. _81c217:
+
+Sample Problem 17 93% UO2F2 SOLUTION SPHERE ADJOINT CALCULATION
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+A single 93% enriched uranyl fluoride sphere is run as an adjoint
+calculation. The result for the forward and adjoint keffectives should
+be the same within statistical error when the problem is run both ways.
+
+.. centered:: Input Data
+
+KENO V.a
+
+::
+
+ =KENOVA
+ sample problem 17 93% uo2f2 solution sphere adjoint calculation
+ READ PARAMETERS
+ lib=4 npg=10000 nbk=10500 adj=yes amx=yes xap=no
+ END PARAMETERS
+ READ MIXT
+ sct=2
+ mix=1
+ 7001001 6.55892e02 7008016 3.34755e02 7009019 6.80925e04 7092235 3.16910e04 7092238 2.35522e05
+ END MIXT
+ READ GEOMETRY
+ global unit 1
+ sphere 1 1 16.0
+ END GEOM
+ END DATA
+ END
+
+KENOVI
+
+::
+
+ =KENOVI
+ sample problem 17 93% uo2f2 solution sphere adjoint calculation
+ READ PARAMETERS
+ lib=4 amx=yes pwt=yes xap=no adj=yes npg=10000 nbk=10500
+ END PARAMETERS
+ READ MIXT
+ sct=2
+ mix=1 7001001 6.55892e02 7008016 3.34755e02 7009019 6.80925e04
+ 7092235 3.16910e04 7092238 2.35522e05
+ END MIXT
+ READ GEOMETRY
+ global unit 1
+ sphere 10 16.0
+ media 1 1 10 vol=17157.284678
+ boundary 10
+ END GEOM
+ END DATA
+ END
+
+.. _81c218:
+
+Sample Problem 18 1F27 DEMONSTRATION OF OPTIONS
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+A reflected cubic array of 27 cylinders of aqueous uranyl nitrate in
+Plexiglas bottles :cite:`thomas_critical_1964`. The walls of the bottles were 0.64cm thick, and
+each bottle was filled with 5 liters of 92.6% enriched solution at a
+concentration of 415 g/L, a specific gravity of 1.555 and 0.39 mg excess
+nitrate/g soln (From experimental facility documents. Not reported in ORNL/TM719.)
+The 3 × 3 × 3 array was surrounded by a 6in.
+paraffin reflector. Most of the print options available in KENO are
+exercised in this problem. A perspective of this critical experiment is
+shown in :numref:`fig81c7`. A photograph of one of the experiments utilized
+27 of the Plexiglas bottles is shown in :numref:`fig81c8`. Sample
+problem 18 has 15.24 cm of paraffin on all six faces rather than the
+2.54cm Plexiglas shown on five faces.
+
+.. _fig81c7:
+.. figure:: figs/KenoC/fig7.png
+ :align: center
+ :width: 500
+
+ Perspective of critical 1F27 experiment.
+
+.. _fig81c8:
+.. figure:: figs/KenoC/fig8.png
+ :align: center
+ :width: 500
+
+ View of a 27unit array with 2.54cm. thick Plexiglas reflector on five sides and a 15.24cm. thick paraffin base.
+
+.. centered:: Input Data
+
+KENO V.a
+
+::
+
+ =KENOVA
+ sample problem 18 1f27 demonstration of options problem
+ READ PARA gen=103 npg=500 fdn=yes nub=yes lib=4
+ mku=yes fmu=yes mkh=yes fmh=yes mka=yes fma=yes rnd=f12c09ed2195
+ pwt=yes far=yes flx=yes amx=yes pax=yes pgm=yes
+ END PARA
+ READ MIXT
+ sct=2
+ mix=1
+ 2001001 5.77931e02 2007014 2.13092e03 2008016 3.74114e02
+ 2092234 1.06784e05 2092235 9.84602e04 2092236 5.29386e06
+ 2092238 6.19414e05
+ mix=2
+ 11001001 5.67873e02 11006000 3.54921e02 11008016 1.41968e02
+ mix=3
+ 10006000 3.84193e02 10001901 7.99120e02
+ mix=4
+ 15008016 3.33757e11 15001001 6.67515e11
+ END MIXT
+ READ BOUNDS
+ zb= h2o
+ END BOUNDS
+ READ GEOM
+ unit 1
+ cylinder 1 1 9.52 8.7804 8.7804
+ cylinder 0 1 9.52 8.9896 8.7804
+ cylinder 2 1 10.16 9.6296 9.4204
+ cuboid 4 1 18.45 18.45 18.45 18.45 17.8946 17.6854
+ unit 2
+ array 1 3*0.0
+ unit 3
+ array 2 3*0.0
+ unit 4
+ array 3 3*0.0
+ unit 5
+ array 4 3*0.0
+ global
+ unit 6
+ cuboid 4 1 55.3501 55.3501 55.3501 55.3501 53.3701 53.3701
+ hole 2 55.35 18.45 17.79
+ hole 3 55.35 18.45 53.3701
+ hole 4 18.4501 18.45 53.3701
+ hole 5 55.3501 55.3501 53.3701
+ replicate 3 2 6*3 5
+ replicate 3 7 6*0.24 1
+ END GEOM
+ READ BIAS
+ id=400 2 7
+ END BIAS
+ READ ARRAY
+ ara=1 nux=2 nuy=2 nuz=2 fill f1 end fill
+ ara=2 nux=2 nuy=2 nuz=1 fill f1 end fill
+ ara=3 nux=1 nuy=2 nuz=3 fill f1 end fill
+ ara=4 nux=3 nuy=1 nuz=3 fill f1 end fill
+ END ARRAY
+ READ START
+ nst=6 tfx=0.0 tfy=0.0 tfz=0.0
+ lnu=500 ps6=yes
+ END START
+ READ PLOT
+ scr=yes plt=yes lpi=10
+ ttl=? 1f27 xy plot at z=0.0 ?
+ xul=71.0 yul= 71.0 zul=0.0
+ xlr= 71.0 ylr=71.0 zlr=0.0
+ uax=1 vdn=1 nax=400
+ run=yes
+ end plt1
+ ttl=?unit map 1f27 xy plot at z=0.0?
+ pic=unit
+ END PLOT
+ END DATA
+ END
+
+KENOVI
+
+::
+
+ =KENOVI
+ sample problem 18 1f27 critical experiment
+ READ PARA
+ gen=103 npg=500 fdn=yes nub=yes lib=4 plt=yes
+ mku=yes cku=yes fmu=yes fmh=yes mka=yes cka=yes fma=yes pwt=yes
+ far=yes flx=yes amx=yes pax=yes pgm=yes rnd=f12c09ed2195
+ END PARA
+ READ MIXT
+ sct=2
+ mix=1 2001001 5.77931e02 2007014 2.13092e03 2008016 3.74114e02
+ 2092234 1.06784e05 2092235 9.84602e04 2092236 5.29386e06
+ 2092238 6.19414e05
+ mix=2 11001001 5.67873e02 11006000 3.54921e02 11008016 1.41968e02
+ mix=3 10006000 3.84193e02 10001901 7.99120e02
+ mix=4 15008016 3.33757e11 15001001 6.67515e11
+ END MIXT
+ READ BOUNDS
+ zb=h2o
+ END BOUNDS
+ READ GEOM
+ unit 1
+ cylinder 10 9.52 8.7804 8.7804
+ cylinder 20 9.52 8.9896 8.7804
+ cylinder 30 10.16 9.6296 9.4204
+ cuboid 40 18.45 18.45 18.45 18.45 17.8946 17.6854
+ media 1 1 10
+ media 0 1 10 20
+ media 2 1 10 20 30
+ media 0 1 40 20 30
+ boundary 40
+ unit 2
+ cuboid 10 18.45 55.35 55.35 18.45 53.37 17.79
+ cuboid 20 18.45 55.35 55.35 18.45 17.79 53.37
+ cuboid 30 55.35 18.45 55.35 18.45 53.37 53.37
+ cuboid 40 55.35 55.35 18.45 55.35 53.37 53.37
+ cuboid 50 55.35 55.35 55.35 55.35 53.37 53.37
+ array 1 10 place 1 1 1 36.90 0.0 0.1046
+ array 2 20 10 place 1 1 1 36.90 0.0 35.6846
+ array 3 30 20 10 place 1 1 1 36.90 0.0 35.6846
+ array 4 40 30 20 10 place 1 1 1 36.90 36.90 35.6846
+ media 0 1 50 40 30 20 10
+ boundary 50
+ global unit 3
+ cuboid 10 55.35 55.35 55.35 55.35 53.37 53.37
+ cuboid 20 58.35 58.35 58.35 58.35 56.37 56.37
+ cuboid 30 61.35 61.35 61.35 61.35 59.37 59.37
+ cuboid 40 64.35 64.35 64.35 64.35 62.37 62.37
+ cuboid 50 67.35 67.35 67.35 67.35 65.37 65.37
+ cuboid 60 70.59 70.59 70.59 70.59 68.61 68.61
+ array 5 10 place 1 1 1 3*0.0
+ media 3 2 10 20
+ media 3 3 20 30
+ media 3 4 30 40
+ media 3 5 40 50
+ media 3 6 60 50
+ boundary 60
+ END GEOM
+ READ BIAS
+ id=400 2 6
+ END BIAS
+ READ VOLUME
+ type=random
+ END VOLUME
+ READ ARRAY
+ ara=1 nux=2 nuy=2 nuz=2 fill f1 end fill
+ ara=2 nux=2 nuy=2 nuz=1 fill f1 end fill
+ ara=3 nux=1 nuy=2 nuz=3 fill f1 end fill
+ ara=4 nux=3 nuy=1 nuz=3 fill f1 end fill
+ gbl=5 ara=5 nux=1 nuy=1 nuz=1 fill f2 end fill
+ END ARRAY
+ READ PLOT
+ scr=yes lpi=10
+ ttl=' 1f27 xy plot at z=0.0 '
+ xul=71.0 yul=71.0 zul=0.0 xlr=71.0 ylr=71.0 zlr=0.0
+ uax=1 vdn=1 nax=400 end plt0
+ ttl='unit map 1f27 xy plot at z=0.0'
+ pic=unit
+ END PLOT
+ END DATA
+ END
+
+.. _81c219:
+
+Sample Problem 19 4 AQUEOUS 4 METAL ARRAY OF ARRAYS (SAMP PROB 12)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This critical experiment was described previously as SAMPLE PROBLEM 12.
+The input data given below utilize the array of arrays option. See
+:numref:`fig81c3`.
+
+.. centered:: Input Data
+
+KENO V.a
+
+::
+
+ =KENOVA
+ sample problem 19 4 aqueous 4 metal array of arrays (samp prob 12)
+ READ PARAM
+ lib=4 flx=yes fdn=yes nub=yes smu=yes mkp=yes
+ mku=yes fmp=yes fmu=yes
+ END PARAM
+ READ MIXT
+ mix=1
+ 1092234 4.82717e04 1092235 4.47971e02 1092236 9.57233e05 1092238 2.65767e03
+ mix=2
+ 2001001 5.77931e02 2007014 2.13092e03 2008016 3.74114e02
+ 2092234 1.06784e05 2092235 9.84602e04 2092236 5.29386e06
+ 2092238 6.19414e05
+ mix=3
+ 11001001 5.67873e02 11006000 3.54921e02 11008016 1.41968e02
+ sct=2
+ END MIXT
+ READ GEOM
+ unit 1
+ com='uranyl nitrate solution in a plexiglas container'
+ cylinder 2 1 9.525 2p8.89
+ cylinder 3 1 10.16 2p9.525
+ cuboid 0 1 4p10.875 2p10.24
+ unit 2
+ com='uranium metal cylinder'
+ cylinder 1 1 5.748 2p5.3825
+ cuboid 0 1 4p6.59 2p6.225
+ unit 3
+ com='1x2x2 array of solution units'
+ array 1 3*0.0
+ unit 4
+ com='1x2x2 array of metal units padded to match solution array'
+ array 2 3*0.0
+ replicate 0 1 2*0.0 2*8.57 2*8.03 1
+ END GEOM
+ READ ARRAY
+ ara=1 nux=1 nuy=2 nuz=2 fill f1 end fill
+ ara=2 nux=1 nuy=2 nuz=2 fill f2 end fill
+ gbl=3 ara=3 nux=2 nuy=1 nuz=1
+ com='composite array of solution and metal units'
+ fill 4 3 end fill
+ END ARRAY
+ END DATA
+ END
+
+KENOVI
+
+::
+
+ =KENOVI
+ sample problem 19 4 aqueous 4 metal array of arrays (samp prob 12)
+ READ PARAM
+ lib=4 flx=yes fdn=yes nub=yes smu=yes mkp=yes mku=yes fmp=yes fmu=yes
+ END PARAM
+ READ MIXT
+ sct=2
+ mix=1 1092234 4.82717e04 1092235 4.47971e02 1092236 9.57233e05
+ 1092238 2.65767e03
+ mix=2 2001001 5.77931e02 2007014 2.13092e03 2008016 3.74114e02
+ 2092234 1.06784e05 2092235 9.84602e04 2092236 5.29386e06
+ 2092238 6.19414e05
+ mix=3 11001001 5.67873e02 11006000 3.54921e02 11008016 1.41968e02
+ END MIXT
+ READ GEOMETRY
+ unit 1
+ com='uranyl nitrate solution in a plexiglas container'
+ cylinder 10 9.525 2p8.89
+ cylinder 20 10.16 2p9.525
+ cuboid 30 4p10.875 2p10.24
+ media 2 1 10 vol=20270.83270
+ media 3 1 10 20 vol=4440.27764
+ media 0 1 30 20 vol=14042.16966
+ boundary 30
+ unit 2
+ com='uranium metal cylinder'
+ cylinder 10 5.748 2p5.3825
+ cuboid 20 4p6.59 2p6.225
+ media 1 1 10 vol=4469.48431
+ media 0 1 20 10 vol=4181.39321
+ boundary 20
+ unit 3
+ com='1x2x2 array of solution units'
+ cuboid 10 21.75 0.0 43.5 0.0 40.96 0.0
+ array 1 +10 place 1 1 1 10.875 10.875 10.240
+ boundary 10
+ unit 4
+ com='1x2x2 array of metal units padded to match solution array'
+ cuboid 10 13.18 0.0 26.36 0.0 24.9 0.0
+ cuboid 20 13.18 0.0 34.93 8.57 32.93 8.03
+ array 2 +10 place 1 1 1 6.59 6.59 6.225
+ media 0 1 20 10 vol=14830.750188
+ boundary 20
+ global unit 5
+ com='global unit of arrays 1 and 2'
+ cuboid 10 34.93 0.0 43.5 0.0 40.96 0.0
+ array 3 +10 place 1 1 1 0 8.57 8.03
+ boundary 10
+ END GEOM
+ READ ARRAY
+ ara=1 nux=1 nuy=2 nuz=2 fill f1 end fill
+ ara=2 nux=1 nuy=2 nuz=2 fill f2 end fill
+ gbl=3 ara=3 nux=2 nuy=1 nuz=1
+ com='composite array of solution and metal units'
+ fill 4 3 end fill
+ END ARRAY
+ END DATA
+ END
+
+.. _81c220:
+
+Sample Problem 20 TRIANGULAR PITCHED ARRAY
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This problem is a critical experiment14 consisting of seven cylinders in
+a triangularpitched unreflected array. The central cylinder has six
+cylinders arranged around it. The surfacetosurface separation between
+the units is 0.15 in. Each unit consists of a 60milthick aluminum can
+with an 8in. inside diameter, filled with a solution of 93.2% enriched
+uranyl fluoride with a H/235U atomic ratio of 44.3 and a density of
+576.87 g U/L. The apparatus for conducting this experiment is shown in
+:numref:`fig81c9`.
+
+.. _fig81c9:
+.. figure:: figs/KenoC/fig9.png
+ :align: center
+ :width: 500
+
+ Typical arrangement for critical experiments with interacting
+ arrays of aluminum cylinders containing enriched :sup:`235`\ U
+ solutions.
+
+.. centered:: Input Data
+
+KENO V.a
+
+::
+
+ =KENOVA
+ sample problem 20 triangular pitched array
+ READ PARAM
+ lib=4
+ END PARAM
+ READ MIXT
+ sct=2
+ mix=1
+ 8092235 1.37751e03 8092238 9.92357e05 8008016 3.33717e02 8009019 2.95350e03 8001001 6.08364e02
+ mix=2
+ 14013027 6.03067e02
+ END MIXT
+ READ GEOM
+ unit 1
+ cylinder 1 1 10.16 18.288 0
+ cylinder 2 1 10.312 18.288 .152
+ unit 2
+ cuboid 0 1 4p50 50 .152
+ hole 1 3r0
+ hole 1 21.006 2r0
+ hole 1 21.006 2r0
+ hole 1 10.503 18.192 0
+ hole 1 10.503 18.192 0
+ hole 1 10.503 18.192 0
+ hole 1 10.503 18.192 0
+ END GEOM
+ READ ARRAY
+ gbl=1 nux=1 nuy=1 nuz=1 fill 2 end fill
+ END ARRAY
+ READ PLOT
+ ttl='hex array' pic=mix lpi=10 scr=yes
+ xul=0 yul=100 zul=10
+ xlr=100 ylr=0 zlr=10
+ uax=1 vdn=1 nax=400
+ END PLOT
+ END DATA
+ END
+
+KENOVI
+
+::
+
+ =KENOVI
+ sample problem 20 triangular pitched array 7 pins in a circle
+ READ PARAMETERS
+ lib=4
+ END PARAMETERS
+ READ MIXT
+ sct=2
+ mix=1 8092235 1.37751e03 8092238 9.92357e05 8008016 3.33717e02
+ 8009019 2.95350e03 8001001 6.08364e02
+ mix=2 14013027 6.03067e02
+ END MIXT
+ READ GEOMETRY
+ unit 1
+ com='single cell fuel can in hexprism'
+ cylinder 10 10.16 18.288 0.0
+ cylinder 20 10.312 18.288 0.152
+ hexprism 30 10.503 18.288 0.152
+ media 1 1 10 vol=41514.66537
+ media 2 1 20 10 vol=1606.91193
+ media 0 1 30 20 vol=6204.469507
+ boundary 30
+ unit 2
+ com='empty cell'
+ hexprism 10 10.503 18.288 0.152
+ media 0 1 10 vol=8155.956715
+ boundary 10
+ global unit 3
+ cylinder 10 31.500 18.288 0.152
+ com='7 cylinders in a circle with cylindrical boundary'
+ array 1 10 place 3 3 1 3*0.0
+ boundary 10
+ END GEOMETRY
+ READ ARRAY
+ ara=1 typ=triangular nux=5 nuy=5 nuz=1
+ fill 7*2 2*1 2*2 3*1 2*2 2*1 7*2 end fill
+ END ARRAY
+ END DATA
+ END
+
+.. _81c221:
+
+Sample Problem 21 PARTIALLY FILLED SPHERE
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This critical experiment consisted of a partially filled,
+unreflected spherical container. This aluminum container had an inside
+diameter of 27.244 in. and a wall thickness of 1/16 in. It is referred
+to in the report as the 27.3in.diameter vessel. The sphere was 98%
+filled with uranyl fluoride at an enrichment of 4.89% with an
+H/\ :sup:`235`\ U atomic ratio of 1099. The height of the solution in
+the sphere was 64.6 cm above the bottom of the sphere. A schematic
+diagram of the apparatus used in the experiment is given in
+:numref:`fig81c10`. The steel tank was ignored.
+
+.. centered:: Input Data
+
+KENO V.a
+
+::
+
+ =KENOVA
+ sample problem 21 partially filled sphere
+ READ PARAM
+ lib=4
+ END PARAM
+ READ GEOM
+ global unit 1
+ hemisphez 1 1 34.6 chord 30.
+ sphere 0 1 34.6
+ sphere 2 1 34.759
+ END GEOM
+ READ MIXT
+ sct=2
+ mix=1
+ 9001001 6.19770e02 9008016 3.34895e02 9009019 2.50098e03
+ 9092234 2.54224e07 9092235 6.18924e05 9092238 1.18835e03
+ mix=2
+ 14013027 6.03067e02
+ END MIXT
+ END DATA
+ END
+
+KENOVI
+
+::
+
+ =KENOVI
+ sample problem 21 partially filled sphere
+ READ PARAM
+ lib=4
+ END PARAM
+ READ MIXT
+ sct=2
+ mix=1 9001001 6.19770e02 9008016 3.34895e02 9009019 2.50098e03
+ 9092234 2.54224e07 9092235 6.18924e05 9092238 1.18835e03
+ mix=2 14013027 6.03067e02
+ END MIXT
+ READ GEOM
+ global unit 1
+ sphere 10 34.6 chord z=30.0
+ sphere 20 34.6
+ sphere 30 34.759
+ media 1 1 10 vol=171309.
+ media 0 1 20 10 vol=2198.14
+ media 2 1 30 20 10 vol=2403.00
+ boundary 30
+ END GEOM
+ END DATA
+ END
+
+.. _fig81c10:
+.. figure:: figs/KenoC/fig10.png
+ :align: center
+ :width: 500
+
+ Schematic of bare partially filled sphere experiment inside a 9.5ftdiameter, 9fthigh steel tank.
+
+.. _81c222:
+
+Sample Problem 22 CASE 2C8 BARE WITH 3 NESTED HOLES, EACH IS EQUAL VOLUME
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The physical representation of this sample problem is the critical
+experiment described in sample problem 1. It is a simple 2 × 2 × 2 array
+of 93.2% wt enriched uranium metal cylinders. This sample problem
+defines a uranium cylinder in a void spacing cuboid using nested holes.
+Eight of these units are stacked together in a 2 × 2 × 2 array.
+
+.. centered:: Input Data
+
+KENO V.a
+
+::
+
+ =KENOVA
+ sample problem 22 case 2c8 bare with 3 nested, equal volume holes
+ READ PARAMETERS
+ flx=yes fdn=yes far=yes gas=no lib=4
+ END PARAMETERS
+ READ MIXT
+ sct=2
+ mix=1
+ 1092234 4.82717e04 1092235 4.47971e02 1092236 9.57233e05 1092238 2.65767e03
+ END MIXT
+ READ GEOMETRY
+
+ unit 1
+ cylinder 1 1 3.621 2p3.3907
+
+ unit 2
+ cylinder 1 1 4.5622 2p4.2721
+ hole 1 3*0.0
+
+ unit 3
+ cylinder 1 1 5.2224 2p4.8903
+ hole 2 3*0.0
+
+ unit 4
+ cylinder 1 1 5.748 5.3825 5.3825
+ hole 3 3*0.0
+ cuboid 0 1 6.87 6.87 6.87 6.87 6.505 6.505
+
+ END GEOMETRY
+ READ ARRAY
+ nux=2 nuy=2 nuz=2 fill f4 end fill
+ END ARRAY
+ END DATA
+ END
+
+KENOVI
+
+::
+
+ =KENOVI
+ sample problem 22 case 2c8 bare with 3 nested, equal volume holes
+ READ PARAMETERS
+ flx=yes fdn=yes far=yes gas=no lib=4 mkh=yes ckh=yes fmh=yes
+ END PARAMETERS
+ READ MIXT
+ sct=2
+ mix=1 1092234 4.82717e04 1092235 4.47971e02 1092236 9.57233e05
+ 1092238 2.65767e03
+ END MIXT
+ READ GEOMETRY
+ unit 1
+ cylinder 10 3.621 2p3.3907
+ media 1 1 10 vol=279.335597542
+ boundary 10
+ unit 2
+ cylinder 20 4.5622 2p4.2721
+ hole 1
+ media 1 1 20 vol=279.353142545
+ boundary 20
+ unit 3
+ cylinder 20 5.2224 2p4.8903
+ hole 2
+ media 1 1 20 vol=279.333676489
+ boundary 20
+ unit 4
+ cylinder 20 5.748 2p5.3825
+ cuboid 30 6.87 6.87 6.87 6.87 6.505 6.505
+ hole 3
+ media 1 1 20 vol=279.34866089
+ media 0 1 30 20 vol=1338.755598534
+ boundary 30
+ global unit 5
+ cuboid 10 20.61 6.87 20.61 6.87 19.515 6.505
+ array 1 10 place 1 1 1 3*0.0
+ boundary 10
+ END GEOMETRY
+ READ ARRAY
+ ara=1 nux=2 nuy=2 nuz=2 fill f4 end fill
+ END ARRAY
+ END DATA
+ END
+
+.. _81c223:
+
+Sample Problem 23 CASE 2C8 BARE AS STACKED CYLINDERS
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The physical representation of this sample problem is the critical
+experiment described in sample problem 1. This sample problem describes
+each of the eight units in the critical 2 × 2 × 2 array using
+Z hemicylinders (in KENO V.a) or hemicylinders with different chord
+sizes and directions (in KENO‑VI).
+
+.. centered:: Input Data
+
+KENO V.a
+
+::
+
+ =KENOVA
+ sample problem 23 case 2c8 bare as mixed zhemicylinders
+ READ PARAMETERS
+ fdn=yes lib=4
+ END PARAMETERS
+ READ MIXT
+ sct=2
+ mix=1
+ 1092234 4.82717e04 1092235 4.47971e02 1092236 9.57233e05 1092238 2.65767e03
+ END MIXT
+ READ GEOMETRY
+ unit 1
+ com='x half of unit 3'
+ zhemicylx 1 1 5.748 5.3825 5.3825
+ cuboid 0 1 0.0 6.87 6.87 6.87 6.505 6.505
+ unit 2
+ com='+x half of unit 3'
+ zhemicyl+x 1 1 5.748 5.3825 5.3825
+ cuboid 0 1 6.87 0.0 6.87 6.87 6.505 6.505
+ unit 3
+ com='cylinder composed of equal halves (zhemicylinders with x radii)'
+ array 1 3*0.0
+ unit 4
+ com='x portion (more than half) of unit 6'
+ zhemicylx 1 1 5.748 5.3825 5.3825 chord 3.0
+ cuboid 0 1 3.0 6.87 6.87 6.87 6.505 6.505
+ unit 5
+ com='+x portion (less than half) of unit 6'
+ zhemicyl+x 1 1 5.748 5.3825 5.3825 chord 3.0
+ cuboid 0 1 6.87 3.0 6.87 6.87 6.505 6.505
+ unit 6
+ com='cylinder composed of unequal halves (zhemicylinders with x radii)'
+ array 2 3*0.0
+ unit 7
+ com='cylinder of a single zhemicylinder in the x direction'
+ zhemicylx 1 1 5.748 5.3825 5.3825 chord 5.748
+ cuboid 0 1 6.87 6.87 6.87 6.87 6.505 6.505
+ unit 8
+ com='cylinder of a single zhemicylinder in the +x direction'
+ zhemicyl+x 1 1 5.748 5.3825 5.3825 chord 5.748
+ cuboid 0 1 6.87 6.87 6.87 6.87 6.505 6.505
+ unit 9
+ com='y half of unit 11'
+ zhemicyly 1 1 5.748 5.3825 5.3825
+ cuboid 0 1 6.87 6.87 0.0 6.87 6.505 6.505
+ unit 10
+ com='+y half of unit 11'
+ zhemicyl+y 1 1 5.748 5.3825 5.3825
+ cuboid 0 1 6.87 6.87 6.87 0.0 6.505 6.505
+ unit 11
+ com='cylinder composed of equal halves (zhemicylinders with z radii)'
+ array 3 3*0.0
+ unit 12
+ com='y portion (more than half) of unit 14'
+ zhemicyly 1 1 5.748 5.3825 5.3825 chord 3.0
+ cuboid 0 1 6.87 6.87 3.0 6.87 6.505 6.505
+ unit 13
+ com='+y portion (less than half) of unit 14'
+ zhemicyl+y 1 1 5.748 5.3825 5.3825 chord 3.0
+ cuboid 0 1 6.87 6.87 6.87 3.0 6.505 6.505
+ unit 14
+ com='cylinder composed of unequal halves (zhemicylinders with z radii)'
+ array 4 3*0.0
+ unit 15
+ com='cylinder of a single zhemicylinder in the y direction'
+ zhemicyly 1 1 5.748 5.3825 5.3825 chord 5.748
+ cuboid 0 1 6.87 6.87 6.87 6.87 6.505 6.505
+ unit 16
+ com='cylinder of a single zhemicylinder in the +y'
+ zhemicyl+y 1 1 5.748 5.3825 5.3825 chord 5.748
+ cuboid 0 1 6.87 6.87 6.87 6.87 6.505 6.505
+ END GEOMETRY
+ READ ARRAY
+ com='array 1 defines unit 3 (zhemicylinders with x radii)'
+ ara=1 nux=2 nuy=1 nuz=1 fill 1 2 end fill
+ com='array 2 defines unit 6 (zhemicylinders with x radii)'
+ ara=2 nux=2 nuy=1 nuz=1 fill 4 5 end fill
+ com='array 3 defines unit 11 (zhemicylinders with y radii)'
+ ara=3 nux=1 nuy=2 nuz=1 fill 9 10 end fill
+ com='array 4 defines unit 14 (zhemicylinders with y radii)'
+ ara=4 nux=1 nuy=2 nuz=1 fill 12 13 end fill
+ com='array 5 defines the total 2c8 problem'
+ gbl=5 ara=5 nux=2 nuy=2 nuz=2 fill 3 7 6 8 11 15 14 16 end fill
+ END ARRAY
+ END DATA
+ END
+
+KENOVI
+
+::
+
+ =KENOVI
+ sample problem 23 case 2c8 bare as mixed unrotated zcylinders
+ READ PARAMETERS
+ fdn=yes lib=4
+ END PARAMETERS
+ READ MIXT
+ sct=2
+ mix=1 1092234 4.82717e04 1092235 4.47971e02 1092236 9.57233e05
+ 1092238 2.65767e03
+ END MIXT
+ READ GEOMETRY
+ unit 1
+ com='x half of unit 3'
+ cylinder 10 5.748 5.3825 5.3825 chord x=0.0
+ cuboid 20 0.0 6.87 6.87 6.87 6.505 6.505
+ media 1 1 10 vol=2234.742156
+ media 0 1 20 10 vol=2677.511196
+ boundary 20
+ unit 2
+ com='+x half of unit 3'
+ cylinder 10 5.748 5.3825 5.3825 chord +x=0.0
+ cuboid 20 6.87 0.0 6.87 6.87 6.505 6.505
+ media 1 1 10 vol=2234.742156
+ media 0 1 20 10 vol=2677.511196
+ boundary 20
+ unit 3
+ com='cylinder composed of equal halves (zhemicylinders with x radii)'
+ cuboid 10 6.87 6.87 6.87 6.87 6.505 6.505
+ array 1 10 place 1 1 1 0.0 0.0 0.0
+ boundary 10
+ unit 4
+ com='x portion (more than half) of unit 6'
+ cylinder 10 5.748 5.3825 5.3825 chord x=3.0
+ cuboid 20 3.0 6.87 6.87 6.87 6.505 6.505
+ media 1 1 10 vol=2234.742156
+ media 0 1 20 10 vol=2677.511196
+ boundary 20
+ unit 5
+ com='+x portion (less than half) of unit 6'
+ cylinder 10 5.748 5.3825 5.3825 chord +x=3.0
+ cuboid 20 6.87 3.0 6.87 6.87 6.505 6.505
+ media 1 1 10 vol=2234.742156
+ media 0 1 20 10 vol=2677.511196
+ boundary 20
+ unit 6
+ com='cylinder composed of unequal halves (zhemicylinders with x radii)'
+ cuboid 10 6.87 6.87 6.87 6.87 6.505 6.505
+ array 2 10 place 1 1 1 3*0.0
+ boundary 10
+ unit 7
+ com='cylinder of a single zhemicylinder in the x direction'
+ cylinder 10 5.748 5.3825 5.3825 chord x=5.748
+ cuboid 20 6.87 6.87 6.87 6.87 6.505 6.505
+ media 1 1 10 vol=2234.742156
+ media 0 1 20 10 vol=2677.511196
+ boundary 20
+ unit 8
+ com='cylinder of a single zhemicylinder in the +x direction'
+ cylinder 10 5.748 5.3825 5.3825 chord +x=5.748
+ cuboid 20 6.87 6.87 6.87 6.87 6.505 6.505
+ media 1 1 10 vol=2234.742156
+ media 0 1 20 10 vol=2677.511196
+ boundary 20
+ unit 9
+ com='y half of unit 11'
+ cylinder 10 5.748 5.3825 5.3825 chord y=0.0
+ cuboid 20 6.87 6.87 0.0 6.87 6.505 6.505
+ media 1 1 10 vol=2234.742156
+ media 0 1 20 10 vol=2677.511196
+ boundary 20
+ unit 10
+ com='+y half of unit 11'
+ cylinder 10 5.748 5.3825 5.3825 chord +y=0.0
+ cuboid 20 6.87 6.87 6.87 0.0 6.505 6.505
+ media 1 1 10 vol=2234.742156
+ media 0 1 20 10 vol=2677.511196
+ boundary 20
+ unit 11
+ com='cylinder composed of equal halves (zhemicylinders with y radii)'
+ cuboid 10 6.87 6.87 6.87 6.87 6.505 6.505
+ array 3 10 place 1 1 1 0.0 0.0 0.0
+ boundary 10
+ unit 12
+ com='y portion (more than half) of unit 14'
+ cylinder 10 5.748 5.3825 5.3825 chord y=3.0
+ cuboid 20 6.87 6.87 3.0 6.87 6.505 6.505
+ media 1 1 10 vol=2234.742156
+ media 0 1 20 10 vol=2677.511196
+ boundary 20
+ unit 13
+ com='+y portion (less than half) of unit 14'
+ cylinder 10 5.748 5.3825 5.3825 chord +y=3.0
+ cuboid 20 6.87 6.87 6.87 3.0 6.505 6.505
+ media 1 1 10 vol=2234.742156
+ media 0 1 20 10 vol=2677.511196
+ boundary 20
+ unit 14
+ com='cylinder composed of unequal halves (zhemicylinders with y radii)'
+ cuboid 10 6.87 6.87 6.87 6.87 6.505 6.505
+ array 4 10 place 1 1 1 3*0.0
+ boundary 10
+ unit 15
+ com='cylinder of a single zhemicylinder in the y direction'
+ cylinder 10 5.748 5.3825 5.3825 chord y=5.748
+ cuboid 20 6.87 6.87 6.87 6.87 6.505 6.505
+ media 1 1 10 vol=2234.742156
+ media 0 1 20 10 vol=2677.511196
+ boundary 20
+ unit 16
+ com='cylinder of a single zhemicylinder in the +y direction'
+ cylinder 10 5.748 5.3825 5.3825 chord +y=5.748
+ cuboid 20 6.87 6.87 6.87 6.87 6.505 6.505
+ media 1 1 10 vol=2234.742156
+ media 0 1 20 10 vol=2677.511196
+ boundary 20
+ global unit 17
+ cuboid 10 13.74 13.74 13.74 13.74 13.010 13.010
+ array 5 10 place 1 1 1 6.87 6.87 6.505
+ boundary 10
+ END GEOMETRY
+ READ ARRAY
+ com='array 1 defines unit 3 (zhemicylinders with x radii)'
+ ara=1 nux=2 nuy=1 nuz=1 fill 1 2 end fill
+ com='array 2 defines unit 6 (zhemicylinders with x radii)'
+ ara=2 nux=2 nuy=1 nuz=1 fill 4 5 end fill
+ com='array 3 defines unit 11 (zhemicylinders with y radii)'
+ ara=3 nux=1 nuy=2 nuz=1 fill 9 10 end fill
+ com='array 4 defines unit 14 (zhemicylinders with y radii)'
+ ara=4 nuz=1 nuy=2 nuz=1 fill 12 13 end fill
+ com='array 5 defines the total 2c8 problem'
+ gbl=5 ara=5 nux=2 nuy=2 nuz=2 fill 3 7 6 8 11 15 14 16 end fill
+ END ARRAY
+ END DATA
+ END
+
+.. _81c224:
+
+Sample Problem 24 CASE 2C8 BARE AS STACKED ROTATED CYLINDERS
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The physical representation of this sample problem is the critical
+experiment described in sample problem 1. This sample problem describes
+each of the eight units in the critical 2 × 2 × 2 array using
+hemicylinders whose axes are in the x direction. In KENO V.a this is
+realized using xhemicylinders, while in KENOVI the hemycylinders with
+different chord sizes are rotated in the Xdirection.
+
+.. centered:: Input Data
+
+KENO V.a
+
+::
+
+ =KENOVA
+ sample problem 24 case 2c8 bare as mixed xhemicylinders
+ READ PARAMETERS
+ fdn=yes lib=4
+ END PARAMETERS
+ READ MIXT
+ sct=2
+ mix=1
+ 1092234 4.82717e04 1092235 4.47971e02 1092236 9.57233e05 1092238 2.65767e03
+ END MIXT
+ READ GEOMETRY
+ unit 1
+ com='y half of unit 3'
+ xhemicyly 1 1 5.748 5.3825 5.3825
+ cuboid 0 1 6.505 6.505 0.0 6.87 6.87 6.87
+ unit 2
+ com='+y half of unit 3'
+ xhemicyl+y 1 1 5.748 5.3825 5.3825
+ cuboid 0 1 6.505 6.505 6.87 0.0 6.87 6.87
+ unit 3
+ com='cylinder composed of equal halves (xhemicylinders with y radii)'
+ array 1 3*0.0
+ unit 4
+ com='y portion (more than half) of unit 6'
+ xhemicyly 1 1 5.748 5.3825 5.3825 chord 3.0
+ cuboid 0 1 6.505 6.505 3.0 6.87 6.87 6.87
+ unit 5
+ com='+y portion (less than half) of unit 6'
+ xhemicyl+y 1 1 5.748 5.3825 5.3825 chord 3.0
+ cuboid 0 1 6.505 6.505 6.87 3.0 6.87 6.87
+ unit 6
+ com='cylinder composed of unequal halves (xhemicylinders with y radii)'
+ array 2 3*0.0
+ unit 7
+ com='cylinder of a single xhemicylinder in the y direction'
+ xhemicyly 1 1 5.748 5.3825 5.3825 chord 5.748
+ cuboid 0 1 6.505 6.505 6.87 6.87 6.87 6.87
+ unit 8
+ com='cylinder of a single xhemicylinder in the +y direction'
+ xhemicyl+y 1 1 5.748 5.3825 5.3825 chord 5.748
+ cuboid 0 1 6.505 6.505 6.87 6.87 6.87 6.87
+ unit 9
+ com='z half of unit 11'
+ xhemicylz 1 1 5.748 5.3825 5.3825
+ cuboid 0 1 6.505 6.505 6.87 6.87 0.0 6.87
+ unit 10
+ com='+z half of unit 11'
+ xhemicyl+z 1 1 5.748 5.3825 5.3825
+ cuboid 0 1 6.505 6.505 6.87 6.87 6.87 0.0
+ unit 11
+ com='cylinder composed of equal halves (xhemicylinders with z radii)'
+ array 3 3*0.0
+ unit 12
+ com='z portion (more than half) of unit 14'
+ xhemicylz 1 1 5.748 5.3825 5.3825 chord 3.0
+ cuboid 0 1 6.505 6.505 6.87 6.87 3.0 6.87
+ unit 13
+ com='+z portion (less than half) of unit 14'
+ xhemicyl+z 1 1 5.748 5.3825 5.3825 chord 3.0
+ cuboid 0 1 6.505 6.505 6.87 6.87 6.87 3.0
+ unit 14
+ com='cylinder composed of unequal halves (xhemicylinders with z radii)'
+ array 4 3*0.0
+ unit 15
+ com='cylinder of a single xhemicylinder in the z direction'
+ xhemicylz 1 1 5.748 5.3825 5.3825 chord 5.748
+ cuboid 0 1 6.505 6.505 6.87 6.87 6.87 6.87
+ unit 16
+ com='cylinder of a single xhemicylinder in the +z direction'
+ xhemicyl+z 1 1 5.748 5.3825 5.3825 chord 5.748
+ cuboid 0 1 6.505 6.505 6.87 6.87 6.87 6.87
+ END GEOMETRY
+ READ ARRAY
+ com='array 1 defines unit 3 (xhemicylinders with y radii)'
+ ara=1 nux=1 nuy=2 nuz=1 fill 1 2 end fill
+ com='array 2 defines unit 6 (xhemicylinders with y radii)'
+ ara=2 nux=1 nuy=2 nuz=1 fill 4 5 end fill
+ com='array 3 defines unit 11 (xhemicylinders with z radii)'
+ ara=3 nux=1 nuy=1 nuz=2 fill 9 10 end fill
+ com='array 4 defines unit 14 (xhemicylinders with z radii)'
+ ara=4 nux=1 nuy=1 nuz=2 fill 12 13 end fill
+ com='array 5 defines the total 2c8 problem'
+ gbl=5 ara=5 nux=2 nuy=2 nuz=2 fill 3 7 6 8 11 15 14 16 end fill
+ END ARRAY
+ END DATA
+ END
+
+KENOVI
+
+::
+
+ =KENOVI
+ sample problem 24 case 2c8 bare as mixed xrotated cylinders
+ READ PARAMETERS
+ rnd=4c6a61962572 fdn=yes lib=4
+ END PARAMETERS
+ READ MIXT
+ sct=2
+ mix=1 1092234 4.82717e04 1092235 4.47971e02 1092236 9.57233e05
+ 1092238 2.65767e03
+ END MIXT
+ READ GEOMETRY
+ unit 1
+ com='y half of unit 3'
+ cylinder 10 5.748 5.3825 5.3825 chord x=0.0 rotate a1=90 a2=90
+ cuboid 20 6.505 6.505 0.0 6.87 6.87 6.87
+ media 1 1 10 vol=2234.742156
+ media 0 1 20 10 vol=2677.511196
+ boundary 20
+ unit 2
+ com='+y half of unit 3'
+ cylinder 10 5.748 5.3825 5.3825 chord +x=0.0 rotate a1=90 a2=90
+ cuboid 20 6.505 6.505 6.87 0.0 6.87 6.87
+ media 1 1 10 vol=2234.742156
+ media 0 1 20 10 vol=2677.511196
+ boundary 20
+ unit 3
+ com='cylinder composed of equal halves (xhemicylinders with y radii)'
+ cuboid 10 6.505 6.505 6.87 6.87 6.87 6.87
+ array 1 10 place 1 1 1 0.0 0.0 0.0
+ boundary 10
+ unit 4
+ com='y portion (more than half) of unit 6'
+ cylinder 10 5.748 5.3825 5.3825 chord x=3.0 rotate a1=90 a2=90
+ cuboid 20 6.505 6.505 3.0 6.87 6.87 6.87
+ media 1 1 10 vol=2234.742156
+ media 0 1 20 10 vol=2677.511196
+ boundary 20
+ unit 5
+ com='+y portion (less than half) of unit 6'
+ cylinder 10 5.748 5.3825 5.3825 chord +x=3.0 rotate a1=90 a2=90
+ cuboid 20 6.505 6.505 6.87 3.0 6.87 6.87
+ media 1 1 10 vol=2234.742156
+ media 0 1 20 10 vol=2677.511196
+ boundary 20
+ unit 6
+ com='cylinder composed of unequal halves (xhemicylinders with y radii)'
+ cuboid 10 6.505 6.505 6.87 6.87 6.87 6.87
+ array 2 10 place 1 1 1 3*0.0
+ boundary 10
+ unit 7
+ com='cylinder of a single xhemicylinder in the y direction'
+ cylinder 10 5.748 5.3825 5.3825 chord x=5.748 rotate a1=90 a2=90
+ cuboid 20 6.505 6.505 6.87 6.87 6.87 6.87
+ media 1 1 10 vol=2234.742156
+ media 0 1 20 10 vol=2677.511196
+ boundary 20
+ unit 8
+ com='cylinder of a single xhemicylinder in the +y direction'
+ cylinder 10 5.748 5.3825 5.3825 chord +x=5.748 rotate a1=90 a2=90
+ cuboid 20 6.505 6.505 6.87 6.87 6.87 6.87
+ media 1 1 10 vol=2234.742156
+ media 0 1 20 10 vol=2677.511196
+ boundary 20
+ unit 9
+ com='z half of unit 11'
+ cylinder 10 5.748 5.3825 5.3825 chord y=0.0 rotate a1=90 a2=90
+ cuboid 20 6.505 6.505 6.87 6.87 0.0 6.87
+ media 1 1 10 vol=2234.742156
+ media 0 1 20 10 vol=2677.511196
+ boundary 20
+ unit 10
+ com='+z half of unit 11'
+ cylinder 10 5.748 5.3825 5.3825 chord +y=0.0 rotate a1=90 a2=90
+ cuboid 20 6.505 6.505 6.87 6.87 6.87 0.0
+ media 1 1 10 vol=2234.742156
+ media 0 1 20 10 vol=2677.511196
+ boundary 20
+ unit 11
+ com='cylinder composed of equal halves (xhemicylinders with z radii)'
+ cuboid 10 6.505 6.505 6.87 6.87 6.87 6.87
+ array 3 10 place 1 1 1 0.0 0.0 0.0
+ boundary 10
+ unit 12
+ com='z portion (more than half) of unit 14'
+ cylinder 10 5.748 5.3825 5.3825 chord y=3.0 rotate a1=90 a2=90
+ cuboid 20 6.505 6.505 6.87 6.87 3.0 6.87
+ media 1 1 10 vol=2234.742156
+ media 0 1 20 10 vol=2677.511196
+ boundary 20
+ unit 13
+ com='+z portion (less than half) of unit 14'
+ cylinder 10 5.748 5.3825 5.3825 chord +y=3.0 rotate a1=90 a2=90
+ cuboid 20 6.505 6.505 6.87 6.87 6.87 3.0
+ media 1 1 10 vol=2234.742156
+ media 0 1 20 10 vol=2677.511196
+ boundary 20
+ unit 14
+ com='cylinder composed of unequal halves (xhemicylinders with z radii)'
+ cuboid 10 6.505 6.505 6.87 6.87 6.87 6.87
+ array 4 10 place 1 1 1 3*0.0
+ boundary 10
+ unit 15
+ com='cylinder of a single xhemicylinder in the z direction'
+ cylinder 10 5.748 5.3825 5.3825 chord y=5.748 rotate a1=90 a2=90
+ cuboid 20 6.505 6.505 6.87 6.87 6.87 6.87
+ media 1 1 10 vol=2234.742156
+ media 0 1 20 10 vol=2677.511196
+ boundary 20
+ unit 16
+ com='cylinder of a single xhemicylinder in the +z direction'
+ cylinder 10 5.748 5.3825 5.3825 chord +y=5.748 rotate a1=90 a2=90
+ cuboid 20 6.505 6.505 6.87 6.87 6.87 6.87
+ media 1 1 10 vol=2234.742156
+ media 0 1 20 10 vol=2677.511196
+ boundary 20
+ global unit 17
+ cuboid 10 13.01 13.01 13.74 13.74 13.74 13.74
+ array 5 10 place 1 1 1 6.505 6.87 6.87
+ boundary 10
+ END GEOMETRY
+ READ ARRAY
+ com='array 1 defines unit 3 (xhemicylinders with y radii)'
+ ara=1 nux=1 nuy=2 nuz=1 fill 1 2 end fill
+ com='array 2 defines unit 6 (xhemicylinders with y radii)'
+ ara=2 nux=1 nuy=2 nuz=1 fill 4 5 end fill
+ com='array 3 defines unit 11 (xhemicylinders with z radii)'
+ ara=3 nux=1 nuy=1 nuz=2 fill 9 10 end fill
+ com='array 4 defines unit 14 (xhemicylinders with z radii)'
+ ara=4 nux=1 nuy=1 nuz=2 fill 12 13 end fill
+ com='array 5 defines the total 2c8 problem'
+ ara=5 nux=2 nuy=2 nuz=2 fill 3 7 6 8 11 15 14 16 end fill
+ END ARRAY
+ END DATA
+ END
+
+.. _81c225:
+
+Sample Problem 25 CASE 2C8 BARE AS MIXED YHEMICYLINDERS
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The physical representation of this sample problem is the critical
+experiment described in sample problem 1. This sample problem describes
+each of the eight units in the critical 2 × 2 × 2 array using
+hemicylinders whose axes are in the y direction. This is realized in
+KENO V.a by using yhemicylinders, while in KENOVI it is realized using
+hemicylinders with different chord sizes and directions whose long axes
+are rotated in the Ydirection.
+
+.. centered:: Input Data
+
+KENO V.a
+
+::
+
+ =KENOVA
+ sample problem 25 case 2c8 bare as mixed yhemicylinders
+ READ PARAMETERS
+ fdn=yes lib=4
+ END PARAMETERS
+ READ MIXT
+ sct=2
+ mix=1
+ 1092234 4.82717e04 1092235 4.47971e02 1092236 9.57233e05 1092238 2.65767e03
+ END MIXT
+ READ GEOMETRY
+ unit 1
+ com='x half of unit 3'
+ yhemicylx 1 1 5.748 5.3825 5.3825
+ cuboid 0 1 0.0 6.87 6.505 6.505 6.87 6.87
+ unit 2
+ com='+x half of unit 3'
+ yhemicyl+x 1 1 5.748 5.3825 5.3825
+ cuboid 0 1 6.87 0.0 6.505 6.505 6.87 6.87
+ unit 3
+ com='cylinder composed of equal halves (yhemicylinders with x radii)'
+ array 1 3*0.0
+ unit 4
+ com='x portion (more than half) of unit 6'
+ yhemicylx 1 1 5.748 5.3825 5.3825 chord 3.0
+ cuboid 0 1 3.0 6.87 6.505 6.505 6.87 6.87
+ unit 5
+ com='+x portion (less than half) of unit 6'
+ yhemicyl+x 1 1 5.748 5.3825 5.3825 chord 3.0
+ cuboid 0 1 6.87 3.0 6.505 6.505 6.87 6.87
+ unit 6
+ com='cylinder composed of unequal halves (yhemicylinders with x radii)'
+ array 2 3*0.0
+ unit 7
+ com='cylinder of a single yhemicylinder in the x direction'
+ yhemicylx 1 1 5.748 5.3825 5.3825 chord 5.748
+ cuboid 0 1 6.87 6.87 6.505 6.505 6.87 6.87
+ unit 8
+ com='cylinder of a single yhemicylinder in the +x direction'
+ yhemicyl+x 1 1 5.748 5.3825 5.3825 chord 5.748
+ cuboid 0 1 6.87 6.87 6.505 6.505 6.87 6.87
+ unit 9
+ com='z half of unit 11'
+ yhemicylz 1 1 5.748 5.3825 5.3825
+ cuboid 0 1 6.87 6.87 6.505 6.505 0.0 6.87
+ unit 10
+ com='+z half of unit 11'
+ yhemicyl+z 1 1 5.748 5.3825 5.3825
+ cuboid 0 1 6.87 6.87 6.505 6.505 6.87 0.0
+ unit 11
+ com='cylinder composed of equal halves (yhemicylinders with z radii)'
+ array 3 3*0.0
+ unit 12
+ com='z portion (more than half) of unit 14'
+ yhemicylz 1 1 5.748 5.3825 5.3825 chord 3.0
+ cuboid 0 1 6.87 6.87 6.505 6.505 3.0 6.87
+ unit 13
+ com='+z portion (less than half) of unit 14'
+ yhemicyl+z 1 1 5.748 5.3825 5.3825 chord 3.0
+ cuboid 0 1 6.87 6.87 6.505 6.505 6.87 3.0
+ unit 14
+ com='cylinder composed of unequal halves (yhemicylinders with z radii)'
+ array 4 3*0.0
+ unit 15
+ com='cylinder of a single yhemicylinder in the z direction'
+ yhemicylz 1 1 5.748 5.3825 5.3825 chord 5.748
+ cuboid 0 1 6.87 6.87 6.505 6.505 6.87 6.87
+ unit 16
+ com='cylinder of a single yhemicylinder in the +z direction'
+ yhemicyl+z 1 1 5.748 5.3825 5.3825 chord 5.748
+ cuboid 0 1 6.87 6.87 6.505 6.505 6.87 6.87
+ END GEOMETRY
+ READ ARRAY
+ com='array 1 defines unit 3 (yhemicylinders with x radii)'
+ ara=1 nux=2 nuy=1 nuz=1 fill 1 2 end fill
+ com='array 2 defines unit 6 (yhemicylinders with x radii)'
+ ara=2 nux=2 nuy=1 nuz=1 fill 4 5 end fill
+ com='array 3 defines unit 11 (yhemicylinders with z radii)'
+ ara=3 nux=1 nuy=1 nuz=2 fill 9 10 end fill
+ com='array 4 defines unit 14 (zhemicylinders with z radii)'
+ ara=4 nux=1 nuy=1 nuz=2 fill 12 13 end fill
+ com='array 5 defines the total 2c8 problem'
+ gbl=5 ara=5 nux=2 nuy=2 nuz=2 fill 3 7 6 8 11 15 14 16 end fill
+ END ARRAY
+ END DATA
+ END
+
+KENOVI
+
+::
+
+ =KENOVI
+ sample problem 25 case 2c8 bare as mixed yrotated cylinders
+ READ PARAMETERS
+ fdn=yes lib=4
+ END PARAMETERS
+ READ MIXT
+ sct=2
+ mix=1 1092234 4.82717e04 1092235 4.47971e02 1092236 9.57233e05
+ 1092238 2.65767e03
+ END MIXT
+ READ GEOMETRY
+ unit 1
+ com='x half of unit 3'
+ cylinder 10 5.748 5.3825 5.3825 chord y=0.0 rotate a1=180 a2=90 a3=90
+ cuboid 20 0.0 6.87 6.505 6.505 6.87 6.87
+ media 1 1 10 vol=2234.742156
+ media 0 1 20 10 vol=2677.511196
+ boundary 20
+ unit 2
+ com='+x half of unit 3'
+ cylinder 10 5.748 5.3825 5.3825 chord +y=0.0 rotate a1=180 a2=90 a3=90
+ cuboid 20 6.87 0.0 6.505 6.505 6.87 6.87
+ media 1 1 10 vol=2234.742156
+ media 0 1 20 10 vol=2677.511196
+ boundary 20
+ unit 3
+ com='cylinder composed of equal halves (yhemicylinders with x radii)'
+ cuboid 10 6.87 6.87 6.505 6.505 6.87 6.87
+ array 1 10 place 1 1 1 0.0 0.0 0.0
+ boundary 10
+ unit 4
+ com='x portion (more than half) of unit 6'
+ cylinder 10 5.748 5.3825 5.3825 chord y=3.0 rotate a1=180 a2=90 a3=90
+ cuboid 20 3.0 6.87 6.505 6.505 6.87 6.87
+ media 1 1 10 vol=2234.742156
+ media 0 1 20 10 vol=2677.511196
+ boundary 20
+ unit 5
+ com='+x portion (less than half) of unit 6'
+ cylinder 10 5.748 5.3825 5.3825 chord +y=3.0 rotate a1=180 a2=90 a3=90
+ cuboid 20 6.87 3.0 6.505 6.505 6.87 6.87
+ media 1 1 10 vol=2234.742156
+ media 0 1 20 10 vol=2677.511196
+ boundary 20
+ unit 6
+ com='cylinder composed of unequal halves (yhemicylinders with x radii)'
+ cuboid 10 6.87 6.87 6.505 6.505 6.87 6.87
+ array 2 10 place 1 1 1 3*0.0
+ boundary 10
+ unit 7
+ com='cylinder of a single yhemicylinder in the x direction'
+ cylinder 10 5.748 5.3825 5.3825 chord y=5.748 rotate a1=180 a2=90 a3=90
+ cuboid 20 6.87 6.87 6.505 6.505 6.87 6.87
+ media 1 1 10 vol=2234.742156
+ media 0 1 20 10 vol=2677.511196
+ boundary 20
+ unit 8
+ com='cylinder of a single yhemicylinder in the +x direction'
+ cylinder 10 5.748 5.3825 5.3825 chord +y=5.748 rotate a1=180 a2=90 a3=90
+ cuboid 20 6.87 6.87 6.505 6.505 6.87 6.87
+ media 1 1 10 vol=2234.742156
+ media 0 1 20 10 vol=2677.511196
+ boundary 20
+ unit 9
+ com='z half of unit 11'
+ cylinder 10 5.748 5.3825 5.3825 chord x=0.0 rotate a1=180 a2=90 a3=90
+ cuboid 20 6.87 6.87 6.505 6.505 0.0 6.87
+ media 1 1 10 vol=2234.742156
+ media 0 1 20 10 vol=2677.511196
+ boundary 20
+ unit 10
+ com='+z half of unit 11'
+ cylinder 10 5.748 5.3825 5.3825 chord +x=0.0 rotate a1=180 a2=90 a3=90
+ cuboid 20 6.87 6.87 6.505 6.505 6.87 0.0
+ media 1 1 10 vol=2234.742156
+ media 0 1 20 10 vol=2677.511196
+ boundary 20
+ unit 11
+ com='cylinder composed of equal halves (yhemicylinders with z radii)'
+ cuboid 10 6.87 6.87 6.505 6.505 6.87 6.87
+ array 3 10 place 1 1 1 0.0 0.0 0.0
+ boundary 10
+ unit 12
+ com='z portion (more than half) of unit 14'
+ cylinder 10 5.748 5.3825 5.3825 chord x=3.0 rotate a1=180 a2=90 a3=90
+ cuboid 20 6.87 6.87 6.505 6.505 3.0 6.87
+ media 1 1 10 vol=2234.742156
+ media 0 1 20 10 vol=2677.511196
+ boundary 20
+ unit 13
+ com='+z portion (less than half) of unit 14'
+ cylinder 10 5.748 5.3825 5.3825 chord +x=3.0 rotate a1=180 a2=90 a3=90
+ cuboid 20 6.87 6.87 6.505 6.505 6.87 3.0
+ media 1 1 10 vol=2234.742156
+ media 0 1 20 10 vol=2677.511196
+ boundary 20
+ unit 14
+ com='cylinder composed of unequal halves (yhemicylinders with z radii)'
+ cuboid 10 6.87 6.87 6.505 6.505 6.87 6.87
+ array 4 10 place 1 1 1 3*0.0
+ boundary 10
+ unit 15
+ com='cylinder of a single yhemicylinder in the z direction'
+ cylinder 10 5.748 5.3825 5.3825 chord x=5.748 rotate a1=180 a2=90 a3=90
+ cuboid 20 6.87 6.87 6.505 6.505 6.87 6.87
+ media 1 1 10 vol=2234.742156
+ media 0 1 20 10 vol=2677.511196
+ boundary 20
+ unit 16
+ com='cylinder of a single yhemicylinder in the +z direction'
+ cylinder 10 5.748 5.3825 5.3825 chord +x=5.748 rotate a1=180 a2=90 a3=90
+ cuboid 20 6.87 6.87 6.505 6.505 6.87 6.87
+ media 1 1 10 vol=2234.742156
+ media 0 1 20 10 vol=2677.511196
+ boundary 20
+ global unit 17
+ cuboid 10 13.74 13.74 13.01 13.01 13.74 13.74
+ array 5 10 place 1 1 1 6.87 6.505 6.87
+ boundary 10
+ END GEOMETRY
+ READ ARRAY
+ com='array 1 defines unit 3 (yhemicylinders with z radii)'
+ ara=1 nux=2 nuy=1 nuz=1 fill 1 2 end fill
+ com='array 2 defines unit 6 (yhemicylinders with z radii)'
+ ara=2 nux=2 nuy=1 nuz=1 fill 4 5 end fill
+ com='array 3 defines unit 11 (yhemicylinders with x radii)'
+ ara=3 nux=1 nuy=1 nuz=2 fill 9 10 end fill
+ com='array 4 defines unit 14 (yhemicylinders with x radii)'
+ ara=4 nux=1 nuy=1 nuz=2 fill 12 13 end fill
+ com='array 5 defines the total 2c8 problem'
+ gbl=5 ara=5 nux=2 nuy=2 nuz=2 fill 3 7 6 8 11 15 14 16 end fill
+ END ARRAY
+ READ VOLUME
+ type=random
+ END VOLUME
+ END DATA
+ END
+
+.. _81c226:
+
+Sample Problem 26 (KENO V.a ONLY) CASE 2C8 BARE AS MIXED ZHEMICYLINDERS WITH ORIGINS
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The physical representation of this sample problem is the critical
+experiment described in sample problem 1. This sample problem describes
+each of the eight units in the critical 2 × 2 × 2 array using
+zhemicylinders with origins.
+
+KENO V.a
+
+::
+
+ =KENOVA
+ sample problem 26 case 2c8 bare as mixed zhemicylinders with origins
+ READ PARAMETERS
+ fdn=yes lib=4 run=yes
+ END PARAMETERS
+ READ MIXT
+ sct=2
+ mix=1
+ 1092234 4.82717e04 1092235 4.47971e02 1092236 9.57233e05 1092238 2.65767e03
+ END MIXT
+ READ GEOMETRY
+ unit 1
+ com='x half of first cylinder'
+ zhemicylx 1 1 5.748 5.3825 5.3825 origin 6.87 0.0
+ cuboid 0 1 6.87 0.0 6.87 6.87 6.505 6.505
+ unit 2
+ com='+x half of first cylinder'
+ zhemicyl+x 1 1 5.748 5.3825 5.3825 origin 6.87 0.0
+ cuboid 0 1 13.74 6.87 6.87 6.87 6.505 6.505
+ unit 3
+ com='1st cylinder composed of equal portions (z hemicylinders with x radii)'
+ array 1 3*0.0
+ unit 4
+ com='x portion (more than half) of second cylinder'
+ zhemicylx 1 1 5.748 5.3825 5.3825 chord 3.0 origin 6.87 0.0
+ cuboid 0 1 9.87 0.0 6.87 6.87 6.505 6.505
+ unit 5
+ com='+x portion (less than half) of second cylinder'
+ zhemicyl+x 1 1 5.748 5.3825 5.3825 chord 3.0 origin 6.87 0.0
+ cuboid 0 1 13.74 9.87 6.87 6.87 6.505 6.505
+ unit 6
+ com='2nd cylinder composed of unequal portions (z hemicylinders with x radii)'
+ array 2 3*0.0
+ unit 7
+ com='3rd cylinder: described as a zhemicylinder in the x direction'
+ zhemicylx 1 1 5.748 5.3825 5.3825 chord 5.748 origin 6.87 0.0
+ cuboid 0 1 13.74 0.0 6.87 6.87 6.505 6.505
+ unit 8
+ com='4th cylinder: described as a zhemicylinder in the +x direction'
+ zhemicyl+x 1 1 5.748 5.3825 5.3825 chord 5.748 origin 6.87 0.0
+ cuboid 0 1 13.74 0.0 6.87 6.87 6.505 6.505
+ unit 9
+ com='y half of fifth cylinder'
+ zhemicyly 1 1 5.748 5.3825 5.3825 origin 0.0 6.87
+ cuboid 0 1 6.87 6.87 6.87 0.0 6.505 6.505
+ unit 10
+ com='+y half of fifth cylinder'
+ zhemicyl+y 1 1 5.748 5.3825 5.3825 origin 0.0 6.87
+ cuboid 0 1 6.87 6.87 13.74 6.87 6.505 6.505
+ unit 11
+ com='5th cylinder composed of equal portions (zhemicylinders with y radii)'
+ array 3 3*0.0
+ unit 12
+ com='y portion (more than half) of sixth cylinder'
+ zhemicyly 1 1 5.748 5.3825 5.3825 chord 3.0 origin 0.0 6.87
+ cuboid 0 1 6.87 6.87 9.87 0.0 6.505 6.505
+ unit 13
+ com='+y portion (less than half) of sixth cylinder'
+ zhemicyl+y 1 1 5.748 5.3825 5.3825 chord 3.0 origin 0.0 6.87
+ cuboid 0 1 6.87 6.87 13.74 9.87 6.505 6.505
+ unit 14
+ com='6th cylinder composed of unequal portions (zhemicylinders with y radii)'
+ array 4 3*0.0
+ unit 15
+ com='7th cylinder: described as a zhemicylinder in the y direction'
+ zhemicyly 1 1 5.748 5.3825 5.3825 chord 5.748 origin 0.0 6.87
+ cuboid 0 1 6.87 6.87 13.74 0.0 6.505 6.505
+ unit 16
+ com='8th cylinder: described as a zhemicylinder in the +y direction'
+ zhemicyl+y 1 1 5.748 5.3825 5.3825 chord 5.748 origin 0.0 6.87
+ cuboid 0 1 6.87 6.87 13.74 0.0 6.505 6.505
+ global unit 17
+ com='complete 2c8 bare configuration'
+ array 5 3*0.0
+ END GEOMETRY
+ READ ARRAY
+ com='array 1: 1st cylinder (unit 3) equal x portions of zhemicylinders'
+ ara=1 nux=2 nuy=1 nuz=1 fill 1 2 end fill
+ com='array 2: 2nd cylinder (unit 6) unequal x portions of zhemicylinders'
+ ara=2 nux=2 nuy=1 nuz=1 fill 4 5 end fill
+ com='array 3: 5th cylinder (unit 11) equal y portions of zhemicylinders'
+ ara=3 nux=1 nuy=2 nuz=1 fill 9 10 end fill
+ com='array 4: 6th cylinder (unit 14) unequal y portions of zhemicylinders'
+ ara=4 nux=1 nuy=2 nuz=1 fill 12 13 end fill
+ com='array 5 defines the total 2c8 problem'
+ ara=5 nux=2 nuy=2 nuz=2 fill 3 7 6 8 11 15 14 16 end fill
+ END ARRAY
+ END DATA
+ END
+
+.. _81c227:
+
+Sample Problem 27 (KENO V.a oONLY) CASE 2C8 BARE AS MIXED XHEMICYLINDERS WITH ORIGINS
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The physical representation of this sample problem is the critical
+experiment described in sample problem 1. This sample problem describes
+each of the eight units in the critical 2 × 2 × 2 array using
+hemicylinders whose axes are in the x direction. Origins are specified
+for each hemicylinder.
+
+.. centered:: Input Data
+
+KENO V.a
+
+::
+
+ =KENOVA
+ sample problem 27 case 2c8 bare as mixed xhemicylinders with origins
+ READ PARAMETERS
+ fdn=yes lib=4 run=yes
+ END PARAMETERS
+ READ MIXT
+ sct=2
+ mix=1
+ 1092234 4.82717e04 1092235 4.47971e02 1092236 9.57233e05 1092238 2.65767e03
+ END MIXT
+ READ GEOMETRY
+ unit 1
+ com='y half of first cylinder'
+ xhemicyly 1 1 5.748 5.3825 5.3825 origin 6.87 0.0
+ cuboid 0 1 6.505 6.505 6.87 0.0 6.87 6.87
+ unit 2
+ com='+y half of first cylinder'
+ xhemicyl+y 1 1 5.748 5.3825 5.3825 origin 6.87 0.0
+ cuboid 0 1 6.505 6.505 13.74 6.87 6.87 6.87
+ unit 3
+ com='1st cylinder composed of equal portions (xhemicylinders with y radii)'
+ array 1 3*0.0
+ unit 4
+ com='y portion (more than half) of second cylinder'
+ xhemicyly 1 1 5.748 5.3825 5.3825 chord 3.0 origin 6.87 0.0
+ cuboid 0 1 6.505 6.505 9.87 0.0 6.87 6.87
+ unit 5
+ com='+y portion (less than half) of second cylinder'
+ xhemicyl+y 1 1 5.748 5.3825 5.3825 chord 3.0 origin 6.87 0.0
+ cuboid 0 1 6.505 6.505 13.74 9.87 6.87 6.87
+ unit 6
+ com='2nd cylinder composed of unequal portions (xhemicylinders with y radii)'
+ array 2 3*0.0
+ unit 7
+ com='3rd cylinder: described as a xhemicylinder in the y direction'
+ xhemicyly 1 1 5.748 5.3825 5.3825 chord 5.748 origin 6.87 0.0
+ cuboid 0 1 6.505 6.505 13.74 0.0 6.87 6.87
+ unit 8
+ com='4th cylinder: described as a xhemicylinder in the +y direction'
+ xhemicyl+y 1 1 5.748 5.3825 5.3825 chord 5.748 origin 6.87 0.0
+ cuboid 0 1 6.505 6.505 13.74 0.0 6.87 6.87
+ unit 9
+ com='z half of fifth cylinder'
+ xhemicylz 1 1 5.748 5.3825 5.3825 origin 0.0 6.87
+ cuboid 0 1 6.505 6.505 6.87 6.87 6.87 0.0
+ unit 10
+ com='+z half of fifth cylinder'
+ xhemicyl+z 1 1 5.748 5.3825 5.3825 origin 0.0 6.87
+ cuboid 0 1 6.505 6.505 6.87 6.87 13.74 6.87
+ unit 11
+ com='5th cylinder composed of equal portions (xhemicylinders with z radii)'
+ array 3 3*0.0
+ unit 12
+ com='z portion (more than half) of sixth cylinder'
+ xhemicylz 1 1 5.748 5.3825 5.3825 chord 3.0 origin 0.0 6.87
+ cuboid 0 1 6.505 6.505 6.87 6.87 9.87 0.0
+ unit 13
+ com='+z portion (less than half) of sixth cylinder'
+ xhemicyl+z 1 1 5.748 5.3825 5.3825 chord 3.0 origin 0.0 6.87
+ cuboid 0 1 6.505 6.505 6.87 6.87 13.74 9.87
+ unit 14
+ com='6th cylinder composed of unequal portions (xhemicylinders with z radii)'
+ array 4 3*0.0
+ unit 15
+ com='7th cylinder: described as a xhemicylinder in the z direction'
+ xhemicylz 1 1 5.748 5.3825 5.3825 chord 5.748 origin 0.0 6.87
+ cuboid 0 1 6.505 6.505 6.87 6.87 13.74 0.0
+ unit 16
+ com='8th cylinder: de3scribed as a xhemicylinder in the +z direction'
+ xhemicyl+z 1 1 5.748 5.3825 5.3825 chord 5.748 origin 0.0 6.87
+ cuboid 0 1 6.505 6.505 6.87 6.87 13.74 0.0
+ global unit 17
+ com='complete 2c8 bare configuration'
+ array 5 3*0.0
+ END GEOMETRY
+ READ ARRAY
+ com='array 1: 1st cylinder (unit 3) equal y portions of xhemicylinders'
+ ara=1 nux=1 nuy=2 nuz=1 fill 1 2 end fill
+ com='array 2: 2nd cylinder (unit 6) unequal y portions of xhemicylinders'
+ ara=2 nux=1 nuy=2 nuz=1 fill 4 5 end fill
+ com='array 3: 5th cylinder (unit 11) equal z portions of xhemicylinders'
+ ara=3 nux=1 nuy=1 nuz=2 fill 9 10 end fill
+ com='array 4: 6th cylinder (unit 14) unequal z portions of xhemicylinders'
+ ara=4 nux=1 nuy=1 nuz=2 fill 12 13 end fill
+ com='array 5 defines the total 2c8 problem'
+ gbl=5 ara=5 nux=2 nuy=2 nuz=2 fill 3 7 6 8 11 15 14 16 end fill
+ END ARRAY
+ END DATA
+ END
+
+.. _81c228:
+
+Sample Problem 28 (KENO V.a oONLY) CASE 2C8 BARE AS MIXED YHEMICYLINDERS WITH ORIGINS
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The physical representation of this sample problem is the critical
+experiment described in sample problem 1. This sample problem describes
+each of the eight units in the critical 2 × 2 × 2 array using
+hemicylinders whose axes are in the y direction. Origins are specified
+for each hemicylinder.
+
+.. centered:: Input Data
+
+KENO V.a
+
+::
+
+ =KENOVA
+ sample problem 28 case 2c8 bare as mixed yhemicylinders with origins
+ READ PARAMETERS
+ fdn=yes lib=4 run=yes
+ END PARAMETERS
+ READ MIXT
+ sct=2
+ mix=1
+ 1092234 4.82717e04 1092235 4.47971e02 1092236 9.57233e05 1092238 2.65767e03
+ END MIXT
+ READ GEOMETRY
+ unit 1
+ com='x half of first cylinder'
+ yhemicylx 1 1 5.748 5.3825 5.3825 origin 6.87 0.0
+ cuboid 0 1 6.87 0.0 6.505 6.505 6.87 6.87
+ unit 2
+ com='+x half of unit 3'
+ yhemicyl+x 1 1 5.748 5.3825 5.3825 origin 6.87 0.0
+ cuboid 0 1 13.74 6.87 6.505 6.505 6.87 6.87
+ unit 3
+ com='1st cylinder composed of equal portions (yhemicylinders with x radii)'
+ array 1 3*0.0
+ unit 4
+ com='x portion (more than half) of second cylinder'
+ yhemicylx 1 1 5.748 5.3825 5.3825 chord 3.0 origin 6.87 0.0
+ cuboid 0 1 9.87 0.0 6.505 6.505 6.87 6.87
+ unit 5
+ com='+x portion (less than half) of second cylinder'
+ yhemicyl+x 1 1 5.748 5.3825 5.3825 chord 3.0 origin 6.87 0.0
+ cuboid 0 1 13.74 9.87 6.505 6.505 6.87 6.87
+ unit 6
+ com='2nd cylinder composed of unequal portions (yhemicylinders with x radii)'
+ array 2 3*0.0
+ unit 7
+ com='3rd cylinder: described as a single yhemicylinder in the x direction'
+ yhemicylx 1 1 5.748 5.3825 5.3825 chord 5.748 origin 6.87 0.0
+ cuboid 0 1 13.74 0.0 6.505 6.505 6.87 6.87
+ unit 8
+ com='4th cylinder: described as a single yhemicylinder in the +x direction'
+ yhemicyl+x 1 1 5.748 5.3825 5.3825 chord 5.748 origin 6.87 0.0
+ cuboid 0 1 13.74 0.0 6.505 6.505 6.87 6.87
+ unit 9
+ com='z half of fifth cylinder'
+ yhemicylz 1 1 5.748 5.3825 5.3825 origin 0.0 6.87
+ cuboid 0 1 6.87 6.87 6.505 6.505 6.87 0.0
+ unit 10
+ com='+z half of sixth cylinder'
+ yhemicyl+z 1 1 5.748 5.3825 5.3825 origin 0.0 6.87
+ cuboid 0 1 6.87 6.87 6.505 6.505 13.74 6.87
+ unit 11
+ com='5th cylinder composed of equal portions (yhemicylinders with z radii)'
+ array 3 3*0.0
+ unit 12
+ com='z portion (more than half) of sixth cylinder'
+ yhemicylz 1 1 5.748 5.3825 5.3825 chord 3.0 origin 0.0 6.87
+ cuboid 0 1 6.87 6.87 6.505 6.505 9.87 0.0
+ unit 13
+ com='+z portion (less than half) of sixth cylinder'
+ yhemicyl+z 1 1 5.748 5.3825 5.3825 chord 3.0 origin 0.0 6.87
+ cuboid 0 1 6.87 6.87 6.505 6.505 13.74 9.87
+ unit 14
+ com='6th cylinder composed of unequal portions (yhemicylinders with z radii)'
+ array 4 3*0.0
+ unit 15
+ com='7th cylinder: described as a yhemicylinder in the z direction'
+ yhemicylz 1 1 5.748 5.3825 5.3825 chord 5.748 origin 0.0 6.87
+ cuboid 0 1 6.87 6.87 6.505 6.505 13.74 0.0
+ unit 16
+ com='8th cylinder: described as a yhemicylinder in the +z direction'
+ yhemicyl+z 1 1 5.748 5.3825 5.3825 chord 5.748 origin 0.0 6.87
+ cuboid 0 1 6.87 6.87 6.505 6.505 13.74 0.0
+ global unit 17
+ com='complete 2c8 bare configuration'
+ array 5 3*0.0
+ END GEOMETRY
+ READ ARRAY
+ com='array 1: 1st cylinder (unit 3) equal x portions of yhemicylinders'
+ ara=1 nux=2 nuy=1 nuz=1 fill 1 2 end fill
+ com='array 2: 2nd cylinder (unit 6) unequal x portions of yhemicylinders'
+ ara=2 nux=2 nuy=1 nuz=1 fill 4 5 end fill
+ com='array 3: 5th cyllinder (unit 11) equal z portions of yhemicylinders'
+ ara=3 nux=1 nuy=1 nuz=2 fill 9 10 end fill
+ com='array 4: 6th cylinder (unit 14) unequal z portions of yhemicylinders'
+ ara=4 nux=1 nuy=1 nuz=2 fill 12 13 end fill
+ com='array 5 defines the total 2c8 problem'
+ gbl=5 ara=5 nux=2 nuy=2 nuz=2 fill 3 7 6 8 11 15 14 16 end fill
+ END ARRAY
+ END DATA
+ END
+
+.. _81c229:
+
+Sample Problem 29 BARE CRITICAL SPHERE 3.4420IN. RADIUS
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This problem is a critical experiment :cite:`mihalczo_measurements_1993` consisting of a critical
+Oralloy sphere. The density of the Oralloy is 18.747 g/cc, and the
+isotopic enrichment (wt %) is 93.21% :sup:`235`\ U, 5.7697%
+:sup:`238`\ U, 0.9844% :sup:`234`\ U, and 0.0359% :sup:`236`\ U. The
+critical radius was 8.74268 cm. A photograph of the experiment is given
+in :numref:`fig81c11`. The support structure was ignored in the input data.
+
+.. _fig81c11:
+.. figure:: figs/KenoC/fig11.png
+ :align: center
+ :width: 500
+
+ Critical Oralloy sphere.
+
+.. centered:: Input Data
+
+KENO V.a
+
+::
+
+ =KENOVA
+ sample problem 29 bare critical sphere 3.4420" radius
+ READ PARAMETERS
+ fdn=yes lib=4
+ END PARAMETERS
+ READ MIXT
+ sct=2
+ mix=16
+ 16092235 4.47709e02 16092238 2.73631e03 16092234 4.74858e04 16092236 1.71704e05
+ END MIXT
+ READ GEOMETRY
+ global unit 1
+ sphere 16 1 8.74268
+ END GEOMETRY
+ READ PLOT
+ scr=yes lpi=10
+ ttl='xy slice at z=0.0'
+ xul=9 yul= 9 zul=0.0
+ xlr= 9 ylr=9 zlr=0.0
+ uax=1 vdn=1 nax=400 nch=' *'
+ END PLOT
+ END DATA
+ END
+
+KENOVI
+
+::
+
+ =KENOVI
+ sample problem 26 bare critical sphere 3.4420" radius
+ READ PARAMETERS
+ fdn=yes lib=4
+ END PARAMETERS
+ READ MIXT
+ sct=2
+ mix=1 16092235 4.47709e02
+ 16092238 2.73631e03
+ 16092234 4.74858e04
+ 16092236 1.71704e05
+ END MIXT
+ READ GEOMETRY
+ global unit 1
+ sphere 10 8.74268
+ media 1 1 10 vol=2799.1254126
+ boundary 10
+ END GEOMETRY
+ END DATA
+ END
+
+.. _81c230:
+
+Sample Problem 30 (KENO V.a ONLY) BARE CRITICAL SPHERE Z HEMISPHERE MODEL 3.4420IN. RADIUS
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The physical representation of this sample problem is the critical
+experiment described in sample problem 29. This sample problem describes
+the sphere as two Z hemispheres, each with a chord and origin specified.
+One of the hemispheres is placed using the hole geometry option.
+
+.. centered:: Input Data
+
+KENO V.a
+
+::
+
+ =KENOVA
+ sample problem 30 bare critical sphere z hemisphere model 3.4420" radius
+ READ PARAMETERS
+ fdn=yes lib=4
+ END PARAMETERS
+ READ MIXT
+ sct=2
+ mix=16
+ 16092235 4.47709e02 16092238 2.73631e03 16092234 4.74858e04 16092236 1.71704e05
+ END MIXT
+ READ GEOMETRY
+ unit 1
+ hemisphe+z 16 1 8.74268 chord +3.0 origin 8.9 8.9 8.9
+ global unit 2
+ hemisphez 16 1 8.74268 chord 3.0 origin 8.9 8.9 8.9
+ cuboid 0 1 17.8 0.0 17.8 0.0 17.8 0.0
+ hole 1 3*0.0
+ END GEOMETRY
+ READ PLOT
+ scr=yes lpi=10
+ ttl='yz slice at x=8.9 mixture map'
+ xul=8.9 yul=0.5 zul=18.5
+ xlr=8.9 ylr=18.5 zlr=0.5
+ vax=1 wdn=1 nax=400 end plt1
+ ttl='yz slice at x=8.9 unit map'
+ pic=box end plt2
+ END PLOT
+ END DATA
+ END
+
+.. _81c231:
+
+Sample Problem 31 (KENO V.a ONLY) BARE CRITICAL SPHERE X HEMISPHERE MODEL 3.4420IN. RADIUS
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The physical representation of this sample problem is the critical
+experiment described in sample problem 29. This sample problem describes
+the sphere as two X hemispheres, each with a chord and origin specified.
+One of the hemispheres is placed using the hole geometry option.
+
+.. centered:: Input Data
+
+KENO V.a
+
+::
+
+ =KENOVA
+ sample problem 31 bare critical sphere x hemisphere model 3.4420" radius
+ READ PARAMETERS
+ fdn=yes lib=4
+ END PARAMETERS
+ READ MIXT
+ sct=2
+ mix=16
+ 16092235 4.47709e02 16092238 2.73631e03 16092234 4.74858e04 16092236 1.71704e05
+ END MIXT
+ READ GEOMETRY
+ unit 1
+ hemisphex 16 1 8.74268 chord +3.0
+ global unit 2
+ hemisphe+x 16 1 8.74268 chord 3.0 origin 8.9 8.9 8.9
+ cuboid 0 1 17.8 0.0 17.8 0.0 17.8 0.0
+ hole 1 3*8.9
+ END GEOMETRY
+ READ PLOT
+ scr=yes lpi=10
+ ttl='xy slice at z=8.9 mixture map'
+ xul=0.5 yul=18.5 zul=8.9
+ xlr=18.5 ylr=0.5 zlr=8.9
+ uax=1 vdn=1 nax=400 end plt1
+ ttl='yz slice at x=8.9 unit map'
+ pic=box end plt2
+ END PLOT
+ END DATA
+ END
+
+.. _81c232:
+
+Sample Problem 32 (KENO V.a ONLY) BARE CRITICAL SPHERE Y HEMISPHERE MODEL 3.4420IN. RADIUS
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The physical representation of this sample problem is the critical
+experiment described in sample problem 29. This sample problem describes
+the sphere as two Y hemispheres, each with a chord and origin specified.
+One of the hemispheres is placed using the hole geometry option.
+
+.. centered:: Input Data
+
+KENO V.a
+
+::
+
+ =KENOVA
+ sample problem 32 bare critical sphere y hemisphere model 3.4420" radius
+ READ PARAMETERS
+ fdn=yes lib=4
+ END PARAMETERS
+ READ MIXT
+ sct=2
+ mix=16
+ 16092235 4.47709e02 16092238 2.73631e03 16092234 4.74858e04 16092236 1.71704e05
+ END MIXT
+ READ GEOMETRY
+ unit 1
+ hemisphey 16 1 8.74268 chord +3.0 origin 8.9 9.9 10.9
+ global unit 2
+ hemisphe+y 16 1 8.74268 chord 3.0 origin 8.9 8.9 8.9
+ cuboid 0 1 17.8 0.0 17.8 0.0 17.8 0.0
+ hole 1 0.0 1.0 2.0
+ END GEOMETRY
+ READ PLOT
+ scr=yes lpi=10
+ ttl='xy slice at z=8.9 mixture map'
+ xul=0.5 yul=18.5 zul=8.9
+ xlr=18.5 ylr=0.5 zlr=8.9
+ uax=1 vdn=1 nax=400 end plt1
+ ttl='yz slice at x=8.9 unit map'
+ pic=box end plt2
+ END PLOT
+ END DATA
+ END
+
+.. _81c233:
+
+Sample Problem 33 CRITICAL TRIANGULAR PITCHED ARRAY OF ANNULAR RODS
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This sample problem represents a critical
+experiment :cite:`johnson_critical_1966` that consists of a partially flooded
+array of 19 low enriched uranium metal cylindrical annuli billets
+arranged in a triangular pitched array. The density of the uranium metal
+was 19.0 g/cc, and the isotopic enrichment in weight percent was 1.95%
+:sup:`235`\ U, 98.02% :sup:`238`\ U, 0.006% :sup:`236`\ U, and 0.002%
+:sup:`234`\ U. The cylindrical annuli had an inside diameter of
+6.604 cm, an outside diameter of 18.288 cm, and were placed with a pitch
+of 20.828 cm. Each billet was 101.6 cm long. The array was positioned in
+a very large tank. This configuration was critical when the tank was
+filled to a height of 47.7 cm on a scale whose zero point was 0.6 cm
+below the bottom of the billets. The bottom of the billets was 21.6 cm
+above the bottom of the tank. The tank and all support structures have
+been ignored in this model. The model utilizes only 15.24 cm of water
+reflector on all sides of the array. :numref:`fig81c12` and :numref:`fig81c13`
+provide a representation of the model. A photograph of a single annular
+billet is shown in :numref:`fig81c14`.
+
+.. centered:: Input Data
+
+KENO V.a
+
+::
+
+ =KENOVA
+ sample problem 33 critical triangular pitched array of annular rods
+ READ PARAMETERS fdn=yes nub=yes lib=4
+ END PARAMETERS
+ READ MIXT
+ sct=2
+ mix=17
+ 17092235 9.49270e04 17092238 4.71245e02 17092234 9.77785e07 17092236 2.90844e06
+ mix=18
+ 18008016 3.33757e02 18001001 6.67515e02
+ mix=19
+ 19001001 6.67515e02 19008016 3.33757e02
+ mix=20
+ 20092235 9.49270e04 20092238 4.71245e02 20092234 9.77785e07 20092236 2.90844e06
+ END MIXT
+ READ GEOM
+ unit 1
+ zhemicylx 18 1 3.302 47.7 0.6
+ zhemicylx 17 1 9.144 47.7 0.6
+ unit 2
+ zhemicyly 18 1 3.302 47.7 0.6
+ zhemicyly 17 1 9.144 47.7 0.6
+ unit 3
+ zhemicyl+x 18 1 3.302 47.7 0.6
+ zhemicyl+x 17 1 9.144 47.7 0.6
+ unit 4
+ zhemicyl+y 18 1 3.302 47.7 0.6 origin 0.0 18.03758
+ zhemicyl+y 17 1 9.144 47.7 0.6 origin 0.0 18.03758
+ cuboid 19 1 2p10.414 2p18.03758 47.7 0.6
+ hole 1 10.414 0.0 0.0
+ hole 2 0.0 18.03758 0.0
+ hole 3 10.414 0.0 0.0
+ unit 5
+ cuboid 19 1 2p10.414 10.414 0.0 47.7 0.6
+ unit 6
+ zhemicyly 18 1 3.302 47.7 0.6
+ zhemicyly 17 1 9.144 47.7 0.6
+ cuboid 19 1 2p10.414 0.0 10.414 47.7 0.6
+ unit 7
+ zhemicyly 18 1 3.302 47.7 0.6 origin 0.0 18.03758
+ zhemicyly 17 1 9.144 47.7 0.6 origin 0.0 18.03758
+ cuboid 19 1 2p10.414 2p18.03758 47.7 0.6
+ hole 3 10.414 0.0 0.0
+ unit 8
+ zhemicyl+y 18 1 3.302 47.7 0.6 origin 0.0 18.03758
+ zhemicyl+y 17 1 9.144 47.7 0.6 origin 0.0 18.03758
+ cuboid 19 1 2p10.414 2p18.03758 47.7 0.6
+ hole 3 10.414 0.0 0.0
+ unit 9
+ zhemicyl+y 18 1 3.302 47.7 0.6
+ zhemicyl+y 17 1 9.144 47.7 0.6
+ cuboid 19 1 2p10.414 10.414 0.0 47.7 0.6
+ unit 10
+ zhemicyl+y 18 1 3.302 47.7 0.6 origin 0.0 18.03758
+ zhemicyl+y 17 1 9.144 47.7 0.6 origin 0.0 18.03758
+ cuboid 19 1 2p10.414 2p18.03758 47.7 0.6
+ hole 1 10.414 0.0 0.0
+ unit 11
+ zhemicyly 18 1 3.302 47.7 0.6 origin 0.0 18.03758
+ zhemicyly 17 1 9.144 47.7 0.6 origin 0.0 18.03758
+ cuboid 19 1 2p10.414 2p18.03758 47.7 0.6
+ hole 1 10.414 0.0 0.0
+ unit 21
+ zhemicylx 0 1 3.302 102.2 47.7
+ zhemicylx 20 1 9.144 102.2 47.7
+ unit 22
+ zhemicyly 0 1 3.302 102.2 47.7
+ zhemicyly 20 1 9.144 102.2 47.7
+ unit 23
+ zhemicyl+x 0 1 3.302 102.2 47.7
+ zhemicyl+x 20 1 9.144 102.2 47.7
+ unit 24
+ zhemicyl+y 0 1 3.302 102.2 47.7 origin 0.0 18.03758
+ zhemicyl+y 20 1 9.144 102.2 47.7 origin 0.0 18.03758
+ cuboid 0 1 2p10.414 2p18.03758 102.2 47.7
+ hole 21 10.414 0.0 0.0
+ hole 22 0.0 18.03758 0.0
+ hole 23 10.414 0.0 0.0
+ unit 25
+ cuboid 0 1 2p10.414 10.414 0.0 102.2 47.7
+ unit 26
+ zhemicyly 0 1 3.302 102.2 47.7
+ zhemicyly 20 1 9.144 102.2 47.7
+ cuboid 0 1 2p10.414 0.0 10.414 102.2 47.7
+ unit 27
+ zhemicyly 0 1 3.302 102.2 47.7 origin 0.0 18.03758
+ zhemicyly 20 1 9.144 102.2 47.7 origin 0.0 18.03758
+ cuboid 0 1 2p10.414 2p18.03758 102.2 47.7
+ hole 23 10.414 0.0 0.0
+ unit 28
+ zhemicyl+y 0 1 3.302 102.2 47.7 origin 0.0 18.03758
+ zhemicyl+y 20 1 9.144 102.2 47.7 origin 0.0 18.03758
+ cuboid 0 1 2p10.414 2p18.03758 102.2 47.7
+ hole 23 10.414 0.0 0.0
+ unit 29
+ zhemicyl+y 0 1 3.302 102.2 47.7
+ zhemicyl+y 20 1 9.144 102.2 47.7
+ cuboid 0 1 2p10.414 10.414 0.0 102.2 47.7
+ unit 30
+ zhemicyl+y 0 1 3.302 102.2 47.7 origin 0.0 18.03758
+ zhemicyl+y 20 1 9.144 102.2 47.7 origin 0.0 18.03758
+ cuboid 0 1 2p10.414 2p18.03758 102.2 47.7
+ hole 21 10.414 0.0 0.0
+ unit 31
+ zhemicyly 0 1 3.302 102.2 47.7 origin 0.0 18.03758
+ zhemicyly 20 1 9.144 102.2 47.7 origin 0.0 18.03758
+ cuboid 0 1 2p10.414 2p18.03758 102.2 47.7
+ hole 21 10.414 0.0 0.0
+ unit 32
+ com='flooded portion of array with 15.24 cm of water in x and y'
+ array 1 2*0.0 0.6
+ replicate 19 1 4r15.24 0.0 0.6 1
+ replicate 19 2 5r0.0 3.0 7
+ unit 33
+ com='unflooded upper portion of array'
+ array 2 3*0.0
+ replicate 0 1 4r15.24 2*0.0 1
+ global
+ unit 34
+ array 3 67.31 61.72916 21.0
+ END GEOM
+ READ BIAS
+ id=500 2 8
+ END BIAS
+ READ ARRAY
+ ara=1 nux=5 nuy=4 nuz=1 fill 5 3r 6 5 11 3r 4 7 10 3r 4 8 5 3r 9 5 end fill
+ ara=2 nux=5 nuy=4 nuz=1 fill 25 3r26 25 31 3r24 27 30 3r24 28 25 3r29 25 end fill
+ ara=3 nux=1 nuy=1 nuz=2 fill 32 33 end fill
+ END ARRAY
+ READ START
+ nst=1 xsm=52 xsp=52 ysm=47 ysp=47 zsm=0.6 zsp=47.7
+ END START
+ READ PLOT
+ scr=yes lpi=10
+ clr=17 255 0 0
+ 18 128 255 255
+ 19 0 0 255
+ 20 255 0 128
+ end color
+ ttl='xy plot of pins at z=45.0'
+ xul=52.0 yul= 47.0 zul=45.0
+ xlr= 52.0 ylr=47.0 zlr=45.0
+ uax= 1.0 vdn=1.0 nax=400
+ end plt1
+ ttl='xz plot of pins at y=0.0'
+ xul=52.0 yul=0.0 zul=102.7
+ xlr= 52.0 ylr=0.0 zlr=3.0
+ uax= 1.0 wdn=1.0 nax=400
+ end plt2
+ ttl='xz plot at y=0.0'
+ xul=68.0 yul=0.0 zul=102.7
+ xlr= 70.0 ylr=0.0 zlr=25.0
+ uax= 1.0 wdn=1.0 nax=400
+ end plt3
+ END PLOT
+ END DATA
+ END
+
+KENOVI
+
+::
+
+ =KENOVI
+ sample problem 27 critical triangular pitched array of annular rods
+ READ PARAMETERS
+ fdn=yes nub=yes lib=4
+ END PARAMETERS
+ READ MIXT
+ sct=2
+ mix=1 17092235 9.49270e04
+ 17092238 4.71245e02
+ 17092234 9.77785e07
+ 17092236 2.90844e06
+ mix=2 18008016 3.33757e02
+ 18001001 6.67515e02
+ mix=3 19001001 6.67515e02
+ 19008016 3.33757e02
+ mix=4 20092235 9.49270e04
+ 20092238 4.71245e02
+ 20092234 9.77785e07
+ 20092236 2.90844e06
+ mix=5 18008016 3.33757e02
+ 18001001 6.67515e02
+ END MIXT
+ READ GEOM
+ unit 1
+ cylinder 10 3.302 102.2 0.6
+ cylinder 20 9.144 102.2 0.6
+ plane 30 zpl=1.0 con=47.7
+ hexprism 40 10.414 102.2 0.0
+ media 2 1 10 30
+ media 1 1 20 10 30
+ media 3 1 40 20 30
+ media 0 1 10 30
+ media 4 1 20 10 30
+ media 0 1 40 20 30
+ boundary 40
+ unit 2
+ plane 10 zpl=1.0 con=47.7
+ hexprism 20 10.414 102.2 0.0
+ media 3 1 10 20
+ media 0 1 10 20
+ boundary 20
+ global unit 3
+ cylinder 10 52.42 102.2 0.0
+ plane 20 zpl=1.0 con=47.7
+ cylinder 30 82.9 102.2 21.0
+ array 1 10 place 4 4 1 3*0.0
+ media 0 1 30 20 10
+ media 5 1 30 20 10
+ boundary 30
+ END GEOM
+ READ ARRAY
+ ara=1 nux=7 nuy=7 nuz=1 typ=tri fill
+ 2 2 2 2 2 2 2
+ 2 2 2 1 1 1 2
+ 2 2 1 1 1 1 2
+ 2 1 1 1 1 1 2
+ 2 1 1 1 1 2 2
+ 2 1 1 1 2 2 2
+ 2 2 2 2 2 2 2 end fill
+ END ARRAY
+ READ VOLUME
+ type=random
+ END VOLUME
+ READ PLOT
+ scr=yes lpi=10
+ clr=1 255 0 0
+ 2 128 255 255
+ 3 0 0 255
+ 4 255 0 128
+ 5 200 200 200
+ end color
+ ttl='xz plot of pins at y=0.0'
+ xul=68.0 yul= 0.0 zul=102.7
+ xlr= 70.0 ylr= 0.0 zlr=25.0
+ uax= 1.0 wdn=1.0
+ nax=800
+ end plt0
+ ttl='xy plot of pins and water at z=45.0'
+ xul=68.0 yul= 68.0 zul=45.0
+ xlr= 68.0 ylr=68.0 zlr=45.0
+ uax= 1.0 vdn= 1.0
+ nax=800
+ end plt1
+ END PLOT
+ END DATA
+ END
+
+.. _fig81c12:
+.. figure:: figs/KenoC/fig12.png
+ :align: center
+ :width: 500
+
+ Horizontal slice through a critical triangular pitched array of partially flooded 1.95% enriched uranium metal annular billets.
+
+.. _fig81c13:
+.. figure:: figs/KenoC/fig13.png
+ :align: center
+ :width: 500
+
+ Vertical slice through the center of a critical triangularpitched array of partially flooded 1.9% enriched uranium metal annular billets.
+
+.. _fig81c14:
+.. figure:: figs/KenoC/fig14.png
+ :align: center
+ :width: 500
+
+ 1.95% Enriched uranium metal annular billet used in critical experiments
+
+.. bibliography:: bibs/KenoC.bib
diff git a/MAVRIC.rst b/MAVRIC.rst
index 79d24b54622501e945a66b42bda8b680f4724894..9a95073067287cbdcea85941df702a1a08e30ece 100644
 a/MAVRIC.rst
+++ b/MAVRIC.rst
@@ 878,7 +878,7 @@ group energies specifically listed so that it can be evaluated properly on the o
:align: center
:name: extrakeywords
 *  .. image:: figs/table4.4.png
+ *  .. image:: figs/MAVRIC/table4.4.png
Importance map block
~~~~~~~~~~~~~~~~~~~~
@@ 1023,7 +1023,7 @@ be explicitly given with mmSubCells ny nz nx nz nx ny end keyword for rays paral
.. _raypositions:
.. figure:: figs/fig4.1.01_rayTrace6.png
+.. figure:: figs/MAVRIC/fig4.1.01_rayTrace6.png
:width: 500
:align: center
@@ 1051,7 +1051,7 @@ contains a fuel pin is illustrated in :numref:`rayvox`.
.. _geommodel:
.. figure:: figs/fig4.1.02_kenoDenovo.png
+.. figure:: figs/MAVRIC/fig4.1.02_kenoDenovo.png
:width: 600
:align: center
@@ 1059,7 +1059,7 @@ contains a fuel pin is illustrated in :numref:`rayvox`.
.. _rayvox:
.. figure:: figs/fig4.1.03_rayTrace.png
+.. figure:: figs/MAVRIC/fig4.1.03_rayTrace.png
:width: 300
:align: center
@@ 1129,7 +1129,7 @@ stopped. This is illustrated in :numref:`recmacro`.
.. _recmacro:
.. figure:: figs/recmacro.png
+.. figure:: figs/MAVRIC/recmacro.png
:width: 99 %
@@ 1165,7 +1165,7 @@ See the Mesh File Viewer help pages for more information on how to use colormap
.. _caskgeom:
.. figure:: figs/caskgeom.png
+.. figure:: figs/MAVRIC/caskgeom.png
Cask geometry model (upper left) and the Denovo representation using cell center testing (upper right). Representations using macromaterials determined by ray tracing are shown for mmSubCell=1/mmTolerance=0.1 (lower left) and mmSubCell=3/mmTolerance=0.01 (lower right).*
@@ 1623,15 +1623,17 @@ This way, the CEMonaco calculation samples the true CE distributions.
.. listtable:: Keywords for the importance map block
:name: keywordsimportance
+ :align: center
 *  .. image:: figs/table45.png
+ *  .. image:: figs/MAVRIC/table45.png
.. listtable:: Denovo options for the importance map block
:name: denovoop
+ :align: center
 *  .. image:: figs/table46.png
+ *  .. image:: figs/MAVRIC/table46.png
@@ 1990,7 +1992,7 @@ of the problem.
.. _meshtally:
.. figure:: figs/meshtally.png
+.. figure:: figs/MAVRIC/meshtally.png
Mesh tally showing neutron dose rate (rem/hr) and uncertainties for the analog case and the CADIS case.
@@ 2016,7 +2018,7 @@ simple example. Also note that the fuel material is based on fresh fuel, not spe
its hundreds of fission products.
.. _caskgeom2:
.. figure:: figs/caskgeom2.png
+.. figure:: figs/MAVRIC/caskgeom2.png
:align: center
Cask geometry and detector locations.
@@ 2050,34 +2052,34 @@ shown in :numref:`spentneutron` and :numref:`sourceandresponse` is considered
source: no further neutron multiplication is considered.
.. _spentneutron:
.. figure:: figs/fig4.1.08_caskSrcRespn.dist1.png
+.. figure:: figs/MAVRIC/fig4.1.08_caskSrcRespn.dist1.png
:align: center
Spent fuel neutron source spectrum with strength 8.577 × 10\ :sup:`9`/second.
.. _ANSIneutron:
.. figure:: figs/fig4.1.09_caskSrcRespn.resp1.png
+.. figure:: figs/MAVRIC/fig4.1.09_caskSrcRespn.resp1.png
:align: center
ANSI1977/ fluxtodoserate factors (rem/hr)/(neutrons/\cm :sup:`2`/sec).
.. _spentphoton:
.. figure:: figs/fig4.1.10_caskSrcRespp.dist1.png
+.. figure:: figs/MAVRIC/fig4.1.10_caskSrcRespp.dist1.png
:align: center
Spent fuel photon source spectrum with strength 7.155×10\ :sup:`16`/second
.. _ANSIphoton:
.. figure:: figs/fig4.1.11_caskSrcRespp.resp1.png
+.. figure:: figs/MAVRIC/fig4.1.11_caskSrcRespp.resp1.png
:align: center
ANSI1977 photon fluxtodoserate factors (rem/hr)/(photons/\cm :sup:`2`/sec)
.. csvtable:: Source and response data using the SCALE 27group energy structure for neutrons and the 19group energy structure for photons
 :file: csvtables/table4.1.09_sourceResp.csv
 :headerrows: 1
+.. listtable:: Source and response data using the SCALE 27group energy structure for neutrons and the 19group energy structure for photons
:name: sourceandresponse
+ *  .. image:: figs/MAVRIC/tab9.png
+
Energies listed are the bin upper energies. Source units are
particles/s normalized to a total of 1 particle/s. Response units are
(rem/hr)/(particle/cm\ :sup:`2`/s).
@@ 2265,20 +2267,21 @@ six tallies in each problem passed all of the statistical checks.
detector 1, showing that the tally is not well converged and that some
batches contain rare events that change the tally value a great deal.
.. csvtable:: Analog Monaco results for the simplified cask model—neutron source/neutron dose rate.
 :file: csvtables/table1.10.csv
 :headerrows: 1
+.. listtable:: Analog Monaco results for the simplified cask model—neutron source/neutron dose rate.
:name: analogneutron
:align: center
.. csvtable:: Analog Monaco results for the simplified cask model—photon source/photon dose rate.
 :file: csvtables/table1.11.csv
 :headerrows: 1
+ *  .. image:: figs/MAVRIC/tab10.png
+
+
+.. listtable:: Analog Monaco results for the simplified cask model—photon source/photon dose rate.
:name: analogphoton
:align: center
+ *  .. image:: figs/MAVRIC/tab11.png
+
.. _neutrondoseplot:
.. figure:: figs/fig4.1.12_mavric.caskAnalogn.pd1.png
+.. figure:: figs/MAVRIC/fig4.1.12_mavric.caskAnalogn.pd1.png
:align: center
:width: 500
@@ 2299,17 +2302,18 @@ do well when using axial biasing. SAS4 was not intended to do well for
the points near the vent port, but the results using the axial biasing
seem reasonable.
.. csvtable:: SAS4 results using radial biasing (361 minutes) and axial biasing (361 minutes), for the simplified cask model—neutron source/neutron dose rate
 :file: csvtables/table1.12.csv
 :headerrows: 1
+.. listtable:: SAS4 results using radial biasing (361 minutes) and axial biasing (361 minutes), for the simplified cask model—neutron source/neutron dose rate
:align: center
:name: neutronproblem
.. csvtable:: SAS4 results using radial biasing (361 minutes) and axial biasing (361 minutes), for the simplified cask model—photon source/photon dose rate
 :file: csvtables/table1.13.csv
+ *  .. image:: figs/MAVRIC/tab12.png
+
+.. listtable:: SAS4 results using radial biasing (361 minutes) and axial biasing (361 minutes), for the simplified cask model—photon source/photon dose rate
:name: photonproblem
:align: center
 :headerrows: 1
+
+ *  .. image:: figs/MAVRIC/tab13.png
+
Calculations using CADIS
^^^^^^^^^^^^^^^^^^^^^^^^
@@ 2349,7 +2353,7 @@ parameters are listed in :numref:`meshparamxyz`, and the mesh planes are liste
.. _importance1:
.. figure:: figs/fig1.13.jpg
+.. figure:: figs/MAVRIC/fig1.13.jpg
:width: 99 %
:align: center
@@ 2357,7 +2361,7 @@ parameters are listed in :numref:`meshparamxyz`, and the mesh planes are liste
.. _importance2:
.. figure:: figs/fig1.14.jpg
+.. figure:: figs/MAVRIC/fig1.14.jpg
:width: 99 %
:align: center
@@ 2394,11 +2398,13 @@ parameters are listed in :numref:`meshparamxyz`, and the mesh planes are liste
 49
 78890
.. csvtable:: List of the various sets of mesh planes used for the importance calculations for six different point detectors
+.. listtable:: List of the various sets of mesh planes used for the importance calculations for six different point detectors
:name: meshplanes
:align: center
 :headerrows: 1
 :file: csvtables/table4.1.15_caskPlanes.csv
+
+ *  .. image:: figs/MAVRIC/tab15.png
+
+
MAVRIC input files
^^^^^^^^^^^^^^^^^^
@@ 2503,31 +2509,31 @@ often.
The biased source distribution and the importance map are then used by
Monaco to compute the dose equivalent rate response at detector 3.
.. image:: figs/fig4.1.15g_caskn.adjoint.scale.png
+.. figure:: figs/MAVRIC/fig4.1.15g_caskn.adjoint.scale.png
:align: center
.. _adjointdenovo:
.. figure:: figs/1.15.jpg
+.. figure:: figs/MAVRIC/1.15.jpg
:align: center
:width: 100 %
Adjoint neutron fluxes (/cm :sup:`2`/s) for groups 5 (0.9–1.4 MeV), 10 (0.58–3.0 keV), and 19 (0.8–1 eV) calculated by Denovo.
.. image:: figs/fig4.1.16e_caskn.targets.scale.png
+.. figure:: figs/MAVRIC/fig4.1.16e_caskn.targets.scale.png
:align: center
.. _fifthneutron:
.. figure:: figs/1.16.jpg
+.. figure:: figs/MAVRIC/1.16.jpg
:align: center
:width: 80 %
Neutron target weights from the importance map and source weights (at birth) for neutron group 5 (0.9 to 1.4 MeV).
.. image:: figs/fig4.1.17g_caskn.prob.scale.png
+.. figure:: figs/MAVRIC/fig4.1.17g_caskn.prob.scale.png
:align: center
.. _biasedsource:
.. figure:: figs/1.17.jpg
+.. figure:: figs/MAVRIC/1.17.jpg
:align: center
:width: 100 %
@@ 2551,11 +2557,11 @@ The FOMs for analog Monaco and SAS4 were modified to account for
calculating all six detectors at once.
.. csvtable:: Final MAVRIC results (rem/hr) for each point detector in the neutron source/neutron dose rate problem
 :headerrows: 1
+.. listtable:: Final MAVRIC results (rem/hr) for each point detector in the neutron source/neutron dose rate problem
:align: center
:name: MAVRICfinal
 :file: csvtables/4.16.csv
+
+ *  .. image:: figs/MAVRIC/tab16.png
.. listtable:: Comparison of neutron dose rates (rem/hr) to other SCALE codes
:align: center
@@ 2603,11 +2609,12 @@ calculating all six detectors at once.
 2.93E03 ± 0.2%
.. csvtable:: Ratio of the figureofmerit (speedup) of MAVRIC and SAS4 compared to analog Monaco
 :headerrows:m
+.. listtable:: Ratio of the figureofmerit (speedup) of MAVRIC and SAS4 compared to analog Monaco
:align: center
:name: figureofmerit
 :file: csvtables/4.18.csv
+
+ *  .. image:: figs/MAVRIC/tab18.png
+
Photon source/photon response results
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ 2626,49 +2633,52 @@ using its own importance map and biased source.
The MAVRIC results of the photon problem compare well against SAS4 and
analog Monaco, as shown in :numref:`tab420` and :numref:`tab421`.
.. image:: figs/fig4.1.18g_caskp.adjoint.scale.png
+.. figure:: figs/MAVRIC/fig4.1.18g_caskp.adjoint.scale.png
:align: center
.. _fig418:
.. figure:: figs/4.18.jpg
+.. figure:: figs/MAVRIC/4.18.jpg
:align: center
Adjoint photon fluxes (/cm: sup:`2`/s) for groups 2 (8–10 MeV), 2 (0.8–1.0 MeV), and 18 (45–100 keV) calculated by Denovo.
.. csvtable:: Final MAVRIC results (rem/hr) for each point detectorin the photon source/photon dose rate problem
+.. listtable:: Final MAVRIC results (rem/hr) for each point detectorin the photon source/photon dose rate problem
:align: center
 :file: csvtables/4.19.csv
:name: tab419
.. image:: figs/fig4.1.19e_caskp.targets.scale.png
+ *  .. image:: figs/MAVRIC/tab18.png
+
+.. figure:: figs/MAVRIC/fig4.1.19e_caskp.targets.scale.png
:align: center
.. _fig419:
.. figure:: figs/4.19.jpg
+.. figure:: figs/MAVRIC/4.19.jpg
:align: center
:width: 80 %
Photon target weights from the importance map and source weights (at birth) for photon group 12 (0.8–1.0 MeV).
.. csvtable:: Comparison of the photon dose rates (rem/hr) to other SCALE codes
 :file: csvtables/4.20.csv
+.. listtable:: Comparison of the photon dose rates (rem/hr) to other SCALE codes
:align: center
:name: tab420
+ *  .. image:: figs/MAVRIC/tab20.png
+
.. _fig420:
.. figure:: figs/fig420.png
+.. figure:: figs/MAVRIC/fig420.png
:align: center
Biased source sampling probability (photons/cm3) for groups 2 (8–10 MeV), 12 (0.8–1.0 MeV), and 18 (45–100 keV).
.. csvtable:: Ratio of the FOM (speedup) of MAVRIC and SAS4 compared to analog Monaco
 :file: csvtables/4.21.csv
+.. listtable:: Ratio of the FOM (speedup) of MAVRIC and SAS4 compared to analog Monaco
:align: center
:name: tab421
+ *  .. image:: figs/MAVRIC/tab21.png
+
Gammaray lithodensity logging tool using FWCADIS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ 2689,7 +2699,7 @@ photon flux within each detector volume.
.. _fig421:
.. figure:: figs/fig4.1.21_photonTool.bmp
+.. figure:: figs/MAVRIC/fig4.1.21_photonTool.bmp
:align: center
:width: 50 %
@@ 2697,7 +2707,7 @@ photon flux within each detector volume.
.. _fig422:
.. figure:: figs/fig4.1.22_photFWmesh1.bmp
+.. figure:: figs/MAVRIC/fig4.1.22_photFWmesh1.bmp
:align: center
:width: 50 %
@@ 2705,7 +2715,7 @@ photon flux within each detector volume.
.. _fig423:
.. figure:: figs/fig4.1.23_photFWmesh2.bmp
+.. figure:: figs/MAVRIC/fig4.1.23_photFWmesh2.bmp
:align: center
:width: 50 %
@@ 2938,15 +2948,16 @@ CADIS calculations passed the fourth statistical check within an hour.
for all four of the simulations: analog, CADIS for the near detector,
CADIS for the far detector, and the FWCADIS calculation for both.
.. csvtable:: Comparison of different CADIS techniques for the lithodensity problem
 :file: csvtables/4.22.csv
+.. listtable:: Comparison of different CADIS techniques for the lithodensity problem
:name: tab422
:align: center
+ *  .. image:: figs/MAVRIC/tab22.png
+
/
.. _fig424:
.. figure:: figs/4.22.png
+.. figure:: figs/MAVRIC/4.22.png
:align: center
:width: 800
@@ 2964,14 +2975,14 @@ Omega Services, Inc., and a :sup:`60`\Co source. (International Isotopes
Inc. of Idaho Falls, Idaho, distributes the AOS Radioactive Material
Transport Packaging Systems.)
A simple model of the AOS100 package, which is constructed primarily of steel and tungsten, is shown in
+A simple model of the AOS100 package, which is constructed primarily of steel and tungsten, is shown in
:numref:`fig425`. The diameter is 71.12 cm, and the height is 91.44 cm.
The innermost cylinder (16.51 cm diameter and 50.8 cm height) typically contains the material to be transported,
but in this study, this region is simply modeled as an air region containing a uniform source of 1 Ci of :sup:`60`\Co.
This is conservative—it assumes the radioactive material containing the cobalt provides no selfshielding.
.. _fig425:
.. figure:: figs/fig4.1.25_aos100geom.bmp
+.. figure:: figs/MAVRIC/fig4.1.25_aos100geom.bmp
:align: center
:width: 30 %
@@ 2987,7 +2998,7 @@ into the air, which is similar to reality for this heavily shielded cask. To com
the package, variance reduction is needed.
.. _fig426:
.. figure:: figs/4.26.png
+.. figure:: figs/MAVRIC/4.26.png
:align: center
Dose rates (mrem/hr/Ci) and relative uncertainties along the *y* = 0 midplane of the cask as calculated by an analog calculation.
@@ 3178,7 +3189,7 @@ part of the voxel is actually outside the package. The resolution of the
mesh tally is 2.54 cm.
.. _fig427:
.. figure:: figs/4.27.png
+.. figure:: figs/MAVRIC/4.27.png
:align: center
Dose rates (mrem/hr/Ci) and relative uncertainties from the CE FWCADIS calculation showing the midplane views of the cask (*z* = 0 above and *y* = 0 below).
@@ 3189,7 +3200,7 @@ the photon dose rate, some of the lowenergy bins that do not contribute much to
larger uncertainties.
.. _fig428:
.. figure:: figs/fig4.1.28_mavric.aos100.eflux.png
+.. figure:: figs/MAVRIC/fig4.1.28_mavric.aos100.eflux.png
:align: center
:width: 70 %
@@ 3202,13 +3213,13 @@ close to the CEcalculation in dose rate (10% high axially, 20% high radially),
are much higher than the CE. Neither of the MG calculations shows the 1.17 and 1.33 MeV lines in the energy spectra.
.. _fig429:
.. figure:: figs/4.29.png
+.. figure:: figs/MAVRIC/4.29.png
:align: center
Ratio of the 47group MG computed dose rates to the CE dose rates (*y* = 0 left and *z* = 0 right).
.. _fig430:
.. figure:: figs/4.30.png
+.. figure:: figs/MAVRIC/4.30.png
:align: center
Ratio of the 19group MG computed dose rates to the CE dose rates (*y* = 0 left and *z* = 0 right).
@@ 3228,14 +3239,14 @@ rates with reasonably low relative uncertainties over a mesh tally which
covers a very large area.
.. _fig431:
.. figure:: figs/fig4.1.31_isfsi.array.bmp
+.. figure:: figs/MAVRIC/fig4.1.31_isfsi.array.bmp
:align: center
:width: 80 %
Array of eight casks.
.. _fig432:
.. figure:: figs/fig4.1.32_isfsi.newcask07.bmp
+.. figure:: figs/MAVRIC/fig4.1.32_isfsi.newcask07.bmp
:align: center
:width: 30 %
@@ 3477,19 +3488,19 @@ For this 1 hr calculation, 50% of the voxels in the mesh tally had less than 20
For the 64 hr run, 90% of the voxels had less than 10% relative uncertainty.
.. _fig433:
.. figure:: figs/4.33.png
+.. figure:: figs/MAVRIC/4.33.png
:align: center
Photon dose rate values in rem/hr (left) and the relative uncertainty (right) for the area around the cask array (1 hr Monaco).
.. _fig434:
.. figure:: figs/4.34.png
+.. figure:: figs/MAVRIC/4.34.png
:align: center
Photon dose rate values in rem/hr (left) and the relative uncertainty (right) for the area around the cask array (64 hr Monaco). For the uncertainty plot, purple represents <=5%.
.. _fig435:
.. figure:: figs/fig4.1.35_isfsiCompare.png
+.. figure:: figs/MAVRIC/fig4.1.35_isfsiCompare.png
:align: center
Distribution of relative uncertainties for different run times of ``mavric.isfsi.inp`` showing the fraction of the mesh tally voxels that had less than a given amount of relative uncertainty.
@@ 3513,7 +3524,7 @@ task for this example is to calculate the total dose rate within 2
meters of the cask surface.
.. _fig436:
.. figure:: figs/4.36.png
+.. figure:: figs/MAVRIC/4.36.png
:align: center
MAVRIC model of the TN24P cask. Materials: spent fuel (light and dark yellow), steels (blues), resin (green), and other metals (gray).
@@ 3775,25 +3786,25 @@ chosen adjoint source. Obtaining dose rates on a 10 cm mesh would not be
achievable without the variance reduction capabilities of MAVRIC.
.. _fig437:
.. figure:: figs/4.37.png
+.. figure:: figs/MAVRIC/4.37.png
:align: center
Neutron (left) and photon (right) dose rate response functions.
.. _fig438:
.. figure:: figs/4.38.png
+.. figure:: figs/MAVRIC/4.38.png
:align: center
Distributions in the TN24P model.
.. _fig439:
.. figure:: figs/4.39.png
+.. figure:: figs/MAVRIC/4.39.png
:align: center
Rectilinear mesh tally of total dose rate (rem/hr) and its relative uncertainty along the x=0 plane.
.. _fig440:
.. figure:: figs/4.40.png
+.. figure:: figs/MAVRIC/4.40.png
:align: center
Cylindrical mesh tally of total dose rate (rem/hr) and its relative uncertainty along the θ=0° plane.
diff git a/Monte Carlo Transport Overview.rst b/Monte Carlo Transport Overview.rst
new file mode 100644
index 0000000000000000000000000000000000000000..c09cd409c44858597ed7a6f3aaef45fbcadde0b9
 /d