\subsection{The {\tt ASM:} module}\label{sect:ASMData} We will now describe the assembly modules which can be used to prepare the group-dependent complete collision probability or the assembly matrices required by the flux solution module of DRAGON. The assembly module {\tt ASM:} is generally called after a tracking module; it recovers tracking lengths and material numbers from the sequential tracking file and then computes the collision probability or group--dependent system matrices under various normalizations. The calling specifications are: \begin{DataStructure}{Structure \dstr{ASM:}} \dusa{PIJNAM} \moc{:=} \moc{ASM:} $[$ \dusa{PIJNAM} $]$ \dusa{LIBNAM} \dusa{TRKNAM} $[$ \dusa{TRKFIL} $]$ \moc{::} \dstr{descasm} \end{DataStructure} \noindent where \begin{ListeDeDescription}{mmmmmmmm} \item[\dusa{PIJNAM}] {\tt character*12} name of \dds{asmpij} data structure containing the system matrices. If \dusa{PIJNAM} appears on the RHS, the \dstr{descasm} information previously stored in \dusa{PIJNAM} is kept. \item[\dusa{LIBNAM}] {\tt character*12} name of the \dds{macrolib} or \dds{microlib} data structure that contains the macroscopic cross sections (see \Sectand{MACData}{LIBData}). \item[\dusa{TRKNAM}] {\tt character*12} name of the \dds{tracking} data structure containing the tracking (see \Sect{TRKData}). \item[\dusa{TRKFIL}] {\tt character*12} name of the sequential binary tracking file used to store the tracks lengths. This file is given if and only if it was required in the previous tracking module call (see \Sect{TRKData}). \item[\dstr{descasm}] structure containing the input data to this module (see \Sect{descasm}). \end{ListeDeDescription} \subsubsection{Data input for module {\tt ASM:}}\label{sect:descasm} \begin{DataStructure}{Structure \dstr{descasm}} $[$ \moc{EDIT} \dusa{iprint} $]$ \\ $[$ $\{$ \moc{ARM} $|$ \\ ~~~~$\{$ \moc{PIJ} $|$ \moc{PIJK} $\}$ $[$ \moc{SKIP} $]$ \\ ~~~~$[$ $\{$ \moc{NORM} $|$ \moc{ALBS} $\}$ $]$ \\ ~~~~$[$ \moc{PNOR} $\{$ \moc{NONE} $|$ \moc{DIAG} $|$ \moc{GELB} $|$ \moc{HELI} $|$ \moc{NONL} $\}$ $]$ \\ $\}$ $]$ \\ $[~\{$ \moc{ECCO} $|$ \moc{HETE} $\}~]$ \\ {\tt ;} \end{DataStructure} \noindent where \begin{ListeDeDescription}{mmmmmmmm} \item[\moc{EDIT}] keyword used to modify the print level \dusa{iprint}. \item[\dusa{iprint}] index used to control the printing of this module. The amount of output produced by this tracking module will vary substantially depending on the print level specified. \item[\moc{ARM}] keyword to specify that an assembly calculation is carried out without building the full collision probability matrices. This option can only be used for a geometry tracked using the interface current method (with EURYDICE-2 option within \moc{SYBILT:} or with the multicell surfacic approximation within \moc{SALT:}), \moc{MCCGT:} or \moc{SNT:} module. By default, the \moc{PIJ} option is used. \item[\moc{PIJ}] keyword to specify that the standard scattering-reduced collision probabilities must be computed. This option cannot be used with the \moc{MCCGT:} and \moc{SNT:} modules. This is the default option. \item[\moc{PIJK}] keyword to specify that both the directional and standard scattering-reduced collision probabilities must be computed. Moreover, the additional directional collision probability matrix can only be used if \moc{HETE} is activated in \Sect{FLUData}. Finally, the \moc{PIJK} option is only available for 2--D geometries analyzed with the operator \moc{EXCELT:} with collision probability option. By default, the \moc{PIJ} option is used. \item[\moc{SKIP}] keyword to specify that only the reduced collision probability matrix $p^{g}_{ij}$ is to be computed. In general, the scattering modified collision probability matrix $p^{g}_{s,ij}$ is also computed using: $$ p^{g}_{s,ij}=\left[ I-p^{g}_{ij} \Sigma^{g\to g}_{s0} \right] ^{-1} p^{g}_{ij} $$ where $\Sigma^{g\to g}_{s0}$ is the within group isotropic scattering cross section. When available, $p^{g}_{s,ij}$ is used in the flux solution module in such a way that for the groups where there is no up-scattering, the thermal iteration is automatically deactivated. In the case where the \moc{SKIP} option is activated, the $p^{g}_{ij}$ matrix is used and thermal iterations are required in every energy group. Consequently, the total number of inner iterations is greatly increased. \item[\moc{NORM}] keyword to specify that the scattering-reduced collision probability matrix is to be normalized in such a way as to eliminate all neutron loss (even if the region under consideration has external albedo boundary conditions which should result in neutron loss). When used with a void boundary condition (zero reentrant current), this option is equivalent to imposing {\it a posteriori} a uniform reentrant current. \item[\moc{ALBS}] keyword to specify that a consistent Selengut normalization of the scattering-reduced collision probability matrix is to be used both for the flux solution module (see \Sect{FLUData}) and in the equivalence calculation (see \Sect{EDIData}). This keyword results in storing the scattering-reduced escape probabilities $W_{iS}$ in the record named {\tt 'DRAGON-WIS'}. For all the cases where this option is used, it is necessary to define a geometry with \moc{VOID} external boundary conditions (see \Sect{GEOData}). \item[\moc{PNOR}] keyword to specify that the collision, leakage and escape probability matrices are to be normalized in such a way as to satisfy explicitly the neutron conservation laws. This option compensates for the errors which will arise in the numerical evaluation of these probabilities and may result in non-conservative collision probability matrices. The default option is now \moc{HELI} while it was formerly \moc{GELB} ({\bf Revision 3.03}). \item[\moc{NONE}] keyword to specify that the probability matrices are not to be renormalized. \item[\moc{DIAG}] keyword to specify that only the diagonal element of the probability matrices will be modified in order to insure the validity of the conservation laws. \item[\moc{GELB}] keyword to specify that the Gelbard algorithm will be used to normalize the collision probability matrices.\cite{RENOR} \item[\moc{HELI}] keyword to specify that the Helios algorithm will be used to normalize the collision probability matrices.\cite{Helios} \item[\moc{NONL}] keyword to specify that a non-linear multiplicative algorithm will be used to normalize the collision probability matrices.\cite{RENOR} \item[\moc{ECCO}] keyword used to compute the $P_1$--scattering reduced collision probability or system matrices required by the ECCO isotropic streaming model. By default, this information is not calculated. \item[\moc{HETE}] keyword used to compute the information required by a method of characteristics (MOC) solution of the TIBERE anisotropic streaming model. By default, this information is not calculated. \end{ListeDeDescription} \eject