From 7dfcc480ba1e19bd3232349fc733caef94034292 Mon Sep 17 00:00:00 2001
From: stainer_t <thomas.stainer@oecd-nea.org>
Date: Mon, 8 Sep 2025 13:48:49 +0200
Subject: Initial commit from Polytechnique Montreal

---
 doc/IGE351/SectDdraglib.tex | 205 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 205 insertions(+)
 create mode 100644 doc/IGE351/SectDdraglib.tex

(limited to 'doc/IGE351/SectDdraglib.tex')

diff --git a/doc/IGE351/SectDdraglib.tex b/doc/IGE351/SectDdraglib.tex
new file mode 100644
index 0000000..46dabdb
--- /dev/null
+++ b/doc/IGE351/SectDdraglib.tex
@@ -0,0 +1,205 @@
+\section{Contents of a \dir{draglib} directory}\label{sect:draglibdir}
+
+The {\sc draglib} format provide an efficient way to store burnup data and multigroup isotopic nuclear
+data to be used in a lattice code. A {\sc draglib} file is a persistent
+LCM object (an {\sc xsm}--formatted file) used to organize the
+data in a hierarchical format. Therefore, it will be easy to convert back and
+forth between the binary direct access format (efficient during a lattice
+calculation) and the {\sc ascii} export format (usefull for backup and exchange purposes).
+A library in {\sc draglib} format is generally built using the {\tt dragr} module
+available in an inhouse version of NJOY.\cite{Dragr} The optional capability to define energy-dependent
+fission spectra is available, as described in Ref.~\citen{mosca}.
+
+\vskip0.2cm
+
+A {\sc draglib} is an LCM object with a depletion chain and a set of isotopic
+sub-directories located on the root directory. Each isotopic sub-directory
+contains infinite dilution nuclear data for a set of absolute temperatures.
+Incremental values corresponding to finite dilutions are given on the last
+directory level.
+
+\vskip0.2cm
+
+The first group corresponds to highest energy neutrons.
+Every cross section is given in barn. Finally, note that the lagging zeros of
+any cross section record can be removed from that record in order to save space
+on the {\sc draglib}. The lattice code will therefore have to pack any uncomplete
+cross section record with zeros.
+
+\subsection{The main \dir{draglib} directory}\label{sect:drglibdirmain}
+
+On its first level, the
+following records and sub-directories will be found in the \dir{draglib} directory:
+
+\begin{DescriptionEnregistrement}{Main records and sub-directories in \dir{draglib}}{8.0cm}
+\CharEnr
+  {SIGNATURE\blank{3}}{$*12$}
+  {Signature of the data structure ($\mathsf{SIGNA}=${\tt L\_DRAGLIB\blank{3}}).}
+\CharEnr
+  {VERSION\blank{5}}{$*12$}
+  {Version identification. Equal to {\tt 'RELEASE\_2003'} for all Draglibs produced up to September
+  2025. Equal to {\tt 'RELEASE\_2025'} for Draglibs with {\tt H-FACTOR} (KERMA) information. This value
+  will change if the {\sc draglib} specification is to be modified in the future.}
+\CharEnr
+  {README\blank{6}}{$(N^{\rm dgl})*80$}
+  {User--defined comments about the library.}
+\RealEnr
+  {ENERGY\blank{6}}{$G+1$}{eV}
+  {$E(g)$: Group energy limits in eV. Group $g$ is defined as $E(g) < E \le E(g-1)$.}
+\OptRealEnr
+  {CHI-ENERGY\blank{2}}{$G_{\rm chi}+1$}{$G_{\rm chi}\ne 0$}{eV}
+  {$E_{\rm chi}(g)$: Group energy limits defining the energy-dependent fission spectra. By default, a unique fission spectra is used.}
+\OptIntEnr
+  {CHI-LIMITS\blank{2}}{$G_{\rm chi}+1$}{$G_{\rm chi}\ne 0$}
+  {$N_{\rm chi}(g)$: Group limit indices defining the energy-dependent fission spectra. By default, a unique fission spectra is used.}
+\OptDirEnr
+  {DEPL-CHAIN\blank{2}}{*}
+  {directory containing the \dir{depletion} associated with this library, following
+  the specification presented in \Sect{microlibdirdepletion}. (*) This data is required
+  if the library is to be used for burnup calculations.}
+\DirVar
+  {\listedir{isotope}}
+  {Set of sub-directories containing the cross section information
+   associated with a specific isotope.}
+\end{DescriptionEnregistrement}
+
+\noindent where $G$ is the number of energy groups. For design reasons, the
+{\sc draglib} object has no state vector record.
+
+\subsection{Contents of an \dir{isotope} directory}\label{sect:isotopeDrag}
+
+Each \dir{isotope} directory contains information related to a single isotope.
+This information is written using one of the following formats:
+\begin{itemize}
+\item a temperature--independent isotopic data is written using the format described
+in Tables~\ref{tabl:tabiso1} to \ref{tabl:tabiso5} of the {\sc microlib}
+specification. Such isotopic data is typically produced by the {\tt EDI:} module.
+\item a temperature--dependent isotopic data, tabulated for $N_{\rm tmp}$ temperatures, is
+written using the format presented in Table~\ref{tabl:tabiso201}.
+\end{itemize}
+
+\begin{DescriptionEnregistrement}{Temperature-dependent isotopic records}{7.5cm}
+\label{tabl:tabiso201}
+\CharEnr
+  {README\blank{6}}{$(N^{\rm iso})*80$}
+  {User--defined comments about the isotope.}
+\RealEnr
+  {AWR\blank{9}}{$1$}{nau}
+  {Ratio of the isotope mass divided by the neutron mass}
+\RealEnr
+  {TEMPERATURE\blank{1}}{$N_{\rm tmp}$}{K}
+  {Set of temperatures, expressed in Kelvin.}
+\DirVar
+  {\listedir{tmpdir}}
+  {Set of $N_{\rm tmp}$ sub-directories, each containing the cross section information
+   associated with a specific temperature.}
+\OptRealEnr
+  {BIN-DELI\blank{4}}{$1$}{*}{1}
+  {Elementary lethargy width of the Autolib lethargy mesh.}
+\OptIntEnr
+  {BIN-NFS\blank{5}}{$G$}{*}
+  {Number of fine energy groups $n_{{\rm bin},g}$ in each group $g$. May be set to zero
+  in some groups. (*) This data is optional and is useful when advanced self-shielding
+  models are used in the lattice calculation.}
+\OptRealEnr
+  {BIN-ENERGY\blank{2}}{$N_{\rm bin}+1$}{*}{eV}
+  {Fine group energy limits in eV. Here, $N_{\rm bin}=\sum_g n_{{\rm bin},g}$. (*) This data
+  should be given if and only if the record {\tt `BIN-NFS'} is present.}
+\OptIntEnr
+  {ONFLIGHTIGR\blank{1}}{1}{*}
+  {Number of groups with a lethargy width equal to $\Delta u^{\rm ecco}$. (*) This data is optional and is used to compress scattering information
+  in eccolib libraries.}
+\OptRealEnr
+  {ONFLIGHTDEL\blank{1}}{1}{*}{1}
+  {Lethargy width $\Delta u^{\rm ecco}$ of groups above thermal energies. (*) This data is optional and is used to compress scattering information
+  in eccolib libraries.}
+\end{DescriptionEnregistrement}
+
+The name of each \listedir{tmpdir} directory is a {\tt character*12} variable ({\tt text12})
+composed using the following Fortran instruction:
+$$
+\mathtt{WRITE(}\mathsf{text12}\mathtt{,'(''SUBTMP'',I4.4)')}\: J
+$$
+where $J$ is the index of the temperature with $1 \leq J \le N_{\rm tmp}$.
+
+\vskip 0.2cm
+
+Scattering information is lumped for some isotopes of an eccolib library. If records {\tt ONFLIGHTIGR} and
+{\tt ONFLIGHTDEL} are present for an isotope, elastic scattering is assumed above thermal energies and
+scattering probabilities are computed on-flight in Dragon. This option is only available with eccolib-1962g
+libraries where the lethargy width is constant and equal to 1/120 above thermal energies.
+
+\vskip 0.2cm
+
+Each \dir{tmpdir} directory contains information related to a single isotope
+at a single temperature. This information is written using one of the following formats:
+\begin{itemize}
+\item If the isotope contains no self-shielding data (i.e., if the isotope is
+only present at infinite dilution), then the isotopic data is written using the format described
+in Tables~\ref{tabl:tabiso1} to \ref{tabl:tabiso5} of the {\sc microlib}
+specification.
+\item If the isotope contains self-shielding data, then the infinite-dilution isotopic data is
+written using the format described in Tables~\ref{tabl:tabiso1} to \ref{tabl:tabiso5} of the
+{\sc microlib} specification. In this case, additional data is required to represent the
+dilution dependence of the cross sections. This additional data is presented in Table~\ref{tabl:tabiso202}.
+\end{itemize}
+
+\begin{DescriptionEnregistrement}{Temperature-dependent isotopic records}{7.5cm}
+\label{tabl:tabiso202}
+\RealEnr
+  {DILUTION\blank{4}}{$N_{\rm dil}$}{b}
+  {Set of finite dilutions $\sigma_e$, expressed in barn. Note: the infinite dilution value (1.0E10) is not given.}
+\DirVar
+  {\listedir{dildir}}
+  {Set of $N_{\rm dil}$ sub-directories, each containing the {\sl incremental} cross section information
+   associated with a specific dilution.}
+\OptRealEnr
+  {BIN-NTOT0\blank{3}}{$N_{\rm bin}$}{*}{b}
+  {Microscopic total cross sections $\sigma^{\rm BIN}(h)$ defined in the fine groups. (*) This data should be given if and
+  only if the records {\tt `BIN-NFS'} and {\tt `BIN-ENERGY'} are present in the parent directory.}
+\OptRealEnr
+  {BIN-SIGS00\blank{2}}{$N_{\rm bin}$}{*}{b}
+  {Microscopic diffusion cross sections $\sigma^{\rm BIN}_{\rm scat0}(h)$ for an isotropic collision in the laboratory system defined
+  in the fine groups. (*) This data should be given if and only if the records {\tt `BIN-NFS'}
+  and {\tt `BIN-ENERGY'} are present in the parent directory.}
+\end{DescriptionEnregistrement}
+
+The name of each \listedir{dildir} directory is a {\tt character*12} variable ({\tt text12})
+composed using the following Fortran instruction:
+$$
+\mathtt{WRITE(}\mathsf{text12}\mathtt{,'(''SUBMAT'',I4.4)')}\: K
+$$
+where $K$ is the index of the finite dilution with $1 \leq K \le N_{\rm dil}$.
+
+\vskip 0.2cm
+
+The fine-group cross sections in records {\tt BIN-NTOT0\blank{3}} and {\tt BIN-SIGS00\blank{2}}
+are normalized to the coarse group values $\sigma(g)$ and $\sigma_{\rm scat0}(g)$ in such a way that
+
+$$\sigma(g)={1 \over {\rm ln}[E(g-1) / E(g)]} \sum_{h=h_{\rm min}+1}^{h_{\rm min}+N^{\rm BIN}(g)} {\sigma^{\rm BIN}(h)} \ {\rm ln} \biggl[{E^{\rm BIN}(h-1)\over E^{\rm BIN}(h)} \biggr]$$
+
+\noindent and
+
+$$\sigma_{\rm scat0}(g)={1 \over {\rm ln}[E(g-1) / E(g)]} \sum_{h=h_{\rm min}+1}^{h_{\rm min}+N^{\rm BIN}(g)} {\sigma^{\rm BIN}_{\rm scat0}(h)} \ {\rm ln} \biggl[{E^{\rm BIN}(h-1)\over E^{\rm BIN}(h)} \biggr]$$
+
+\noindent where
+
+$$h_{\rm min}=\sum_{i=1}^{g-1}{N^{\rm BIN}(i)} \ \ .$$
+
+\vskip 0.2cm
+
+Nuclear data stored on sub-directory \dir{tmpdir} is infinite dilution data related to a single isotope
+at a single temperature. Nuclear
+data stored on \dir{dildir} and corresponding to dilution $\sigma_e$ is incremental
+data relative to infinite dilution data:
+
+$$\delta\sigma_{\rm x}(g,\sigma_e)=I_{\rm x}(g,\sigma_e)-\sigma_{\rm x}(g,\infty)=\sigma_{\rm x}(g,\sigma_e)\varphi(g,\sigma_e)-\sigma_{\rm x}(g,\infty)$$
+
+\noindent and
+
+$$\delta\varphi(g,\sigma_e)=\varphi(g,\sigma_e)-1$$
+
+\noindent where $I_{\rm x}(g,\sigma_e)$ is the effective resonance integral and $\varphi(g,\sigma_e)$ is the averaged fine
+structure function at dilution $\sigma_e$. Note that $\varphi(g,\infty)=1$.
+
+\eject
-- 
cgit v1.2.3

