1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
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
|