\subsection{Modules}\label{sect:mod} \vskip 0.2cm Reactor calculations using DONJON are performed by means of sequential execution of several user-selected modules, according to the user-defined computing scheme. Each module is designed to perform some particular tasks. The detailed description of DONJON modules is given in \Sect{modesc1} to \Sect{modesc4}. In order to perform the reactor calculations, it is also required to use some DRAGON and TRIVAC modules. For more details on DRAGON modules specification, refer to its user guide\cite{dragon}; for more details on TRIVAC modules specification, refer to its user guide\cite{trivac}. Because the code execution is controlled by CLE-2000, it is also possible to use the DRAGON utility modules\cite{cle2000,dragon}. A brief description of each module that can be executed using DONJON is given below. A short description of each data structure that can be used in DONJON is given in \Sect{dat}.\\ \vskip 0.2cm \begin{itemize} \item The following DRAGON modules can be executed using DONJON: \end{itemize} \vskip 0.2cm \begin{ListeDeDescription}{mmmmmmmm} \item[\moc{GEO:}] module used to create or modify a reactor geometry. The spatial locations of the reactor material mixtures must also be defined using the \moc{GEO:} module. Only \dusa{3-D} Cartesian reactor geometries are allowed with DONJON. \item[\moc{MAC:}] module used to create or modify a \dds{macrolib} containing the material properties, by directly specifying the group-ordered macroscopic cross-sections for each selected material mixture. \end{ListeDeDescription} \vskip 0.2cm \begin{itemize} \item The following TRIVAC modules can be executed using DONJON: \end{itemize} \vskip 0.2cm \begin{ListeDeDescription}{mmmmmmmm} \item[\moc{TRIVAT:}] module used to perform a \dusa{3-D} numerical discretization or ``tracking" of the reactor geometry. \item[\moc{TRIVAA:}] module used to compute the set of system matrices with respect to the previously obtained "tracking" information. \item[\moc{FLUD:}] module used to compute the numerical solution to an eigenvalue problem, corresponding to a previously obtained set of system matrices. \end{ListeDeDescription} \vskip 0.2cm \begin{itemize} \item The following are short descriptions of utility modules that can be executed using DONJON: \end{itemize} \vskip 0.2cm \begin{ListeDeDescription}{mmmmmmmm} \item[\moc{UTL:}] module used to perform several utility actions on a data structure. \item[\moc{DELETE:}] module used to delete one or many data structures. \item[\moc{GREP:}] module used to extract a single value from a data structure. \item[\moc{END:}] module used to delete all the local linked lists, to close all the remaining local files and to return from a procedure; or to terminate the overall DONJON execution controlled by the GAN generalized driver. \end{ListeDeDescription} \vskip 0.2cm \begin{itemize} \item The following are short descriptions of DONJON modules: \end{itemize} \vskip 0.2cm \begin{ListeDeDescription}{mmmmmmmm} \item[\moc{CRE:}] module used to create a \dds{macrolib} containing the material properties, by interpolating the nuclear properties from a mono-parameter database, previously generated in the lattice code. \item[\moc{NCR:}] module used to create a \dds{microlib} or a \dds{macrolib} containing the material properties, by interpolating the nuclear properties from a multi-parameter database, previously generated in the lattice code. \item[\moc{AFM:}] module used to create a \dds{macrolib} containing the material properties, by interpolating the nuclear properties from a multi-parameter feedback model database, previously generated in the lattice code. \item[\moc{USPLIT:}] module used to create an extended reactor material index over the whole mesh-splitted reactor geometry. \item[\moc{RESINI:}] module used to define the fuel lattice, to create the fuel-map geometry and to specify the global and local parameters. \item[\moc{MACINI:}] module used to create an extended \dds{macrolib}, in which the properties are stored per each material region, over the whole mesh-splitted reactor geometry. \item[\moc{DEVINI:}] module used for \dusa{3-D} modeling of rod-type devices in the reactor core. \item[\moc{DETINI:}] module used to read and store detector information. \item[\moc{LZC:}] module used for \dusa{3-D} modeling of liquid zone controllers in the reactor core. \item[\moc{DSET:}] module used to set the new devices parameters, that can be used for the reactivity worth studies. \item[\moc{MCC:}] module used to modify the fuel map in order to compute a Doppler or general reactivity coefficient. \item[\moc{MOVDEV:}] module used to compute the time-dependent positions of the moving rod-type devices. \item[\moc{NEWMAC:}] module used to create an extended \dds{macrolib}, that will contain the updated material properties, computed with respect to the actual devices positions. \item[\moc{FLPOW:}] module used to compute and print powers and normalized fluxes over the reactor core. \item[\moc{TAVG:}] module used to perform burnups calculation according to the time-average model, compute burnups integration limits, core-average exit burnup, axial power-shapes and channel refuelling rates. \item[\moc{TINST:}] module used to perform burnups calculation according to the time-linear model and compute instantaneous burnups values. This module is specific to Candu reactor refuelling. \item[\moc{SIM:}] module used to perform burnups calculation according to the time-linear model and compute instantaneous burnups values. This module is specific to PWR reactor refuelling. \item[\moc{DETECT:}] module used to compute the mean flux at each detector site and the response of each detector according to different types of interpolation. \item[\moc{CVR:}] module used for the core-voiding simulations. \item[\moc{HST:}] module used to manage a full reactor execution in DONJON using explicit DRAGON calculations for each cell (see \Sect{HSTData}).\cite{hst} \item[\moc{NAP:}] pin power reconstruction module.\cite{Chambon2014,Fliscounakis2011} \end{ListeDeDescription}