\subsection{The \moc{TAVG:} module}\label{sect:tavg} \vskip 0.2cm The \moc{TAVG:} module is used to compute the burnup integration limits for each fuel bundle, the axial power-shape over the fuel lattice, the channel refuelling rates and the reactor core-average exit burnup. All calculations using the \moc{TAVG:} module are performed according to the time-average model for the equilibrium-core conditions. The computing algorithm is based on bidirectional refuelling schemes of channels and average exit burnups specified over the fuel lattice, which should be recorded in the fuel map using the \moc{RESINI:} module.\\ Note that the complete time-average calculation is a complex and iterative procedure, requiring of several full-core calculations (external iterations) to be performed. The main steps of the time-average calculation using DONJON are briefly described at the end of this section. The \moc{TAVG:} module can also be used to compute the instantaneous fuel burnups according to the channel patterned-age-model, for the fuel management and optimization purposes.\\ \noindent The \moc{TAVG:} module specification is: \begin{DataStructure}{Structure \moc{TAVG:}} \dusa{FMAP} \moc{:=} \moc{TAVG:} \dusa{FMAP} \dusa{POWER} \moc{::} \dstr{desctavg} \end{DataStructure} \noindent where \begin{ListeDeDescription}{mmmmmmmm} \item[\dusa{FMAP}] \texttt{character*12} name of a \dds{fmap} object, that will be updated by the \moc{TAVG:} module. The \dusa{FMAP} object must contain the average exit burnups and refuelling schemes of channels. \item[\dusa{POWER}] \texttt{character*12} name of a \dds{power} object containing the channel and bundle powers, previously computed by the \moc{FLPOW:} module. The channel and bundle powers are used by the \moc{TAVG:} module to compute the normalized axial power-shape over each channel. \item[\dstr{desctavg}] structure describing the input data to the \moc{TAVG:} module. \end{ListeDeDescription} \vskip 0.2cm \subsubsection{Input data to the \moc{TAVG:} module}\label{sect:strtavg} \noindent Note that the input order must be respected. \\ \begin{DataStructure}{Structure \dstr{desctavg}} $[$ \moc{EDIT} \dusa{iprint} $]$ \\ $[$ \moc{AX-SHAPE} $[$ \moc{RELAX} \dusa{relval} $]$ $]$ \\ $[$ \moc{B-EXIT} $]$ \\ ; \end{DataStructure} \noindent where \begin{ListeDeDescription}{mmmmmmmm} \item[\moc{EDIT}] keyword used to set \dusa{iprint}. \item[\dusa{iprint}] integer index used to control the printing on screen: = 0 for no print; = 1 for minimum printing (default value); = 2 only the burnup limits over each channel are printed; = 3 only the axial power-shape values over each channel are printed; = 4 only the channel refuelling rates are printed; for larger values of \dusa{iprint} everything will be printed. \item[\moc{AX-SHAPE}] keyword used to indicate the calculation of the new axial power-shape and corresponding burnups limits over each reactor channel. \item[\moc{RELAX}] keyword used to set the relaxation parameter \dusa{relval}. \item[\dusa{relval}] real value of the relaxation parameter, generally used to control the axial-shape convergence over the external time-average iterations. The optimal value, which corresponds to the minimal total number of such iterations, can be found by performing several runs at different \dusa{relval}. The default value of the relaxation parameter is set to 0.5 \item[\moc{B-EXIT}] keyword used to indicate the calculation of the core-average exit burnup and the channel refuelling rates. \end{ListeDeDescription} \vskip 0.2cm \subsubsection{Time-average calculation using DONJON} When the average exit burnups are provided for each channel, the exact burnup integration limits for each fuel bundle are unknown and need to be determined. The burnups integration limits are function of the normalized axial power-shape, which in turn depends on the flux solution over the fuel lattice. Moreover, the flux solution depends on the fuel-map macrolib (i.e. fuel properties), which in turn depends on the burnups integration limits for each fuel bundle. Consequently, the time-average calculation is an iterative procedure that consists to repeat all the steps required for the axial power-shape computation. This repetition is to be made until the relative error between the two (successives) axial power-shape calculations becomes as small as required for the precision.\\ \noindent The axial power-shape computing scheme is composed of several steps, each step is performed using an appropriate DONJON or TRIVAC module: \begin{enumerate} \item An initial axial power-shape is set as a flat distribution over the fuel lattice and the first burnup integration limits are calculated approximately, using the \moc{RESINI:} module. \item A time-average integration is performed and a new fuel-map \dds{macrolib} is created, using either \moc{NCR:}, \moc{CRE:} or \moc{AFM:} module. \item An extended \dds{macrolib} over the whole reactor geometry is created, using the \moc{MACINI:} module. \item If the devices are inserted into the reactor core, then the previously created \dds{macrolib} is to be updated for the devices properties using the \moc{NEWMAC:} module. \item The complete \dds{macrolib} is subsequently used by the \moc{TRIVAA:} module in order to create a matrix \dds{system}. \item The full-core numerical solution (i.e. fluxes and effective multiplication factor) is computed, using the \moc{FLUD:} module. \item The channel and bundle powers are next calculated, using the \moc{FLPOW:} module. \item Finally, the new axial power-shape and burnup limits are computed, using the \moc{TAVG:} module. \end{enumerate} \vskip 0.1cm \noindent Note that the steps from 2 to 8 are to be repeated until the required precision for the axial power-shape convergence is satisfied. \clearpage