summaryrefslogtreecommitdiff
path: root/doc/IGE351/SectDsaphyb.tex
blob: a0b15367601aaa18191e11fcc6581c79079dbc5a (plain)
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
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
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}