\subsection{The {\tt EVO:} module}\label{sect:EVOData} The \moc{EVO:} module performs the burnup calculations. The depletion equations for the various isotope of the {\sc microlib} are solved using the burnup chains also present in the {\sc microlib}. Both in-core and out-of-core calculations can be considered. For in-core depletion calculations, one assumes linear flux variation over each irradiation period (time stage). The initial (and possibly final) flux distributions are recovered from previous \moc{FLU:} calculations. In-core depletion can be performed at constant flux or constant power (expressed in MW/Tonne of initial heavy elements) but these values can undergo step variations from one time stage to another. All the information required for successive burnup calculation is stored on the PyLCM \dds{burnup} data structure. Thus it is possible at any point in time to return to a previous time step and restart the calculations. \vskip 0.2cm In each burnup mixture of the unit cell, the depletion of $K$ isotopes over a time stage $(t_0,t_f)$ follows the following equation: \begin{equation} {dN_k \over dt} + N_k(t) \ \Lambda_k(t)=S_k(t) \ \ \ ; \ {k=1,K} \label{eq:depletion} \end{equation} \noindent with \begin{equation} \Lambda_k(t)= \lambda_k + \langle \sigma_{{\rm a},k}(t) \phi(t) \rangle \ , \end{equation} \vskip 0.2cm \begin{equation} S_k(t)=\sum^L_{l=1} {Y_{kl} \ \langle \sigma_{{\rm f},l}(t) \phi(t) \rangle } \ N_l(t) + \sum^K_{l=1} m_{kl}(t) \ {N_l(t)} \ , \end{equation} \vskip 0.2cm \begin{equation} \langle \sigma_{{\rm x},l}(t) \phi(t) \rangle = \int_0^\infty {\sigma_{{\rm x},l}(u) \phi(t,u) du} \end{equation} \noindent and \begin{equation} \sigma_{{\rm x},k}(t,u)\phi(t,u)= \sigma_{{\rm x},k}(t_0,u)\phi(t_0,u)+ {\sigma_{{\rm x},k}(t_f,u)\phi(t_f,u)-\sigma_{{\rm x},k}(t_0,u)\phi(t_0,u) \over t_f-t_0}(t-t_0) \end{equation} \noindent where \begin{eqnarray} \nonumber K &=& \hbox{number of depleting isotopes} \\ \nonumber L &=& \hbox{number of fissile isotopes producing fission products} \\ \nonumber N_k(t) &=& \hbox{time dependant number density for {\sl k}-th isotope} \\ \nonumber \lambda_k &=& \hbox{radioactive decay constant for {\sl k}-th isotope} \\ \nonumber \sigma_{{\rm x},k}(t,u) &=& \hbox{time and lethargy dependant microscopic cross section for nuclear reaction x on} \\ \nonumber &~& \hbox{{\sl k}-th isotope. x=a, x=f and x=$\gamma$ respectively stands for absorption, fission and} \\ \nonumber &~& \hbox{radiative capture cross sections} \\ \nonumber \phi(t,u) &=& \hbox{time and lethargy dependant neutron flux} \\ \nonumber Y_{kl} &=& \hbox{fission yield for production of fission product {\sl k} by fissile isotope {\sl l}} \\ \nonumber m_{kl}(t) &=& \hbox{radioactive decay constant or $\langle \sigma_{{\rm x},l}(t) \phi(t) \rangle$ term for production of isotope {\sl k} by} \\ \nonumber &~& \hbox{isotope {\sl l}.} \end{eqnarray} Depleting isotopes with $\Lambda_k(t_0)\left[t_f-t_0\right]\geq$\dusa{valexp} and $\Lambda_k(t_f)\left[t_f-t_0\right]\geq$\dusa{valexp} are considered to be at saturation. They are described by making ${dN_k \over dt}=0$ in \Eq{depletion} to obtain \begin{equation} N_k(t)={S_k(t)\over\Lambda_k(t)} \ \ \ ; \ {{\rm if} \ k \ {\rm is \ at \ saturation.}} \label{eq:sat1} \end{equation} If the keyword \moc{SAT} is set, beginning-of-stage and end-of-stage Dirac contributions are added to the previous equation: \begin{equation} N_k(t)={1\over\Lambda_k(t)}\left[a \delta(t-t_0) +S_k(t)+b \delta(t-t_f)\right] \ \ \ ; \ {{\rm if} \ k \ {\rm is \ at \ saturation}} \label{eq:sat2} \end{equation} \noindent where $a$ and $b$ are chosen in order to satisfy the time integral of \Eq{depletion}: \begin{equation} N_k(t_f^+)-N_k(t_0^-) + \int_{t_0^-}^{t_f^+}{N_k(t) \ \Lambda_k(t) \ dt} = \int_{t_0^-}^{t_f^+}{S_k(t) \ dt} \end{equation} It is numerically convenient to chose the following values of $a$ and $b$: \begin{equation} a=N_k(t_0^-)-{S_k(t_0^+) \over \Lambda_k(t_0^+)} \end{equation} \noindent and \begin{equation} b={S_k(t_0^+) \over \Lambda_k(t_0^+)}-{S_k(t_f^+) \over \Lambda_k(t_f^+)} \end{equation} \vskip 0.2cm The numerical solution techniques used in the \moc{EVO:} module are the following. Very short period isotopes are taken at saturation and are solved apart from non-saturating isotopes. If an isotope is taken at saturation, all its parent isotopes, other than fissiles isotopes, are also taken at saturation. Isotopes at saturation can procuce daughter isotopes using decay {\sl and/or} neutron-induced reactions. \vskip 0.2cm The lumped depletion matrix system containing the non-saturating isotopes is solved using either a fifth order Cash-Karp algorithm or a fourth order Kaps-Rentrop algorithm\cite{recipie}, taking care to perform all matrix operations in sparse matrix algebra. Matrices $\left[ m_{kl}(t_0) \right]$ and $\left[ m_{kl}(t_f) \right]$ are therefore represented in diagonal banded storage and kept apart from the yield matrix $\left[ Y_{kl}\right]$. Every matrix multiplication or linear system solution is obtained via the LU algorithm. \vskip 0.2cm The solution of burnup equations is affected by the flux normalization factors. DRAGON can perform out-of-core or in-core depletion with a choice between two normalization techniques: \begin{enumerate} \item Constant flux depletion. In this case, the lethargy integrated fluxes at beginning-of-stage and end-of-stage are set to a constant $F$: \begin{equation} \int_0^\infty{\phi(t_0,u) du}=\int_0^\infty{\phi(t_f,u) du}=F \end{equation} \item Constant power depletion. In this case, the power released per initial heavy element at beginning-of-stage and end-of-stage are set to a constant $W$. \vskip -0.5cm \begin{eqnarray} \nonumber \sum^K_{k=1} \big[ \kappa_{{\rm f},k} \ \langle \sigma_{{\rm f},k}(t_0) \phi(t_0) \rangle +\kappa_{\gamma,k} \ \langle \sigma_{\gamma,k}(t_0) \phi(t_0) \rangle \big] \ N_k(t_0) &=& \\ \sum^K_{k=1} \big[ \kappa_{{\rm f},k} \ \langle \sigma_{{\rm f},k}(t_f) \phi(t_f) \rangle +\kappa_{\gamma,k} \ \langle \sigma_{\gamma,k} (t_f) \phi(t_f) \rangle \big]\ N_k(t_f) &=& C_0 \ W \end{eqnarray} \noindent where \begin{eqnarray} \nonumber \kappa_{{\rm f},k} &=& \hbox{energy (MeV) released per fission of the fissile isotope $k$} \\ \nonumber \kappa_{\gamma,k} &=& \hbox{energy (MeV) released per radiative capture of isotope $k$} \\ \nonumber C_0 &=& \hbox{conversion factor (MeV/MJ) multiplied by the mass of initial heavy elements} \\ \nonumber &~& \hbox{expressed in metric tonnes} \end{eqnarray} The end-of-stage power is function of the number densities $N_k(t_f)$; a few iterations will therefore be required before the end-of-stage power released can be set equal to the desired value. Note that there is no warranties that the power released keep its desired value at every time during the stage; only the beginning-of-stage and end-of-stage are set. \end{enumerate} Whatever the normalisation technique used, DRAGON compute the exact burnup of the unit cell (in MW per tonne of initial heavy element) by adding an additional equation in the depletion system. This value is the local parameter that should be used to tabulate the output cross sections. \vskip 0.2cm The general format of the data which is used to control the execution of the \moc{EVO:} module is the following: \begin{DataStructure}{Structure \dstr{EVO:}} \dusa{BRNNAM} \dusa{MICNAM} \moc{:=} \moc{EVO:} \\ ~~~~~$[$ \dusa{BRNNAM} $]~\{$ \dusa{MICNAM} $|$ \dusa{OLDMIC} $\}~[~\{$ \dusa{FLUNAM} \dusa{TRKNAM} $|$ \dusa{POWNAM} $\}~]$\\ ~~~~~\moc{::} \dstr{descevo} \end{DataStructure} \noindent where \begin{ListeDeDescription}{mmmmmmmm} \item[\dusa{BRNNAM}] {\tt character*12} name of the \dds{burnup} data structure that will contain the depletion history as modified by the depletion module. If \dusa{BRNNAM} appears on both LHS and RHS, it is updated; otherwise, it is created. \item[\dusa{MICNAM}] {\tt character*12} name of the \dds{microlib} containing the microscopic cross sections at save point {\sl xts}. \dusa{MICNAM} is modified to include an embedded \dds{macrolib} containing the updated macroscopic cross sections at set point {\sl xtr}. If \dusa{MICNAM} appears on both LHS and RHS, it is updated; otherwise, the internal library \dusa{OLDMIC} is copied in \dusa{MICNAM} and \dusa{MICNAM} is updated. It is possible to assign different \dds{microlib} to different save points of the depletion calculation. In this case, the microscopic reaction rates will be linearly interpolated/extrapolated between points {\sl xti} and {\sl xtf}. \item[\dusa{OLDMIC}] {\tt character*12} name of a read-only \dds{microlib} that is copied in \dusa{MICNAM}. \item[\dusa{FLUNAM}] {\tt character*12} name of a read-only \dds{fluxunk} at save point {\sl xts}. This information is used for in-core depletion cases. This information is not required for out-of-core depletion cases. Otherwise, it is mandatory \item[\dusa{TRKNAM}] {\tt character*12} name of a read-only \dds{tracking} constructed for the depleting geometry and consistent with object \dusa{FLUNAM}. \item[\dusa{POWNAM}] {\tt character*12} name of a read-only \dds{power} object (generated by DONJON) at save point {\sl xts}. This information is used for micro-depletion cases. \item[\dstr{descevo}] structure containing the input data to this module (see \Sect{descevo}). \end{ListeDeDescription} For the in-core depletion cases, the tracking \dds{tracking} data structure on which \dusa{FLUNAM} is based, is automatically recovered in read-only mode from the generalized driver dependencies. \subsubsection{Data input for module {\tt EVO:}}\label{sect:descevo} \begin{DataStructure}{Structure \dstr{descevo}} $[$ \moc{EDIT} \dusa{iprint} $]$ \\ $[$ $\{$ \moc{SAVE} \dusa{xts} $\{$ \moc{S} $|$ \moc{DAY} $|$ \moc{YEAR} $\}~\{$ \moc{FLUX} \dusa{flux} $|$ \moc{POWR} \dusa{fpower} $|$ \moc{W/CC} \dusa{apower} $\}~|$ \moc{NOSA} $\}$ $]$ \\ $[$ \moc{EPS1} \dusa{valeps1} $]~~[$ \moc{EPS2} \dusa{valeps2} $]~~[~\{$ \moc{EXPM} \dusa{valexp} $|$ \moc{SATOFF} $\}~]$ \\ $[$ \moc{H1} \dusa{valh1} $]~[$ $\{$ \moc{RUNG} $|$ \moc{KAPS} $\}$ $]$ \\ $[~\{$ \moc{TIXS} $|$ \moc{TDXS} $\}~]~[~\{$\moc{NOEX} $|$ \moc{EXTR} $[$ \dusa{iextr} $]~\}~]$ \\ $[~\{$ \moc{EDP0} $|$ \moc{NOGL} $|$ \moc{GLOB}$\}~]~[~\{$\moc{NSAT} $|$ \moc{SAT}$\}~]~[~\{$\moc{NODI} $|$ \moc{DIRA}$\}~]$ \\ $[~\{$ \moc{FLUX\_FLUX} $|$ \moc{FLUX\_MAC} $|$ \moc{FLUX\_POW} $\}~]~[~\{$ \moc{CHAIN} $|$ \moc{PIFI} $\}~]$ \\ $[$ \moc{DEPL} $\{$\dusa{xti} \dusa{xtf} $|$ \dusa{dxt} $\}~\{$ \moc{S} $|$ \moc{DAY} $|$ \moc{YEAR} $\}$ $\{$ \moc{COOL} $|$ \moc{FLUX} \dusa{flux} $|$ \moc{POWR} \dusa{fpower} $|$ \moc{W/CC} \dusa{apower} $|$ \moc{KEEP} $\}$ $]$ \\ $[$ \moc{SET} \dusa{xtr} $\{$ \moc{S} $|$ \moc{DAY} $|$ \moc{YEAR} $\}$ $]$ \\ $[$ \moc{MIXB} $[[$ \dusa{mixbrn} $]] ~]~~~[$ \moc{MIXP} $[[$ \dusa{mixpwr} $]] ~]$ \\ $[$ \moc{PICK} {\tt >>} \dusa{burnup} {\tt <<} $]$ \\ {\tt ;} \end{DataStructure} \noindent where \begin{ListeDeDescription}{mmmmmmm} \item[\moc{EDIT}] keyword used to modify the print level \dusa{iprint}. \item[\dusa{iprint}] index used to control the printing of the module. The amount of output produced by this tracking module will vary substantially depending on the print level specified. \item[\moc{SAVE}] keyword to specify that the current isotopic concentration and the microscopic reaction rates resulting from the last transport calculation will be normalized and stored on \dusa{BRNNAM} in a sub-directory corresponding to a specific time. By default this data is stored at a time corresponding to \dusa{xti}. \item[\moc{NOSA}] keyword to specify that the current isotopic concentration and the results of the last transport calculation will not be stored on \dusa{BRNNAM}. By default this data is stored at a time corresponding to \dusa{xti}. \item[\moc{SET}] keyword used to recover the isotopic concentration already stored on \dusa{BRNNAM} from a sub-directory corresponding to a specific time. By default this data is recovered from a time corresponding to \dusa{xtf}. \item[\moc{DEPL}] keyword to specify that a burnup calculation between an initial and a final time must be performed. In the case where the \moc{SAVE} keyword is absent, the initial isotopic concentration will be stored on \dusa{BRNNAM} on a sub-directory corresponding to the initial time. If the \moc{SET} keyword is absent, the isotopic concentration corresponding to the final burnup time will be used to update \moc{MICNAM}. \item[\dusa{xti}] initial time associated with the burnup calculation. The name of the sub-directory where this information is stored will be given by `{\tt DEPL-DAT}'//{\tt CNN} where {\tt CNN} is a {\tt character*4} variable defined by {\tt WRITE(CNN,'(I4.4)') INN} where {\tt INN} is an index associated with the time \dusa{xti}. The initial values are recovered from this sub-directory in \dusa{BRNNAM}. \item[\dusa{xtf}] end of time for the burnup calculation. The results of the isotopic depletion calculations are stored in the tables associated with a sub-directory whose name is constructed in the same manner as the \dusa{xti} input. \item[\dusa{dxt}] time interval for the burnup calculation. The initial time \dusa{xti} in this case is taken as the final time reached at the last depletion step. If this is the first depletion step, \dusa{xti} $=0$. \item[\dusa{xts}] time associated with the last transport calculation. The name of the sub-directory where this information is to be stored is constructed in the same manner as the for \dusa{xti} input. By default (fixed default) \dusa{xts}=\dusa{xti}. \item[\dusa{xtr}] time associated with the next flux calculation. The name of the sub-directory where this information is to be stored is constructed in the same manner as for the \dusa{xti} input. By default (fixed default) \dusa{xtr}=\dusa{xtf}. \item[\moc{S}] keyword to specify that the time is given in seconds. \item[\moc{DAY}] keyword to specify that the time is given in days. \item[\moc{YEAR}] keyword to specify that the time is given in years. \item[\moc{COOL}] keyword to specify that a zero flux burnup calculation is to be performed. \item[\moc{FLUX}] keyword to specify that a constant flux burnup calculation is to be performed. \item[\dusa{flux}] flux expressed in $cm^{-2}s^{-1}$. \item[\moc{POWR}] keyword to specify that a constant fuel power depletion calculation is to be performed. The energy released outside the fuel (e.g., by (n,$\gamma$) reactions) is {\sl not} taken into account in the flux normalization, unless the \moc{GLOB} option is set. \item[\dusa{fpower}] fuel power expressed in $KW\;Kg^{-1}=MW\;{\it tonne}^{-1}$. \item[\moc{W/CC}] keyword to specify that a constant assembly power depletion calculation is to be performed. The energy released outside the fuel (e.g., by (n,$\gamma$) reactions) is always taken into account in the flux normalization. \item[\dusa{apower}] assembly power density expressed in $W/cm^3$ (Power per unit assembly volume). \item[\moc{KEEP}] keyword to specify that the flux is used without been normalized. This option is useful in cases where the flux was already normalized before the call to \moc{EVO:} module. \item[\moc{EPS1}] keyword to specify the tolerance used in the algorithm for the solution of the depletion equations. \item[\dusa{valeps1}] the tolerance used in the algorithm for the solution of the depletion equations. The default value is \dusa{valeps1}=$1.0\times 10^{-5}$. \item[\moc{EPS2}] keyword to specify the tolerance used in the search algorithm for a final fixed power (used if the \moc{POWR} or \moc{W/CC} option is activated). \item[\dusa{valeps2}] the tolerance used in the search algorithm for a final fixed power. The default value is \dusa{valeps2}=$1.0\times 10^{-4}$. \item[\moc{EXPM}] keyword to specify the selection criterion for non-fissile isotopes that are at saturation. \item[\dusa{valexp}] the isotopes for which $\lambda \times($\dusa{xtf}$-$ \dusa{xti})$ \ge $\dusa{valexp} will be treated by a saturation approximation. Here, $\lambda$ is the sum of the radioactive decay constant and microscopic neutron absorption rate. The default value is \dusa{valexp}=80.0. In order to remove the saturation approximation for all isotopes set \dusa{valexp} to a very large number such as $1.0\times 10^{5}$. On the other way, the saturation approximation can be set for a specific isotope by using the keyword \moc{SAT} in Sect.~\ref{sect:descmix1} (module \moc{LIB:}). \item[\moc{SATOFF}] keyword to remove the saturation approximation for all isotopes even if \moc{SAT} keyword was set in Sect.~\ref{sect:descmix1} (module \moc{LIB:}). \item[\moc{H1}] keyword to specify an estimate of the relative width of the time step used in the solution of burnup equations. \item[\dusa{valh1}] relative width of the time step used in the solution of burnup equations. An initial time step of $\Delta_{t}=$\dusa{valh1}$\times ($\dusa{xtf}$-$\dusa{xti}$)$ is used. This value is optimized dynamically by the program. The default value is \dusa{valh1}=$1.0\times 10^{-4}$. \item[\moc{RUNG}] keyword to specify that the solution will be obtained using the $5^{th}$ order Cash-Karp algorithm. \item[\moc{KAPS}] keyword to specify that the solution will be obtained using the $4^{th}$ order Kaps-Rentrop algorithm. This is the default value. \item[\moc{TIXS}] keyword that specified that time independent cross sections will be used. This is the default option when no time dependent cross sections are provided. \item[\moc{TDXS}] keyword that specified that time dependent cross sections will be used if available. This is the default option when time dependent cross sections are provided. \item[\moc{NOEX}] keyword to supress the linear extrapolation of the microscopic reaction rates in the solution of the burnup equations. \item[\moc{EXTR}] keyword to perform an extrapolation of the microscopic reaction rates, using the available information preceding the initial time \dusa{xti}. This is the default option. \item[\dusa{iextr}] extrapolation order ($=1$: linear (default value); $=2$: parabolic). \item[\moc{EDP0}] keyword to compute the burnup using the energy released by heavy isotopes in fuel only using the Serpent empirical formula ({\tt edepmode} $= 0$ in Serpent).\cite{edep} In this mode, all energy is deposited locally at fission sites and the energy deposition per fission for fissile nuclide $i$ is calculated as $$E_{{\rm fiss},i}={Q_i \over Q_{\rm 235}} H_{\rm 235}$$ \noindent where $Q_i$ is the fission pseudo-Q value for fissile nuclide $i$; $Q_{\rm 235}$ is the fission pseudo-Q value for U235 and $H_{\rm 235} = 202.27$ MeV is an estimate for the energy deposition per fission (including the additional energy released in capture reactions) in a typical light water reactor. \item[\moc{NOGL}] keyword to compute the burnup using the energy released by all isotopes present in fuel only. This is the default option. \item[\moc{GLOB}] keyword to compute the burnup using the energy released in the complete geometry. This option has an effect only in cases where some energy is released outside the fuel (e.g., due to (n,$\gamma$) reactions). This option affects both the meaning of \dusa{fpower} (given after the key-word \moc{POWR}) and the value of the burnup, as computed by {\tt EVO:}. \item[\moc{NSAT}] save the non--saturated initial number densities in the {\sc burnup} object \dusa{BRNNAM} (default value) \item[\moc{SAT}] save the saturated initial number densities in the {\sc burnup} object \dusa{BRNNAM} \item[\moc{NODI}] select \Eq{sat1} to compute the saturated number densities (default value) \item[\moc{DIRA}] select \Eq{sat2} to compute the saturated number densities \item[\moc{FLUX\_FLUX}] recover the neutron flux from \dusa{FLUNAM} object (default option) \item[\moc{FLUX\_MAC}] recover the neutron flux from embedded macrolib present in \dusa{MICNAM} or \dusa{OLDMIC} object. This option is useful to deplete in cases where the neutron flux is obtained from a Monte Carlo calculation. \item[\moc{FLUX\_POW}] recover the neutron flux from the \dds{power} object named \dusa{POWNAM} generated in DONJON. This option is useful in micro-depletion cases. The neutron flux recovered from \dusa{POWNAM} is generally normalized to the power of the full core. It is therefore recommended to use the \moc{KEEP} option in \moc{DEPL} data structure. \item[\moc{CHAIN}] recover the fission yield data from {\tt 'DEPL-CHAIN'} directory of \dusa{MICNAM} or \dusa{OLDMIC} object (default option). With this option, the fission yield data is the same in all material mixtures. \item[\moc{PIFI}] recover the fission yield data from {\tt 'PIFI'} and {\tt 'PYIELD'} records present in isotopic directories of \dusa{MICNAM} or \dusa{OLDMIC} object. With this option, the fission yield data is mixture-dependent. This option is useful in micro-depletion cases. \item[\moc{MIXB}] keyword to select depleting material mixtures. By default, all mixtures with depleting isotopes are set as depleting. \item[\dusa{mixbrn}] indices of depleting material mixtures. \item[\moc{MIXP}] keyword to select material mixtures producing power. By default, \begin{itemize} \item if \moc{MIXB} is not set, all mixtures with isotopes producing power are set as producing power \item if \moc{MIXB} is set, the same mixtures \dusa{mixbrn} are set as producing power. \end{itemize} \item[\dusa{mixpwr}] indices of material mixtures producing power. \item[\moc{PICK}] keyword used to recover the final burnup value (in MW-day/tonne) in a CLE-2000 variable. \item[\dusa{burnup}] \texttt{character*12} CLE-2000 variable name in which the extracted burnup value will be placed. \end{ListeDeDescription} \subsubsection{Power normalization in {\tt EVO:}}\label{sect:powerevo} Flux-induced depletion is dependent of the flux or power normalization factor given after key-words \moc{FLUX}, \moc{POWR} or \moc{W/CC}. The depletion steps, given after key-words \moc{SAVE}, \moc{DEPL} or \moc{SET}, are set in time units. Traditionally, the power normalization factor is given in ${\it MW}\;{\it tonne}^{-1}$ and the depletion steps are given in ${\it MWday}\;{\it tonne}^{-1}$. However, a confusion appear in cases where some energy is released outside the fuel (e.g., due to (n,$\gamma$) reactions). \vskip 0.2cm The accepted rule and default option in {\tt EVO:} is to compute the burnup steps in units of $MWday\;{\it tonne}^{-1}$ by considering only the energy released in fuel (and only the initial mass of the heavy elements present in fuel). However, it is also recommended to provide a normalization power taking into account the {\sl total} energy released in the global geometry. The \moc{GLOB} option can be use to change this rule and to use the energy released in the complete geometry to compute the burnup. However, this is not a common practice, as it implies a non-usual definition of the burnup. A more acceptable solution consists in setting the normalization power in power per unit volume of the complete geometry using the key-word \moc{W/CC}. The value of \dusa{apower} can be computed from the linear power $f_{\rm lin}$ (expressed in ${\it Mev}\;{\it s}^{-1}\;{\it cm}^{-1}$) using: \begin{equation} {\it apower}={f_{\rm lin} \ 1.60207 \times 10^{-13} \over V_{\rm assmb}} \label{eq:eq1} \end{equation} \noindent where $V_{\rm assmb}$ is the 2--D lumped volume of the assembly expressed in $cm^2$. \vskip 0.2cm The corresponding normalization factor $f_{\rm burnup}$ in ${\it MW}\;{\it tonne}^{-1}$ is given as \begin{equation} f_{\rm burnup}={ {\it apower} \over D_{\rm g} \ F_{\rm power}} \label{eq:eq2} \end{equation} \noindent where $D_{\rm g}$ is the mass of heavy elements per unit volume of the complete geometry ($g\; {\it cm}^{-3}$) and $F_{\rm power}$ is the ratio of the energy released in the complete geometry over the energy released in fuel. Numerical values of $D_{\rm g}$ and $f_{\rm power}$ are computed by {\tt EVO:} when the parameter \dusa{iprint} is greater or equal to 2. The burnup $B$ corresponding to an elapsed time $\Delta t$ is therefore given as \begin{equation} B=f_{\rm burnup} \ \Delta t \label{eq:eq3} \end{equation} \noindent where $B$ is expressed in ${\it MWday}\;{\it tonne}^{-1}$ and $\Delta t$ is expressed in ${\it day}$. \vskip 0.2cm The unit of the reaction rates depends on the normalization applied to the flux. This normalization takes place after the flux calculation, using the \moc{EVO:} module. Here is an example: \begin{verbatim} INTEGER istep := 1 ; REAL Tend := 0.0 ; REAL Fuelpwr := 38.4 ; ! expressed in MW/tonne BURN MICROLIB := EVO: MICROLIB FLUX TRACKN :: EDIT 0 SAVE <> DAY POWR <> ; \end{verbatim} \noindent where \moc{BURN} is the burnup object, \moc{MICROLIB} is the Microlib used to compute the flux, \moc{FLUX} is the flux object and \moc{TRACKN} is the tracking object used to compute the flux. After this call, the record {\tt 'FLUX-NORM'} in \moc{BURN} contains a unique real number, equal to the flux normalization factor. If \moc{MICROLIB} is obtained using the \moc{LIB:} module, the \moc{DEPL} keyword with following data must be set (see \Sect{desclib}). Unfortunately, the normalization factor is kept aside and is not applied to the flux present in object \moc{FLUX}. In fact, only the advanced post-processing modules \moc{COMPO:} (see \Sect{COMPOData}) and \moc{SAP:} (see \Sect{SAPHYBData}) are making use of this normalization factor. \eject