\subsection{The {\tt D2P:} module}\label{sect:D2PData}

The objective of the \moc{D2P:} module is to produce a file containing the macroscopic cross sections generated by the DRAGON5 lattice code and readable by the GenPMAXS software. This module makes possible the use of DRAGON-integrated XS into the PARCS core code. PARCS (\textit{Purdue Advanced Reactor Core Simulator}) from the U.S. NRC \cite{PARCS} is a full 3D core code for the simulation of nuclear reactor steady state and transient behavior, at a specific burnup state.
 
\vskip 0.08cm

The main objective of the \moc{D2P:} module is to produce an output file with which can be accepted by GenPMAXS to produce the PMAXS file. In order to minimize the development in the GenPMAXS code, the choice has been made to reproduce an existing format already accepted by GenPMAXS. The HELIOS output format has been selected. 
 
\vskip 0.08cm

A Microlib is extracted from a Saphyb (or Multicompo) obtained by DRAGON (or APOLLO) in a previous calculation. The \moc{D2P:} module extracts cross sections contained in this microlib and creates two files: 
\begin{itemize}
\item an input file needed by GenPMAXS to produce a PMAXS (extention ``\moc{.inp}")
\item a file containing data cross sections in HELIOS-like format (extention ``\moc{.dra}")
\end{itemize}

Note that the \moc{D2P:} module  is compatible with the last version of GenPMAXS (v6.1.3) and PARCS (v32m17 etc.).
 
\subsubsection{The PMAXS format}\label{sect:PMAXS}

The depletion capabilty of the PARCS code is reachable thanks to a specific format of cross section file, named PMAXS (\textit{Purdue Macrosocopic Cross Section File})\cite{GENPMAXS}. This format is generated using the GenPMAXS code, based on output files of several lattice codes such as HELIOS, CASMO, TRITON, WIMS, CONDOR and SERPENT. This module intend to add DRAGON in this list.
 
\vskip 0.08cm

The macroscopic cross sections are stored in the PMAXS file using partial derivatives as a function of state variables. Consequently the PMAXS format is  a multi-dimentional table including burnup dependance. This format is a flexible way to obtain a more or less accurate meshing of cross sections. In addition of burnup, the list of state variables around which PMAXS is built is the following:

\begin{enumerate}
\item {\tt CR}: control rod fraction
\item {\tt DC}: density of coolant
\item {\tt PC}: soluble poison concentration in coolant
\item {\tt TF}: temperature of fuel
\item {\tt TC}: temperature of coolant
\item {\tt IC}: impurity of coolant
\item {\tt DM}: density of moderator
\item {\tt PM}: soluble poison concentration in moderator
\item {\tt TM}: temperature of moderator
\item {\tt IM}: impurity of moderator
\item {\tt DN}: density difference between neighbor and current assembly
\item {\tt BN}: burnup difference between neighbor and current assembly
\end{enumerate}

These variables \textbf{should} be specified in this order. With the exception of burnup, each variable is optional. The following equation is used to compute a cross section $\Sigma$ in the PMAXS formalism (including 4 state variables), with \textit{r} the reference state and  \textit{m} the mid point between the reference state and the current node state $( CR, DC,\sqrt{TF},TC )$:

\begin{eqnarray*}
\Sigma ( CR, DC,\sqrt{TF},TC )\negthinspace\negthinspace&=& \negthinspace\negthinspace\Sigma^{r} ( DC^{r},\sqrt{TF}^{r},TC^{r} ) +
\Delta DC
 \left. {\partial \Sigma\over \partial DC} \right|_{(CR, DC^{m} ,\sqrt{TF}^{r},TC^{r})} + 
 \\
&~&\Delta \sqrt{TF}
 \left. {\partial \Sigma\over \partial \sqrt{TF}} \right|_{(CR, DC ,\sqrt{TF}^{m},TC^{r})}+
  \Delta TC
 \left. {\partial \Sigma\over \partial TC} \right|_{(CR, DC ,\sqrt{TF},TC^{m})}
\label{Eq_partial}
\end{eqnarray*}

The PMAXS formalism and the procedure branching generation are completely described in the GenPMAXS manual \cite{GENPMAXS}.

\vskip 0.08cm

The PMAXS file contains eight blocks, few of them are optional and others mandatory. A precise description of each block is proposed in the APPENDIX A of GenPMAXS manual \cite{GENPMAXS}. In this section, a short description of blocks is given.

\vskip 0.2cm

\noindent {\bf Block \moc{XS CONTROL information (mandatory)} }

The first block stores data reflecting the conditions in which cross sections are obtained and what kind of informations is contained in the PMAXS file. It is composed of five integers for the number of energy groups, of delay neuton groups etc. Then, fifteen logical flags indicates if the PMAXS contains the correponding data such as assembly discontinuity factor (ADF), Xe and Sm microscopic cross sections ... The block is ended by five lines of comments to be filled by the user.
\begin{verbatim}
GLOBAL_V       1  2 6 6 1 1 45 17 F F F F F F F F F F F F F F T 
 Contents of T/H Invariant Variables(TIV) block and Cross Sections(XS) block 
       TIV: 
        XS:tr,ab,nf,kf/sct/ 
 2  Group value of each variable are put together in a line. 
 Some variables(separated by ",") share a line,"/" means change line 
 Generated by GenPMAXS-V6.1.1 
\end{verbatim}

\vskip 0.2cm

\noindent {\bf Block \moc{BRANCHES information (optional)} }

This blocks identifies the state variables used for the branching and the correponding states for all branches.
\begin{verbatim}
STA_VAR    4 CR DC PC TF
BRANCHES   1   2   6  18  54
    RE   1     0.00000     0.71100  1000.00000   900.00000
    CR   1     1.00000     0.71100  1000.00000   900.00000
    CR   2     2.00000     0.71100  1000.00000   900.00000
    DC   1     0.00000     0.66100  1000.00000   900.00000
    DC   2     0.00000     0.75200  1000.00000   900.00000
    DC   3     1.00000     0.66100  1000.00000   900.00000
    DC   4     1.00000     0.75200  1000.00000   900.00000
    DC   5     2.00000     0.66100  1000.00000   900.00000
    DC   6     2.00000     0.75200  1000.00000   900.00000
    PC   1     0.00000     0.66100     0.00000   900.00000
    ...
\end{verbatim}
In this example, the PMAXS cross sections depend on 4 state variables: CR, DC, PC and TF. There are 2 branches for control rods, 6 for coolant density, 18 for boron concentration, and 54 for fuel temperature.

\vskip 0.2cm

\noindent {\bf Block \moc{BURNUP information (optional)} }

It contains the number of burnup sets and burnup points. Each cross sections will be repeated for each burnup points.
\begin{verbatim}
BURNUPS    1
   1  35 0.00000 0.00900 0.01900 0.07500 0.15000 0.50000 1.00000 2.00000 3.00000 
         4.00000 6.00000 8.00000 10.0000 12.0000 14.0000 16.0000 18.0000 20.0000  
         24.0000 28.0000 32.0000 36.0000 40.0000 44.0000 48.0000 52.0000 56.0000 
         60.0000 64.0000 68.0000 72.0000 76.0000 80.0000 84.0000 86.0000
\end{verbatim}
In the above example, one can observe a set of 35 burnup points from 0 to 86 GWd/t.

\vskip 0.2cm

\noindent {\bf Block \moc{XS SET identification (mandatory)} }

In this block, the geometrical configuration of core reactor is specified and also the number of ADF in each group, the number of rod rows and columns in whole assembly, the rod lattice pitch etc. Some of these parameters have default values
\begin{verbatim}
XS_SET  00000001  1 1 1 17 17 3 1.44270 0.72135 0.72135 2.78613 0.73659 0.00016 
        0.00000   0.00000
\end{verbatim}

\vskip 0.2cm

\noindent {\bf Block \moc{HISTORY CASE identification (mandatory)} }

This block describes the state variables values for all  histories contained in the PMAXS file. The first parameter refers to the burnup set.
\begin{verbatim}
HISTORYC   1     0.00000     0.71100  1000.00000   900.00000
\end{verbatim}

\vskip 0.2cm

\noindent {\bf Block \moc{T/H invariant variables (mandatory)} }

It contains invariant variables, if the corresponding logical flag in block \moc{XS CONTROL} is set to 'T'. The list of invariant variables, repeated for each burnup points, is:


\begin{itemize}
\item Chi spectra
\item Yield of I, Xe, and Sm
\item Beta of delayed neutron
\item Lambda of delayed neutron
\item Decay heat data
\end{itemize}
\begin{verbatim}
 1.00000E+00 0.00000E+00 5.13949E-08 2.17697E-06
 8.87406E-14 1.13375E-13 4.25558E-15
 2.68628E-04 1.43419E-03 1.39641E-03 3.23740E-03 1.43931E-03 5.99082E-04
 1.33535E-02 3.26045E-02 1.21056E-01 3.05531E-01 8.60559E-01 2.89034E+00
 ...
\end{verbatim}
This block contains the necessary information for 1 burnup point and for each energy group \moc{Chi,inV/YLD/Bet/Lam/}.

\vskip 0.2cm

\noindent {\bf Block \moc{XS data (mandatory)} }

Cross sections in PMAXS file are listed for each burnup point and for each neutron energy group. Some cross sections are optional (see table below)
 
\vskip 0.2cm

\noindent
\begin{tabular}{|p{2cm}|p{11cm}|p{2cm}|}
\hline
\multicolumn{3}{|c|}{\bf XS data block} \\
\hline
{\tt STR} & {\it Transport cross section} & mandatory \\
\hline
{\tt SAB} & {\it Absorption cross section} & mandatory  \\
\hline
{\tt SNF} & {\it Nu-fission cross section} & mandatory  \\
\hline
{\tt SKF} & {\it Kappa-fission cross section} & mandatory  \\
\hline
{\tt XENG} & {\it Microscopic capture cross section of Xenon} & optional  \\
\hline
{\tt SMNG} & {\it Microscopic capture cross section of Samarium} & optional  \\
\hline
{\tt SFI} & {\it Fission cross section } & optional  \\
\hline
{\tt DET} & {\it Detector response parameter} & optional  \\
\hline
{\tt SCT} & {\it Scattering cross section} & mandatory  \\
\hline
{\tt ADF} & {\it Assembly discontinuity factor} & optional  \\
\hline
{\tt DED} & {\it Direct energy deposition} & optional  \\
\hline
{\tt J1} & {\it J1 factors} & optional  \\
\hline
{\tt CDF} & {\it Corner discontinuity factor} & optional  \\
\hline
{\tt GFF} & {\it Group-Wise form function} & optional  \\
\hline
\end{tabular}

\subsubsection{General format of the module}

The \moc{D2P:} module can perform a sequence of phases related to the generation of a cross section format readable by GenPMAXS :
\begin{itemize}
\item PHASE 1 : recover input data from Saphyb and create output files
\begin{enumerate}
\item recover information from a Saphyb file,
\item store general information in output file,
\item generate the GenPMAXS input file
\end{enumerate}
\item PHASE 2 : recover crosss section from microlib thanks to the \moc{SCR:} (or \moc{NCR:}) module and store in memory,
\item PHASE 3 : store cross sections in output file.
\end{itemize}


\noindent
The general format of the data for the \moc{D2P:} module is the following:

\begin{DataStructure}{Structure \moc{\textbf{D2P:}}}

$\lbrace$
 \dusa{PROC} \dusa{INF} \moc{:=\textbf{D2P}:} \dusa{INF} $\lbrace$ \dusa{SAP} $\vert$  \dusa{MCO} $ \rbrace$ \moc{::} \moc{PHASE} \dusa{1} $[$ \moc{EDIT} \dusa{iprint} $]$ \moc{(\textbf{descphase1})}\\
$\vert$
 \dusa{GEN}  \dusa{HEL}  \dusa{INF}  \moc{:=\textbf{D2P}:}  \dusa{MIC} \dusa{INF}  $\lbrace$ \dusa{SAP} $\vert$  \dusa{MCO} $ \rbrace$  \moc{::} \moc{PHASE} \dusa{2} $[$ \moc{EDIT} \dusa{iprint} $]$\\
$\vert$
 \dusa{HEL}  \dusa{GEN}  \dusa{INF}  \moc{:=\textbf{D2P}:}  \dusa{INF}  \dusa{GEN}  \dusa{HEL}  \moc{::}  \moc{PHASE} \dusa{3} $[$ \moc{EDIT} \dusa{iprint} $]$\\
$\rbrace$
\end{DataStructure}
In the DRAGON formalism, the Left-Hand-Side (LHS) is dedicated to the objects created or modified by the module, the Right-Hand-Side (RHS) is used for input objects, all parameters are passed to the module after the "::" delimiter .

\noindent where

\begin{ListeDeDescription}{mmmmmmmm}
\item[\dusa{HEL}] \texttt{ascii file} Output file with HELIOS-like format, compulsory if  \dusa{iphase}= 1 (in creation mode) or if \dusa{iphase}=3 (in modification mode).

\item[\dusa{GEN}] \texttt{ascii file} Input file for running GenPMAXS,  compulsory if  \dusa{iphase}= 1 (in creation mode) or if \dusa{iphase}=2 or 3 (in modification mode)

\item[\dusa{INF}]\texttt{LCM object} Block of data for the dialogue between different sequence of operations.

\item[\dusa{SAP}] Saphyb object with cross sections to be extracted,compulsory if  \dusa{iphase}= 1 or 2.

\item[\dusa{MCO}] Multicompo object with cross sections to be extracted,compulsory if  \dusa{iphase}= 1 or 2.

\item[\dusa{MIC}] microlib object with cross sections for one burnup point,compulsory if  \dusa{iphase}= 2.

\item[\dusa{PROC}] \texttt{ascii file} data set automoatically created by \moc{:=\textbf{D2P}:} and used for execution of \moc{PHASE}=2  and \moc{PHASE}=3.

\item[\moc{PHASE}] keyword used to set \dusa{iphase}.

\item[\dusa{iph}]integer index used to control the current phase of \moc{D2P:} module

\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 (default value) ; = 1 for minimum printing ; for larger values of
\dusa{iprint} everything will be printed.

\item[\moc{(\textbf{descphase1})}] input data structure for PHASE 1 of this module
\end{ListeDeDescription}

NB : The complete sequence of execution of the \moc{:=\textbf{D2P}:} module should be performed in two separate data files.The first execution is dedicated to \moc{PHASE}=1 and then, 
at the end of this step, a second data file is automatically generated by the module to run \moc{PHASE}=2 and \moc{PHASE}=3.

\vskip 0.08cm

In the case where the current PHASE of the \moc{D2P:} module is \dusa{iphase=1}, the (\moc{\textbf{descphase1}}) takes the form:

\begin{DataStructure}{Structure (\moc{\textbf{descphase1}})}
$[$ \moc{NAMDIR} \dusa{mixdir} $]$ $[$ \moc{MIX} \dusa{imix} $]$ \\
$[$ \moc{TEMP}  \dusa{htemp}  $]$ \\
$[$ \moc{PKEY} (\dusa{refnam(i)} \dusa{sapnam(i)}, i=1, npkey) \moc{ENDPKEY} $]$ \\
$[$ \moc{OTHER}   \dusa{noth} (\dusa{othpk(i) othtyp(i) othval(i)}, i=1, noth) $]$ \\
$[$ \moc{ADF} $[$  \moc{MERGE} $]$ $\lbrace$  \moc{DRA} \dusa{nadf} \dusa{(hadf(i), i=1,nadf)} $\vert$ \moc{GET} $\vert$ \moc{SEL}$ \rbrace$ $]$\\
$[$ \moc{CDF} \moc{DRA} \dusa{ncdf} \dusa{(hcdf(i), i=1,ncdf)}  $]$ \\
$[$ \moc{GFF} \moc{DRA} $]$ \\
\moc{FUEL}  $\lbrace$ \\ \moc{BARR} $ \lbrace$ \moc{DEF}  \dusa{unrodded} \dusa{aicg} \dusa{aicn} $\vert$  \moc{USER} \dusa{unrodded} \dusa{(compo(i),i=1,ncompo)} \moc{ENDBARR} $ \rbrace$\\
$[$ \moc{GRID}$ \lbrace$\moc{SAP}$\vert$\moc{DEF}$\vert$\\
\moc{USER} $ \lbrace$ \moc{GLOBAL} \dusa{(pkey(i),nval(i), i=1,npkey)} \moc{ENDGLOBAL} $\vert$\\
$[$ \moc{NEW} $]$ \moc{ADD}  \dusa{(pkey(i),nval(i),(val(j),j=1,nval(i)),i=1,npkey)} \moc{ENDADD}
$\rbrace$ 
 $\rbrace$ 
$\rbrace$ $]$  \\
$[$ \moc{ISOTOPES} $\lbrace$ $[$ \moc{XE135} \dusa{xenam} $]$ 
$[$ \moc{SM149} \dusa{smnam} $]$
$[$ \moc{I135} \dusa{inam} $]$
$[$ \moc{PM147} \dusa{pm47nam} $]$
$[$ \moc{ND147} \dusa{nd47nam} $]$ \\
$[$ \moc{PM149} \dusa{pmnam} $]$
$[$ \moc{PM148} \dusa{pm48nam} $]$
$[$ \moc{PM148M} \dusa{pm48mnam} $]$
$[$ \moc{PM149} \dusa{pmam} $]$
$\rbrace$ \moc{ENDISOTOPES} $]$ \\ 
$[$ \moc{DET} \moc{hdet} $]$ \\
$[$ \moc{YLD} $[$ \moc{COR} $]$ $\lbrace$ \moc{REF} $\vert$ \moc{MAN}  \dusa{(refnam(i),val(i), i=1,npkey) \moc{ENDMAN} }
$\vert$ \moc{FIX} \dusa{yldi} \dusa{yldxe} \dusa{yldpm} $\rbrace$ $]$  \\
$\rbrace$ \\

$\vert$ \moc{REFLECTOR} \\
\moc{HELIOS}  $[$  \\
\hspace{0.2cm}$[$ \moc{FILE$\_$CONT$\_$1} \dusa{ncols nrows part hm$\_$dens bypass} $]$ \\
\hspace{0.2cm}$[$ \moc{FILE$\_$CONT$\_$2} \dusa{(emin(g), g=1,ngroup)} $]$ \\
\hspace{0.2cm}$[$ \moc{FILE$\_$CONT$\_$3} \dusa{vcool vwatr vmodr vcnrd vfuel vclad vchan} $]$ \\
\hspace{0.2cm}$[$ \moc{FILE$\_$CONT$\_$4} \dusa{pitch xbe ybe} $]$ \\
\hspace{0.2cm}$[$ \moc{XS$\_$CONT} \dusa{nside ncorner vfcm} $]$ $]$ \\
\moc{GENPMAXS}  $[$  \\
\hspace{0.2cm}$[$ \moc{JOB$\_$TIT} \dusa{jobtit} $]$ \\
\hspace{0.2cm}$[$ \moc{FILE$\_$NAME} \dusa{fname} $]$ \\
\hspace{0.2cm}$[$ \moc{DERIVATIVE} \dusa{der} $]$ \\
\hspace{0.2cm}$[$ \moc{VERSION} \dusa{vers} $]$ \\
\hspace{0.2cm}$[$ \moc{COMMENT} \dusa{comment} $]$  \\
\hspace{0.2cm}$[$ \moc{JOB$\_$OPT} \dusa{ladf   lxes   lded   lj1f   lchi lchd   linv   ldet   lyld   lcdf lgff   lbet   lamb   ldec} $]$  \\
\hspace{0.2cm}$[$ \moc{IUPS} \dusa{iups} $]$  \\
\hspace{0.2cm}$[$ \moc{SFAC} \dusa{sfac} $]$  \\
\hspace{0.2cm}$[$ \moc{BFAC} \dusa{bfac} $]$  \\
\hspace{0.2cm}$[$ \moc{XESM} \dusa{xesmopt} $]$  $]$  \\
\moc{PROC}  $[$  \\
\hspace{0.2cm}$[$ \moc{MEMO} $]$ \\
\hspace{0.2cm}$[$ \moc{MASL} \dusa{hmasl} $]$ \\
\hspace{0.2cm}$[$ \moc{EQUI} \dusa{hequi} $]$ \\
\hspace{0.2cm}$[$ \moc{ISOT} $\lbrace$ \dusa{*} $\vert$ \dusa{isotval} $\rbrace$ $~]~]$ \\


\end{DataStructure}
\noindent where

\begin{ListeDeDescription}{mmmmmmmm}

\item[\moc{NAMDIR}] keyword used to set \dusa{mixdir}  .

\item[\dusa{mixdir}] name of sub-directory in Multicompo containing information to be recovered.  Default \dusa{mixdir} = \dusa{'default'}.

\item[\moc{MIX}]keyword used to set \dusa{imix}

\item[\dusa{imix}] index of the mixture in the \dusa{SAP} object which will be considered by the module. Default \dusa{imix}=1.

\item[\moc{TEMP}] keyword used to set \dusa{htemp}

\item[\dusa{htemp}] unit for the temperature variables used in the \dusa{SAP}. Two units are possible \dusa{htemp}=\dusa{'C'} or \dusa{htemp}=\dusa{'K'}. Default \dusa{htemp}=\dusa{'C'}.
\item[\moc{PKEY}]  keyword used to associate a name of PKEY in the \moc{SAP} object to a type of state variable.

\item[\dusa{refnam}]  type of state variable. The possible \dusa{refnam} are :  \moc{BARR} for the control rod (-), \moc{DMOD} for the density of coolant (g/cc), \moc{CBOR} for the boron concentration (ppm),  \moc{TCOM} for the fuel temperature (C), \moc{TMOD} for the moderator temperature (C),  \moc{BURN} for the burnup exposure (MWd/T). It is not necessary to specify all state variable names, only state variables with a different name compared to \dusa{refnam} are expected.

\item[\dusa{sapnam}]  name of state variable in the \moc{SAP} object associated to \dusa{refnam} . Default values are \dusa{sapnam}=\dusa{refnam}. 
NB: If a state variable name is not correctly associated, an error will occur during processing.

\item[\moc{OTHER}]  keyword used to associate a name of variable in the \moc{SAP} object to a kind of state variable other than the ones defined in \moc{PKEY}.

\item[\dusa{noth}]  number of variable wich are not defined in with \moc{PKEY} but present in the \moc{SAP} object (\dusa{'FLUE'} and \dusa{'TIME'} exepted). No default.

\item[\dusa{othpk}]  name of the other variable. No default.

\item[\dusa{othtyp}]  type of the other variable (REAL STRING or INTEGER). \dusa{othtyp}=\dusa{R,S or I}. No default.

\item[\dusa{othval}]  value of the other variable . This value is fixed for in the rest of the execution. No default.
\item[\moc{FUEL}] keyword used to indicate that the input \dusa{SAP} object contains cross sections for fuel assembly .

\item[\moc{BARR}]  keyword used to associate an index of control rod in the \dusa{SAP} object to an index composition in PMAXS.

\item[\dusa{unrodded}] index of control rod in the \moc{SAP} object for the unrodded cross section. No default.

\item[\dusa{aicg}] index of control rod in the \moc{SAP} object for the aicg cross section. No default.

\item[\dusa{aicn}] index of control rod in the \moc{SAP} object for the aicn cross section. No default.

\item[\dusa{compo}] index of control rod in the \moc{SAP} object for the composition i.No default. 

\item[\moc{ISOTOPES}]  keyword used to associate a name of isotope in the \moc{SAP} object to a specific isotope.

\item[\moc{XE135}]  keyword used to indicate that the following record correponds to the name of Xe 135 in the \moc{SAP} object .

\item[\dusa{xenam}]  name of Xe 135 isotope in the \moc{SAP} (or \moc{MCO})   object. Default \dusa{xenam} = 
\dusa{'XE135PF'}.

\item[\moc{SM149}]  keyword used to indicate that the following record correponds to the name of Sm 149 in the \moc{SAP} (or \moc{MCO})   object .

\item[\dusa{smnam}]  name of Xe 135 isotope in the \moc{SAP} (or \moc{MCO})   object. Default \dusa{smnam} = 
\dusa{'SM149PF'}.

\item[\moc{I135}]  keyword used to indicate that the following record correponds to the name of I 135 in the \moc{SAP} (or \moc{MCO})   object .

\item[\dusa{inam}]  name of Xe 135 isotope in the \moc{SAP} (or \moc{MCO})   object. Default \dusa{inam} = 
\dusa{'I135PF'}.

\item[\moc{PM149}]  keyword used to indicate that the following record correponds to the name of Pm 149 in the \moc{SAP} (or \moc{MCO})   object .

\item[\dusa{pmnam}]  name of Pm 149 isotope in the \moc{SAP} (or \moc{MCO})   object. Default \dusa{pmnam} = 
\dusa{'PM149PF'}.

\item[\moc{PM147}]  keyword used to indicate that the following record correponds to the name of Pm 147 in the \moc{SAP} (or \moc{MCO})   object .

\item[\dusa{pm47nam}]  name of Pm 147 isotope in the \moc{SAP} (or \moc{MCO})   object. Default \dusa{pm47nam} = 
\dusa{'PM147PF'}.

\item[\moc{ND147}]  keyword used to indicate that the following record correponds to the name of Nd 147 in the \moc{SAP} (or \moc{MCO})   object .

\item[\dusa{nd47nam}]  name of Nd 147 isotope in the \moc{SAP} (or \moc{MCO})   object. Default \dusa{nd47nam} = 
\dusa{'ND147PF'}.


\item[\moc{PM148}]  keyword used to indicate that the following record correponds to the name of Pm 148 in the \moc{SAP} (or \moc{MCO})   object .

\item[\dusa{pm47nam}]  name of Pm 148 isotope in the \moc{SAP} (or \moc{MCO})   object. Default \dusa{pm48nam} = 
\dusa{'PM148PF'}.

\item[\moc{PM148M}]  keyword used to indicate that the following record correponds to the name of Pm 148m in the \moc{SAP} (or \moc{MCO})   object .

\item[\dusa{pm48mnam}]  name of Pm 148m isotope in the \moc{SAP} (or \moc{MCO})   object. Default \dusa{pm48nam} = 
\dusa{'PM148MPF'}.

\item[\moc{GRID}] keyword used to select the grid of state variables used for the branching generation of the \moc{PMAXS} file.

\item[\moc{SAP}] keyword used to indicate that the meshing is the one used in the \moc{SAP} (or \moc{MCO})   object. Default option.

\item[\moc{USER}] keyword used to indicate that the meshing is defined by the user.

\item[\moc{GLOBAL}] keyword used to set a global meshing by defining for each desired  state variables a number of points for the branching calculation.

\item[\moc{ADD}] keyword used to add a set of new points for the branching calculation. The new points are added to the meshing contained in the \moc{SAP} (or \moc{MCO})   object.

\item[\moc{NEW}] keyword used to indicate that the points contained in the \moc{SAP} (or \moc{MCO})   object are ignored, consequently only the set of points indicated using \moc{ADD} will be considered for the branching calculation.

\item[\dusa{pkey}] name of the state variable. If \dusa{pkey} does not correpond to any name in the \moc{SAP} (or \moc{MCO})   object, it will be ignored.  It is not necessary to set all state variable contained in \moc{SAP} (or \moc{MCO})  , if a state variable is missing, the \moc{SAP} (or \moc{MCO})   meshing for this state variable will be considered. NB : the BARR parameter cannot be modified by the user.

\item[\dusa{nval}] number of points for the state variable \dusa{pkey}. In the case \moc{GLOBAL}, the \dusa{nval} points are obtained by splitting the pkey range from the first to the last values contained in the  \moc{SAP} (or \moc{MCO})   object, otherwise it corresponds to the number of new points to be introduced in the meshing.

\item[\dusa{val}] value to be added in the branching calculation corresponding to the \dusa{pkey(i)}. In the case where \dusa{pkey(i)} is \moc{TCOM} or \moc{TMOD}, the temperature must be in Celsius.

\item[\moc{DEF}] keyword used to call a default meshing : the values for \moc{BARR} and \moc{BURN} are extracted from Saphyb, four default values are considered for \moc{DMOD},\moc{CBOR}, \moc{TCOM} and \moc{TMOD}  (if exists). These values correspond to the first, mid and last values of the initial \moc{SAP} (or \moc{MCO})   meshing. This otpion is used if the number of banches in the Saphyb or defined by the user exceeds 1000.

\item[\moc{ADF}] keyword used to set the type of Assembly Discontonuity Factor to be recovered from the \moc{SAP} (or \moc{MCO})   object. NB : the \dusa{ladf} flag must be set to true. 

\item[\moc{MERGE}] the Assembly Discontinuity Factors are inserted in the cross sections

\item[\moc{DRA}] Discontinuity factors are generated using the \textit{DRAGON V5} procedure. Discontinuity factors could be Assembly Discontinuity Factors (ADF), Corner Discontinuity Factors (CDF) or Group-wise Form Function (GFF).  Default option.  NB: This option is available with Multicompo produced by the \textit{DRAGON V5} lattice code using a 2-level flux calculation with the Method Of Characteristics.

$$
{\rm ADF}_{g,f} = {\phi _{g}^{Het}\over \phi _{g}^{Hom}} ,
$$

where $g$ is the energy group, $f$, the assembly surface and $\phi _{g}^{Het}$,$\phi _{g}^{Hom}$ are the average surfacic homogene and heterogene fluxes in asssembly.


\item[\moc{GET}] Assembly discontinuity factors are generated using the \textit{Generalized Equivalence Theory}. NB: This option is available with Saphyb produced by the \textit{APOLLO2} lattice code using a 2-level flux calculation with the Method of Characteristics.

$$
{\rm ADF}_{g,f} = {\phi _{g}^{Het}\over \left({\pm J_{g}^{Net} \times h \over 2 \times  D _{g}}\right) + \phi_{g}^{Hom}} ,
$$

where $g$ is the energy group, $f$, the assembly surface, $\phi _{g}^{Het}$,$\phi _{g}^{Hom}$ are the homogene and heterogene fluxes in asssembly,$D _{g}$ , the diffusion coefficient, $h$ the  mesh dimension and $J_{g}^{Net}$ the net average surfacic current. 
 
\item[\moc{SEL}] Assembly discontinuity factors are generated using the \textit{Selengut} normalization. This option is available with Saphyb prduced by the \textit{APOLLO2} lattice code using a 2-level flux calculation with the Method of Characteristics.

$$
{\rm ADF}_{g,f} = {2 \times \left( J_{g}^{+} + J_{g}^{-} \right) \over \left({\pm J_{g}^{Net} \times h \over 2 \times D _{g}}\right) + \phi _{g}^{Hom}} ,
$$

where $g$ is the energy group, $f$, the assembly surface,$\phi _{g}^{Hom}$ is the homogene fluxe in asssembly, $D _{g}$ , the diffusion coefficient,$h$ the  mesh dimension and $J _{g}^{+}$, $J _{g}^{-}$, $J _{g}^{Net}$ the incoming, outgoing, and net average surfacic currents. 

\item[\dusa{nadf}] number of the ADF-type boundary flux edit to be recovered from Multicompo. Allowed values \dusa{nadf} = 1 or 4.

\item[\dusa{hadf}] name of the ADF-type boundary flux edit to be recovered from Multicompo. Default all \dusa{hadf} = \dusa{$'FD\_B    '$}. In case \dusa{nadf}=4, the ADF values correspond to the following sides of the assembly: \#1 for North , \#2 for East, \#3 for South  and \#4 for West. (same order as the SAPHYB)

\item[\moc{CDF}] keyword used to set the type of Assembly Discontonuity Factor to be recovered from the \moc{SAP} (or \moc{MCO})   object. NB : the \dusa{ladf} flag must be set to true. 

\item[\dusa{ncdf}] number of the CDF-type boundary flux edit to be recovered from Multicompo. Allowed values \dusa{nadf} = 1 or 4.

\item[\dusa{hcdf}] name of the CDF-type boundary flux edit to be recovered from Multicompo. Default all \dusa{hadf} = \dusa{$'FD\_C    '$}. In case \dusa{ncdf}=4, the CDF values correspond to the following corner of the assembly: \#1 for North-West, \#2 for South-West, \#3 for South-East and \#4 for North-East.

\item[\moc{GFF}] keyword used to set the type of Group Form Factor to be recovered from the \moc{MCO}  object. NB : the \dusa{lgff} flag must be set to true. In case of symmetry (\dusa{part}$\ge$2), the numbering is different with the PARCS version (numbering as for CASMO starting from v3.2m18). 

\item[\moc{DET}] keyword to set the name of the particularised isotope in which detector cross sections are to be recovered. 

\item[\dusa{hdet}] name of the particularised isotopes containing detector information. No default. 

\item[\moc{YLD}] keyword used to set the type of fission yields to be recovered from the \moc{SAP} (or \moc{MCO})   object. NB : the \dusa{lyld} flag must be set to true.

\item[\moc{COR}] keyword used to correct the PM149 fission yield. The correction applied include the contribution of PM148 and PM148M in the production of SM149 (normally not taken into account in the PARCS depletion chain). The correction is :

${\rm \gamma}_{PM} \Rightarrow {\rm \gamma}_{PM} \times \left[ 1+  \left(  \sum_{g} N^{PM148}\sigma^{PM148}_{g}\Phi_{g}+N^{PM148M}\sigma^{PM148M}_{g}\Phi_{g}\over 
{\rm \gamma}_{PM} \sum_{g}\Sigma^{f}_{g}\Phi_{g}\right)   \right] $

This correction is recommanded for comparison with other core codes or with expérimental data. The Pm148 adn Pm148M need to be particularized in the SAP $\vert$ MCO object (\moc{ISOTOPES} keyword to set isotopes names).

\item[\moc{REF}] keyword used to indicate that fission yields are recovered from the reference branch calculation. 

\item[\moc{MAN}] keyword used to indicate that fission yields are fixed by the user according to the local conditions specified.

\item[\moc{FIX}] keyword used to indicate that fission yields are fixed for all local conditions including burnup.

\item[\dusa{yldi}] value for the iodine fission yield. Default: \dusa{yldi}=0.06386.

\item[\dusa{yldxe}] value for the xenon fission yield. Default: \dusa{yldxe}=0.00228.

\item[\dusa{yldpm}] value for the promethium fission yield. Default: \dusa{yldpm}=0.0113.

\item[\moc{REFLECTOR}] keyword used to indicate that the input \dusa{SAP} object contains cross sections for reflector.

\item[\moc{HELIOS}] keyword used to indicate that the input data for the \dusa{HEL} file will be set by the user.

\item[\moc{FILE$\_$CONT$\_$1}]  keyword used to set the \moc{FILE$\_$CONT$\_$1} block. See Ref.~\citen{GENPMAXS}.

\item[\dusa{ncols}] number of rod columns. Default: \dusa{ncols}=17.

\item[\dusa{nrows}] number of rod rows. Default: \dusa{nrows}=17.

\item[\dusa{part}] index for computed part of assembly (0/1/2/3 : whole/half/quarter/eight). By
default, \dusa{part}=3.

\item[\dusa{hm$\_$dens}] initial heavy metal density ($g.cm^{-3}$). By
default, \dusa{hm$\_$dens}=2.78613. The initial heavy metal density can be computed as follow :

$$
\dusa{hm$\_$dens}=\left( d_{fuel}\times \pi \times r_{pellet} \times n_{pellet} \over \left( pitch \times nrows \right)^{2} \right) \times \left( m_{hm} \over m_{fuel }\right)
$$

where $d_{fuel}$ is the fuel density, $r_{pellet}$ the radius of fuel pellet, $n_{pin}$ the number of fuel rods, $pitch$ the rod lattice pitch, $nrows$ the number of rows in whole assembly,  $m_{hm}$ the mass of heavy metal, and $m_{fuel}$ the total mass of fuel.

\item[\dusa{bypass}] the saturated moderator density ($g.cm^{-3}$). By
default, \dusa{bypass}=0.73659.

\item[\moc{FILE$\_$CONT$\_$2}]  keyword used to set the lower energy limits of neutron groups.

\item[\dusa{emin}] lower energy limits of neutron groups. Default: \dusa{emin}=$\lbrace$ 6.2506E-01,1E-04 $\rbrace$

\item[\moc{FILE$\_$CONT$\_$3}]  keyword used to set the \moc{FILE$\_$CONT$\_$3} block (volume of regions). See Ref.~\citen{GENPMAXS}.
\item[\dusa{vcool}] volume of coolant. Default: \dusa{vcool}=2.4921E+02.

\item[\dusa{vwatr}] volume of water. By
default, \dusa{vwatr}=0.0000E+00.

\item[\dusa{vmodr}] volume of moderator. Default: \dusa{vmodr}=2.4921E+02.

\item[\dusa{vcnrd}] volume of control rods. By
default, \dusa{vcnrd}=2.3020E+01.

\item[\dusa{vfuel}] volume of fuel. By
default, \dusa{vfuel}=1.4407E+02 .

\item[\dusa{vclad}] volume of cladding. By
default, \dusa{vclad}=4.5099E+01.

\item[\dusa{vchan}] volume of channel. By
default, \dusa{vchan}=4.5099E+01.

\item[\moc{FILE$\_$CONT$\_$4}]  keyword used to set the \moc{FILE$\_$CONT$\_$4} block. See Ref.~\citen{GENPMAXS}.
\item[\dusa{pitch}] rod lattice pitch (cm). Default: \dusa{pitch}=1.44270E+00.

\item[\dusa{xbe}] starting position of first column rods (cm), i.e. water gap thickness. By
default, \dusa{xbe}=7.21350E-01.

\item[\dusa{ybe}] starting position of first row rods (cm), i.e. water gap thickness. By
default, \dusa{ybe}=7.21350E-01.

\item[\moc{XS$\_$CONT}]  keyword used to set the \moc{XS$\_$CONT} block. See Ref.~\citen{GENPMAXS}.
\item[\dusa{nside}] number of sides in assembly. Default: \dusa{nside}=1.

\item[\dusa{ncorner}] number of corners in assembly. By
default, \dusa{ncorner}=1.

\item[\dusa{vfcm}]  value of vfcm . By
default, \dusa{vfcm}=5.32151E-01.

\item[\moc{GENPMAXS}]keyword used to indicate that the input data for the \dusa{GEN} file will be set by the user.

\item[\moc{JOB$\_$TIT}]   keyword used to set \dusa{jobtit}

\item[\dusa{jobtit}] \texttt{character*16} name of the PMAXS file created by the \moc{D2P:} module. Default: \dusa{jobtit}='\moc{D2P.PMAX}'

\item[\moc{FILE$\_$NAME}]   keyword used to set \dusa{fname} .

\item[\dusa{fname}] \texttt{character*12} name of the HELIOS-like file (\dusa{HEL}) created by the \moc{D2P:} module. Default: \dusa{fname}='\moc{HELIOS.dra}'

\item[\moc{DERIVATIVE}]   keyword used to set \dusa{der}.

\item[\dusa{der}] \texttt{character} (T/F) type of data in non-reference branches of output PMAXS file. If \dusa{der}='\moc{T}', data are partial derivatives, otherwise it is raw cross sections. Default: \dusa{der}='\moc{T}'.

\item[\moc{VERSION}]   keyword used to set \dusa{vers}.

\item[\dusa{vers}] the version of PARCS which will be used. If \dusa{vers}$\geq$2.705, generate PMAXS for PARCS 2.71 or later versions, otherwise it is for PARCS 2.7 or earlier versions. Default: \dusa{vers}=3.0. The version number is as follows: v3.2m17 \dusa{vers}=3.217

\item[\moc{COMMENT}]   keyword used to set a comment line.

\item[\dusa{comment}] \texttt{character*40} Comment line for the user. Default: \dusa{comment}='\moc{PWR CASE : UOX/MOX CORE FUEL}'.

\item[\moc{JOB$\_$OPT}]   keyword use to set logical flags, it indicates write or not write correponding data into PMAXS file. If the flag is '\moc{F}', default values given in Ref.~\citen{GENPMAXS}, will be used in PARCS. For reflector case, all flags will be forced to '\moc{F}', except for \dusa{ladf} and \dusa{linv}.

\item[\dusa{ladf}] \texttt{character} (T/F) assembly discontinuity factor. Default: \dusa{ladf}='\moc{F}'.

\item[\dusa{lxes}] \texttt{character} (T/F) microscopic cross section of Xe and Sm. Default: \dusa{lxes}='\moc{F}'.

\item[\dusa{lded}] \texttt{character} (T/F) direct energy deposition fraction. Default: \dusa{lded}='\moc{F}'.

\item[\dusa{lj1f}] \texttt{character} (T/F) J1 factor for minimal critical power ratio. Default: \dusa{lj1f}='\moc{F}'.

\item[\dusa{lchi}] \texttt{character} (T/F) fission spectrum. Default: \dusa{lchi}='\moc{F}'.

\item[\dusa{lchid}] \texttt{character} (T/F) delay neutron fission spectrum. Default: \dusa{lchid}='\moc{F}'.

\item[\dusa{linv}] \texttt{character} (T/F) inverse neutron velocity. Must be '\moc{T}' for transient. Default: \dusa{linv}='\moc{F}'. 

\item[\dusa{ldet}] \texttt{character} (T/F) Detector response. Default: \dusa{ldet}='\moc{F}'.

\item[\dusa{lyld}] \texttt{character} (T/F) yield values of I, Xe,and Pm. Default: \dusa{lyld}='\moc{F}'.

\item[\dusa{lcdf}] \texttt{character} (T/F) corner discontinuity factor. Default: \dusa{lcdf}='\moc{F}'.

\item[\dusa{lgff}] \texttt{character} (T/F) group wise power form function. Default: \dusa{lgff}='\moc{F}'.

\item[\dusa{lbet}] \texttt{character} (T/F) Beta of delayed neutron. Default: \dusa{lbet}='\moc{F}'.

\item[\dusa{lamb}] \texttt{character} (T/F) Lambda of delayed neutron. Default: \dusa{lamb}='\moc{F}'.

\item[\dusa{ldec}] \texttt{character} (T/F) Decay heat beta and lambda. Default: \dusa{ldec}='\moc{F}'.

\item[\moc{IUPS}]   keyword used to set the treatment for up-scattering.

\item[\dusa{iups}] (0/1) 0: keep up scatter XS, 1: remove up scatter XS, modify down scatter XS with with infinite medium spectrum. Default:\dusa{iups}=0.  

$$
\Sigma^{'}_{s,g \longleftarrow g'}=\Sigma^{'}_{s,g \longleftarrow g'}-\Sigma^{'}_{s,g' \longleftarrow g} \times {\phi _{g}\over\phi _{g'}}
$$
for $g'<g$

where $\phi _{g},\phi _{g'}$ are the spectra flux either provided by DRAGON or infinite spectra computed in GenPMAXS.

\item[\moc{SFAC}]  keyword used to set \dusa{sfac}. See Ref.~\citen{GENPMAXS}.
\item[\dusa{sfac}] the scattering cross section factor. If \dusa{sfac} is different from 1, then the scattering cross section will be multiplied by \dusa{sfac}. Default: \dusa{sfac}=1.0.
\item[\moc{BFAC}]  keyword used to set \dusa{bfac}. See Ref.~\citen{GENPMAXS}.
\item[\dusa{bfac}] the multiplier for betas. If \dusa{bfac} is different from 1, then the betas will be multiplied by \dusa{bfac}. Default: \dusa{bfac}=1.0.
\item[\moc{XESM}]  keyword used to set \dusa{xesmopt}. See Ref.~\citen{GENPMAXS}.
\item[\dusa{xesmopt}] Compare k-inf in genpmaxs using 1:Pm/Sm data, 2: I/Xe data, 3: I/Xe/Pm/Sm data
\item[\moc{PROC}] keyword used to create automatically the second data set needed to the complete execution of the module.
\item[\moc{MEMO}] keyword used to store in the \dusa{SAP} object in memory. If the size of the object is important this option is recommended.
\item[\moc{EQUI}]   keyword used to select a SPH factor set in the Saphyb. By default, the cross sections
and diffusion coefficients are not SPH-corrected.
\item[\dusa{hequi}]  user-defined keyword used in the saphyb for the SPH factor. This set is stored as local parameter information in the Saphyb.
\item[\moc{MASL}]    keyword used to select a heavy metal density in the Saphyb. 
\item[\dusa{hmasl}]  user-defined keyword used in the saphyb for the heavy metal density. This set is stored as local parameter information in the Saphyb.
\item[\moc{ISOT}]    keyword used to select a heavy metal density in the Saphyb. 
\item[\dusa{*}]  the value of the number density for all isotopes is recovered from the saphyb object.
\item[\dusa{isotval}] user-defined value of the number density (in $10^{24}$ particles per $cm^{-3}$ ). This value is fixed for all particularised isotopes other than Xenon-135 and Samarium-149.
\end{ListeDeDescription}

\clearpage
