\subsubsection{The {\tt EXCELT:} tracking module}\label{sect:EXCELLData}

The {\tt EXCELT:} module provides an implementation of the collision probability (PIJ) method or of the method of characteristics (MOC).
The calling specification for this module is:

\begin{DataStructure}{Structure \dstr{EXCELT:}}
\dusa{TRKNAM} $[$ \dusa{TRKFIL} $]$
\moc{:=} \moc{EXCELT:} $[$ \dusa{TRKNAM} $]$ $[$ \dusa{TRKFIL} $]$ 
\dusa{GEONAM} \moc{::}  \dstr{desctrack} \dstr{descexcel}
\end{DataStructure}

\noindent  where
\begin{ListeDeDescription}{mmmmmmm}

\item[\dusa{TRKNAM}] {\tt character*12} name of the \dds{tracking} data
structure that will contain region volume and surface area vectors in
addition to region identification pointers and other tracking information.
If \dusa{TRKNAM} also appears on the RHS, the previous tracking 
parameters will be applied by default on the current geometry.

\item[\dusa{TRKFIL}] {\tt character*12} name of the sequential binary tracking
file  used to store the tracks lengths. If \dusa{TRKFIL} does not appear, the keyword
\moc{XCLL} is set automatically. If the user wants to use a tracking file,
\dusa{TRKFIL} is required for the \moc{EXCELT:} module, either on the LHS, on the RHS or on both sides. In
the case where \dusa{TRKFIL} appears on both LHS and RHS, the existing tracking
file is modified by the module while if \dusa{TRKFIL} appears only on the RHS,
the existing tracking file is read but not modified.

\item[\dusa{GEONAM}] {\tt character*12} name of the \dds{geometry} data
structure.

\item[\dstr{desctrack}] structure describing the general tracking data (see
\Sect{TRKData})

\item[\dstr{descexcel}] structure describing the transport tracking data
specific to \moc{EXCELT:}.

\end{ListeDeDescription}

\vskip 0.15cm

The \moc{EXCELT:} specific tracking data in \dstr{descexcel} is defined as

\begin{DataStructure}{Structure \dstr{descexcel}}
$[$ \moc{ANIS} \dusa{nanis} $]$ \\
$[~\{$ \moc{ONEG} $|$ \moc{ALLG} $[$ \moc{BATCH} \dusa{nbatch} $]~|$ \moc{XCLL} $\}~]$ \\
$[~\{$ \moc{TREG}  $|$ \moc{TMER} $\}~]$ \\
$[$ $\{$ \moc{PISO} $|$ \moc{PSPC} $[$ \moc{CUT} \dusa{pcut} $]$ $\}$ $]$ \\
$[~[$ \moc{QUAB} \dusa{iquab} $]~[~\{$ \moc{SAPO} $|$ \moc{HEBE} $|$ \moc{SLSI} $[$ \dusa{frtm} $]~\}~]~]$ \\
$[$ $\{$ \moc{PRIX} $|$  \moc{PRIY} $|$ \moc{PRIZ} $\}$ \dusa{denspr} $]$ \\
$[$ $\{$ \moc{LCMD} $|$ \moc{OPP1} $|$ \moc{OGAU} $|$ \moc{GAUS} $|$ \moc{CACA} $|$ \moc{CACB} $\}~[$ \dusa{nmu} $]~]$ \\
$[$ \moc{TRAK}  $\{$  \moc{TISO} \dusa{nangl} $[$ \dusa{nangl\_z} $]$ \dusa{dens} $[$ \dusa{dens\_z} $]~[$ \moc{CORN} 
\dusa{pcorn} $]$  $[$ \moc{SYMM} \dusa{isymm} $|$ \moc{NOSY} $]$ $|$ \\
\moc{TSPC} $[$ \moc{MEDI}  $]$ \dusa{nangl} \dusa{dens} $|$ \moc{HALT} $\}$ $]$ \\
{\tt ;}
\end{DataStructure}

\noindent
where

\begin{ListeDeDescription}{mmmmmmmm}

\item[\moc{ANIS}] keyword to specify the order of scattering anisotropy. 

\item[\dusa{nanis}] order of anisotropy in transport calculation.
A default value of 1 represents isotropic (or transport-corrected) scattering while a value of 2
correspond to linearly anisotropic scattering. When anisotropic scattering is considered, user should pay attention to the following points:
\begin{itemize}
\item the usage of \moc{DIAG}, \moc{SYME}, \moc{SSYM} keywords in the definition of the geometry is forbidden. Indeed, in \moc{EXCELT:}/\moc{NXT:} tracking procedures, the geometry is ``unfolded'' according to these symmetries : this is incompatible with the integration of the anisotropic moments of the flux; \\
\item the angular quadratures should be selected paying attention to the restrictions mentioned in this manual in order to ensure the particle conservation.
\end{itemize}

\item[\moc{ONEG}] keyword to specify that the tracking is read before computing each group-dependent collision
probability or algebraic collapsing matrix (default value if \dusa{TRKFIL} is set). The tracking file is
read in each energy group if the method of characteristics (MOC) is used.

\item[\moc{ALLG}] keyword to specify that the tracking is read once and the collision
probability or algebraic collapsing matrices are computed in many energy groups.  The tracking file is
read once if the method of characteristics (MOC) is used.
 
\item[\moc{XCLL}] keyword to specify that the tracking is computed {\sl on-demand} (it is not stored on a file) and the
collision probability matrices are computed in many energy groups. The tracking
file \dusa{TRKFIL} should {\sl not} be provided (default value if \dusa{TRKFIL} is not set).

\item[\moc{BATCH}] keyword to specify the number of tracks processed by each core for each energy group. OpenMP parallelization is processing each energy group on a different core. The default value is \dusa{nbatch} $=1$.

\item[\dusa{nbatch}] the number of tracks processed by each core. Usually, a value \dusa{nbatch} $\ge 100$ is recommended.

\item[\moc{TREG}] keyword to specify that the normalization procedure of the integration lines activated by keywords \moc{RENO}
or \moc{REND} in Sect.~\ref{sect:TRKData} is to be performed with respect of the fine volumes as specified in the {\tt KEYFLX} record
of the tracking object. This is the default option.

\item[\moc{TMER}] keyword to specify that the normalization procedure of the integration lines activated by keywords \moc{RENO}
or \moc{REND} in Sect.~\ref{sect:TRKData} is to be performed with respect of the {\sl merged volumes} as specified in the {\tt KEYMRG} record
of the tracking object.

\item[\moc{PISO}] keyword to specify that a collision probability calculation
with isotropic reflection boundary conditions is required. It is the default
option if a \moc{TISO} type integration is chosen. To obtain accurate
transmission probabilities for the isotropic case it is recommended that the
normalization options in the \moc{ASM:} module be used.

\item[\moc{PSPC}] keyword to specify that  a collision probability calculation
with specular reflection boundary conditions required; this is the default
option if a \moc{TSPC} type integration is chosen. This calculation is only
possible if the file was initially constructed using the \moc{TSPC} option. 

\item[\moc{CUT}] keyword to specify the input of cutting parameters for the
specular integration.

\item[\dusa{pcut}] real value representing the maximum error allowed on the
exponential function used for specular collision probability calculations.
Tracks will be cut at a length such that the error in the probabilities
resulting from this reduced track will be of the order of \dusa{pcut}. By
default, there is no cutting of the tracks and \dusa{pcut}=0.0. If this option
is used in an entirely reflected case, it is preferable to use the \moc{NORM}
command in the \moc{ASM:} module.

\item[\moc{QUAB}] keyword to specify the number of basis point for the
numerical integration of each micro-structure in cases involving double
heterogeneity (Bihet).

\item[\dusa{iquab}] the number of basis point for the numerical integration of
the collision probabilities in the micro-volumes using the  Gauss-Jacobi
formula. The values permitted are: 1 to 20, 24, 28, 32 or  64. The default value
is \dusa{iquab}=5. If \dusa{iquab} is negative, its absolute value will be used in the She-Liu-Shi approach to determine the
split level in the tracking used to compute the probability collisions.

\item[\moc{SAPO}] use the Sanchez-Pomraning double-heterogeneity model.\cite{sapo}

\item[\moc{HEBE}] use the Hebert double-heterogeneity model (default option).\cite{BIHET}

\item[\moc{SLSI}] use the She-Liu-Shi double-heterogeneity model without shadow effect.\cite{She2017}

\item[\dusa{frtm}] the minimum microstructure volume fraction used to compute the size of the equivalent cylinder in She-Liu-Shi approach. The default value is \dusa{frtm} $=0.05$.

\item[\moc{PRIX}] keyword to specify that a prismatic tracking is considered for a 3D geometry invariant along the $x-$ axis. In this case, the 3D geometry is projected in the $y-z$ plane and a 2D tracking on the projected geometry is performed. This capability is limited to the non-cyclic method of characteristics solver for the time being and a subsequent call to \moc{MCCGT:} is mandatory.

\item[\moc{PRIY}] keyword to specify that a prismatic tracking is considered for a 3D geometry invariant along the $y-$ axis. In this case, the 3D geometry is projected in the $z-x$ plane and a 2D tracking on the projected geometry is performed. This capability is limited to the method of characteristics solver for the time being and a subsequent call to \moc{MCCGT:} is mandatory.

\item[\moc{PRIZ}] keyword to specify that a prismatic tracking is considered for a 3D geometry invariant along the $z-$ axis. In this case, the 3D geometry is projected in the $x-y$ plane and a 2D tracking on the projected geometry is performed. This capability is limited to the method of characteristics solver for the time being and a subsequent call to \moc{MCCGT:} is mandatory.

\item[\dusa{denspr}] real value representing the linear track density (in cm$^{-1}$) to be used for the inline contruction of 3D tracks from 2D tracking when a prismatic tracking is considered.

\item[\moc{LCMD}] keyword to specify that optimized (McDaniel--type) polar integration angles are to be
selected for the polar quadrature when a prismatic tracking is considered.\cite{LCMD} This is the default option. The conservation is ensured only for isotropic scattering.

\item[\moc{OPP1}] keyword to specify that $P_1$ constrained optimized (McDaniel--type) polar integration angles are to be selected for the polar quadrature when a prismatic tracking is considered.\cite{LeTellierpa} The conservation is ensured only for isotropic and linearly anisotropic scattering.

\item[\moc{OGAU}] keyword to specify that Optimized Gauss polar integration angles are to be
selected for the method of characteristics.\cite{LCMD,LeTellierpa} The conservation is ensured up to $P_{\dusa{nmu}-1}$ scattering.

\item[\moc{GAUS}] keyword to specify that Gauss-Legendre polar integration angles are to be selected for the polar quadrature when a prismatic tracking is considered. The conservation is ensured up to $P_{\dusa{nmu}-1}$ scattering.

\item[\moc{CACA}] keyword to specify that CACTUS type equal weight polar integration angles are to be
selected for the polar quadrature when a prismatic tracking is considered.\cite{CACTUS} The conservation is ensured only for isotropic scattering.

\item[\moc{CACB}] keyword to specify that CACTUS type uniformly distributed integration polar angles
are to be selected for the polar quadrature when a prismatic tracking is considered.\cite{CACTUS} The conservation is ensured only for isotropic scattering.

\item[\dusa{nmu}] user-defined number of polar angles. By default, a value consistent with \dusa{nangl} is computed by the code. For \moc{LCMD}, \moc{OPP1}, \moc{OGAU} quadratures, \dusa{nmu} is limited to 2, 3 or 4.

\item[\moc{TRAK}] keyword to specify the tracking parameters to be used. 

\item[\moc{TISO}] keyword to specify that isotropic tracking parameters will
be supplied. This is the default tracking option for cluster geometries.


\item[\moc{TSPC}] keyword to specify that specular tracking parameters will be
supplied.

\item[\moc{MEDI}] keyword to specify that instead of selecting the angles
located at the end of each angular interval, the angles located in the middle of
these intervals are selected. This is particularly useful if one wants to avoid
tracking angles that are parallel to the $X-$ or $Y-$axis as its is the case
when the external region of a \moc{CARCEL} geometry is voided.

\item[\dusa{nangl}] angular quadrature parameter. For applications involving
3--D cells, the choices are  \dusa{nangl}=2, 4, 8, 10, 12, 14 or 16; these
angular quadratures  $EQ_{n}$ present a rotational symmetry about the three
cartesian axes. For 2--D isotropic  applications, any value of  \dusa{nangl} $\ge 2$ may
be used; equidistant angles will be selected. For 2--D specular applications the
input value must be of the form $p+1$ where $p$ is a prime number (for example
$p$=7, 11, etc.); the choice of \dusa{nangl} = 8, 12, 14, 18, 20, 24, or 30 are
allowed. For cluster type geometries the default value is \dusa{nangl}=10 for
isotropic cases and \dusa{nangl}=12 for specular cases.

\item[\dusa{nangl\_z}] angular quadrature parameter in the axial $Z$ direction. Used only
with \dusa{HEXZ} and \dusa{HEXCELZ} geometries.

\item[\dusa{dens}] real value representing the density of the integration
lines (in $cm^{-1}$ for 2--D cases and $cm^{-2}$ for 3--D cases). This choice of
density along the plan perpendicular to each angle depends on the geometry of
the cell to be analyzed. If there are zones of very small volume, a high line
density is essential. This value will be readjusted by \moc{EXCELT:}. In the case
of the analysis of a cluster type geometry the default value of this parameter
is $5/r_{m}$ where $r_{m}$ is the minimum radius of the pins or the
minimum thickness of an annular ring in the geometry. If the selected value of \dusa{dens}
is too small, some volumes or surfaces may not be tracked.

\item[\dusa{dens\_z}] real value representing the density of the integration
lines in the axial $Z$ direction. Used only with \dusa{HEXZ} and \dusa{HEXCELZ} geometries.

\item[\moc{CORN}] keyword to specify that the input of the parameters used to
treat the corners for the isotropic integration.

\item[\dusa{pcorn}] maximum distance (cm) between a line and the intersection
of $n\ge 2$ external surfaces where track redistribution will take place. Track
redistribution will take place if a line comes close to the intersection of
$n\ge 2$ external surfaces. In this case the line will be replicated $n$ times,
each of these lines being associated with a different external surface, while
its weight is reduced by a factor of $1/n$. This allows for a better
distribution of tracks which are relatively close to $n$ external surfaces. By
default, there is no treatment of the corners and \dusa{pcorn}=0.0.

\item[\moc{SYMM}] keyword to specify that the geometry has a rotation
symmetry.

\item[\dusa{isymm}] integer value describing the rotation symmetry of the
geometry. The fixed default of this parameter is 1.

\item[\moc{NOSY}] \moc{EXCELT:} automatically try to take into account
geometric symmetries in order to reduce the number of tracks and the CPU
time. The \moc{NOSY} keyword desactivates this automatic capability.

\item[\moc{HALT}] keyword to specify that the program is to be stopped after
the analysis of the geometry, without the explicit tracking being performed.

\end{ListeDeDescription}
\eject
