Commit aa9d21a0 authored by Batson Iii, John's avatar Batson Iii, John
Browse files

Conversion of Chapter 2.

parent 75bc664d
No preview for this file type
.. _CSAS5App:
CSAS5 Appendix A: Additional Example Applications of CSAS5
==========================================================
Additional Example Applications of CSAS5
========================================
Several example uses of CSAS5 are shown in this section for a variety of
applications. Note that many of these examples have been provided since
......
.. _CSAS6App:
Additional Example Applications of CSAS6
========================================
Several example uses of CSAS6 are shown in this section for a variety of applications.
.. _run-KENO-CSAS6:
Run KENO-VI using CSAS6
-----------------------
CSAS6 creates a microscopic working format library and a mixing table
that is passed to KENO-VI. The library is created using
CENTRM/PMC/WORKER to process the cross section data in the resolved
resonance regions of the isotopes contained in the library. CSAS6 then
executes KENO-VI, which calculates *k*\ :sub:`eff` for the problem. The
following examples are for using the multigroup mode of calculation for
KENO-VI. Using the continuous energy mode can be accomplished by simply
changing the library name to one of the continuous energy libraries.
EXAMPLE 1. CSAS6 – Determine the *k*\ :sub:`eff` of a system.
Consider a problem consisting of eight uranium metal cylinders that are
93.2% wt enriched, having a density of 18.76 g/cm\ :sup:`3`. The
cylinders are arranged in a 2 × 2 × 2 array. Each has a radius of
5.748 cm and a height of 10.765 cm. The center-to-center spacing in the
horizontal (X-Y) plane is 13.74 cm and the vertical center-to-center
spacing is 13.01 cm. Because the cross section processing will be done
assuming an infinite homogeneous medium and no cell mixtures are used,
there is no unit cell data. The input data for this problem follow.
.. highlight:: scale
::
=CSAS6
SET UP 2C8 IN CSAS6
V7-238
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 PARAMETERS FLX=YES FDN=YES FAR=YES END PARAMETERS
READ GEOMETRY
UNIT 1
CYLINDER 10 5.748 5.3825 -5.3825
CUBOID 20 6.87 -6.87 6.87 -6.87 6.505 -6.505
MEDIA 1 1 10
MEDIA 0 1 20 -10
BOUNDARY 20
GLOBAL UNIT 2
CUBOID 10 4P13.74 2P13.010
ARRAY 1 10 PLACE 1 1 1 -6.87 -6.87 -6.505
BOUNDARY 10
END GEOMETRY
READ ARRAY
GBL=1 ARA=1 NUX=2 NUY=2 NUZ=2 FILL F1 END FILL
END ARRAY
END DATA
END
EXAMPLE 2. CSAS6 – Determine the *k*\ :sub:`eff` of an array of fuel pellets in
a UO\ :sub:`2`\ F\ :sub:`2` solution.
Consider a 60 cm inside diameter cylindrical tank filled with
5.0%-enriched UO\ :sub:`2` fuel rods and 5.0%‑enriched
UO\ :sub:`2`\ F\ :sub:`2` solution at 295 gm/liter. A 51 × 51 × 1 array
of fuel rods is centered on the bottom of the tank. The fuel rods are
366 cm long, 0.45 cm in radius, clad with 0.01-cm-thick Al, and at a
pitch of 1.5 cm. The fuel rods sit on the bottom of the container and
the container and solution rise 5.0 cm above the top of the rods. The
container is 10 cm thick in the side and bottom and open at the top.
Determine the *k*\ :sub:`eff` of the system. Input data for this problem
follow.
::
=CSAS6
UO2 pins in a UO2F2 solution
V7-238
READ COMP
UO2 1 0.95 300 92235 5.0 92238 95.0 END
AL 2 1.0 300 END
SOLNUO2F2 3 295 0.0 1.0 300 92235 5.0 92238 95.0 END
AL 4 1.0 300 END
SOLNUO2F2 5 295 0.0 1.0 300 92235 5.0 92238 95.0 END
END COMP
READ CELLDATA
LATTICECELL SQUAREPITCH PITCH=1.50 3 FUELD=0.9 1 CLADD=0.94 2 END
END CELLDATA
READ GEOM
UNIT 1
COM='FUEL PIN'
CYLINDER 10 0.45 2P183.0
CYLINDER 20 0.47 2P183.1
CUBOID 30 4P0.75 2P183.1
MEDIA 1 1 10
MEDIA 2 1 20 -10
MEDIA 3 1 30 -20 -10
BOUNDARY 30
GLOBAL UNIT 2
COM='FUEL PINS AND SOLUTION IN TANK'
CUBOID 10 4p38.25 2P183.1
CYLINDER 20 60.0 188.1 -183.1
CYLINDER 30 70.0 188.1 -193.1
ARRAY 1 10 PLACE 26 26 1 3*0.0
MEDIA 5 1 20 -10
MEDIA 4 1 30 -20
BOUNDARY 30
END GEOM
READ ARRAY
ARA=1 NUX=51 NUY=51 NUZ=1 FILL F1 END FILL
END ARRAY
END DATA
END
Run KENO-VI containing cell-weighted mixtures
---------------------------------------------
CSAS6 creates a microscopic working format library and a mixing table
that is passed to KENO-VI. The microscopic cross sections of the
nuclides used in the unit cell geometry description are cell‑weighted by
specifying CELLMIX= followed by a unique mixture number. This mixture
number utilizes the cell-weighted cross sections that represent the
heterogeneous system. CSAS6 executes KENO-VI and calculates *k*\ :sub:`eff` for
the problem.
EXAMPLE 1. CSAS6 – Calculate the *k*\ :sub:`eff` of an array of fuel assemblies
using cell-weighted cross sections.
Consider the 4 × 4 × 1 array of fuel assemblies in a square aluminum
cask described in Sect. 2.2.A.1.1, Example 2. Calculate the *k*\ :sub:`eff` of
the system by using the cell-weighted mixture 200 to represent the fuel
pins in the fuel assembly. Note that mixtures 1, 2, and 3, representing
UO\ :sub:`2`, zirconium, and water, respectively, are used in the unit
cell description. Cell-weighting is applied to the microscopic
cross sections that are used in the cell, making them incorrect for use
elsewhere. Because water is used both inside the cell and between the
fuel assemblies, an additional mixture, mixture 6, has been added to
represent the water between the fuel assemblies. The input data for this
problem follow.
::
=CSAS6
SQUARE FUEL CASK EXAMPLE USING HOMOGENEOUS MOCKUP
V7-238
READ COMP
UO2 1 DEN=9.21 1.0 293. 92235 2.35 92238 97.65 END
ZR 2 1 END
H2O 3 1 END
B4C 4 0.367 END
AL 4 0.636 END
AL 5 1 END
H2O 6 1 END
END COMP
READ CELLDATA
LATTICECELL SQUAREPITCH PITCH=1.3 3 FUELD=0.8 1 CLADD=0.94 2 CELLMIX=200 END
END CELLDATA
READ PARAM FAR=YES GEN=253 END PARAM
READ GEOM
UNIT 2
COM='FUEL ASSEMBLY'
CUBOID 10 4P11.05 2P183.07
CUBOID 20 4P11.70 2P183.72
CUBOID 30 4P12.20 2P184.22
MEDIA 200 1 10
MEDIA 4 1 20 -10
MEDIA 6 1 30 -20 -10
BOUNDARY 30
GLOBAL UNIT 3
COM='FUEL CASK CONTAINING 4X4 ARRAY OF ASSEMBLIES'
CUBOID 10 4P48.8 2P184.22
CUBOID 20 4P58.8 2P194.22
ARRAY 1 10 PLACE 1 1 1 -36.6 -36.6 0.0
MEDIA 5 1 20 -10
BOUNDARY 20
END GEOM
READ ARRAY
ARA=1 NUX=4 NUY=4 NUZ=1 FILL F2 END FILL
END ARRAY
END DATA
END
EXAMPLE 2. CSAS6 – Determine the *k*\ :sub:`eff` of an array of fuel pellets in
a UO\ :sub:`2`\ F\ :sub:`2` solution using cell‑weighted cross sections.
This is the same problem as described in :ref:`run-KENO-CSAS6` Example 2.
However, the rods and solutions have been replaced with a cell-weighted
mixture 50. Determine the *k*\ :sub:`eff` of the container. Input data for this
problem follow.
::
=CSAS6
UO2 pins in a UO2F2 solution, cell-weighted mixture
V7-238
READ COMP
UO2 1 0.95 300 92235 5.0 92238 95.0 END
AL 2 1.0 300 END
SOLNUO2F2 3 295 0.0 1.0 300 92235 5.0 92238 95.0 END
AL 4 1.0 300 END
SOLNUO2F2 5 295 0.0 1.0 300 92235 5.0 92238 95.0 END
END COMP
READ CELLDATA
LATTICECELL SQUAREPITCH PITCH=1.50 3 FUELD=0.9 1 CLADD=0.94 2 CELLMIX=50 END
END CELLDATA
READ GEOM
GLOBAL UNIT 2
COM='FUEL PINS AND SOLUTION IN TANK'
CUBOID 10 4p38.25 2P183.1
CYLINDER 20 60.0 188.1 -183.1
CYLINDER 30 70.0 188.1 -193.1
MEDIA 50 1 10
MEDIA 5 1 20 -10
MEDIA 4 1 30 -20
BOUNDARY 30
END GEOM
END DATA
END
Run KENO-VI containing multiple unit cells
------------------------------------------
CSAS6 can create a microscopic working format library and a mixing table
that contains more than one unit cell. Each unit cell is explicitly
defined in the CELLDATA section of the standard composition data.
Materials may appear in only one unit cell. All materials in the
standard composition that are not contained in a unit cell are processed
assuming infinite homogeneous media. CSAS6 passes the created working
library to KENO-VI which calculates *k*\ :sub:`eff` for the problem.
EXAMPLE 1. CSAS6 – Calculate the *k*\ :sub:`eff` of a system using two unit
cell descriptions.
Consider an infinite XY-array composed of two types of fuel assemblies
in a checkerboard pattern moderated by water. Each assembly consists of
a 17 × 17 × 1 array of zirconium-clad, enriched UO\ :sub:`2` fuel pins
in a square pitched array. In one array the uranium is 3.5%-enriched and
in the other array the uranium is 2.9%-enriched. The UO\ :sub:`2` has a
density of 9.21 g/cm\ :sup:`3`. The pin diameter is 0.8 cm and is 366 cm
long. The clad is 0.07 cm thick, and the pitch is 1.3 cm. Each fuel
bundle is contained in a 0.65-cm-thick Boral sheath. The bundles are
separated by an edge-to-edge spacing of 1.0 cm. The water and zirconium
is input in the standard composition data once for every unit cell in
which it appears because a material may appear in only one unit cell.
Determine the *k*\ :sub:`eff` of the infinite array. Note that periodic
boundary conditions are required to obtain an infinite checkerboard
array. Input data for this problem follow.
::
=CSAS6
2 SQUARE FUEL ASSEMBLIES EXAMPLE IN AN INFINITE LATTICE OF ASSEMBLIES
V7-238
READ COMP
UO2 1 DEN=9.21 1.0 293. 92235 3.5 92238 96.5 END
ZR 2 1 END
H2O 3 1 END
UO2 4 DEN=9.21 1.0 293. 92235 2.9 92238 97.1 END
ZR 5 1 END
H2O 6 1 END
B4C 7 0.367 END
AL 7 0.636 END
END COMP
READ CELLDATA
LATTICECELL SQUAREPITCH PITCH=1.3 3 FUELD=0.8 1 CLADD=0.94 2 END
LATTICECELL SQUAREPITCH PITCH=1.3 6 FUELD=0.8 4 CLADD=0.94 5 END
END CELLDATA
READ PARAM FAR=YES GEN=253 END PARAM
READ GEOM
UNIT 1
COM='3.5 W% FUEL PIN'
CYLINDER 10 0.4 2P183.0
CYLINDER 20 0.47 2P183.07
CUBOID 30 4P0.65 2P183.07
MEDIA 1 1 10
MEDIA 2 1 20 -10
MEDIA 3 1 30 -20 -10
BOUNDARY 30
UNIT 2
COM='3.5 W% FUEL ASSEMBLY'
CUBOID 10 4P11.05 2P183.07
CUBOID 20 4P11.7 2P183.72
CUBOID 30 4P12.2 2P184.22
ARRAY 1 10 PLACE 9 9 1 3*0.0
MEDIA 7 1 20 -10
MEDIA 3 1 20 -20 -20
BOUNDARY 30
UNIT 3
COM='2.9 W% FUEL PIN'
CYLINDER 10 0.4 2P183.0
CYLINDER 20 0.47 2P183.07
CUBOID 30 4P0.65 2P183.07
MEDIA 4 1 10
MEDIA 5 1 20 -10
MEDIA 6 1 30 -20 -10
BOUNDARY 30
UNIT 4
COM='2.9 W% FUEL ASSEMBLY'
CUBOID 10 4P11.05 2P183.07
CUBOID 20 4P11.7 2P183.72
CUBOID 30 4P12.2 2P184.22
ARRAY 2 10 PLACE 9 9 1 3*0.0
MEDIA 7 1 20 -10
MEDIA 6 1 20 -20 -20
BOUNDARY 30
GLOBAL UNIT 5
COM='FUEL CASK CONTAINING 4X4 ARRAY OF ASSEMBLIES'
CUBOID 10 4P24.4 2P184.22
ARRAY 3 10 PLACE 1 1 1 -12.2 -12.2 0.0
BOUNDARY 10
END GEOM
READ ARRAY
ARA=1 NUX=17 NUY=17 NUZ=1 FILL F1 END FILL
ARA=2 NUX=17 NUY=17 NUZ=1 FILL F3 END FILL
GBL=3 ARA=3 NUX=2 NUY=2 NUZ=1 FILL 2 4 4 2 END FILL
END ARRAY
READ BOUNDS XYF=PERIODIC END BOUNDS
END DATA
END
EXAMPLE 2. CSAS6 – Calculate the *k*\ :sub:`eff` of a system using two unit
cell descriptions and cell-weighted mixtures.
Consider a problem in which a stainless steel cylinder with an inner
diameter of 56 cm and an inside height of 91 cm is filled with pellets
of UO\ :sub:`2` in borated water. The steel is 0.125 cm thick. The
spherical 2.57%-enriched UO\ :sub:`2` pellets have a diameter of 1.07 cm
and are arranged in a triangular pitch array with a pitch of 1.13 cm.
The spherical 2.96%-enriched UO\ :sub:`2` pellets have a diameter of
1.07 cm and are arranged in a triangular pitch array with a pitch of
1.12 cm. The cylindrical tank is filled half full of the 2.96% pellets
in borated water, and the remainder is filled with the 2.57%-enriched
pellets in borated water.
Mixture 100 is the cell-weighted mixture containing the 2.57%-enriched
uranium pellets and mixture 200 is the cell-weighted mixture containing
the 2.96%-enriched uranium pellets. Determine the *k*\ :sub:`eff` of this
system. Input data for this problem follow.
::
=CSAS6
2.57% AND 2.96% ENR UO2 PELLETS IN 3500 PPM BORATED WATER
V7-238
READ COMP
UO2 1 0.925 283 92235 2.57 92238 97.43 END
H2O 2 1.0 283 END
ATOMBACID 2 2.0017-2 3 5000 1 1001 3 8016 3 1.0 283 END
UO2 3 0.925 283 92235 2.96 92238 97.04 END
H2O 4 1.0 283 END
ATOMBACID 4 2.0017-2 3 5000 1 1001 3 8016 3 1.0 283 END
SS304 5 1.0 283 END
END COMP
READ CELLDATA
LATTICECELL CELLMIX=100 SPHTRIANGP PITCH=1.13 2 FUELD=1.07 1 END
LATTICECELL CELLMIX=200 SPHTRIANGP PITCH=1.13 4 FUELD=1.07 3 END
END CELLDATA
READ PARAM FLX=YES END PARAM
READ GEOM
GLOBAL UNIT 1
CYLINDER 10 38.0 45.5 0.0
CYLINDER 20 38.0 91.0 0.0
CYLINDER 30 38.125 91.0 -0.125
MEDIA 100 1 10
MEDIA 200 1 20 -10
MEDIA 5 1 30 -20
BOUNDARY 30
END GEOM
END DATA
END
.. _DEVC:
DEVC: Denovo EigenValue Calculation
===================================
*Douglas E. Peplow and Cihangir Celik*
Introduction
------------
The DEVC (Denovo EigenValue Calculation) sequence is an interface to the
Denovo discrete-ordinates package :cite:`evans_denovo_2010` for calculating criticality
eigenvalue problems. This sequence reads an input file very similar to a
CSAS6 input file :cite:`goluoglu_monte_2011` that contains an extra block of input for
describing the Denovo mesh grid and calculational parameters. Many of
the subroutines are shared from the MAVRIC routines that interface with
Denovo for fixed-source calculations.
This manual assumes that the user is familiar with the
discrete-ordinates method for radiation transport and the Denovo
package. DEVC provides an easy way for users to modify existing CSAS6
inputs and use them to run Denovo. The DEVC sequence also provides a way
to create mesh geometry for Denovo from the combinatorial solid geometry
description used by KENO-VI.
The steps in the DEVC sequence are listed in :numref:`tab2-4a-1`.
.. _tab2-4a-1:
.. table:: Steps in DEVC for an input file named *input*.inp
:align: center
+-----------------+-----------------+-----------------+-----------------+
| Step | Module/Task | Creates file | To stop after |
+=================+=================+=================+=================+
| 0 | Check user | | |
| | input | | |
+-----------------+-----------------+-----------------+-----------------+
| | | | |
+-----------------+-----------------+-----------------+-----------------+
| 1 | Self-shielding | | |
| | (celldata/cellm | | |
| | ix) | | |
| | calculations | | |
+-----------------+-----------------+-----------------+-----------------+
| | | | |
+-----------------+-----------------+-----------------+-----------------+
| 2 | Produces | | |
| | optional \*.png | | |
| | plots | | |
+-----------------+-----------------+-----------------+-----------------+
| | Produces | | ``parm=check`` |
| | optional | | |
| | \*.3mdap files | | |
| | (to visualize | | |
| | grid in | | |
| | MeshFileViewer) | | |
+-----------------+-----------------+-----------------+-----------------+
| | | | |
+-----------------+-----------------+-----------------+-----------------+
| 3 | Creates AMPX | ``ft02f001`` | ``parm=cross`` |
| | cross sections | | |
| | for the real | | |
| | materials | | |
+-----------------+-----------------+-----------------+-----------------+
| | | | |
+-----------------+-----------------+-----------------+-----------------+
| 4 | Creates Denovo | ``xkba_b.inp`` | ``parm=input`` |
| | binary stream | | |
| | input file and | ``input.mmt`` | |
| | the | | |
| | | | |
| | macromaterial | | |
| | table file | | |
+-----------------+-----------------+-----------------+-----------------+
| | | | |
+-----------------+-----------------+-----------------+-----------------+
| 5 | Runs Denovo to | ``input.dff`` or| |
| | compute | | |
| | :math:`k_{ | ``input.dso`` | |
| | \text{eff}}` | | |
| | and | | |
| | either the | | |
| | fluxes or the | | |
| | fission source | | |
+-----------------+-----------------+-----------------+-----------------+
The DEVC sequence uses KENO-VI geometry. Users can specify what output
Denovo will generate: fluxes by space and energy in a binary \*.dff
(Denovo flux file) file or the space-only fission source distribution in
a binary \*.dso (Denovo spatial output) file. The eigenvalue is printed
in the main output text file.
Some of the more common KENO starting source types are supported. Other
starting source types may be added or extended to all of the different
array types in the future. Currently, starting sources are not sent to
Denovo because the Arnoldi solver does not use it. This may change in
the future.
Sequence input
--------------
The input file for a DEVC calculation looks similar to a CSAS6 input
file, as shown in :numref:`tab2-4a-2`. The major difference is that the
parameter block contains information for the Denovo calculation, not the
KENO Monte Carlo calculation. A macromaterial block is used to describe
how the KENO-VI materials are mapped onto the Denovo mesh grid. Only
multi-group cross-section libraries can be used with Denovo.
.. list-table:: Input file for a DEVC calculation (and differences with a CSAS6 input file, where black text is the same as CSAS6 and green text is new for DEVC sequence)
:name: tab2-4a-2
:align: center
* - .. image:: figs/DEVC/tab2.png
Parameters block
~~~~~~~~~~~~~~~~
This block contains the parameters for the Denovo eigenvalue
calculation, the grid geometry, and the macromaterials. Boundary
conditions listed in the parameters block will override those listed in
the bounds block (using CSAS6 syntax). :numref:`tab2-4a-3` lists the Denovo
calculation parameters and their default values, and :numref:`tab2-4a-4` lists
the keywords for the setting the boundary conditions and file saving
options. The grid geometry is defined in a sub-block in the parameters
block, or the keyword ``gridGeometryID=\ *n*\ `` can be used to point to a
grid geometry defined in its own input block.
.. list-table:: Denovo parameters in the parameters block
:align: center
:name: tab2-4a-3
* - .. image:: figs/DEVC/tab3.png
.. list-table:: Boundary conditions and what type of file to save
:align: center
:name: tab2-4a-4
* - .. image:: figs/DEVC/tab4.png
Grid geometry block
~~~~~~~~~~~~~~~~~~~
Grid geometries (``gridGeometry`` *id*\ ) require an identification number
and then a description of a three-dimensional rectangular mesh by
specifying the bounding planes of the cells in each of the *x*, *y*, and
*z* dimensions. The keyword ``xPlanes end`` can be used to list plane
values (in any order). The keyword ``xLinear`` *n* *a* *b*\ can be used
to specify *n* cells between *a* and *b*. The keywords ``xPlanes`` and
``xLinear`` can be used together and multiple times they will simply add
planes to any already defined for that dimension. Any duplicate planes
will be removed. Similar keywords are used for the *y* and *z*
dimensions.
When using multiple instances of the keywords \*``Linear`` and \*``Planes`` for
a given dimension, duplicates should be removed from the final list. In
some cases, double precision math will leave two planes that are nearly
identical but not removed (e.g., 6.0 and 5.9999999). To prevent this, a
default tolerance is set to remove planes that are within 10\ :sup:`-6`
cm of each other. The user is free to change this by using the keyword
``tolerance=`` and specifying something else. Note that the tolerance can
be reset to a different value in between each use of \*``Linear`` or
\*``Planes``.
The keyword ``make3dmap`` for a particular grid geometry definition will
create a file called \ *outputName*.grid\ *id*.3dmap, which can be
visualized using the Java Mesh File Viewer. These files will contain
crude geometry information (unit, region, material) that corresponds to
the center of each voxel.
Keywords for the grid geometry block are listed in :numref:`tab2-4a-5`.
.. list-table:: Grid geometry input keywords
:align: center
:name: tab2-4a-5
* - .. image:: figs/DEVC/tab5.png
Macromaterial block
~~~~~~~~~~~~~~~~~~~
In order to get more accurate solutions from a coarse-mesh
discrete-ordinates calculation, Denovo can represent the material in
each voxel of the mesh as a volume-weighted mixture of the real
materials in the problem. When constructing the Denovo input, DEVC can
estimate the volume fraction taken by each real material in each voxel
by a sampling method. The user can specify parameters for how to sample
the geometry. Note that finer sampling makes more accurate estimates of
the material fraction but requires more setup time to create the Denovo
input. Users should understand how the macromaterials are sampled and
consider that when constructing a mesh grid. This is especially
important for geometries that contain arrays. Careful consideration
should be given when overlaying a mesh on a geometry that contains
arrays of arrays.
Because the list of macromaterials could become large, the user can also
specify a tolerance for how close two different macromaterials can be to
be considered the same, thereby reducing the total number of
macromaterials. The macromaterial tolerance, ``mmTolerance=``, is used for
creating a different macromaterial from the ones already created by
looking at the infinity norm between two macromaterials.
The number of macromaterials does not appreciably impact Denovo run time
or memory requirements.
Keywords for the macromaterial block are listed :numref:`tab2-4a-6`. Two
different sampling methods are available ray tracing :cite:`ibrahim_improving_2009` with the
keyword ``mmRayTest`` and point testing :cite:`johnson_fast_2013` with the keyword ``mmPointTest``.
.. list-table:: Macromaterial block input
:align: center
:name: tab2-4a-6
* - .. image:: figs/DEVC/tab6.png
Ray tracing
^^^^^^^^^^^
This method estimates the volume of different materials in the Denovo
mesh grid elements by throwing rays through the KENO-VI geometry and
computing the average track lengths through the each material. Rays are
traced in all three dimensions to better estimate the volume fractions
of materials within each voxel. The ``mmSubCell`` parameter controls how
many rays to trace in each voxel in each dimension. For example, if
``mmSubCell=``\ :math:`\text{\ n}`, then when tracing rays in the
*z* dimension, each column of voxels uses a set of :math:`n \times n`
rays starting uniformly spaced in the *x* and *y* dimensions. With rays
being cast from all three orthogonal directions, then a total of
:math:`3n^{2}` rays are used to sample each voxel. One can think of
subcells as an equally spaced sub-mesh with a single ray positioned at
each center. The number of subcells in each direction, and hence the
number of rays, can be explicitly given with ``mmSubCells ny nz nx nz nx
ny end`` keyword for rays parallel to the :math:`x` axis, :math:`y` axis,
and :math:`z` axis. :numref:`fig2-4a-1` shows different subcell
configurations (in two dimensions) for a given voxel.
.. _fig2-4a-1:
.. figure:: figs/DEVC/fig1.png
:align: center
:width: 500
</