\subsection{The {\tt PCR:} module}\label{sect:PCRData} This component of DONJON is dedicated to the interpolation of {\sc microlib} and {\sc macrolib} data from a PMAXS file, the reactor database produced by the GenPMAXS utility.\cite{GENPMAXS} A set of {\sl parameters} are defined for each material mixture and used as multi-dimensional interpolation variables. \vskip 0.02cm The calling specifications are: \begin{DataStructure}{Structure \dstr{PCR:}} \dusa{MLIB}~\moc{:=}~\moc{PCR:}~$[~\{$~\dusa{MLIB} $|$ \dusa{MLIB2}~$\}~]$ \dusa{PMAX1} $[[$~\dusa{PMAX2}~$]]~[$~\dusa{MAPFL}~$]$~\moc{::}~\dstr{PCR\_data} \\ \end{DataStructure} \noindent where \begin{ListeDeDescription}{mmmmmmm} \item[\dusa{MLIB}] {\tt character*12} name of a {\sc microlib} (type {\tt L\_LIBRARY}) or {\sc macrolib} (type {\tt L\_MACROLIB}) containing the interpolated data. If this object also appears on the RHS of structure \dstr{PCR:}, it is open in modification mode and updated. \item[\dusa{MLIB2}] {\tt character*12} name of an optional {\sc microlib} object whose content is copied on \dusa{MLIB}. \item[\dusa{PMAX1}] {\tt character*12} name of the PMAXS file. \item[\dusa{PMAX2}] {\tt character*12} name of an additional PMAXS file. This file is optional. \item[\dusa{MAPFL}] {\tt character*12} name of the {\sc map} object containing fuel regions description, parameter information (burnup, fuel/coolant temperatures, coolant density, etc). Keyword \moc{TABLE} is expected in \dstr{PCR\_data}. \item[\dusa{PCR\_data}] input data structure containing interpolation information (see \Sect{descPCR}). \end{ListeDeDescription} \subsubsection{Interpolation data input for module {\tt PCR:}}\label{sect:descPCR} \begin{DataStructure}{Structure \dstr{PCR\_data}} $[$~\moc{EDIT} \dusa{iprint}~$]$ \\ $[~\{$~\moc{MACRO}~$|$~\moc{MICRO}~$\}~]~[~\{$~\moc{LINEAR}~$|$~\moc{CUBIC}~$\}~]~[$~\moc{LEAK}~\dusa{b2}~$]$ \\ $[$~\moc{NMIX} \dusa{nmixt}~$]$ \\ $\{~[[$~\moc{PMAXS} \dusa{PMAX} \dstr{descintf}~$]]$ \\ $~|~[[$~\moc{TABLE} \dusa{PMAX} \dstr{descintf}~$]]~\}$ \\ $[$ \dstr{descdepl} $]$ \\ {\tt ;} \end{DataStructure} \noindent where \begin{ListeDeDescription}{mmmmmmmm} \item[\moc{EDIT}] keyword used to set \dusa{iprint}. \item[\dusa{iprint}] index used to control the printing in module {\tt PCR:}. =0 for no print; =1 for minimum printing (default value). \item[\moc{MACRO}] keyword indicating that \dusa{MLIB} is a {\sc macrolib} (default option). \item[\moc{MICRO}] keyword indicating that \dusa{MLIB} is a {\sc microlib}. Object \dusa{MLIB} contains an embedded {\sc macrolib}, but the CPU time required to obtain it is longer. \item[\moc{LINEAR}] keyword indicating that interpolation of the PMAXS file uses linear Lagrange polynomials (default option). \item[\moc{CUBIC}] keyword indicating that interpolation of the PMAXS file uses the Ceschino method with cubic Hermite polynomials, as presented in Ref.~\cite{Intech2011}. \item[\moc{LEAK}] keyword used to introduce leakage in the embedded {\sc macrolib}. This option should only be used for non-regression tests. \item[\dusa{b2}] the imposed buckling corresponding to the leakage. \item[\moc{NMIX}] keyword used to define the maximum number of material mixtures. This information is required only if \dusa{MLIB} is created. \item[\dusa{nmixt}] the maximum number of mixtures (a mixture is characterized by a distinct set of macroscopic cross sections) the {\sc macrolib} may contain. The default value is \dusa{nmixt} $=0$ or the value recovered from \dusa{MLIB} if it appears on the RHS of structure \dstr{PCR:}. \item[\moc{PMAXS}] keyword used to set \dusa{PMAX} and to define each parameter. \item[\moc{TABLE}] keyword used to set \dusa{PMAX} and to recover some parameter from a {\sc map} object named \dusa{MAPFL}. \item[\dusa{PMAX}] {\tt character*12} name of the PMAXS file where the interpolation is performed. This name must be set in the RHS of structure \dstr{PCR:}. \item[\dusa{descintf}] input data structure containing interpolation information relative to the PMAXS file named \dusa{PMAX} (see \Sect{descintf}). \item[\dstr{descdepl}] input structure describing the depletion chain (see \Sect{descdepld}). This input structure requires option \moc{MICRO}. By default, the depletion chain data is not written in the output {\sc microlib}. \end{ListeDeDescription} \subsubsection{Defining parameters}\label{sect:descintf} If a {\sc map} object is defined on the RHS of structure \dstr{PCR:}, and if the \moc{TABLE} keyword is set, some information required to set the interpolation points is found in this object. In this case, the {\tt PCR:} operator search the PMAXS file for parameters having an arbitrary name specified in the {\sc map} object or set directly in this module. Note that any parameter's value set directly in this module prevails on a value stored in the \dusa{MAPFL} object. Each instance of \dusa{descintf} is a data structure specified as \begin{DataStructure}{Structure \dstr{descintf}} $[[$~\moc{MIX} \dusa{imix} \\ ~~~~~~$[~\{$~\moc{TIMAV-BURN} $|$ \moc{INST-BURN} $|$ \moc{AVG-EX-BURN}~\dusa{ivarty}~$\}~]$ \\ ~~~~~~$[[~\{$~\moc{SET} $|$ \moc{DELTA} $|$ \moc{ADD}~$\}~\}~[~\{$ \moc{LINEAR} $|$ \moc{CUBIC}~$\}~]$ \dusa{PARKEY} $\{$~\dusa{val1} $|$ \moc{MAP}~$\}~[~\{$~\dusa{val2} $|$ \moc{MAP}~$\}~]$ \\ ~~~~~~~~~~~~$[$~\moc{REF} $[[$~\dusa{PARKEY}~$\{$~\dusa{valref} $|$ \moc{SAMEASREF}~$\}$~$]]$~\moc{ENDREF}~$]~]]$ \\ ~~~~~~$[$~\moc{MICRO}~$[[$~\dusa{HISO} \dusa{conc} $]]~]$ \\ \moc{ENDMIX}~$]]$ \end{DataStructure} \noindent where \begin{ListeDeDescription}{mmmmmmmm} \item[\moc{MIX}] keyword used to set \dusa{imix}. \item[\dusa{imix}] index of the mixture that is to be created in the {\sc microlib} and {\sc macrolib}. \item[\moc{TIMAV-BURN}] keyword used to compute time-averaged cross-section information. This option is available {\sl only if} a \dusa{MAPFL} object is set. By default, the type of calculation (\moc{TIMAV-BURN} or \moc{INST-BURN}) is recovered from the \dusa{MAPFL} object. \item[\moc{INST-BURN}] keyword used to compute cross-section information at specific bundle burnups. This option is available {\sl only if} a \dusa{MAPFL} object is set. By default, the type of calculation (\moc{TIMAV-BURN} or \moc{INST-BURN}) is recovered from the \dusa{MAPFL} object. \item[\moc{AVG-EX-BURN}] keyword used to compute the derivatives of cross-section information relative to the exit burnup of a single combustion zone. The derivatives are computed using Eq.~(3.3) of Ref.~\cite{chambon}, written as $$ {\partial \bar\Sigma_x\over \partial B_j^{\rm e}}={1\over B_j^{\rm e}\, (B_{j,k}^{\rm eoc}-B_{j,k}^{\rm boc})} \left[- \int_{B_{j,k}^{\rm boc}}^{B_{j,k}^{\rm eoc}}dB \, \Sigma_x(B)+B_{j,k}^{\rm eoc}\, \Sigma_x(B_{j,k}^{\rm eoc})-B_{j,k}^{\rm boc}\, \Sigma_x(B_{j,k}^{\rm boc})\right] $$ \noindent where $B_{j,k}^{\rm boc}$, $B_{j,k}^{\rm eoc}$, and $B_j^{\rm e}$ are the beginning of cycle burnup of bundle $\{j,k\}$, end of cycle burnup of bundle $\{j,k\}$ and exit burnup of channel $j$. This option is available {\sl only if} a \dusa{MAPFL} object is set. By default, the type of calculation (\moc{TIMAV-BURN} or \moc{INST-BURN}) is recovered from the \dusa{MAPFL} object. \item[\dusa{ivarty}] index of the combustion zone for differentiation of cross-section information. \item[\moc{SET}] keyword used to indicate a simple interpolation at \dusa{val1} or an averaging between \dusa{val1} and \dusa{val2}. The result $\sigma_{\rm ref}$ is also used as the reference value when the \moc{ADD} is used. Note: see at the ending note of this section for a detailed description and examples. \item[\moc{DELTA}] keyword used to indicate a delta-sigma calculation between \dusa{val2} and \dusa{val1} (i.e., $\Delta\sigma_{\rm ref}=\sigma_{\rm val2}-\sigma_{\rm val1}$ is computed). This keyword can be used only once in each mixture data block (initiated with a \moc{MIX} keyword). Note: see at the ending note of this section for a detailed description and examples. \item[\moc{ADD}] keyword used to indicate a delta-sigma calculation between \dusa{val2} and \dusa{val1} is added to the reference value (i.e., $\Delta\sigma=\sigma_{\rm val2}-\sigma_{\rm val1}$ is used as contribution, $\sigma_{\rm ref}+\Delta\sigma$ or $\Delta\sigma_{\rm ref}+\Delta\sigma$ is returned). Note: see at the ending note of this section for a detailed description and examples. \item[\moc{LINEAR}] keyword indicating that interpolation of the PMAXS file for parameter \dusa{PARKEY} uses linear Lagrange polynomials. It is possible to set different interpolation modes to different parameters. By default, the interpolation mode is set in Sect.~\ref{sect:descPCR}. \item[\moc{CUBIC}] keyword indicating that interpolation of the PMAXS file for parameter \dusa{PARKEY} uses the Ceschino method with cubic Hermite polynomials, as presented in Ref.~\cite{Intech2011}. By default, the interpolation mode is set in Sect.~\ref{sect:descPCR}. \item[\dusa{PARKEY}] {\tt character*12} user-defined keyword associated to a parameter to be set. \item[\dusa{val1}] value of a parameter used to interpolate. \dusa{val1} is the initial value of this parameter in case an average is required. \dusa{val1} can be an integer, real or string value. \item[\dusa{val2}] value of the final parameter. By default, a simple interpolation is performed, so that \dusa{val2}$=$\dusa{val1}. \dusa{val2} is always a real value with \dusa{val2}$\ge$\dusa{val1}. \item[\moc{MAP}] keyword used to indicate that the value of parameter \dusa{val1} or the second value for the $\Delta\sigma$ calculation is recovered from \dusa{MAPFL}, i.e. the {\sc map} object containing fuel regions description. \item[\moc{REF}] keyword only available together with the \moc{ADD} option. It is used to set all the other variable values when a $\Delta$ contribution is performed for one variable. \item[\dusa{valref}] value of the reference parameter, when it is directly given by the user. Note that there is no default value. \item[\moc{SAMEASREF}] keyword used to specify that the reference value will be the same as in the refence case, i.e. for the $\sigma_{\rm ref}$ computation. \item[\moc{ENDREF}] keyword only available together with the \moc{ADD} option. It is used to specify that all the other variable values which are required are given. \item[\moc{MICRO}] keyword used to set the number densities of some isotopes present in the PMAXS file. \item[\dusa{HISO}] {\tt character*8} name of an isotope (namely {\tt 'Xe135'} or {\tt 'Sm149'}). \item[\dusa{conc}] user-defined value of the number density (in $10^{24}$ particles per ${\rm cm}^3$) of the isotope. \item[\moc{ENDMIX}] end of specification keyword for the material mixture. \end{ListeDeDescription} \subsubsection{Depletion data structure}\label{sect:descdepld} Depletion data is recovered from the input data structure \dstr{descdepl}. This data describes the heredity of the radioactive decay and the neutron activation chain. \begin{DataStructure}{Structure \dstr{descdepl}} \moc{CHAIN} \dusa{nel} \\ \hskip 0.3cm $[[$ \dusa{NAMDPL} $[$ \dusa{izae} $]$ \\ \hskip 1.0cm $[[~\{$ \moc{DECAY} \dusa{dcr} $|$ \dusa{reaction} $[$ \dusa{energy} $]~\}~]]$ \\ \hskip 0.6cm $[~\{$ \moc{STABLE} $|$ \moc{FROM} $[[~\{$ \moc{DECAY} $|$ \dusa{reaction} $\}$ $[[$ \dusa{yield} \dusa{NAMPAR} $]]~]]~\}~]~]]$\\ \moc{ENDCHAIN} \end{DataStructure} \noindent with: \begin{ListeDeDescription}{mmmmmm} \item[\moc{CHAIN}] keyword to specify the beginning of the depletion chain. \item[\dusa{nel}] number of depleting isotopes in the chain. \item[\dusa{NAMDPL}] {\tt character*12} name of an isotope (or isomer) of the depletion chain that appears as a particularized isotope of the PMAXS file. \item[\dusa{izae}] optional six digit integer representing the isotope. The first two digits represent the atomic number of the isotope; the next three indicate its mass number and the last digit indicates the excitation level of the nucleus (0 for a nucleus in its ground state, 1 for an isomer in its first exited state, etc.). For example, $^{238}$U in its ground state will be represented by \dusa{izae}=922380. \item[\moc{DECAY}] indicates that a decay reaction takes place either for production of this isotope or its depletion. \item[\dusa{dcr}] radioactive decay constant (in $10^{-8}$ s$^{-1}$) of the isotope. By default, \dusa{dcr}=0.0. \item[\dusa{reaction}] {\tt character*6} identification of a neutron-induced reaction that takes place either for production of this isotope, its depletion, or for producing energy. Example of reactions are following: \begin{ListeDeDescription}{mmmmmmmm} \item[\moc{NG}] indicates that a radiative capture reaction takes place either for production of this isotope, its depletion or for producing energy. \item[\moc{N2N}] indicates that the following reaction is taking place: $$ n +^{A}X_Z \to 2 n + ^{A-1}X_Z$$ \item[\moc{N3N}] indicates that the following reaction is taking place: $$ n +^{A}X_Z \to 3 n + ^{A-2}X_Z$$ \item[\moc{N4N}] indicates that the following reaction is taking place: $$ n +^{A}X_Z \to 4 n + ^{A-3}X_Z$$ \item[\moc{NP}] indicates that the following reaction is taking place: $$ n +^{A}X_Z \to p + ^AY_{Z-1}$$ \item[\moc{NA}] indicates that the following reaction is taking place: $$ n +^{A}X_Z \to ^4{\rm He}_2 + ^{A-3}X_{Z-2}$$ \item[\moc{NFTOT}] indicates that a fission is taking place. \end{ListeDeDescription} \item[\dusa{energy}] energy (in MeV) recoverable per neutron-induced reaction of type \dusa{reaction}. If the energy associated to radiative capture is not explicitely given, it should be added to the energy released per fission. By default, \dusa{energy}=0.0 MeV. \item[\moc{STABLE}] non depleting isotope. Such an isotope may produces energy by neutron-induced reactions (such as radiative capture). \item[\moc{FROM}] indicates that this isotope is produced from decay or neutron-induced reactions. \item[\moc{DECAY}] indicates that a decay reaction takes place for its production. \item[\dusa{yield}] branching ratio or production yield expressed in fraction. \item[\dusa{NAMPAR}] {\tt character*12} name of the a parent isotope (or isomer) that appears as a particularized isotope of the PMAXS file. \item[\moc{ENDCHAIN}] keyword to specify the end of the depletion chain. \end{ListeDeDescription} \clearpage