\subsection{The DRAGON Modules}\label{sect:DragonModules} The code DRAGON has been divided into main calculations sequences to which is generally associated a single calculation module. The only exception to this rule is the tracking sequence to which is associated many different modules, one for each of the standard CP calculation options and an additional module for diffusion calculations. However, this later module can only be used indirectly in the edition module of DRAGON. These modules perform the following tasks: \begin{ListeDeDescription}{mmmmmmmm} \item[\moc{MAC:}] module used to generate or modify a DRAGON \dds{macrolib} (see \Sect{DragonDataStructures}) which contains the group ordered macroscopic cross sections for a series of mixture (see \Sect{MACData}). This \dds{macrolib} can be either an independent data structure or it can be included as a substructure in a \dds{microlib}. The spatial location of these mixtures will be defined using the \moc{GEO:} module (see \Sect{GEOData}). \item[\moc{LIB:}] module used to generate or modify a DRAGON \dds{microlib} (see \Sect{DragonDataStructures}) that can read a number of different types of microscopic cross-section libraries (see \Sect{LIBData}). Each such access requires a double interpolation (temperature, dilution) carried out by a subroutine specifically tailored to each type of library. Currently the formats DRAGLIB\cite{DragonDataStructures}, WIMS--D4\cite{WIMS-D}, MATXS\cite{MATXS}, WIMS--AECL\cite{WIMS}, APOLLO\cite{Apollo,Apollo2} and NDAS format\cite{ndas} are supported. After having reconstructed the microscopic cross sections for each isotope, they are then multiplied by the isotopic concentrations (particles per $cm^{3}$) and combined in such a way as to produce an embedded \dds{macrolib} (see \Sect{DragonDataStructures}). The spatial location of these mixtures will be defined using the \moc{GEO:} module (see \Sect{GEOData}). \item[\moc{GEO:}] module used to generate or modify a geometry (see \Sect{GEOData}). \item[\moc{SYBILT:}] the standard tracking module based on 1D collision probability or Interface Current technique (see \Sect{TRKData} and \Sect{SYBILData}). \item[\moc{EXCELT:}] the standard tracking module for 2D and 3D geometries as well as isolated 2D cells containing clusters (see \Sect{TRKData} and \Sect{EXCELLData}). \item[\moc{NXT:}] the standard tracking module for 2D or 3D assemblies of cluster (see \Sect{TRKData} and \Sect{NXTData}). \item[\moc{SNT:}] the discrete ordinates tracking module (see \Sect{TRKData} and \Sect{SNData}). \item[\moc{MCCGT:}] the tracking module of the open characteristics flux solver (see \Sect{TRKData} and \Sect{MCCGData}). \item[\moc{BIVACT:}] the 1D/2D diffusion and $SP_n$ tracking module (see \Sect{TRKData} and \Sect{BIVACData}). \item[\moc{TRIVAT:}] the 1D/2D/3D diffusion and $SP_n$ tracking module (see \Sect{TRKData} and \Sect{TRIVACData}). \item[\moc{SHI:}] module used to perform self-shielding calculations based on the generalized Stamm'ler method (see \Sect{SHIData}). \item[\moc{TONE:}] module used to perform self-shielding calculations based on the Tone's method (see \Sect{TONEData}). \item[\moc{USS:}] module used to perform self-shielding calculations based on a subgroup method (see \Sect{USSData}). A method using physical probability tables (cf. Wims-7 and Helios) and the Ribon extended method are available. \item[\moc{AUTO:}] module used to perform self-shielding calculations based on the Autosecol method (see \Sect{AUTOData}). \item[\moc{ASM:}] module which uses the tracking information to generate a multigroup response or collision probability matrix (see \Sect{ASMData}). \item[\moc{FLU:}] module which uses inner-iteration approach or collision probability matrix to solve the transport equation for the fluxes (see \Sect{FLUData}). Various leakage models are available. \item[\moc{EDI:}] editing module (see \Sect{EDIData}). An equivalence method based on SPH method is available. \item[\moc{EVO:}] burnup module (see \Sect{EVOData}). \item[\moc{SPH:}] {\sl supermomog\'en\'eisation} (SPH) module (see \Sect{SPHData}). The \moc{SPH:} module can also be used to extract a \dds{microlib} or \dds{macrolib} from a \dds{multicompo} or \dds{saphyb}. \item[\moc{INFO:}] utility to compute number densities for selected isotopes in materials such as UO$_{2}$ or ThUO$_{2}$ (see \Sect{INFOData}). \item[\moc{COMPO:}] multi-parameter reactor database construction module (see \Sect{COMPOData}). \item[\moc{TLM:}] module used to generate a Matlab M-file to obtain a graphics representation of the \moc{NXT:} tracking lines (see \Sect{TLMData}). \item[\moc{M2T:}] interface module for transforming a macrolib into a Trimaran/Tripoli multigroup file (see \Sect{M2TData}). \item[\moc{CHAB:}] cross section perturbation module similar to CHABINT (see \Sect{CHABData}). \item[\moc{CPO:}] burnup-dependent mono-parameter reactor database construction module (see \Sect{CPOData}). \item[\moc{SAP:}] multi-parameter reactor database construction module in SAPHYB format (see \Sect{SAPHYBData}). \item[\moc{MPO:}] multi-parameter reactor database construction module in MPO format (see \Sect{MPOData}). \item[\moc{MC:}] multigroup Monte-Carlo flux solution module (see \Sect{MCData}). \item[\moc{T:}] macrolib transposition operator (see \Sect{TData}). \item[\moc{DMAC:}] construction module for a Generalized Perturbation Theory (GPT) source (see \Sect{DMACData}). \item[\moc{SENS:}] sensitivity analysis of keff to nuclear data (see \Sect{SENSData}). \item[\moc{PSP:}] module to generate PostScript images for 2D geometries that can be tracked using the module \moc{EXCELT:} or \moc{NXT:} (see \Sect{PSPData}). \item[\moc{DUO:}] module to perform a perturbative analysis of two systems using the Clio formula and to determine the origins of Keff discrepancies (see \Sect{DUOData}). \end{ListeDeDescription} A few modules ({\tt G2S:}, {\tt G2MC:} and {\tt SALT:}) have been introduced in DRAGON Version5 in order to facilitate the processing of geometries originating from the Geometry module of SALOME.\cite{salome} The methods presented in this section have been initially developed at CEA SERMA and integrated in the TDT code.\cite{tdt,lyioussi} In the course of year 2001, a subset of these methods have been integrated into a development version of DRAGON under the terms of its LGPL license as a prototyping exercise of the DESCARTES operation.\cite{salt} \vskip 0.08cm The track generator {\tt SALT:} is a direct descendent of this prototyping exercise. Later, we have extracted the 5000 lines of Fortran-90 code responsible for the track calculation and have rewritten them in a way consistent with the {\tt NXT:} tracking methodology and with the DRAGON architecture. \vskip 0.08cm The {\tt SALT:} module can process two types of geometries: \begin{itemize} \item {\sl Native geometries} are those defined using the {\tt GEO:} module and transformed into surfacic geometries using the {\tt G2S:} module. These geometries have many limitations related to their definition. \item {\sl Non-native geometries} are surfacic representations based on extensions of the SALOME platform. A first extension is the SALOMON tool presented in Ref.~\citen{ane15b}. ALAMOS is a more recent tool available at the Commissariat \`a l'\'Energie Atomique.\cite{alamos} Surfacic geometries produced by ALAMOS must be converted to the SALOMON format using the {\tt G2S:} module before calling the track generator {\tt SALT:}. \end{itemize}