diff options
| author | stainer_t <thomas.stainer@oecd-nea.org> | 2025-09-08 13:48:49 +0200 |
|---|---|---|
| committer | stainer_t <thomas.stainer@oecd-nea.org> | 2025-09-08 13:48:49 +0200 |
| commit | 7dfcc480ba1e19bd3232349fc733caef94034292 (patch) | |
| tree | 03ee104eb8846d5cc1a981d267687a729185d3f3 /doc/IGE351/SectDsaphyb.tex | |
Initial commit from Polytechnique Montreal
Diffstat (limited to 'doc/IGE351/SectDsaphyb.tex')
| -rw-r--r-- | doc/IGE351/SectDsaphyb.tex | 783 |
1 files changed, 783 insertions, 0 deletions
diff --git a/doc/IGE351/SectDsaphyb.tex b/doc/IGE351/SectDsaphyb.tex new file mode 100644 index 0000000..a0b1536 --- /dev/null +++ b/doc/IGE351/SectDsaphyb.tex @@ -0,0 +1,783 @@ +\section{Contents of a \dir{saphyb} directory}\label{sect:sapdir} + +This object is used to collect information gathered +from many DRAGON {\sl elementary calculations} performed under various conditions. +Each elementary calculation is characterized by a tuple of {\sl global parameters}. +These global parameters are of different types, depending on the nature of the +study under consideration: type of assembly, power, temperature in a mixture, +concentration of an isotope, time, burnup or exposure rate in a depletion calculation, +etc. Each step of a depletion calculation represents an elementay calculation. +The {\sc saphyb} object is often presented as a {\sl multi-parameter reactor database}. +It is used in the SAPHYR code system. + +\vskip 0.1cm + +The {\sc saphyb} object contains table-of-content information apart from a set of specific +{\sl elementary calculation} directories. These directories are themselve subdivided +into {\sl homogenized mixture} directories. The localization of an elementary calculation +is done using a tuple of global parameters. The elementary calculation indices are +stored in a tree with the number of levels equal to the number of global parameters. +An example of a tree with three global parameters is shown in \Fig{tree}. Each node +of this tree is associated with the index of the corresponding global parameter and with the +reference to the daughter nodes if they exist. The number if leafs is equal to the number +of nodes for the last (third) parameter and is equal to the number of elementary +calculations stored in the {\sc saphyb} object. The index of each elementary calculation is +therefore an attribute of each leaf. + +\begin{figure}[h!] +\begin{center} +\epsfxsize=12cm +\centerline{ \epsffile{tree.eps}} +\parbox{14cm}{\caption{Global parameter tree in a {\sc saphyb} object}\label{fig:tree}} +\end{center} +\end{figure} + +\vskip 0.1cm + +In each homogenized mixture directory, the {\tt SAP:} module recovers +cross sections for a number of {\sl particularized isotopes} and {\sl macroscopic +sets}, a collection of isotopic cross sections weighted by isotopic number densities. +Cross sections for particularized isotopes and macroscopic sets are recovered for +{\sl selected reactions}. Other information is also recovered: multigroup neutron +fluxes, isotopic number densities, fission spectrum and a set +of {\sl local variables}. The local variables are values that characterize each +homogenized mixture: local power, burnup, exposure rate, etc. Some local variables +are arrays of values (eg: SPH equivalence factors). Finally, note that cross section +information written on the {\sc saphyb} is {\sl not} transport corrected and {\sl not} +SPH corrected. + +\subsection{The main \dir{saphyb} directory}\label{sect:sapdirmain} + +On its first level, the +following records and sub-directories will be found in the \dir{saphyb} directory: + +\begin{DescriptionEnregistrement}{Main records and sub-directories in \dir{saphyb}}{8.0cm} +\CharEnr + {SIGNATURE\blank{3}}{$*12$} + {Signature of the data structure $\mathsf{SIGNA}$} +\CharEnr + {TITLE\blank{7}}{$*80$} + {Signature of the data structure (for this level of specification,$=${\tt'SAPHYB LIBRARY VER, 0.02'})} +\CharEnr + {NOMLIB\blank{6}}{$*80$} + {User--defined name of the data structure} +\IntEnr + {DIMSAP\blank{6}}{$50$} + {Vector describing the various parameters associated with this data structure $\mathcal{S}^{\tt sap}_{i}$} +\OptCharEnr + {COMMEN\blank{6}}{$(N^{\tt sap}_1)*80$}{$\mathcal{S}^{\tt sap}_1> 0$} + {User--defined comments about the data structure} +\DirEnr + {constphysiq\blank{1}} + {General physical data} +\DirEnr + {contenu\blank{5}} + {Content description} +\DirEnr + {geom\blank{8}} + {Geometric data} +\DirEnr + {adresses\blank{4}} + {General localization data for the cross sections} +\DirEnr + {paramdescrip} + {General localization data for the global parameters} +\DirEnr + {paramarbre\blank{2}} + {Global parameter tree} +\DirEnr + {paramvaleurs} + {Global parameter values} +\DirEnr + {varlocdescri} + {General localization data for the local variables} +\DirVar + {\listedir{caldir}} + {Set of $\mathcal{S}^{\tt sap}_{19}$ sub-directories containing the cross section information + associated with a specific elementary calculation.} +\end{DescriptionEnregistrement} + +The signature variable for this data structure must be $\mathsf{SIGNA}$=\verb*|L_SAPHYB |. + +\vskip 0.1cm + +The name of each \listedir{caldir} directory is a {\tt character*12} variable ({\tt text12}) +composed using the following FORTRAN instruction: +$$ +\mathtt{WRITE(}\mathsf{text12}\mathtt{,'(''calc'',I8)')}\: J +$$ +where $J$ is the index of the calculation with $1 \leq J \leq \mathcal{S}^{\tt sap}_{19}$. + +\vskip 0.1cm + +The dimensioning parameters for this data structure, which are stored in the state vector +$\mathcal{S}^{\tt sap}$ named {\tt DIMSAP}, are defined in the following table: + +\vskip 0.1cm + +\noindent\begin{tabular}{ p{1cm} p{2cm} p{11cm} } +\multicolumn{3}{ c }{Values in \moc{DIMSAP} } \\ +\hline + & {\tt DIMSAP} & \\ +\hline +$\mathcal{S}^{\tt sap}_1$ & \moc{NCOMLI} & Number of lines of comment \\ +$\mathcal{S}^{\tt sap}_2$ & \moc{NISOTA} & Number of isotopes in the reference cross section library \\ +$\mathcal{S}^{\tt sap}_3$ & \moc{NCHANN}$^{*}$ & Number of types of radioactive decay reactions \\ +$\mathcal{S}^{\tt sap}_4$ & \moc{NREA}$^{*}$ & Number of neutron--induced reaction \\ +$\mathcal{S}^{\tt sap}_5$ & \moc{NISO}$^{*}$ & Number of particularized isotopes \\ +$\mathcal{S}^{\tt sap}_6$ & \moc{NMAC}$^{*}$ & Number of macroscopic sets. \\ +$\mathcal{S}^{\tt sap}_7$ & \moc{NMIL} & Number of mixtures in the {\sc saphyb} \\ +$\mathcal{S}^{\tt sap}_8$ & \moc{NPAR} & Number of global parameters \\ +$\mathcal{S}^{\tt sap}_9$ & \moc{NPCHR} & Number of global parameters linked with isotopes \\ +$\mathcal{S}^{\tt sap}_{10}$ & \moc{NPPNT} & Number of global parameters linked with {\sc microlib} objects \\ +$\mathcal{S}^{\tt sap}_{11}$ & \moc{NPARL}$^{*}$ & Number of local variables. \\ +\hline +\end{tabular} +\goodbreak +\noindent\begin{tabular}{ p{1cm} p{2cm} p{11cm} } +\multicolumn{3}{ c }{Values in \moc{DIMSAP} (cntd.)} \\ +\hline + & {\tt DIMSAP} & \\ +\hline +$\mathcal{S}^{\tt sap}_{12}$ & \moc{NPCHRL}$^{*}$ & Number of local variables linked with isotopes \\ +$\mathcal{S}^{\tt sap}_{13}$ & \moc{NPPNTL}$^{*}$ & Number of local variables linked with {\sc microlib} objects\\ +$\mathcal{S}^{\tt sap}_{14}$ & \moc{NISOF}$^{*}$ & Number of particularized fissile isotopes \\ +$\mathcal{S}^{\tt sap}_{15}$ & \moc{NISOP}$^{*}$ & Number of particularized fission products \\ +$\mathcal{S}^{\tt sap}_{16}$ & \moc{NMGY} & Number of macrogroups for the fission yields ($=1$) \\ +$\mathcal{S}^{\tt sap}_{17}$ & \moc{NVP} & Number of nodes in the global parameter tree \\ +$\mathcal{S}^{\tt sap}_{18}$ & \moc{NADRX}$^{*}$ & Number of address sets in array {\tt ADRX} \\ +$\mathcal{S}^{\tt sap}_{19}$ & \moc{NCALS} & Number of elementary calculations \\ +$\mathcal{S}^{\tt sap}_{20}$ & \moc{NG} & Number of energy groups in the {\sc saphyb} \\ +$\mathcal{S}^{\tt sap}_{21}$ & \moc{NISOY}$^{*}$ & Number of particularized isotopes and macroscopic +sets for which fission yields are provided. \\ +$\mathcal{S}^{\tt sap}_{22}$ & \moc{NVERS} & Level of {\sc saphyb} specification ($=2$) \\ +$\mathcal{S}^{\tt sap}_{23}$ & & (not used) \\ +$\mathcal{S}^{\tt sap}_{24}$ & \moc{NSURFS} & Number of surfaces in the {\sc saphyb} \\ +$\mathcal{S}^{\tt sap}_{25}$ & & (not used) \\ +$\mathcal{S}^{\tt sap}_{26}$ & & (not used) \\ +$\mathcal{S}^{\tt sap}_{27}$ & & (not used) \\ +$\mathcal{S}^{\tt sap}_{28}$ & \moc{NRT} & Number of unknowns in the reference geometry \\ +$\mathcal{S}^{\tt sap}_{29}$ & & (not used) \\ +$\mathcal{S}^{\tt sap}_{30}$ & \moc{NGA} & Number of energy groups in the reference {\sc microlib} \\ +$\mathcal{S}^{\tt sap}_{31}$ & \moc{NPRC}$^{*}$ & Number of delayed neutron precursors groups \\ +$\mathcal{S}^{\tt sap}_{32}$ & \moc{NISOTS} & Maximum number of isotopes in output tables ({\tt NISOTS~$\leq$~NISOTA}) \\ +$\mathcal{S}^{\tt sap}_{33}$ & \moc{NMILNR}$^{*}$ & Number of mixtures in the {\sc saphyb} with delayed neutron data \\ +\hline +\end{tabular} + +\vskip 0.1cm + +Elements of array {\tt DIMSAP} identified with ``{\tt *}" may be equal to zero. Consequently, +any array using these dimensions is optional. + +\clearpage + +\subsection{The {\tt constphysiq} sub-directory in \dir{saphyb}}\label{sect:sapdircons} + +\vskip -0.5cm + +\begin{DescriptionEnregistrement}{Contents of sub-directory {\tt constphysiq} in \dir{saphyb}}{7.0cm} +\CharEnr + {ISOTA\blank{7}}{$(\mathcal{S}^{\tt sap}_2)*8$} + {Alias names of isotopes in the reference {\sc microlib}.} +\CharEnr + {ISOTYP\blank{6}}{$(\mathcal{S}^{\tt sap}_2)*4$} + {Types of isotopes in the reference {\sc microlib}. $=${\tt 'FISS'}: fissile isotope; + $=${\tt 'F.P.'}: fission product; $=${\tt '~'}: otherwise.} +\OptCharEnr + {NOMLAM\blank{6}}{$(\mathcal{S}^{\tt sap}_3)*8$}{$\mathcal{S}^{\tt sap}_3\ge 1$} + {Character identification of the available radioactive decay reactions.} +\RealEnr + {ENRGA\blank{7}}{$\mathcal{S}^{\tt sap}_{30}+1$}{MeV} + {Limits of the reference multigroup energy mesh.} +\RealEnr + {ENRGS\blank{7}}{$\mathcal{S}^{\tt sap}_{20}+1$}{MeV} + {Limits of the {\sc saphyb} multigroup energy mesh.} +\IntEnr + {FGYS\blank{8}}{$\mathcal{S}^{\tt sap}_{16}+1$} + {Indices limits in array {\tt ENERGS} of the multigroup energy mesh for the fission yields.} +\end{DescriptionEnregistrement} + +\subsection{The {\tt contenu} sub-directory in \dir{saphyb}}\label{sect:sapdircont} + +\vskip -0.5cm + +\begin{DescriptionEnregistrement}{Contents of sub-directory {\tt contenu} in \dir{saphyb}}{7.0cm} +\OptCharEnr + {NOMISO\blank{6}}{$(\mathcal{S}^{\tt sap}_5)*8$}{$\mathcal{S}^{\tt sap}_5\ge 1$} + {Names of the particularized isotopes.} +\OptCharEnr + {NOMMAC\blank{6}}{$(\mathcal{S}^{\tt sap}_6)*8$}{$\mathcal{S}^{\tt sap}_6\ge 1$} + {Names of the macroscopic sets.} +\OptIntEnr + {TYPMAC\blank{6}}{$\mathcal{S}^{\tt sap}_6$}{$\mathcal{S}^{\tt sap}_6\ge 1$} + {Types of the macroscopic sets. $=1$: select all the available isotopes in the macroscopic set; + $=2$: remove all the particularized isotope contributions from the macroscopic set.} +\OptCharEnr + {NOMREA\blank{6}}{$(\mathcal{S}^{\tt sap}_4)*12$}{$\mathcal{S}^{\tt sap}_4\ge 1$} + {Names of the neutron--induced reactions (e.g.: {\tt TOTALE}, {\tt ABSORPTION}, {\tt FISSION}, etc.).} +\IntEnr + {TOTMAC\blank{6}}{$\mathcal{S}^{\tt sap}_7$} + {Indices in array {\tt NOMMAC} corresponding to total macroscopic sets (with {\sl all} + isotopic contributions). $=0$ if a total macroscopic set is not defined.} +\IntEnr + {RESMAC\blank{6}}{$\mathcal{S}^{\tt sap}_7$} + {Indices in array {\tt NOMMAC} corresponding to residual macroscopic sets (with isotopic + contributions for the non--particularized isotopes). $=0$ if a residual macroscopic set is not defined.} +\end{DescriptionEnregistrement} + +\newpage +\subsection{The {\tt adresses} sub-directory in \dir{saphyb}}\label{sect:sapdirad} + +\vskip -0.5cm + +\begin{DescriptionEnregistrement}{Contents of sub-directory {\tt adresses} in \dir{saphyb}}{7.0cm} +\IntEnr + {ISADRC\blank{6}}{$\mathcal{S}^{\tt sap}_7$} + {Equal to array {\tt ISADRX} (in directory {\tt info}) for the last elementary calculation.} +\IntEnr + {NISOMN\blank{6}}{$\mathcal{S}^{\tt sap}_7$} + {Number of particularized isotopes in each output mixture for which cross section information + is available in at least one elementary calculation.} +\OptIntEnr + {ISOMIL\blank{6}}{$N^{\rm iso}$}{$N^{\rm iso}\ge 1$} + {Array containing the particularized isotope indices in each output mixture. + \hbox{$N^{\rm iso}=(\mathcal{S}^{\tt sap}_5+\mathcal{S}^{\tt sap}_6) \times \mathcal{S}^{\tt sap}_7$}} +\OptIntEnr + {ADRX\blank{8}}{$N^{\rm adrx}$}{$N^{\rm adrx}\ge 1$} + {Offsets in the array {\tt RDATAX} containing cross + section information. If the first index corresponds to reaction {\tt PROFILE}, then {\tt ADRX} + is the offset in the array {\tt IDATAP} containing + the profile information of the transfer matrix. + \hbox{$N^{\rm adrx}=(\mathcal{S}^{\tt sap}_4+2)\times(\mathcal{S}^{\tt sap}_5+\mathcal{S}^{\tt sap}_6) + \times \mathcal{S}^{\tt sap}_{18}$}} +\end{DescriptionEnregistrement} + +The array {\tt ADRX} gives the position of the first value of a cross section in array {\tt RDATAX} +or the first value of profile information in array {\tt IDATAP}. {\tt RDATAX} and {\tt IDATAP} are +located in sub-directory {\tt mili//'~~m'} of the sub-directory {\tt calc//'~~n'}. +For a given reaction with index {\tt irea} in array {\tt NOMREA} (in sub-directory {\tt contenu}), +for a particularized isotope with index {\tt isot} in array {\tt NOMISO} (in sub-directory {\tt contenu}), +and for an output mixture with index {\tt imil}, the first cross section value is located at position +{\tt ADRX(irea,isot,ISADRX(imil))} of array {\tt RDATAX}. {\tt ISADRX} is defined in the sub-directory +{\tt info} of an elementary calculation. If the address is zero, then the corresponding cross sections +are not defined. + +\vskip 0.1cm + +Information related to Legendre--dependent scattering information is given in the two +extra locations of the {\tt ADRX} array: {\tt ADRX(NREA+1,:,:)} contains the number of components for the +vectorial scattering cross sections (order of anisotropy $+1$); {\tt ADRX(NREA+2,:,:)} contains the +num\-ber of components for the (matrix) transfer cross sections (order of anisotropy $+1$). + +\vskip 0.1cm + +This system is designed in such a way to keep the value of $\mathcal{S}^{\tt sap}_{18}=${\tt NADRX} as +small as possible. + +\newpage +\subsection{The {\tt geom} sub-directory in \dir{saphyb}}\label{sect:sapdirgeom} + +\vskip -0.5cm + +\begin{DescriptionEnregistrement}{Contents of sub-directory {\tt geom} in \dir{saphyb}}{7.0cm} +\CharEnr + {NOMMIL\blank{6}}{$(\mathcal{S}^{\tt sap}_7)*20$} + {Names of the output mixtures.} +\RealEnr + {XVOLMT\blank{6}}{$\mathcal{S}^{\tt sap}_7$}{cm$^3$} + {Volumes of the output mixtures.} +\OptRealEnr + {SURFS\blank{7}}{$\mathcal{S}^{\tt sap}_{24}$}{$\mathcal{S}^{\tt sap}_{24}\ge 1$}{cm$^2$} + {Surfaces of the output geometry.} +\OptDirEnr + {outgeom\blank{5}}{*} + {Surfacic data related to discontinuity factor information.} +\end{DescriptionEnregistrement} + +\vskip -0.5cm + +\begin{DescriptionEnregistrement}{Contents of sub-directory {\tt outgeom} in \dir{geom}}{7.0cm} +\RealEnr + {SURF\blank{8}}{$N_{\rm nsurfd}$}{cm$^2$} + {Surface assigned to each discontinuity factor.} +\end{DescriptionEnregistrement} + +\subsection{The {\tt paramdescrip} sub-directory in \dir{saphyb}}\label{sect:sapdirparam} + +\vskip -0.5cm + +\begin{DescriptionEnregistrement}{Contents of sub-directory {\tt paramdescrip} in \dir{saphyb}}{7.0cm} +\IntEnr + {NPAR\blank{8}}{$1$} + {Number of global parameters.} +\IntEnr + {NPCHR\blank{7}}{$1$} + {Number of global parameters linked with isotopes.} +\CharEnr + {PARNAM\blank{6}}{$(\mathcal{S}^{\tt sap}_8)*80$} + {User--defined names for the global parameters.} +\CharEnr + {PARKEY\blank{6}}{$(\mathcal{S}^{\tt sap}_8)*4$} + {User--defined key-words for the global parameters.} +\CharEnr + {PARTYP\blank{6}}{$(\mathcal{S}^{\tt sap}_8)*4$} + {Character identification for the types of global parameters (eg: {\tt TEMP}, {\tt CONC}, {\tt IRRA}, etc.).} +\CharEnr + {PARFMT\blank{6}}{$(\mathcal{S}^{\tt sap}_8)*8$} + {User--defined names for the global parameters (eg: {\tt FLOTTANT}, {\tt CHAINE}, {\tt ENTIER}, etc.).} +\OptCharEnr + {PARCHR\blank{6}}{$(\mathcal{S}^{\tt sap}_9)*8$}{$\mathcal{S}^{\tt sap}_9\ge 1$} + {Isotope names linked to type--{\tt CONC} global parameters.} +\IntEnr + {NVALUE\blank{6}}{$\mathcal{S}^{\tt sap}_8$} + {Number of specific values for a global parameters.} +\IntEnr + {PARCAD\blank{6}}{$\mathcal{S}^{\tt sap}_8+1$} + {Address of the first element in array {\tt PARCHR}.} +\IntEnr + {PARPAD\blank{6}}{$\mathcal{S}^{\tt sap}_8+1$} + {Address of the first element in array {\tt PARBIB}.} +\OptIntEnr + {PARMIL\blank{6}}{$\mathcal{S}^{\tt sap}_{10}$}{$\mathcal{S}^{\tt sap}_{10}\ge 1$} + {Mixture indices linked to type--{\tt TEMP} or --{\tt CONC} global parameters.} +\OptCharEnr + {PARBIB\blank{6}}{$(\mathcal{S}^{\tt sap}_{10})*12$}{$\mathcal{S}^{\tt sap}_{10}\ge 1$} + {{\sc microlib} names linked to type--{\tt TEMP} or --{\tt CONC} global parameters.} +\end{DescriptionEnregistrement} +\goodbreak + +Types and units of global parameters are defined as follows: + +\noindent\begin{tabular}{ p{1cm} p{3cm} p{7cm} } +\hline + & unit & description \\ +\hline +{\tt TEMP} & $^{\rm o}$C & Temperature \\ +{\tt CONC} & $10^{24}$/cm$^3$ & Number density \\ +{\tt IRRA} & MW-day/tonne & Burnup \\ +{\tt FLUB} & n/kb & Neutron exposure \\ +{\tt TIME} & s & Time \\ +{\tt PUIS} & MeV/s & Normalization power \\ +{\tt MASL} & g/cm$^3$ & Mass density of heavy elements \\ +{\tt FLUX} & & Volume-averaged, energy-integrated flux \\ +{\tt VALE} & (not defined) & User-defined parameter \\ +\hline +\end{tabular} + +\subsection{The {\tt paramvaleurs} sub-directory in \dir{saphyb}}\label{sect:sapdirparval} + +\vskip -0.5cm + +\begin{DescriptionEnregistrement}{Contents of sub-directory {\tt paramvaleurs} in \dir{saphyb}}{7.0cm} +\OptRealVar + {\listedir{pvaldir}}{\tt NVALUE(J)}{*}{} + {Set of real global parameter arrays. Each element of \listedir{pvaldir} contains a + real array containing the tabulated values of the $J$--th global parameter.} +\OptIntVar + {\listedir{pvaldir}}{\tt NVALUE(J)}{*} + {Set of integer global parameter arrays. Each element of \listedir{pvaldir} contains an + integer array containing the tabulated values of the $J$--th global parameter.} +\OptCharVar + {\listedir{pvaldir}}{$({\tt NVALUE(J)})*12$}{*} + {Set of character$*12$ global parameter arrays. Each element of \listedir{pvaldir} contains a + character$*12$ array containing the tabulated values of the $J$--th global parameter.} +\end{DescriptionEnregistrement} + +\listedir{pvaldir} is a set of $\mathcal{S}^{\tt sap}_8$ real, +integer or character*$12$ records. The name of each +\listedir{pvaldir} record is a {\tt character*12} variable ({\tt text12}) +composed using the following FORTRAN instruction: +$$ +\mathtt{WRITE(}\mathsf{text12}\mathtt{,'(''pval'',I8)')}\: J +$$ +where $J$ is the index of the global parameter with $1 \leq J \leq \mathcal{S}^{\tt sap}_8$. The global +parameter values of type {\tt REAL} or {\tt INTEGER} are sorted. + +\subsection{The {\tt paramarbre} sub-directory in \dir{saphyb}}\label{sect:sapdirarbre} + +The global parameter tree has the same number of stages as global parameters. For each value of +the $i$--th global parameter, the tree indicates the beginning position of the $(i+1)$--th parameter. +The arrays {\tt DEBARB} and {\tt ARBVAL} are set to localize the results of an elementary calculation +identified by a specific parameter tuple. + +\begin{DescriptionEnregistrement}{Contents of sub-directory {\tt paramarbre} in \dir{saphyb}}{7.0cm} +\label{tabl:tabtree} +\IntEnr + {NCALS\blank{7}}{$1$} + {Number of elementary calculations.} +\IntEnr + {DEBARB\blank{6}}{$\mathcal{S}^{\tt sap}_{17}+1$} + {- If the node does not correspond to the last parameter: + index in {\tt DEBARB} of the first daughter of the node. + - If the node correspond to the last parameter: index in + {\tt DEBARB} where we recover the index of an elementary + calculation.} +\IntEnr + {ARBVAL\blank{6}}{$\mathcal{S}^{\tt sap}_{17}$} + {Index of the corresponding parameter in the {\tt pval//'~~n'} record.} +\IntEnr + {ORIGIN\blank{6}}{$\mathcal{S}^{\tt sap}_{19}$} + {Index of the mother elementary calculation. This information is useful to follow the + historical relation between calculations.} +\end{DescriptionEnregistrement} + +An example of a global parameter tree is represented here: +\begin{verbatim} + dn = value in DEBARB, (m) = value in ARBVAL + + Root *(0) + ! + Param. Nb 1 d2(1) + ------------------- + ! ! + Param. Nb 2 d3(1) 4(2) + --------- --------- + ! ! ! ! ! + Param. Nb 3 d5(1) 6(3) d7(1) 8(2) 9(3) d10 + + Calculation Nb: 4 5 1 2 3 + + DEBARB: 2 3 5 7 10 4 5 1 2 3 + ARBVAL: 0 1 1 2 1 3 1 2 3 +\end{verbatim} + +The dimensions of variables {\tt DEBARB}, {\tt ARBVAL} and {\tt ORIGIN} in Table~\ref{tabl:tabtree} represent +the useful size, not the allocated size which may be bigger. The allocated size of these arrays may be obtained +using the LCM API ({\tt LCMLEN} with the Fortran API). + +\vskip 0.1cm + +Each elementary calculation is fully identified by a global parameter tuple, an integer array of dimension +$\mathcal{S}^{\tt sap}_8=${\tt NPAR}. A recursive program can be used to search the elementary calculation +index {\tt ICAL} corresponding to a parameter tuple represented in the Fortran array {\tt MUPLET(NPAR)}. +The recursive function is called using +\begin{verbatim} + ICAL=NICAL(1,NVP,NPAR,DEBARB,ARBVAL,MUPLET) +\end{verbatim} + +\noindent and is implemented in Fortran-90 as +\begin{verbatim} +RECURSIVE INTEGER FUNCTION NICAL(II,NVP,NPAR,DEBARB,ARBVAL,MUPLET) RESULT(ICAL) + INTEGER II,NVP,NPAR,DEBARB(NVP+1),ARBVAL(NVP),MUPLET(NPAR) + IF(NPAR==0) THEN + ICAL=DEBARB(II+1) + RETURN + ENDIF + NBOK=0 + IKEEP=0 + DO I=DEBARB(II),DEBARB(II+1)-1 + IF((MUPLET(1)==0).OR.(MUPLET(1)==ARBVAL(I))) THEN + JICAL=NICAL(I,NVP,NPAR-1,DEBARB,ARBVAL,MUPLET(2)) + IF(JICAL > 0) THEN + IKEEP=JICAL + NBOK=NBOK+1 + ELSE IF(JICAL==-1) THEN + NBOK=2 + ENDIF + ENDIF + ENDDO + IF(NBOK > 1) THEN + ! Many elementary calculation exist for this tuple. + ICAL=-1 + ELSE IF(NBOK==0) THEN + ! No elementary calculation exists for this tuple. + ICAL=0 + ELSE + ICAL=IKEEP + ENDIF +END FUNCTION NICAL +\end{verbatim} + +\vskip 0.1cm + +Similarly, a Fortran program can be used to search the global parameter tuple corresponding to +the elementary calculation index {\tt ICAL}: + +\begin{verbatim} + SUBROUTINE COMUPL(NVP,NPAR,ICAL,NCALS,DEBARB,ARBVAL,MUPLET) + INTEGER DEBARB(NVP+1),ARBVAL(NVP),MUPLET(NPAR) + DO I=NVP-NCALS+1,NVP + IF(DEBARB(I+1).EQ.ICAL) THEN + I0=I + EXIT + ENDIF + ENDDO + MUPLET(NPAR)=ARBVAL(I0) + DO IPAR=NPAR-1,1,-1 + DO I=1,NVP-NCALS + IF(DEBARB(I+1).GT.I0) THEN + I0=I + EXIT + ENDIF + ENDDO + MUPLET(IPAR)=ARBVAL(I0) + ENDDO + END +\end{verbatim} + +\subsection{The {\tt varlocdescri} sub-directory in \dir{saphyb}}\label{sect:sapdirlocvar} + +\vskip -0.5cm + +\begin{DescriptionEnregistrement}{Contents of sub-directory {\tt varlocdescri} in \dir{saphyb}}{7.0cm} +\IntEnr + {NPAR\blank{8}}{$1$} + {Number of local variables.} +\IntEnr + {NPCHR\blank{7}}{$1$} + {Number of local variables linked with isotopes.} +\OptCharEnr + {PARNAM\blank{6}}{$(\mathcal{S}^{\tt sap}_{11})*80$}{$\mathcal{S}^{\tt sap}_{11}\ge 1$} + {User--defined names for the local variables.} +\OptCharEnr + {PARKEY\blank{6}}{$(\mathcal{S}^{\tt sap}_{11})*4$}{$\mathcal{S}^{\tt sap}_{11}\ge 1$} + {User--defined key-words for the local variables.} +\OptCharEnr + {PARTYP\blank{6}}{$(\mathcal{S}^{\tt sap}_{11})*4$}{$\mathcal{S}^{\tt sap}_{11}\ge 1$} + {Character identification for the types of local variables (eg: {\tt TEMP}, {\tt IRRA}, {\tt FLUB}, + {\tt EQUI}, etc.).} +\OptCharEnr + {PARFMT\blank{6}}{$(\mathcal{S}^{\tt sap}_{11})*8$}{$\mathcal{S}^{\tt sap}_{11}\ge 1$} + {User--defined names for the local variables (eg: {\tt FLOTTANT}, {\tt CHAINE}, {\tt ENTIER}, etc.).} +\OptCharEnr + {PARCHR\blank{6}}{$(\mathcal{S}^{\tt sap}_{12})*8$}{$\mathcal{S}^{\tt sap}_{12}\ge 1$} + {Isotope names linked to type--{\tt CONC} local variables.} +\OptIntEnr + {PARCAD\blank{6}}{$\mathcal{S}^{\tt sap}_{11}+1$}{$\mathcal{S}^{\tt sap}_{11}\ge 1$} + {Address of the first element in array {\tt PARCHR}.} +\end{DescriptionEnregistrement} + +\subsection{The elementary calculation sub-directory \dir{caldir} in \dir{saphyb}}\label{sect:sapdircalc} + +For each elementary calculation, we define a directory {\tt calc//'~~n'}, where {\tt n} is the index +of the calculation in the global parameter tree. The results for each output mixture are stored in a +directory {\tt mili//'~~m'} where {\tt m} is the position index of the mixture in the array {\tt NOMMIL} +of the sub-directory {\tt geom}. Inside each elementary calculation directory \dir{caldir}, the following +records and sub-directories will be found: + +\begin{DescriptionEnregistrement}{Contents of sub-directory \dir{caldir} in \dir{saphyb}}{7.0cm} +\DirEnr + {info\blank{8}} + {General informations about the elementary calculation} +\DirEnr + {divers\blank{6}} + {Results not related to a specific mixture: interface currents, $k_\infty$, $k_{\rm eff}$, $B^2$, etc.} +\OptDirEnr + {outflx\blank{6}}{$N_{\rm nsurfd}>0$} + {Discontinuity factor information.} +\DirVar + {\listedir{mixdir}} + {Set of $\mathcal{S}^{\tt sap}_{7}$ sub-directories containing the cross section information + associated with a specific mixture.} +\end{DescriptionEnregistrement} + +The name of each \listedir{mixdir} directory is a {\tt character*12} variable ({\tt text12}) +composed using the following FORTRAN instruction: +$$ +\mathtt{WRITE(}\mathsf{text12}\mathtt{,'(''mili'',I8)')}\: J +$$ +where $J$ is the index of the mixture with $1 \leq J \leq \mathcal{S}^{\tt sap}_{7}$. + +\subsubsection{The {\tt info} sub-directory in \dir{caldir}}\label{sect:sapdirinfo} + +\vskip -0.5cm + +\begin{DescriptionEnregistrement}{Contents of sub-directory {\tt info} in \dir{caldir}}{7.0cm} +\IntEnr + {NLOC\blank{8}}{$1$} + {Number of local variables ($0\le${\tt NLOC}$\le${\tt NPARL}).} +\IntEnr + {NISOTS\blank{6}}{$1$} + {Number of isotopes in output tables ($\mathcal{S}^{\tt sap}_{32}\equiv$ {\tt NISOTS}$\le${\tt NISOTA}).} +\IntEnr + {NISF\blank{8}}{$1$} + {Number of particularized fissile isotopes ({\tt NISF}$\le${\tt NISOF}).} +\IntEnr + {NISP\blank{8}}{$1$} + {Number of particularized fission products ({\tt NISP}$\le${\tt NISOP}).} +\IntEnr + {NISY\blank{8}}{$1$} + {Number of particularized isotopes and macroscopic sets used for computing the fission + yields ({\tt NISY}$\le${\tt NISOY}).} +\OptCharEnr + {LOCNAM\blank{6}}{$({\tt NLOC})*80$}{{\tt NLOC}$\ge 1$} + {User--defined names for the local variables.} +\OptCharEnr + {LOCKEY\blank{6}}{$({\tt NLOC})*4$}{{\tt NLOC}$\ge 1$} + {User--defined key-words for the local variables.} +\OptCharEnr + {LOCTYP\blank{6}}{$({\tt NLOC})*4$}{{\tt NLOC}$\ge 1$} + {Character identification for the types of local variables (eg: {\tt TEMP}, {\tt IRRA}, {\tt FLUB}, + {\tt EQUI}, etc.).} +\OptIntEnr + {LOCADR\blank{6}}{{\tt NLOC}$+1$}{{\tt NLOC}$\ge 1$} + {Address of the first element in array {\tt RVALOC} (sub-directory {\tt mili//'~~m'}) corresponding + to a local variable.} +\CharEnr + {ISOTS\blank{7}}{$(\mathcal{S}^{\tt sap}_{32})*8$} + {Alias names of isotopes in output tables.} +\OptIntEnr + {ADRY\blank{8}}{{\tt NISY}}{{\tt NISY}$\ge 1$} + {Indices of fissile isotopes (positive values) and fission products (negative values) in array + {\tt YLDS} (sub-directory {\tt mili//'~~m'}).} +\IntEnr + {ISADRX\blank{6}}{$\mathcal{S}^{\tt sap}_7$} + {Used to recover the third index in array {\tt ADRX} (sub-directory {\tt adresses}).} +\IntEnr + {LENGDX\blank{6}}{$\mathcal{S}^{\tt sap}_7$} + {Length of the cross section array {\tt RDATAX} (sub-directory {\tt mili//'~~m'}).} +\IntEnr + {LENGDP\blank{6}}{$\mathcal{S}^{\tt sap}_7$} + {Length of the transfer matrix profile array {\tt IDATAP} (sub-directory {\tt mili//'~~m'}).} +\end{DescriptionEnregistrement} + +\subsubsection{The {\tt divers} sub-directory in \dir{caldir}}\label{sect:sapdirdiv} + +\vskip -0.5cm + +\begin{DescriptionEnregistrement}{Contents of sub-directory {\tt divers} in \dir{caldir}}{7.0cm} +\IntEnr + {NVDIV\blank{7}}{$1$} + {Number of values in arrays {\tt IDVAL} and {\tt VALDIV}.} +\OptCharEnr + {IDVAL\blank{7}}{$({\tt NVDIV})*4$}{{\tt NVDIV}$\ge 1$} + {Character identification for the values in array {\tt VALDIV} ({\tt KEFF}, {\tt KINF} or {\tt B2}).} +\OptRealEnr + {VALDIV\blank{6}}{{\tt NVDIV}}{{\tt NVDIV}$\ge 1$}{~} + {Values given in the order of the {\tt IDVAL} array.} +\OptRealEnr + {FLXREF\blank{6}}{$\mathcal{S}^{\tt sap}_{28}\times \mathcal{S}^{\tt sap}_{30}$}{$\mathcal{S}^{\tt sap}_{28}\ge 1$}{~} + {Neutron flux values (region-- and group--ordered) in the reference calculation.} +\OptRealEnr + {SCURM\blank{7}}{$\mathcal{S}^{\tt sap}_{24}\times \mathcal{S}^{\tt sap}_{20}$}{$\mathcal{S}^{\tt sap}_{24}\ge 1$}{~} + {Entering partial currents on the surfaces surrounding the geometry. The values are given in the order of + the {\tt SURF} array (in sub-directory {\tt geom}).} +\end{DescriptionEnregistrement} + +\vskip -0.5cm +\clearpage + +\begin{DescriptionEnregistrement}{Contents of sub-directory {\tt outflx} in \dir{caldir}}{7.0cm} +\RealEnr + {REGFLX\blank{6}}{{\tt NG}}{~} + {Averaged flux in the complete geometry.} +\RealEnr + {SURFLX\blank{6}}{$N_{\rm nsurfd}\times${\tt NG}}{~} + {Surfacic fluxes ($N_{\rm nsurfd}$ values per energy group) integrated over surface. The averaged values are obtained by dividing these + components by those of {\tt SURF} record in {\tt outgeom} sub-directory (see \Sect{sapdirgeom}).} +\end{DescriptionEnregistrement} + +\subsubsection{The mixture sub-directory \dir{mixdir} in \dir{caldir}}\label{sect:sapdirmix} + +\vskip -0.5cm + +\begin{DescriptionEnregistrement}{Contents of mixture sub-directory \dir{mixdir} in \dir{caldir}}{7.0cm} +\RealEnr + {CONCES\blank{6}}{$\mathcal{S}^{\tt sap}_{32}$}{$10^{24}cm^{-3}$} + {Number density of each isotope in the output tables. Correspond to isotopes names {\tt ISOTS} + in Sect.~\ref{sect:sapdirinfo}.} +\OptRealEnr + {RVALOC\blank{6}}{\tt NVLC}{{\tt NLOC}$\ge 1$}{~} + {Values of the local variables. {\tt NVLC}$=${\tt LOCADR(NLOC+1)-1}} +\RealEnr + {FLUXS\blank{7}}{$\mathcal{S}^{\tt sap}_{20}$}{~} + {Volume-- and energy--integrated neutron fluxes in the output tables.} +\OptRealEnr + {YLDS\blank{8}}{$N^{\rm ylds}$}{{\tt NISP}$\ge 1$}{~} + {The fission product {\tt i} yield from fissile isotope {\tt k} is given as {\tt YLDS(ADRY(k),-ADRY(i))}. + Indices {\tt i} and {\tt k} are given in the order of array {\tt NOMISO} (in sub-directory {\tt contenu}). + A macroscopic set with a non--vanishing fission cross section is considered as an averaged fissile isotope. + \hbox{$N^{\rm ylds}=(${\tt NISF}$+\mathcal{S}^{\tt sap}_6)\times ${\tt NISP}}.} +\OptRealEnr + {DECAYC\blank{6}}{$\mathcal{S}^{\tt sap}_{3}\times \mathcal{S}^{\tt sap}_{32}$}{$\mathcal{S}^{\tt sap}_3\ge 1$}{$s^{-1}$} + {Radioactive decay constants for each type of decay reaction and each isotope of the output tables.} +\OptRealEnr + {RDATAX\blank{6}}{$N^{\rm datax}$}{$N^{\rm datax}\ge 1$}{~} + {Cross section data. + \hbox{$N^{\rm datax}=${\tt LENGDX(m)}} where {\tt m} is the mixture index.} +\OptIntEnr + {IDATAP\blank{6}}{$N^{\rm datap}$}{$N^{\rm datap}\ge 1$} + {Profile information of the transfer matrix. + \hbox{$N^{\rm datap}=${\tt LENGDP(m)}} where {\tt m} is the mixture index.} +\OptDirEnr + {cinetique\blank{3}}{$\mathcal{S}^{\tt sap}_{33}\ge 1$} + {Delayed neutron data for the mixture.} +\end{DescriptionEnregistrement} + +{\tt ADRX} (in sub-directory {\tt adresses}) contains the offset used to recover information from +arrays {\tt RDATAX} and {\tt IDATAP}: +\begin{itemize} +\item Starting from this offset, we recover $\mathcal{S}^{\tt sap}_{20}$ cross section values in {\tt RDATAX}, +except for the scattering cross section where we recover $\mathcal{S}^{\tt sap}_{20}$ values for each available +Legendre order, and except for the scattering transfer matrix where we recover $N^{\rm scat}$ values +for each available Legendre order. $N^{\rm scat}$ is defined with the {\tt IDATAP} array. +\item For a {\tt PROFILE}--type reaction, starting from this offset, we recover $2\times \mathcal{S}^{\tt sap}_{20}+7$ +integer values in {\tt IDATAP}. +\end{itemize} + +\vskip 0.1cm + +The transfer matrix elements are stored in the following way. The non-zero values are stored in the order +of the secondary group and, for each secondary group, in the order of the primary groups. +The $2\times \mathcal{S}^{\tt sap}_{20}+7$ values describing the profile of the transfer matrix +are stored in the following order: + +\vskip 0.1cm + +{\tt FAGG, LAGG, FDGG, WGAL, FAG, LAG, (FDG(g),g=1,NG), (ADR(g),g=1,NG+1)} + +\vskip 0.1cm + +\noindent where + +\vskip 0.1cm + +\begin{tabular}{ p{2cm} p{13cm} } +{\tt FAGG} & (not used) \\ +{\tt LAGG} & (not used) \\ +{\tt FDGG} & (not used) \\ +{\tt WGAL} & set to 0 \\ +{\tt FAG} & First secondary group \\ +{\tt LAG} & Last secondary group \\ +{\tt FDG} & First primary group in each secondary group \\ +{\tt ADR} & Address in the cross section array where data for secondary group $g$ + is beginning (the address is relative to the isotope). The number of elements in + a transfer matrix is $N^{\rm scat}=${\tt ADR(NG+1)-1}. +\end{tabular} + +\vskip 0.1cm + +For an energy transfer {\tt g'} $\rightarrow$ {\tt g} and for a Legendre order {\tt L}($\geq 0$), +the transfer cross section is identified in the cross section array {\tt RDATAX} as + +\centerline{$\sigma_{s\ell}^{g' \rightarrow g}$ = +{\tt RDATAX( ADRX(irea,isot,ISADRX(imil)) + L*(ADR(NG+1)-1) + I-1 )}} + +\noindent with {\tt I = ADR(g)+g'-FDG(g)}. +\clearpage + +\subsubsection{The {\tt cinetique} sub-directory in \dir{mixdir}}\label{sect:sapdircine} + +\vskip -0.5cm + +\begin{DescriptionEnregistrement}{Contents of sub-directory {\tt cinetique} in \dir{mixdir}}{7.0cm} +\IntEnr + {NPR\blank{9}}{$1$} + {Number of delayed neutron precursors groups in the mixture.} +\OptRealEnr + {LAMBRS\blank{6}}{\tt NPR}{{\tt NPR}$\ge 1$}{$s^{-1}$} + {Radioactive decay constants of the delayed neutron precursors groups.} +\OptRealEnr + {CHIRS\blank{7}}{$\mathcal{S}^{\tt sap}_{20}\times${\tt NPR}}{{\tt NPR}$\ge 1$}{$1$} + {Delayed neutron emission spectrums.} +\OptRealEnr + {BETARS\blank{6}}{\tt NPR}{{\tt NPR}$\ge 1$}{$1$} + {Delayed neutron fractions.} +\OptRealEnr + {INVELS\blank{6}}{$\mathcal{S}^{\tt sap}_{20}$}{{\tt NPR}$\ge 1$}{$cm^{-1}s$} + {Group average of the inverse neutron velocity.} +\OptRealEnr + {TGENRS\blank{6}}{$1$}{{\tt NPR}$\ge 1$}{$s$} + {Prompt--neutron lifetime.} +\end{DescriptionEnregistrement} |
