summaryrefslogtreecommitdiff
path: root/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_proc
diff options
context:
space:
mode:
authorstainer_t <thomas.stainer@oecd-nea.org>2025-09-08 13:48:49 +0200
committerstainer_t <thomas.stainer@oecd-nea.org>2025-09-08 13:48:49 +0200
commit7dfcc480ba1e19bd3232349fc733caef94034292 (patch)
tree03ee104eb8846d5cc1a981d267687a729185d3f3 /Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_proc
Initial commit from Polytechnique Montreal
Diffstat (limited to 'Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_proc')
-rw-r--r--Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_proc/AdaptIso.c2m524
-rw-r--r--Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_proc/CreaDilut.c2m510
-rw-r--r--Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_proc/GetMolarMass.c2m877
-rw-r--r--Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_proc/MetalMix.c2m1391
-rw-r--r--Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_proc/REFL_MPO.c2m385
-rw-r--r--Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_proc/VAL_CB1_plot_RT.py75
-rw-r--r--Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_proc/assbly_caseA_mpo_draglib_shem_feed.hdfbin0 -> 423796 bytes
-rw-r--r--Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_proc/assertS2.c2m32
8 files changed, 3794 insertions, 0 deletions
diff --git a/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_proc/AdaptIso.c2m b/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_proc/AdaptIso.c2m
new file mode 100644
index 0000000..ea607e5
--- /dev/null
+++ b/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_proc/AdaptIso.c2m
@@ -0,0 +1,524 @@
+*DECK AdaptIsot.c2m
+*======================================================
+* Name: AdaptIsot.c2m
+* Type: DRAGON procedure
+* Use: Adapt automatically the list of isotopes according
+* to the chosen microlib
+* Adapte automatiquement la liste des isotopes en
+* fonction de la bibliotheque microscopique choisie
+* Author: M. Cordiez 07.2015
+* [Altran | IRSN/PSN-EXP/SNC/LNR]
+*------------------------------------------------------
+* Procedure called as:
+*------------------------------------------------------
+*
+* Input Required:
+* > Nuclear_Database
+* Output Provided:
+* < Molar_Masses
+*======================================================
+PARAMETER ListeIsot ListeAutop ::
+ ::: LINKED_LIST ListeIsot ListeAutop ; ;
+MODULE UTL: END: ;
+STRING NuclData ;
+STRING LibType ; ! Type de bibliotheque (ENDFBVII0...)
+INTEGER NbBibli := 9 ;
+EVALUATE NbBibli := NbBibli 2 * ; ! Nom des isotopes ecrits sur deux variables
+*------------------------------------------------------
+:: >>NuclData<< >>LibType<< ;
+
+*------------------------------------------------------
+* Identifiant numerique des bibliotheques
+*------------------------------------------------------
+INTEGER LibId ;
+STRING LibGenre ;
+! Identifiant de la bibliotheque pour ListeIsot
+ECHO "LibType=" LibType ;
+IF LibType 'ENDFVI8' = THEN
+ EVALUATE LibId := 1 ;
+ EVALUATE LibGenre := 'DRAGON' ;
+ELSEIF LibType 'ENDFVII0' = THEN
+ EVALUATE LibId := 8 1 * 1 + ;
+ EVALUATE LibGenre := 'DRAGON' ;
+ELSEIF LibType 'ENDFVII1' = THEN
+ EVALUATE LibId := 8 2 * 1 + ;
+ EVALUATE LibGenre := 'DRAGON' ;
+ELSEIF LibType 'JEF22' = THEN
+ EVALUATE LibId := 8 3 * 1 + ;
+ EVALUATE LibGenre := 'DRAGON' ;
+ELSEIF LibType 'JEFF31' = THEN
+ EVALUATE LibId := 8 4 * 1 + ;
+ EVALUATE LibGenre := 'DRAGON' ;
+ELSEIF LibType 'JEFF311' = THEN
+ EVALUATE LibId := 8 5 * 1 + ;
+ EVALUATE LibGenre := 'DRAGON' ;
+ELSEIF LibType 'JEFF312' = THEN
+ EVALUATE LibId := 8 6 * 1 + ;
+ EVALUATE LibGenre := 'DRAGON' ;
+ELSEIF LibType 'CEA514T2' = THEN
+ EVALUATE LibId := 8 7 * 1 + ;
+ EVALUATE LibGenre := 'APXSM' ;
+ELSEIF LibType 'CLA99CEA93' = THEN
+ EVALUATE LibId := 8 8 * 1 + ;
+ EVALUATE LibGenre := 'APLIB3' ;
+ELSE
+ ECHO "Cette bibliotheque n'est pas repertoriee..." ;
+ENDIF ;
+ECHO "AdaptIsot: LibId=" LibId "LibGenre=" LibGenre ;
+
+:: <<LibId>> <<LibGenre>> ;
+
+*------------------------------------------------------
+* Rq: les listes UTL acceptent seulement les chaines de caracteres de
+* 4 caracteres. On ecrit donc les isotopes sur deux variables qui
+* seront concatenees par la suite.
+*------------------------------------------------------
+
+* Liste des noms des isotopes
+
+! ENDFBVI8 ENDFBVII0 ENDFBVII1 JEF2.2
+! JEFF3.1 JEFF3.1.1 JEFF3.1.2 CEA514T2
+! CLA99CEA93
+ListeIsot := UTL: :: CREA 'H2O ' <<NbBibli>> =
+'FALS' 'E ' 'FALS' 'E ' 'FALS' 'E ' 'FALS' 'E '
+'FALS' 'E ' 'FALS' 'E ' 'FALS' 'E ' 'FALS' 'E '
+'H2O ' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'H1 ' <<NbBibli>> =
+'H1_H' '2O ' 'H1_H' '2O ' 'H1_H' '2O ' 'H1_H' '2O '
+'H1_H' '2O ' 'H1_H' '2O ' 'H1_H' '2O ' 'H1_H' '2O '
+'H1_H' '2O ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'B10 ' <<NbBibli>> =
+'B10 ' ' ' 'B10 ' ' ' 'B10 ' ' ' 'B10 ' ' '
+'B10 ' ' ' 'B10 ' ' ' 'B10 ' ' ' 'B10 ' ' '
+'B10 ' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'B11 ' <<NbBibli>> =
+'B11 ' ' ' 'B11 ' ' ' 'B11 ' ' ' 'B11 ' ' '
+'B11 ' ' ' 'B11 ' ' ' 'B11 ' ' ' 'B11 ' ' '
+'B11 ' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'CNat ' <<NbBibli>> =
+'C0 ' ' ' 'C0 ' ' ' 'C0 ' ' ' 'C0 ' ' '
+'C0 ' ' ' 'C0 ' ' ' 'C0 ' ' ' 'C ' ' '
+'C ' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'N14 ' <<NbBibli>> =
+'N14 ' ' ' 'N14 ' ' ' 'N14 ' ' ' 'N14 ' ' '
+'N14 ' ' ' 'N14 ' ' ' 'N14 ' ' ' 'N14 ' ' '
+'N14 ' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'O16 ' <<NbBibli>> =
+'O16 ' ' ' 'O16 ' ' ' 'O16 ' ' ' 'O16 ' ' '
+'O16 ' ' ' 'O16 ' ' ' 'O16 ' ' ' 'O16 ' ' '
+'O16 ' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Al27 ' <<NbBibli>> =
+'Al27' ' ' 'Al27' ' ' 'Al27' ' ' 'Al27' ' '
+'Al27' ' ' 'Al27' ' ' 'Al27' ' ' 'Al27' ' '
+'Al27' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'SiNat' <<NbBibli>> =
+'Si0 ' ' ' 'FALS' 'E ' 'FALS' 'E ' 'Si0 ' ' '
+'FALS' 'E ' 'FALS' 'E ' 'FALS' 'E ' 'Si_n' 'at '
+'Si ' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Si28 ' <<NbBibli>> =
+'FALS' 'E ' 'Si28' ' ' 'Si28' ' ' 'Si28' ' '
+'Si28' ' ' 'Si28' ' ' 'Si28' ' ' 'Si28' ' '
+'FALS' 'E ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Si29 ' <<NbBibli>> =
+'FALS' 'E ' 'Si29' ' ' 'Si29' ' ' 'Si29' ' '
+'Si29' ' ' 'Si29' ' ' 'Si29' ' ' 'Si29' ' '
+'FALS' 'E ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Si30 ' <<NbBibli>> =
+'FALS' 'E ' 'Si30' ' ' 'Si30' ' ' 'Si30' ' '
+'Si30' ' ' 'Si30' ' ' 'Si30' ' ' 'Si30' ' '
+'FALS' 'E ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'TiNat' <<NbBibli>> =
+'Ti0 ' ' ' 'FALS' 'E ' 'FALS' 'E ' 'Ti0 ' ' '
+'FALS' 'E ' 'FALS' 'E ' 'FALS' 'E ' 'Ti_n' 'at '
+'Ti ' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Ti46 ' <<NbBibli>> =
+'FALS' 'E ' 'Ti46' ' ' 'Ti46' ' ' 'Ti46' ' '
+'Ti46' ' ' 'Ti46' ' ' 'Ti46' ' ' 'Ti46' ' '
+'FALS' 'E ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Ti47 ' <<NbBibli>> =
+'FALS' 'E ' 'Ti47' ' ' 'Ti47' ' ' 'Ti47' ' '
+'Ti47' ' ' 'Ti47' ' ' 'Ti47' ' ' 'Ti47' ' '
+'FALS' 'E ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Ti48 ' <<NbBibli>> =
+'FALS' 'E ' 'Ti48' ' ' 'Ti48' ' ' 'Ti48' ' '
+'Ti48' ' ' 'Ti48' ' ' 'Ti48' ' ' 'Ti48' ' '
+'FALS' 'E ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Ti49 ' <<NbBibli>> =
+'FALS' 'E ' 'Ti49' ' ' 'Ti49' ' ' 'Ti49' ' '
+'Ti49' ' ' 'Ti49' ' ' 'Ti49' ' ' 'Ti49' ' '
+'FALS' 'E ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Ti50 ' <<NbBibli>> =
+'FALS' 'E ' 'Ti50' ' ' 'Ti50' ' ' 'Ti50' ' '
+'Ti50' ' ' 'Ti50' ' ' 'Ti50' ' ' 'Ti50' ' '
+'FALS' 'E ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Cr50 ' <<NbBibli>> =
+'Cr50' ' ' 'Cr50' ' ' 'Cr50' ' ' 'Cr50' ' '
+'Cr50' ' ' 'Cr50' ' ' 'Cr50' ' ' 'Cr50' ' '
+'Cr50' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Cr52 ' <<NbBibli>> =
+'Cr52' ' ' 'Cr52' ' ' 'Cr52' ' ' 'Cr52' ' '
+'Cr52' ' ' 'Cr52' ' ' 'Cr52' ' ' 'Cr52' ' '
+'Cr52' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Cr53 ' <<NbBibli>> =
+'Cr53' ' ' 'Cr53' ' ' 'Cr53' ' ' 'Cr53' ' '
+'Cr53' ' ' 'Cr53' ' ' 'Cr53' ' ' 'Cr53' ' '
+'Cr53' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Cr54 ' <<NbBibli>> =
+'Cr54' ' ' 'Cr54' ' ' 'Cr54' ' ' 'Cr54' ' '
+'Cr54' ' ' 'Cr54' ' ' 'Cr54' ' ' 'Cr54' ' '
+'Cr54' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Mn55 ' <<NbBibli>> =
+'Mn55' ' ' 'Mn55' ' ' 'Mn55' ' ' 'Mn55' ' '
+'Mn55' ' ' 'Mn55' ' ' 'Mn55' ' ' 'Mn55' ' '
+'Mn55' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Fe54 ' <<NbBibli>> =
+'Fe54' ' ' 'Fe54' ' ' 'Fe54' ' ' 'Fe54' ' '
+'Fe54' ' ' 'Fe54' ' ' 'Fe54' ' ' 'Fe54' ' '
+'Fe54' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Fe56 ' <<NbBibli>> =
+'Fe56' ' ' 'Fe56' ' ' 'Fe56' ' ' 'Fe56' ' '
+'Fe56' ' ' 'Fe56' ' ' 'Fe56' ' ' 'Fe56' ' '
+'Fe56' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Fe57 ' <<NbBibli>> =
+'Fe57' ' ' 'Fe57' ' ' 'Fe57' ' ' 'Fe57' ' '
+'Fe57' ' ' 'Fe57' ' ' 'Fe57' ' ' 'Fe57' ' '
+'Fe57' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Fe58 ' <<NbBibli>> =
+'Fe58' ' ' 'Fe58' ' ' 'Fe58' ' ' 'Fe58' ' '
+'Fe58' ' ' 'Fe58' ' ' 'Fe58' ' ' 'Fe58' ' '
+'Fe58' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Co59 ' <<NbBibli>> =
+'Co59' ' ' 'Co59' ' ' 'Co59' ' ' 'Co59' ' '
+'Co59' ' ' 'Co59' ' ' 'Co59' ' ' 'Co59' ' '
+'Co59' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Ni58 ' <<NbBibli>> =
+'Ni58' ' ' 'Ni58' ' ' 'Ni58' ' ' 'Ni58' ' '
+'Ni58' ' ' 'Ni58' ' ' 'Ni58' ' ' 'Ni58' ' '
+'Ni58' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Ni60 ' <<NbBibli>> =
+'Ni60' ' ' 'Ni60' ' ' 'Ni60' ' ' 'Ni60' ' '
+'Ni60' ' ' 'Ni60' ' ' 'Ni60' ' ' 'Ni60' ' '
+'Ni60' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Ni61 ' <<NbBibli>> =
+'Ni61' ' ' 'Ni61' ' ' 'Ni61' ' ' 'Ni61' ' '
+'Ni61' ' ' 'Ni61' ' ' 'Ni61' ' ' 'Ni61' ' '
+'Ni61' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Ni62 ' <<NbBibli>> =
+'Ni62' ' ' 'Ni62' ' ' 'Ni62' ' ' 'Ni62' ' '
+'Ni62' ' ' 'Ni62' ' ' 'Ni62' ' ' 'Ni62' ' '
+'Ni62' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Ni64 ' <<NbBibli>> =
+'Ni64' ' ' 'Ni64' ' ' 'Ni64' ' ' 'Ni64' ' '
+'Ni64' ' ' 'Ni64' ' ' 'Ni64' ' ' 'Ni64' ' '
+'Ni64' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'ZrNat' <<NbBibli>> =
+'Zr0 ' ' ' 'FALS' 'E ' 'FALS' 'E ' 'Zr0 ' ' '
+'FALS' 'E ' 'FALS' 'E ' 'FALS' 'E ' 'Zr_n' 'at '
+'Zr ' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Zr90 ' <<NbBibli>> =
+'Zr90' ' ' 'Zr90' ' ' 'Zr90' ' ' 'Zr90' ' '
+'Zr90' ' ' 'Zr90' ' ' 'Zr90' ' ' 'Zr90' ' '
+'Zr90' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Zr91 ' <<NbBibli>> =
+'Zr91' ' ' 'Zr91' ' ' 'Zr91' ' ' 'Zr91' ' '
+'Zr91' ' ' 'Zr91' ' ' 'Zr91' ' ' 'Zr91' ' '
+'Zr91' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Zr92 ' <<NbBibli>> =
+'Zr92' ' ' 'Zr92' ' ' 'Zr92' ' ' 'Zr92' ' '
+'Zr92' ' ' 'Zr92' ' ' 'Zr92' ' ' 'Zr92' ' '
+'Zr92' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Zr93 ' <<NbBibli>> =
+'Zr93' ' ' 'Zr93' ' ' 'Zr93' ' ' 'Zr93' ' '
+'Zr93' ' ' 'Zr93' ' ' 'Zr93' ' ' 'Zr93' ' '
+'Zr93' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Zr94 ' <<NbBibli>> =
+'Zr94' ' ' 'Zr94' ' ' 'Zr94' ' ' 'Zr94' ' '
+'Zr94' ' ' 'Zr94' ' ' 'Zr94' ' ' 'Zr94' ' '
+'Zr94' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Zr95 ' <<NbBibli>> =
+'Zr95' ' ' 'Zr95' ' ' 'Zr95' ' ' 'Zr95' ' '
+'Zr95' ' ' 'Zr95' ' ' 'Zr95' ' ' 'Zr95' ' '
+'Zr95' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Zr96 ' <<NbBibli>> =
+'Zr96' ' ' 'Zr96' ' ' 'Zr96' ' ' 'Zr96' ' '
+'Zr96' ' ' 'Zr96' ' ' 'Zr96' ' ' 'Zr96' ' '
+'Zr96' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Nb93 ' <<NbBibli>> =
+'Nb93' ' ' 'Nb93' ' ' 'Nb93' ' ' 'Nb93' ' '
+'Nb93' ' ' 'Nb93' ' ' 'Nb93' ' ' 'Nb93' ' '
+'Nb93' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Mo95 ' <<NbBibli>> =
+'Mo95' ' ' 'Mo95' ' ' 'Mo95' ' ' 'Mo95' ' '
+'Mo95' ' ' 'Mo95' ' ' 'Mo95' ' ' 'Mo95' ' '
+'Mo95' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Ag107' <<NbBibli>> =
+'Ag10' '7 ' 'Ag10' '7 ' 'Ag10' '7 ' 'Ag10' '7 '
+'Ag10' '7 ' 'Ag10' '7 ' 'Ag10' '7 ' 'Ag10' '7 '
+'Ag10' '7 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Ag109' <<NbBibli>> =
+'Ag10' '9 ' 'Ag10' '9 ' 'Ag10' '9 ' 'Ag10' '9 '
+'Ag10' '9 ' 'Ag10' '9 ' 'Ag10' '9 ' 'Ag10' '9 '
+'Ag10' '9 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Cd106' <<NbBibli>> =
+'FALS' 'E ' 'Cd10' '6 ' 'Cd10' '6 ' 'Cd10' '6 '
+'FALS' 'E ' 'Cd10' '6 ' 'Cd10' '6 ' 'Cd10' '6 '
+'Cd10' '6 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Cd108' <<NbBibli>> =
+'FALS' 'E ' 'Cd10' '8 ' 'Cd10' '8 ' 'Cd10' '8 '
+'FALS' 'E ' 'Cd10' '8 ' 'Cd10' '8 ' 'Cd10' '8 '
+'Cd10' '8 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Cd110' <<NbBibli>> =
+'Cd11' '0 ' 'Cd11' '0 ' 'Cd11' '0 ' 'Cd11' '0 '
+'Cd11' '0 ' 'Cd11' '0 ' 'Cd11' '0 ' 'Cd11' '0 '
+'Cd11' '0 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Cd111' <<NbBibli>> =
+'Cd11' '1 ' 'Cd11' '1 ' 'Cd11' '1 ' 'Cd11' '1 '
+'Cd11' '1 ' 'Cd11' '1 ' 'Cd11' '1 ' 'Cd11' '1 '
+'Cd11' '1 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Cd112' <<NbBibli>> =
+'Cd11' '2 ' 'Cd11' '2 ' 'Cd11' '2 ' 'Cd11' '2 '
+'Cd11' '2 ' 'Cd11' '2 ' 'Cd11' '2 ' 'Cd11' '2 '
+'Cd11' '2 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Cd113' <<NbBibli>> =
+'Cd11' '3 ' 'Cd11' '3 ' 'Cd11' '3 ' 'Cd11' '3 '
+'Cd11' '3 ' 'Cd11' '3 ' 'Cd11' '3 ' 'Cd11' '3 '
+'Cd11' '3 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Cd114' <<NbBibli>> =
+'Cd11' '4 ' 'Cd11' '4 ' 'Cd11' '4 ' 'Cd11' '4 '
+'Cd11' '4 ' 'Cd11' '4 ' 'Cd11' '4 ' 'Cd11' '4 '
+'Cd11' '4 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Cd116' <<NbBibli>> =
+'Cd11' '6 ' 'Cd11' '6 ' 'Cd11' '6 ' 'Cd11' '6 '
+'Cd11' '6 ' 'Cd11' '6 ' 'Cd11' '6 ' 'Cd11' '6 '
+'Cd11' '6 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'In113' <<NbBibli>> =
+'FALS' 'E ' 'FALS' 'E ' 'FALS' 'E ' 'FALS' 'E '
+'FALS' 'E ' 'FALS' 'E ' 'FALS' 'E ' 'FALS' 'E '
+'In11' '3 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'In115' <<NbBibli>> =
+'FALS' 'E ' 'In11' '5 ' 'In11' '5 ' 'In11' '5 '
+'In11' '5 ' 'In11' '5 ' 'In11' '5 ' 'In11' '5 '
+'In11' '5 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'InNat' <<NbBibli>> =
+'In0 ' ' ' 'FALS' 'E ' 'FALS' 'E ' 'FALS' 'E '
+'FALS' 'E ' 'FALS' 'E ' 'FALS' 'E ' 'FALS' 'E '
+'FALS' 'E ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Sn112' <<NbBibli>> =
+'FALS' 'E ' 'Sn11' '2 ' 'Sn11' '2 ' 'Sn11' '2 '
+'FALS' 'E ' 'Sn11' '2 ' 'Sn11' '2 ' 'Sn11' '2 '
+'Sn11' '2 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Sn114' <<NbBibli>> =
+'FALS' 'E ' 'Sn11' '4 ' 'Sn11' '4 ' 'Sn11' '4 '
+'FALS' 'E ' 'Sn11' '4 ' 'Sn11' '4 ' 'Sn11' '4 '
+'Sn11' '4 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Sn115' <<NbBibli>> =
+'Sn11' '5 ' 'Sn11' '5 ' 'Sn11' '5 ' 'Sn11' '5 '
+'Sn11' '5 ' 'Sn11' '5 ' 'Sn11' '5 ' 'Sn11' '5 '
+'Sn11' '5 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Sn116' <<NbBibli>> =
+'Sn11' '6 ' 'Sn11' '6 ' 'Sn11' '6 ' 'Sn11' '6 '
+'Sn11' '6 ' 'Sn11' '6 ' 'Sn11' '6 ' 'Sn11' '6 '
+'Sn11' '6 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Sn117' <<NbBibli>> =
+'Sn11' '7 ' 'Sn11' '7 ' 'Sn11' '7 ' 'Sn11' '7 '
+'Sn11' '7 ' 'Sn11' '7 ' 'Sn11' '7 ' 'Sn11' '7 '
+'Sn11' '7 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Sn118' <<NbBibli>> =
+'Sn11' '8 ' 'Sn11' '8 ' 'Sn11' '8 ' 'Sn11' '8 '
+'Sn11' '8 ' 'Sn11' '8 ' 'Sn11' '8 ' 'Sn11' '8 '
+'Sn11' '8 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Sn119' <<NbBibli>> =
+'Sn11' '9 ' 'Sn11' '9 ' 'Sn11' '9 ' 'Sn11' '9 '
+'Sn11' '9 ' 'Sn11' '9 ' 'Sn11' '9 ' 'Sn11' '9 '
+'Sn11' '9 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Sn120' <<NbBibli>> =
+'Sn12' '0 ' 'Sn12' '0 ' 'Sn12' '0 ' 'Sn12' '0 '
+'Sn12' '0 ' 'Sn12' '0 ' 'Sn12' '0 ' 'Sn12' '0 '
+'Sn12' '0 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Sn122' <<NbBibli>> =
+'Sn12' '2 ' 'Sn12' '2 ' 'Sn12' '2 ' 'Sn12' '2 '
+'Sn12' '2 ' 'Sn12' '2 ' 'Sn12' '2 ' 'Sn12' '2 '
+'Sn12' '2 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Sn124' <<NbBibli>> =
+'Sn12' '4 ' 'Sn12' '4 ' 'Sn12' '4 ' 'Sn12' '4 '
+'Sn12' '4 ' 'Sn12' '4 ' 'Sn12' '4 ' 'Sn12' '4 '
+'Sn12' '4 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Gd154' <<NbBibli>> =
+'Gd15' '4 ' 'Gd15' '4 ' 'Gd15' '4 ' 'Gd15' '4 '
+'Gd15' '4 ' 'Gd15' '4 ' 'Gd15' '4 ' 'Gd15' '4 '
+'Gd15' '4 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Gd155' <<NbBibli>> =
+'Gd15' '5 ' 'Gd15' '5 ' 'Gd15' '5 ' 'Gd15' '5 '
+'Gd15' '5 ' 'Gd15' '5 ' 'Gd15' '5 ' 'Gd15' '5 '
+'Gd15' '5 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Gd156' <<NbBibli>> =
+'Gd15' '6 ' 'Gd15' '6 ' 'Gd15' '6 ' 'Gd15' '6 '
+'Gd15' '6 ' 'Gd15' '6 ' 'Gd15' '6 ' 'Gd15' '6 '
+'Gd15' '6 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Gd157' <<NbBibli>> =
+'Gd15' '7 ' 'Gd15' '7 ' 'Gd15' '7 ' 'Gd15' '7 '
+'Gd15' '7 ' 'Gd15' '7 ' 'Gd15' '7 ' 'Gd15' '7 '
+'Gd15' '7 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Gd158' <<NbBibli>> =
+'Gd15' '8 ' 'Gd15' '8 ' 'Gd15' '8 ' 'Gd15' '8 '
+'Gd15' '8 ' 'Gd15' '8 ' 'Gd15' '8 ' 'Gd15' '8 '
+'Gd15' '8 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Gd160' <<NbBibli>> =
+'Gd16' '0 ' 'Gd16' '0 ' 'Gd16' '0 ' 'Gd16' '0 '
+'Gd16' '0 ' 'Gd16' '0 ' 'Gd16' '0 ' 'Gd16' '0 '
+'Gd16' '0 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'U234 ' <<NbBibli>> =
+'U234' ' ' 'U234' ' ' 'U234' ' ' 'U234' ' '
+'U234' ' ' 'U234' ' ' 'U234' ' ' 'U234' ' '
+'U234' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'U235 ' <<NbBibli>> =
+'U235' ' ' 'U235' ' ' 'U235' ' ' 'U235' ' '
+'U235' ' ' 'U235' ' ' 'U235' ' ' 'U235' ' '
+'U235' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'U236 ' <<NbBibli>> =
+'U236' ' ' 'U236' ' ' 'U236' ' ' 'U236' ' '
+'U236' ' ' 'U236' ' ' 'U236' ' ' 'U236' ' '
+'U236' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'U238 ' <<NbBibli>> =
+'U238' ' ' 'U238' ' ' 'U238' ' ' 'U238' ' '
+'U238' ' ' 'U238' ' ' 'U238' ' ' 'U238' ' '
+'U238' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Pu238' <<NbBibli>> =
+'Pu23' '8 ' 'Pu23' '8 ' 'Pu23' '8 ' 'Pu23' '8 '
+'Pu23' '8 ' 'Pu23' '8 ' 'Pu23' '8 ' 'Pu23' '8 '
+'Pu23' '8 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Pu239' <<NbBibli>> =
+'Pu23' '9 ' 'Pu23' '9 ' 'Pu23' '9 ' 'Pu23' '9 '
+'Pu23' '9 ' 'Pu23' '9 ' 'Pu23' '9 ' 'Pu23' '9 '
+'Pu23' '9 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Pu240' <<NbBibli>> =
+'Pu24' '0 ' 'Pu24' '0 ' 'Pu24' '0 ' 'Pu24' '0 '
+'Pu24' '0 ' 'Pu24' '0 ' 'Pu24' '0 ' 'Pu24' '0 '
+'Pu24' '0 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Pu241' <<NbBibli>> =
+'Pu24' '1 ' 'Pu24' '1 ' 'Pu24' '1 ' 'Pu24' '1 '
+'Pu24' '1 ' 'Pu24' '1 ' 'Pu24' '1 ' 'Pu24' '1 '
+'Pu24' '1 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Pu242' <<NbBibli>> =
+'Pu24' '2 ' 'Pu24' '2 ' 'Pu24' '2 ' 'Pu24' '2 '
+'Pu24' '2 ' 'Pu24' '2 ' 'Pu24' '2 ' 'Pu24' '2 '
+'Pu24' '2 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Am241' <<NbBibli>> =
+'Am24' '1 ' 'Am24' '1 ' 'Am24' '1 ' 'Am24' '1 '
+'Am24' '1 ' 'Am24' '1 ' 'Am24' '1 ' 'Am24' '1 '
+'Am24' '1 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Na23 ' <<NbBibli>> =
+'Na23' ' ' 'Na23' ' ' 'Na23' ' ' 'Na23' ' '
+'Na23' ' ' 'Na23' ' ' 'Na23' ' ' 'Na23' ' '
+'Na23' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Knat ' <<NbBibli>> =
+'K0 ' ' ' 'FALS' 'E ' 'FALS' 'E ' 'K0 ' ' '
+'FALS' 'E ' 'FALS' 'E ' 'FALS' 'E ' 'K_na' 't '
+'K ' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'K39 ' <<NbBibli>> =
+'FALS' 'E ' 'K39 ' ' ' 'K39 ' ' ' 'K39 ' ' '
+'K39 ' ' ' 'K39 ' ' ' 'K39 ' ' ' 'K39 ' ' '
+'FALS' 'E ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'K40 ' <<NbBibli>> =
+'FALS' 'E ' 'K40 ' ' ' 'K40 ' ' ' 'K40 ' ' '
+'K40 ' ' ' 'K40 ' ' ' 'K40 ' ' ' 'K40 ' ' '
+'FALS' 'E ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'K41 ' <<NbBibli>> =
+'FALS' 'E ' 'K41 ' ' ' 'K41 ' ' ' 'K41 ' ' '
+'K41 ' ' ' 'K41 ' ' ' 'K41 ' ' ' 'K41 ' ' '
+'FALS' 'E ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'S32 ' <<NbBibli>> =
+'S32 ' ' ' 'S32 ' ' ' 'S32 ' ' ' 'S32 ' ' '
+'S32 ' ' ' 'S32 ' ' ' 'S32 ' ' ' 'S32 ' ' '
+'S32 ' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'S33 ' <<NbBibli>> =
+'FALS' 'E ' 'S33 ' ' ' 'S33 ' ' ' 'S33 ' ' '
+'S33 ' ' ' 'S33 ' ' ' 'S33 ' ' ' 'S33 ' ' '
+'S33 ' ' ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'S34 ' <<NbBibli>> =
+'FALS' 'E ' 'S34 ' ' ' 'S34 ' ' ' 'S34 ' ' '
+'S34 ' ' ' 'S34 ' ' ' 'S34 ' ' ' 'S34 ' ' '
+'S34 ' ' ' ;
+! Hafnium
+ListeIsot := UTL: ListeIsot :: CREA 'Hf174' <<NbBibli>> =
+'Hf17' '4 ' 'Hf17' '4 ' 'Hf17' '4 ' 'Hf17' '4 '
+'Hf17' '4 ' 'Hf17' '4 ' 'Hf17' '4 ' 'Hf17' '4 '
+'Hf17' '4 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Hf176' <<NbBibli>> =
+'Hf17' '6 ' 'Hf17' '6 ' 'Hf17' '6 ' 'Hf17' '6 '
+'Hf17' '6 ' 'Hf17' '6 ' 'Hf17' '6 ' 'Hf17' '6 '
+'Hf17' '6 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Hf177' <<NbBibli>> =
+'Hf17' '7 ' 'Hf17' '7 ' 'Hf17' '7 ' 'Hf17' '7 '
+'Hf17' '7 ' 'Hf17' '7 ' 'Hf17' '7 ' 'Hf17' '7 '
+'Hf17' '7 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Hf178' <<NbBibli>> =
+'Hf17' '8 ' 'Hf17' '8 ' 'Hf17' '8 ' 'Hf17' '8 '
+'Hf17' '8 ' 'Hf17' '8 ' 'Hf17' '8 ' 'Hf17' '8 '
+'Hf17' '8 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Hf179' <<NbBibli>> =
+'Hf17' '9 ' 'Hf17' '9 ' 'Hf17' '9 ' 'Hf17' '9 '
+'Hf17' '9 ' 'Hf17' '9 ' 'Hf17' '9 ' 'Hf17' '9 '
+'Hf17' '9 ' ;
+ListeIsot := UTL: ListeIsot :: CREA 'Hf180' <<NbBibli>> =
+'Hf18' '0 ' 'Hf18' '0 ' 'Hf18' '0 ' 'Hf18' '0 '
+'Hf18' '0 ' 'Hf18' '0 ' 'Hf18' '0 ' 'Hf18' '0 '
+'Hf18' '0 ' ;
+
+* Liste des noms des isotopes contenant les donnees d'autoprotection
+
+ListeAutop := UTL: :: CREA 'ZrNat' 3 =
+'Zr_n' 'atSS' ' ' ;
+ListeAutop := UTL: ListeAutop :: CREA 'Ag107' 3 =
+'Ag10' '7SS ' ' ' ;
+ListeAutop := UTL: ListeAutop :: CREA 'Ag109' 3 =
+'Ag10' '9SS ' ' ' ;
+ListeAutop := UTL: ListeAutop :: CREA 'In115' 3 =
+'In11' '5SS ' ' ' ;
+ListeAutop := UTL: ListeAutop :: CREA 'Gd154' 3 =
+'Gd15' '4SS ' ' ' ;
+ListeAutop := UTL: ListeAutop :: CREA 'Gd155' 3 =
+'Gd15' '5SS ' ' ' ;
+ListeAutop := UTL: ListeAutop :: CREA 'Gd156' 3 =
+'Gd15' '6SS ' ' ' ;
+ListeAutop := UTL: ListeAutop :: CREA 'Gd157' 3 =
+'Gd15' '7SS ' ' ' ;
+ListeAutop := UTL: ListeAutop :: CREA 'Gd158' 3 =
+'Gd15' '8SS ' ' ' ;
+ListeAutop := UTL: ListeAutop :: CREA 'Gd160' 3 =
+'Gd16' '0SS ' ' ' ;
+ListeAutop := UTL: ListeAutop :: CREA 'U235 ' 3 =
+'U235' 'SS ' ' ' ;
+ListeAutop := UTL: ListeAutop :: CREA 'U236 ' 3 =
+'U236' 'SS ' ' ' ;
+ListeAutop := UTL: ListeAutop :: CREA 'U238 ' 3 =
+'U238' 'SS ' ' ' ;
+ListeAutop := UTL: ListeAutop :: CREA 'Pu238' 3 =
+'Pu23' '8SS ' ' ' ;
+ListeAutop := UTL: ListeAutop :: CREA 'Pu239' 3 =
+'Pu23' '9SS ' ' ' ;
+ListeAutop := UTL: ListeAutop :: CREA 'Pu240' 3 =
+'Pu24' '0SS ' ' ' ;
+ListeAutop := UTL: ListeAutop :: CREA 'Pu241' 3 =
+'Pu24' '1SS ' ' ' ;
+ListeAutop := UTL: ListeAutop :: CREA 'Pu242' 3 =
+'Pu24' '2SS ' ' ' ;
+ListeAutop := UTL: ListeAutop :: CREA 'Am241' 3 =
+'Am24' '1SS ' ' ' ;
+! Hafnium
+ListeAutop := UTL: ListeAutop :: CREA 'Hf174' 3 =
+'Hf17' '4SS ' ' ' ;
+ListeAutop := UTL: ListeAutop :: CREA 'Hf176' 3 =
+'Hf17' '6SS ' ' ' ;
+ListeAutop := UTL: ListeAutop :: CREA 'Hf177' 3 =
+'Hf17' '7SS ' ' ' ;
+ListeAutop := UTL: ListeAutop :: CREA 'Hf178' 3 =
+'Hf17' '8SS ' ' ' ;
+ListeAutop := UTL: ListeAutop :: CREA 'Hf179' 3 =
+'Hf17' '9SS ' ' ' ;
+ListeAutop := UTL: ListeAutop :: CREA 'Hf180' 3 =
+'Hf18' '0SS ' ' ' ;
+
+*------------------------------------------------------
+END: ;
+QUIT "LIST" .
diff --git a/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_proc/CreaDilut.c2m b/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_proc/CreaDilut.c2m
new file mode 100644
index 0000000..8efc07d
--- /dev/null
+++ b/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_proc/CreaDilut.c2m
@@ -0,0 +1,510 @@
+*DECK CreaDilut.c2m
+*======================================================
+* Name: CreaDilut.c2m
+* Type: DRAGON procedure
+* Use: Cree les MIX isotopiques de melanges dilues
+* pour les reflecteurs
+* Author: M. Cordiez 06.2015
+* [Altran]
+* Mod: G. Tixier 05.2017 [CS-SI]
+* Ajout du selecteur de DN
+*------------------------------------------------------
+* Input Required:
+* < Library
+* > Molar Masses
+* > Metal Mixes
+* > Fractions volumiques des differents milieux
+* > Numero de la zone reflecteur (iMil)
+* Output Provided:
+* < Library
+*======================================================
+PARAMETER LibDilut MolarMasses BNat Zirc4 Incon SS304 ::
+ ::: LINKED_LIST
+ LibDilut MolarMasses BNat Zirc4 Incon SS304 ; ;
+MODULE LIB: GREP: ABORT: UTL: END: ;
+LINKED_LIST ListeIsot ListeAutop ;
+PROCEDURE AdaptIso ;
+*--------------------------------------------------------------------
+* Parametres constants
+*--------------------------------------------------------------------
+REAL avogadro := 6.022094E+23 ;
+REAL avo_conc := avogadro 1.E-24 * ;
+
+*--------------------------------------------------------------------
+* Definition des variables generales
+*--------------------------------------------------------------------
+REAL dSS := 7.792815 ; ! Densite de l'acier inoxydable (SS304)
+REAL dZr4 := 6.49012 ; ! Densite du zircaloy 4
+REAL dInc := 8.303 ; ! Densite inconel (a 20 degres C...)
+INTEGER iMil ; ! Numero de la zone reflecteur
+REAL TMil ; ! Temperature du moderateur en degres C (suppose = T de tout le milieu)
+REAL dZone ; ! Densite de la zone consideree
+REAL dHe ; ! Densite de l'helium
+REAL dMod ; ! Densite du moderateur
+REAL CB ; ! Concentration en bore
+REAL fvMod fvZr4 fvInc fvSS304 ; ! Fractions volumiques des differents milieux
+STRING NuclData LibGenre LibType ;
+INTEGER LibId ;
+
+*--------------------------------------------------------------------
+* Fractions volumiques des differents milieux presents dans la zone
+*--------------------------------------------------------------------
+:: >>dMod<< >>iMil<< >>TMil<< >>CB<< >>fvMod<< >>fvZr4<< >>fvInc<< >>fvSS304<<
+ >>NuclData<< >>LibType<< ;
+
+*------------------------------------------------------
+* Recuperation des noms des isotopes
+*------------------------------------------------------
+STRING NomH2O ;
+STRING NomH1 ;
+STRING NomO16 ;
+STRING NomAm241 ;
+STRING NomAl27 ;
+STRING NomB10 NomB11 ;
+STRING NomCo59 NomCr50 NomCr52 NomCr53 NomCr54 ;
+STRING NomFe54 NomFe56 NomFe57 NomFe58 ;
+STRING NomMn55 ;
+STRING NomMo95 ;
+STRING NomNb93 ;
+STRING NomNi58 NomNi60 NomNi61 NomNi62 NomNi64 ;
+STRING NomPu238 NomPu239 NomPu240 NomPu241 NomPu242 ;
+STRING NomSiNat NomSi28 NomSi29 NomSi30 ;
+STRING NomSn112 NomSn114 NomSn115 NomSn116 NomSn117 ;
+STRING NomSn118 NomSn119 NomSn120 NomSn122 NomSn124 ;
+STRING NomTiNat NomTi46 NomTi47 NomTi48 NomTi49 NomTi50 ;
+STRING NomU234 NomU235 NomU236 NomU238 ;
+STRING NomZrNat ;
+STRING NomZr90 NomZr91 NomZr92 NomZr93 NomZr94 NomZr95 NomZr96 ;
+STRING NomCNat ;
+STRING NomAg107 NomAg109 ;
+STRING NomCd106 NomCd108 NomCd110 NomCd111 NomCd112 NomCd113 NomCd114 ;
+STRING NomCd116 ;
+STRING NomIn115 NomIn113 NomInNat ;
+STRING NomGd154 NomGd155 NomGd156 NomGd157 NomGd158 NomGd160 ;
+STRING NomKnat NomK39 NomK40 NomK41 NomNa23 ;
+STRING NomS32 NomS33 NomS34 NomN14 ;
+
+ListeIsot ListeAutop := AdaptIso :: <<NuclData>> <<LibType>>
+ >>LibId<< >>LibGenre<< ;
+ECHO "CreaDilut: LibId=" LibId ;
+
+GREP: ListeIsot :: GETVAL 'H2O ' <<LibId>> NVAL 8 >>NomH2O<< ;
+GREP: ListeIsot :: GETVAL 'H1 ' <<LibId>> NVAL 8 >>NomH1<< ;
+GREP: ListeIsot :: GETVAL 'O16 ' <<LibId>> NVAL 8 >>NomO16<< ;
+GREP: ListeIsot :: GETVAL 'Am241' <<LibId>> NVAL 8 >>NomAm241<< ;
+GREP: ListeIsot :: GETVAL 'Al27 ' <<LibId>> NVAL 8 >>NomAl27<< ;
+GREP: ListeIsot :: GETVAL 'B10 ' <<LibId>> NVAL 8 >>NomB10<< ;
+GREP: ListeIsot :: GETVAL 'B11 ' <<LibId>> NVAL 8 >>NomB11<< ;
+GREP: ListeIsot :: GETVAL 'Co59 ' <<LibId>> NVAL 8 >>NomCo59<< ;
+GREP: ListeIsot :: GETVAL 'Cr50 ' <<LibId>> NVAL 8 >>NomCr50<< ;
+GREP: ListeIsot :: GETVAL 'Cr52 ' <<LibId>> NVAL 8 >>NomCr52<< ;
+GREP: ListeIsot :: GETVAL 'Cr53 ' <<LibId>> NVAL 8 >>NomCr53<< ;
+GREP: ListeIsot :: GETVAL 'Cr54 ' <<LibId>> NVAL 8 >>NomCr54<< ;
+GREP: ListeIsot :: GETVAL 'Fe54 ' <<LibId>> NVAL 8 >>NomFe54<< ;
+GREP: ListeIsot :: GETVAL 'Fe56 ' <<LibId>> NVAL 8 >>NomFe56<< ;
+GREP: ListeIsot :: GETVAL 'Fe57 ' <<LibId>> NVAL 8 >>NomFe57<< ;
+GREP: ListeIsot :: GETVAL 'Fe58 ' <<LibId>> NVAL 8 >>NomFe58<< ;
+GREP: ListeIsot :: GETVAL 'Mn55 ' <<LibId>> NVAL 8 >>NomMn55<< ;
+GREP: ListeIsot :: GETVAL 'Mo95 ' <<LibId>> NVAL 8 >>NomMo95<< ;
+GREP: ListeIsot :: GETVAL 'Nb93 ' <<LibId>> NVAL 8 >>NomNb93<< ;
+GREP: ListeIsot :: GETVAL 'Ni58 ' <<LibId>> NVAL 8 >>NomNi58<< ;
+GREP: ListeIsot :: GETVAL 'Ni60 ' <<LibId>> NVAL 8 >>NomNi60<< ;
+GREP: ListeIsot :: GETVAL 'Ni61 ' <<LibId>> NVAL 8 >>NomNi61<< ;
+GREP: ListeIsot :: GETVAL 'Ni62 ' <<LibId>> NVAL 8 >>NomNi62<< ;
+GREP: ListeIsot :: GETVAL 'Ni64 ' <<LibId>> NVAL 8 >>NomNi64<< ;
+GREP: ListeIsot :: GETVAL 'Pu238' <<LibId>> NVAL 8 >>NomPu238<< ;
+GREP: ListeIsot :: GETVAL 'Pu239' <<LibId>> NVAL 8 >>NomPu239<< ;
+GREP: ListeIsot :: GETVAL 'Pu240' <<LibId>> NVAL 8 >>NomPu240<< ;
+GREP: ListeIsot :: GETVAL 'Pu241' <<LibId>> NVAL 8 >>NomPu241<< ;
+GREP: ListeIsot :: GETVAL 'Pu242' <<LibId>> NVAL 8 >>NomPu242<< ;
+GREP: ListeIsot :: GETVAL 'SiNat' <<LibId>> NVAL 8 >>NomSiNat<< ;
+GREP: ListeIsot :: GETVAL 'Si28 ' <<LibId>> NVAL 8 >>NomSi28<< ;
+GREP: ListeIsot :: GETVAL 'Si29 ' <<LibId>> NVAL 8 >>NomSi29<< ;
+GREP: ListeIsot :: GETVAL 'Si30 ' <<LibId>> NVAL 8 >>NomSi30<< ;
+GREP: ListeIsot :: GETVAL 'Sn112' <<LibId>> NVAL 8 >>NomSn112<< ;
+GREP: ListeIsot :: GETVAL 'Sn114' <<LibId>> NVAL 8 >>NomSn114<< ;
+GREP: ListeIsot :: GETVAL 'Sn115' <<LibId>> NVAL 8 >>NomSn115<< ;
+GREP: ListeIsot :: GETVAL 'Sn116' <<LibId>> NVAL 8 >>NomSn116<< ;
+GREP: ListeIsot :: GETVAL 'Sn117' <<LibId>> NVAL 8 >>NomSn117<< ;
+GREP: ListeIsot :: GETVAL 'Sn118' <<LibId>> NVAL 8 >>NomSn118<< ;
+GREP: ListeIsot :: GETVAL 'Sn119' <<LibId>> NVAL 8 >>NomSn119<< ;
+GREP: ListeIsot :: GETVAL 'Sn120' <<LibId>> NVAL 8 >>NomSn120<< ;
+GREP: ListeIsot :: GETVAL 'Sn122' <<LibId>> NVAL 8 >>NomSn122<< ;
+GREP: ListeIsot :: GETVAL 'Sn124' <<LibId>> NVAL 8 >>NomSn124<< ;
+GREP: ListeIsot :: GETVAL 'TiNat' <<LibId>> NVAL 8 >>NomTiNat<< ;
+GREP: ListeIsot :: GETVAL 'Ti46 ' <<LibId>> NVAL 8 >>NomTi46<< ;
+GREP: ListeIsot :: GETVAL 'Ti47 ' <<LibId>> NVAL 8 >>NomTi47<< ;
+GREP: ListeIsot :: GETVAL 'Ti48 ' <<LibId>> NVAL 8 >>NomTi48<< ;
+GREP: ListeIsot :: GETVAL 'Ti49 ' <<LibId>> NVAL 8 >>NomTi49<< ;
+GREP: ListeIsot :: GETVAL 'Ti50 ' <<LibId>> NVAL 8 >>NomTi50<< ;
+GREP: ListeIsot :: GETVAL 'U234 ' <<LibId>> NVAL 8 >>NomU234<< ;
+GREP: ListeIsot :: GETVAL 'U235 ' <<LibId>> NVAL 8 >>NomU235<< ;
+GREP: ListeIsot :: GETVAL 'U236 ' <<LibId>> NVAL 8 >>NomU236<< ;
+GREP: ListeIsot :: GETVAL 'U238 ' <<LibId>> NVAL 8 >>NomU238<< ;
+GREP: ListeIsot :: GETVAL 'ZrNat' <<LibId>> NVAL 8 >>NomZrNat<< ;
+GREP: ListeIsot :: GETVAL 'Zr90 ' <<LibId>> NVAL 8 >>NomZr90<< ;
+GREP: ListeIsot :: GETVAL 'Zr91 ' <<LibId>> NVAL 8 >>NomZr91<< ;
+GREP: ListeIsot :: GETVAL 'Zr92 ' <<LibId>> NVAL 8 >>NomZr92<< ;
+GREP: ListeIsot :: GETVAL 'Zr93 ' <<LibId>> NVAL 8 >>NomZr93<< ;
+GREP: ListeIsot :: GETVAL 'Zr94 ' <<LibId>> NVAL 8 >>NomZr94<< ;
+GREP: ListeIsot :: GETVAL 'Zr95 ' <<LibId>> NVAL 8 >>NomZr95<< ;
+GREP: ListeIsot :: GETVAL 'Zr96 ' <<LibId>> NVAL 8 >>NomZr96<< ;
+GREP: ListeIsot :: GETVAL 'CNat ' <<LibId>> NVAL 8 >>NomCNat<< ;
+GREP: ListeIsot :: GETVAL 'Ag107' <<LibId>> NVAL 8 >>NomAg107<< ;
+GREP: ListeIsot :: GETVAL 'Ag109' <<LibId>> NVAL 8 >>NomAg109<< ;
+GREP: ListeIsot :: GETVAL 'Cd106' <<LibId>> NVAL 8 >>NomCd106<< ;
+GREP: ListeIsot :: GETVAL 'Cd108' <<LibId>> NVAL 8 >>NomCd108<< ;
+GREP: ListeIsot :: GETVAL 'Cd110' <<LibId>> NVAL 8 >>NomCd110<< ;
+GREP: ListeIsot :: GETVAL 'Cd111' <<LibId>> NVAL 8 >>NomCd111<< ;
+GREP: ListeIsot :: GETVAL 'Cd112' <<LibId>> NVAL 8 >>NomCd112<< ;
+GREP: ListeIsot :: GETVAL 'Cd113' <<LibId>> NVAL 8 >>NomCd113<< ;
+GREP: ListeIsot :: GETVAL 'Cd114' <<LibId>> NVAL 8 >>NomCd114<< ;
+GREP: ListeIsot :: GETVAL 'Cd116' <<LibId>> NVAL 8 >>NomCd116<< ;
+GREP: ListeIsot :: GETVAL 'In115' <<LibId>> NVAL 8 >>NomIn115<< ;
+GREP: ListeIsot :: GETVAL 'In113' <<LibId>> NVAL 8 >>NomIn113<< ;
+GREP: ListeIsot :: GETVAL 'Gd154' <<LibId>> NVAL 8 >>NomGd154<< ;
+GREP: ListeIsot :: GETVAL 'Gd155' <<LibId>> NVAL 8 >>NomGd155<< ;
+GREP: ListeIsot :: GETVAL 'Gd156' <<LibId>> NVAL 8 >>NomGd156<< ;
+GREP: ListeIsot :: GETVAL 'Gd157' <<LibId>> NVAL 8 >>NomGd157<< ;
+GREP: ListeIsot :: GETVAL 'Gd158' <<LibId>> NVAL 8 >>NomGd158<< ;
+GREP: ListeIsot :: GETVAL 'Gd160' <<LibId>> NVAL 8 >>NomGd160<< ;
+GREP: ListeIsot :: GETVAL 'Knat ' <<LibId>> NVAL 8 >>NomKnat<< ;
+GREP: ListeIsot :: GETVAL 'K39 ' <<LibId>> NVAL 8 >>NomK39<< ;
+GREP: ListeIsot :: GETVAL 'K40 ' <<LibId>> NVAL 8 >>NomK40<< ;
+GREP: ListeIsot :: GETVAL 'K41 ' <<LibId>> NVAL 8 >>NomK41<< ;
+GREP: ListeIsot :: GETVAL 'Na23 ' <<LibId>> NVAL 8 >>NomNa23<< ;
+GREP: ListeIsot :: GETVAL 'S32 ' <<LibId>> NVAL 8 >>NomS32<< ;
+GREP: ListeIsot :: GETVAL 'S33 ' <<LibId>> NVAL 8 >>NomS33<< ;
+GREP: ListeIsot :: GETVAL 'S34 ' <<LibId>> NVAL 8 >>NomS34<< ;
+GREP: ListeIsot :: GETVAL 'N14 ' <<LibId>> NVAL 8 >>NomN14<< ;
+GREP: ListeIsot :: GETVAL 'InNat' <<LibId>> NVAL 8 >>NomInNat<< ;
+
+*--------------------------------------------------------------------
+* Concentrations isotopiques et donnees des differents consistuants
+*--------------------------------------------------------------------
+!------ Donnees du moderateur ------
+REAL MBNat B10f B11f ;
+REAL BTot_mod ;
+REAL H2O_mod ;
+REAL H_mod O_mod h1 ;
+REAL MH2O := 18.01528 ;
+
+*---- Proportions isotopiques ----
+GREP: BNat :: GETVAL 'AvgMolM ' 1 >>MBNat<< ;
+GREP: BNat :: GETVAL 'B10frIso' 1 >>B10f<< ;
+GREP: BNat :: GETVAL 'B11frIso' 1 >>B11f<< ;
+
+GREP: MolarMasses :: GETVAL 'H1 ' 1 >>h1<< ;
+EVALUATE H_mod := dMod avo_conc * MH2O / 2. * ; ! En atomes/vol
+EVALUATE O_mod := dMod avo_conc * MH2O / ; ! En atomes/vol
+EVALUATE H2O_mod := 0. ;
+EVALUATE BTot_mod := dMod CB * 1.E-6 * avo_conc * MBNat / ;
+
+!---- Donnees du zircaloy ----
+REAL MZr4 Zr4Conc ;
+REAL Fe54Z4f Fe56Z4f Fe57Z4f Fe58Z4f ;
+REAL Cr50Z4f Cr52Z4f Cr53Z4f Cr54Z4f ;
+REAL Sn112Z4f Sn114Z4f Sn115Z4f Sn116Z4f Sn117Z4f
+ Sn118Z4f Sn119Z4f Sn120Z4f Sn122Z4f Sn124Z4f ;
+REAL O16Z4f ZrNatZ4f ;
+REAL Zr90Z4f Zr91Z4f Zr92Z4f Zr93Z4f Zr94Z4f Zr95Z4f Zr96Z4f ;
+
+*---- Proportions isotopiques ----
+GREP: Zirc4 :: GETVAL 'AvgMolM ' 1 >>MZr4<< ;
+GREP: Zirc4 :: GETVAL 'Fe54Z4frIso ' 1 >>Fe54Z4f<< ;
+GREP: Zirc4 :: GETVAL 'Fe56Z4frIso ' 1 >>Fe56Z4f<< ;
+GREP: Zirc4 :: GETVAL 'Fe57Z4frIso ' 1 >>Fe57Z4f<< ;
+GREP: Zirc4 :: GETVAL 'Fe58Z4frIso ' 1 >>Fe58Z4f<< ;
+GREP: Zirc4 :: GETVAL 'Cr50Z4frIso ' 1 >>Cr50Z4f<< ;
+GREP: Zirc4 :: GETVAL 'Cr52Z4frIso ' 1 >>Cr52Z4f<< ;
+GREP: Zirc4 :: GETVAL 'Cr53Z4frIso ' 1 >>Cr53Z4f<< ;
+GREP: Zirc4 :: GETVAL 'Cr54Z4frIso ' 1 >>Cr54Z4f<< ;
+GREP: Zirc4 :: GETVAL 'O16Z4frIso ' 1 >>O16Z4f<< ;
+GREP: Zirc4 :: GETVAL 'ZrNatfrIso ' 1 >>ZrNatZ4f<< ;
+GREP: Zirc4 :: GETVAL 'Zr90Z4frIso ' 1 >>Zr90Z4f<< ;
+GREP: Zirc4 :: GETVAL 'Zr91Z4frIso ' 1 >>Zr91Z4f<< ;
+GREP: Zirc4 :: GETVAL 'Zr92Z4frIso ' 1 >>Zr92Z4f<< ;
+GREP: Zirc4 :: GETVAL 'Zr93Z4frIso ' 1 >>Zr93Z4f<< ;
+GREP: Zirc4 :: GETVAL 'Zr94Z4frIso ' 1 >>Zr94Z4f<< ;
+GREP: Zirc4 :: GETVAL 'Zr95Z4frIso ' 1 >>Zr95Z4f<< ;
+GREP: Zirc4 :: GETVAL 'Zr96Z4frIso ' 1 >>Zr96Z4f<< ;
+GREP: Zirc4 :: GETVAL 'Sn112Z4frIso' 1 >>Sn112Z4f<< ;
+GREP: Zirc4 :: GETVAL 'Sn114Z4frIso' 1 >>Sn114Z4f<< ;
+GREP: Zirc4 :: GETVAL 'Sn115Z4frIso' 1 >>Sn115Z4f<< ;
+GREP: Zirc4 :: GETVAL 'Sn116Z4frIso' 1 >>Sn116Z4f<< ;
+GREP: Zirc4 :: GETVAL 'Sn117Z4frIso' 1 >>Sn117Z4f<< ;
+GREP: Zirc4 :: GETVAL 'Sn118Z4frIso' 1 >>Sn118Z4f<< ;
+GREP: Zirc4 :: GETVAL 'Sn119Z4frIso' 1 >>Sn119Z4f<< ;
+GREP: Zirc4 :: GETVAL 'Sn120Z4frIso' 1 >>Sn120Z4f<< ;
+GREP: Zirc4 :: GETVAL 'Sn122Z4frIso' 1 >>Sn122Z4f<< ;
+GREP: Zirc4 :: GETVAL 'Sn124Z4frIso' 1 >>Sn124Z4f<< ;
+
+ECHO "M(Zirc4) : " MZr4 " (g/mol)" ;
+
+EVALUATE Zr4Conc := dZr4 avo_conc * MZr4 / ; ! En atomes/vol
+
+!---- Donnees de l'inconel ----
+REAL MInc IncConc ;
+REAL Ni58Inf Ni60Inf Ni61Inf Ni62Inf Ni64Inf ;
+REAL Cr50Inf Cr52Inf Cr53Inf Cr54Inf ;
+REAL Fe54Inf Fe56Inf Fe57Inf Fe58Inf ;
+REAL B10BInf B11BInf ;
+REAL Al27Inf Mo95Inf Co59Inf Mn55Inf Nb93Inf ;
+REAL TiNatInf Ti46Inf Ti47Inf Ti48Inf ;
+REAL Ti49Inf Ti50Inf ;
+REAL SiNatInf Si28Inf Si29Inf Si30Inf ;
+
+*---- Proportions isotopiques ----
+GREP: Incon :: GETVAL 'AvgMolM ' 1 >>MInc<< ;
+GREP: Incon :: GETVAL 'Ni58InfrIso' 1 >>Ni58Inf<< ;
+GREP: Incon :: GETVAL 'Ni60InfrIso' 1 >>Ni60Inf<< ;
+GREP: Incon :: GETVAL 'Ni61InfrIso' 1 >>Ni61Inf<< ;
+GREP: Incon :: GETVAL 'Ni62InfrIso' 1 >>Ni62Inf<< ;
+GREP: Incon :: GETVAL 'Ni64InfrIso' 1 >>Ni64Inf<< ;
+GREP: Incon :: GETVAL 'Cr50InfrIso' 1 >>Cr50Inf<< ;
+GREP: Incon :: GETVAL 'Cr52InfrIso' 1 >>Cr52Inf<< ;
+GREP: Incon :: GETVAL 'Cr53InfrIso' 1 >>Cr53Inf<< ;
+GREP: Incon :: GETVAL 'Cr54InfrIso' 1 >>Cr54Inf<< ;
+GREP: Incon :: GETVAL 'Fe54InfrIso' 1 >>Fe54Inf<< ;
+GREP: Incon :: GETVAL 'Fe56InfrIso' 1 >>Fe56Inf<< ;
+GREP: Incon :: GETVAL 'Fe57InfrIso' 1 >>Fe57Inf<< ;
+GREP: Incon :: GETVAL 'Fe58InfrIso' 1 >>Fe58Inf<< ;
+GREP: Incon :: GETVAL 'B10InfrIso ' 1 >>B10BInf<< ;
+GREP: Incon :: GETVAL 'B11InfrIso ' 1 >>B11BInf<< ;
+GREP: Incon :: GETVAL 'Al27InfrIso' 1 >>Al27Inf<< ;
+GREP: Incon :: GETVAL 'Mo95InfrIso' 1 >>Mo95Inf<< ;
+GREP: Incon :: GETVAL 'TiNatInfrIso' 1 >>TiNatInf<< ;
+GREP: Incon :: GETVAL 'Ti46InfrIso ' 1 >>Ti46Inf<< ;
+GREP: Incon :: GETVAL 'Ti47InfrIso ' 1 >>Ti47Inf<< ;
+GREP: Incon :: GETVAL 'Ti48InfrIso ' 1 >>Ti48Inf<< ;
+GREP: Incon :: GETVAL 'Ti49InfrIso ' 1 >>Ti49Inf<< ;
+GREP: Incon :: GETVAL 'Ti50InfrIso ' 1 >>Ti50Inf<< ;
+GREP: Incon :: GETVAL 'SiNatInfrIso' 1 >>SiNatInf<< ;
+GREP: Incon :: GETVAL 'Si28InfrIso ' 1 >>Si28Inf<< ;
+GREP: Incon :: GETVAL 'Si29InfrIso ' 1 >>Si29Inf<< ;
+GREP: Incon :: GETVAL 'Si30InfrIso ' 1 >>Si30Inf<< ;
+GREP: Incon :: GETVAL 'Co59InfrIso' 1 >>Co59Inf<< ;
+GREP: Incon :: GETVAL 'Mn55InfrIso' 1 >>Mn55Inf<< ;
+GREP: Incon :: GETVAL 'Nb93InfrIso' 1 >>Nb93Inf<< ;
+
+ECHO "M(Inconel) : " MInc " (g/mol)" ;
+
+EVALUATE IncConc := dInc avo_conc * MInc / ; ! En atomes/vol
+
+!---- Donnees de l'inox 304SS ----
+REAL MSS304 SSConc ;
+REAL Fe54SSf Fe56SSf Fe57SSf Fe58SSf ;
+REAL Ni58SSf Ni60SSf Ni61SSf Ni62SSf Ni64SSf ;
+REAL Cr50SSf Cr52SSf Cr53SSf Cr54SSf ;
+REAL MnSSf ;
+REAL SiSSf Si28SSf Si29SSf Si30SSf ;
+
+*---- Proportions isotopiques ----
+GREP: SS304 :: GETVAL 'AvgMolM ' 1 >>MSS304<< ;
+GREP: SS304 :: GETVAL 'Fe54SSfrIso ' 1 >>Fe54SSf<< ;
+GREP: SS304 :: GETVAL 'Fe56SSfrIso ' 1 >>Fe56SSf<< ;
+GREP: SS304 :: GETVAL 'Fe57SSfrIso ' 1 >>Fe57SSf<< ;
+GREP: SS304 :: GETVAL 'Fe58SSfrIso ' 1 >>Fe58SSf<< ;
+GREP: SS304 :: GETVAL 'Ni58SSfrIso ' 1 >>Ni58SSf<< ;
+GREP: SS304 :: GETVAL 'Ni60SSfrIso ' 1 >>Ni60SSf<< ;
+GREP: SS304 :: GETVAL 'Ni61SSfrIso ' 1 >>Ni61SSf<< ;
+GREP: SS304 :: GETVAL 'Ni62SSfrIso ' 1 >>Ni62SSf<< ;
+GREP: SS304 :: GETVAL 'Ni64SSfrIso ' 1 >>Ni64SSf<< ;
+GREP: SS304 :: GETVAL 'Cr50SSfrIso ' 1 >>Cr50SSf<< ;
+GREP: SS304 :: GETVAL 'Cr52SSfrIso ' 1 >>Cr52SSf<< ;
+GREP: SS304 :: GETVAL 'Cr53SSfrIso ' 1 >>Cr53SSf<< ;
+GREP: SS304 :: GETVAL 'Cr54SSfrIso ' 1 >>Cr54SSf<< ;
+GREP: SS304 :: GETVAL 'Mn55SSfrIso ' 1 >>MnSSf<< ;
+GREP: SS304 :: GETVAL 'SiNatSSfrIso' 1 >>SiSSf<< ;
+GREP: SS304 :: GETVAL 'Si28SSfrIso ' 1 >>Si28SSf<< ;
+GREP: SS304 :: GETVAL 'Si29SSfrIso ' 1 >>Si29SSf<< ;
+GREP: SS304 :: GETVAL 'Si30SSfrIso ' 1 >>Si30SSf<< ;
+
+ECHO "M(304SS) : " MSS304 " (g/mol)" ;
+
+EVALUATE SSConc := dSS avo_conc * MSS304 / ; ! En atomes/vol
+
+*--------------------------------------------------------------------
+* Calcul des fractions atomiques volumiques des differents constituants
+*--------------------------------------------------------------------
+
+REAL faH2O faB faZr4 faInc faSS faHe ;
+REAL faH faO ;
+
+EVALUATE faH2O := 0. ;
+EVALUATE faH := H_mod fvMod * ;
+EVALUATE faO := O_mod fvMod * ;
+
+EVALUATE faB := BTot_mod fvMod * ;
+
+EVALUATE faZr4 := Zr4Conc fvZr4 * ;
+
+EVALUATE faInc := IncConc fvInc * ;
+
+EVALUATE faSS := SSConc fvSS304 * ;
+
+*--------------------------------------------------------------------
+* Definition des isotopes du melange (fractions atomiques)
+*--------------------------------------------------------------------
+
+! Prop = fraction isotope x quantite du milieu dans sa fraction de volume
+REAL B10 := B10f faB * B10BInf faInc * + ;
+REAL B11 := B11f faB * B11BInf faInc * + ;
+REAL Fe54 := Fe54Z4f faZr4 * Fe54Inf faInc * Fe54SSf faSS * + + ;
+REAL Fe56 := Fe56Z4f faZr4 * Fe56Inf faInc * Fe56SSf faSS * + + ;
+REAL Fe57 := Fe57Z4f faZr4 * Fe57Inf faInc * Fe57SSf faSS * + + ;
+REAL Fe58 := Fe58Z4f faZr4 * Fe58Inf faInc * Fe58SSf faSS * + + ;
+REAL Cr50 := Cr50Z4f faZr4 * Cr50Inf faInc * Cr50SSf faSS * + + ;
+REAL Cr52 := Cr52Z4f faZr4 * Cr52Inf faInc * Cr52SSf faSS * + + ;
+REAL Cr53 := Cr53Z4f faZr4 * Cr53Inf faInc * Cr53SSf faSS * + + ;
+REAL Cr54 := Cr54Z4f faZr4 * Cr54Inf faInc * Cr54SSf faSS * + + ;
+* Special case: Oxygen 16 may be present in both zircalloy and water (H2O).
+REAL O16 := O16Z4f faZr4 * faO + ;
+REAL Zr := ZrNatZ4f faZr4 * ;
+REAL Sn115 := Sn115Z4f faZr4 * ;
+REAL Sn116 := Sn116Z4f faZr4 * ;
+REAL Sn117 := Sn117Z4f faZr4 * ;
+REAL Sn118 := Sn118Z4f faZr4 * ;
+REAL Sn119 := Sn119Z4f faZr4 * ;
+REAL Sn120 := Sn120Z4f faZr4 * ;
+REAL Sn122 := Sn122Z4f faZr4 * ;
+REAL Sn124 := Sn124Z4f faZr4 * ;
+REAL Ni58 := Ni58Inf faInc * Ni58SSf faSS * + ;
+REAL Ni60 := Ni60Inf faInc * Ni60SSf faSS * + ;
+REAL Ni61 := Ni61Inf faInc * Ni61SSf faSS * + ;
+REAL Ni62 := Ni62Inf faInc * Ni62SSf faSS * + ;
+REAL Ni64 := Ni64Inf faInc * Ni64SSf faSS * + ;
+REAL Al27 := Al27Inf faInc * ;
+REAL Mo95 := Mo95Inf faInc * ;
+REAL TiN := TiNatInf faInc * ;
+REAL SiN := SiNatInf faInc * SiSSf faSS * + ;
+REAL Co59 := Co59Inf faInc * ;
+REAL Mn55 := Mn55Inf faInc * MnSSf faSS * + ;
+REAL Nb93 := Nb93Inf faInc * ;
+
+ECHO "Composition de la zone reflecteur" ;
+ECHO "H2O " faH2O ;
+ECHO "H1 " faH ;
+ECHO "O16_mod" faO ;
+ECHO "B10 " B10 ;
+ECHO "B11 " B11 ;
+ECHO "Fe54 " Fe54 ;
+ECHO "Fe56 " Fe56 ;
+ECHO "Fe57 " Fe57 ;
+ECHO "Fe58 " Fe58 ;
+ECHO "Cr50 " Cr50 ;
+ECHO "Cr52 " Cr52 ;
+ECHO "Cr53 " Cr53 ;
+ECHO "Cr54 " Cr54 ;
+ECHO "O16 " O16 ;
+ECHO "Zr " Zr ;
+ECHO "Sn115 " Sn115 ;
+ECHO "Sn116 " Sn116 ;
+ECHO "Sn117 " Sn117 ;
+ECHO "Sn118 " Sn118 ;
+ECHO "Sn119 " Sn119 ;
+ECHO "Sn120 " Sn120 ;
+ECHO "Sn122 " Sn122 ;
+ECHO "Sn124 " Sn124 ;
+ECHO "Ni58 " Ni58 ;
+ECHO "Ni60 " Ni60 ;
+ECHO "Ni61 " Ni61 ;
+ECHO "Ni62 " Ni62 ;
+ECHO "Ni64 " Ni64 ;
+ECHO "Al27 " Al27 ;
+ECHO "Mo95 " Mo95 ;
+ECHO "TiN " TiN ;
+ECHO "SiN " SiN ;
+ECHO "Co59 " Co59 ;
+ECHO "Mn55 " Mn55 ;
+ECHO "Nb93 " Nb93 ;
+
+*--------------------------------------------------------------------
+* Definition du melange correspondant dans la librairie
+*--------------------------------------------------------------------
+ECHO "CreaDilut: call LIB" ;
+IF iMil 1 = THEN
+ LibDilut := LIB: ::
+ MXIS 300 NMIX 8
+ MIXS LIB: <<LibGenre>> FIL: <<NuclData>>
+* Milieu generique issu de la dilution de tous les constituants
+ MIX 1 <<TMil>>
+ H1_H2O = <<NomH1>> <<faH>>
+ O16 = <<NomO16>> <<O16>>
+ B10 = <<NomB10>> <<B10>>
+ B11 = <<NomB11>> <<B11>>
+ Fe54 = <<NomFe54>> <<Fe54>>
+ Fe56 = <<NomFe56>> <<Fe56>> 1
+ Fe57 = <<NomFe57>> <<Fe57>>
+ Fe58 = <<NomFe58>> <<Fe58>>
+ Cr50 = <<NomCr50>> <<Cr50>>
+ Cr52 = <<NomCr52>> <<Cr52>> 1
+ Cr53 = <<NomCr53>> <<Cr53>>
+ Cr54 = <<NomCr54>> <<Cr54>>
+!! ZrNat = <<NomZrNat>> <<Zr>>
+ Sn115 = <<NomSn115>> <<Sn115>>
+ Sn116 = <<NomSn116>> <<Sn116>>
+ Sn117 = <<NomSn117>> <<Sn117>>
+ Sn118 = <<NomSn118>> <<Sn118>>
+ Sn119 = <<NomSn119>> <<Sn119>>
+ Sn120 = <<NomSn120>> <<Sn120>>
+ Sn122 = <<NomSn122>> <<Sn122>>
+ Sn124 = <<NomSn124>> <<Sn124>>
+ Ni58 = <<NomNi58>> <<Ni58>> 1
+ Ni60 = <<NomNi60>> <<Ni60>>
+ Ni61 = <<NomNi61>> <<Ni61>>
+ Ni62 = <<NomNi62>> <<Ni62>>
+ Ni64 = <<NomNi64>> <<Ni64>>
+ Al27 = <<NomAl27>> <<Al27>>
+ Mo95 = <<NomMo95>> <<Mo95>>
+!! TiNat = <<NomTiNat>> <<TiN>>
+!! SiNat = <<NomSiNat>> <<SiN>>
+ Co59 = <<NomCo59>> <<Co59>>
+ Mn55 = <<NomMn55>> <<Mn55>>
+ Nb93 = <<NomNb93>> <<Nb93>>
+ ;
+ELSE
+ LibDilut := LIB: LibDilut ::
+ MXIS 300 NMIX 8
+ MIXS LIB: <<LibGenre>> FIL: <<NuclData>>
+* Milieu generique issu de la dilution de tous les constituants
+ MIX <<iMil>> <<TMil>>
+ H1_H2O = <<NomH1>> <<faH>>
+ O16 = <<NomO16>> <<O16>>
+ B10 = <<NomB10>> <<B10>>
+ B11 = <<NomB11>> <<B11>>
+ Fe54 = <<NomFe54>> <<Fe54>>
+ Fe56 = <<NomFe56>> <<Fe56>> 1
+ Fe57 = <<NomFe57>> <<Fe57>>
+ Fe58 = <<NomFe58>> <<Fe58>>
+ Cr50 = <<NomCr50>> <<Cr50>>
+ Cr52 = <<NomCr52>> <<Cr52>> 1
+ Cr53 = <<NomCr53>> <<Cr53>>
+ Cr54 = <<NomCr54>> <<Cr54>>
+!! ZrNat = <<NomZrNat>> <<Zr>>
+ Sn115 = <<NomSn115>> <<Sn115>>
+ Sn116 = <<NomSn116>> <<Sn116>>
+ Sn117 = <<NomSn117>> <<Sn117>>
+ Sn118 = <<NomSn118>> <<Sn118>>
+ Sn119 = <<NomSn119>> <<Sn119>>
+ Sn120 = <<NomSn120>> <<Sn120>>
+ Sn122 = <<NomSn122>> <<Sn122>>
+ Sn124 = <<NomSn124>> <<Sn124>>
+ Ni58 = <<NomNi58>> <<Ni58>> 1
+ Ni60 = <<NomNi60>> <<Ni60>>
+ Ni61 = <<NomNi61>> <<Ni61>>
+ Ni62 = <<NomNi62>> <<Ni62>>
+ Ni64 = <<NomNi64>> <<Ni64>>
+ Al27 = <<NomAl27>> <<Al27>>
+ Mo95 = <<NomMo95>> <<Mo95>>
+!! TiNat = <<NomTiNat>> <<TiN>>
+!! SiNat = <<NomSiNat>> <<SiN>>
+ Co59 = <<NomCo59>> <<Co59>>
+ Mn55 = <<NomMn55>> <<Mn55>>
+ Nb93 = <<NomNb93>> <<Nb93>>
+ ;
+ENDIF ;
+ECHO "CreaDilut: call LIB completed" ;
+
+END: ;
+QUIT "LIST" .
diff --git a/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_proc/GetMolarMass.c2m b/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_proc/GetMolarMass.c2m
new file mode 100644
index 0000000..5d1f594
--- /dev/null
+++ b/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_proc/GetMolarMass.c2m
@@ -0,0 +1,877 @@
+*DECK GetMolarMass.c2m
+*======================================================
+* Name: GetMolarMass.c2m
+* Type: DRAGON procedure
+* Use: Retrieve molar masses (AWR) from nuclear database
+* Adapted with Natural Carbon to AWR ratio
+* Author: A. Bruneau 09.2013
+* [CS-SI | IRSN/PSN-EXP/SNC/LNR]
+* Mod: A. Bruneau 12.2013
+* [CS-SI | IRSN/PSN-EXP/SNC/LNR]
+* Added Ag, Cd & In for AIC rod description.
+* Mod: A. Bruneau 02.2014
+* [CS-SI | IRSN/PSN-EXP/SNC/LNR]
+* Added Gd for Gd2O3
+* Mod: A. Bruneau 06.2014
+* [CS-SI | IRSN/PSN-EXP/SNC/LNR]
+* Uncommented carbo/Carb
+* Changed names carbo/Carb into cnat/CNat (for B4C)
+* Mod: G. Tixier 09.2016
+* [CS-SI | IRSN/PSN-EXP/SNC/LNR]
+* Ajout S32, S33 et S34 pour materiau M5
+* Mod: R. Nguyen Van Ho 11.2016
+* [URANUS | IRSN/PSN-EXP/SNC/LNR]
+* Ajout selecteur donnees nucleaires
+*------------------------------------------------------
+* Procedure called as:
+*------------------------------------------------------
+* Input Required:
+* > Nuclear_Database
+* Output Provided:
+* < Molar_Masses
+*======================================================
+PROCEDURE AdaptIso ;
+PARAMETER MolarMasses :: ::: LINKED_LIST MolarMasses ; ;
+MODULE LIB: GREP: UTL: END: ABORT: ;
+LINKED_LIST Library ListeIsot ListeAutop Isot Awr ;
+STRING NuclData ;
+STRING LibType ; ! ENDFVII1, JEF22...
+STRING LibGenre ; ! DRAGON
+INTEGER LibId ;
+INTEGER N_iso ;
+REAL mixtemp CNatRatio ;
+
+*------------------------------------------------------
+:: >>NuclData<< >>LibType<< ;
+EVALUATE N_iso := 90 ;
+EVALUATE mixtemp := 293.16 ; (* in K *)
+
+*------------------------------------------------------
+* Recuperation des noms des isotopes
+*------------------------------------------------------
+STRING NomH2O ;
+STRING NomH1 ;
+STRING NomO16 ;
+STRING NomAm241 ;
+STRING NomAl27 ;
+STRING NomB10 NomB11 ;
+STRING NomCo59 NomCr50 NomCr52 NomCr53 NomCr54 ;
+STRING NomFe54 NomFe56 NomFe57 NomFe58 ;
+STRING NomMn55 ;
+STRING NomMo95 ;
+STRING NomNb93 ;
+STRING NomNi58 NomNi60 NomNi61 NomNi62 NomNi64 ;
+STRING NomPu238 NomPu239 NomPu240 NomPu241 NomPu242 ;
+STRING NomSiNat NomSi28 NomSi29 NomSi30 ;
+STRING NomSn112 NomSn114 NomSn115 NomSn116 NomSn117 ;
+STRING NomSn118 NomSn119 NomSn120 NomSn122 NomSn124 ;
+STRING NomTiNat NomTi46 NomTi47 NomTi48 NomTi49 NomTi50 ;
+STRING NomU234 NomU235 NomU236 NomU238 ;
+STRING NomZrNat ;
+STRING NomZr90 NomZr91 NomZr92 NomZr93 NomZr94 NomZr95 NomZr96 ;
+STRING NomCNat ;
+STRING NomAg107 NomAg109 ;
+STRING NomCd106 NomCd108 NomCd110 NomCd111 NomCd112 NomCd113 NomCd114 ;
+STRING NomCd116 ;
+STRING NomIn115 NomInNat ;
+STRING NomGd154 NomGd155 NomGd156 NomGd157 NomGd158 NomGd160 ;
+STRING NomKnat NomK39 NomK40 NomK41 NomNa23 ;
+STRING NomS32 NomS33 NomS34 ;
+STRING NomIn113 ;
+
+ListeIsot ListeAutop := AdaptIso :: <<NuclData>> <<LibType>>
+ >>LibId<< >>LibGenre<< ;
+ECHO "GetMolarMass: LibId=" LibId ;
+
+UTL: ListeIsot :: DIR ;
+GREP: ListeIsot :: GETVAL 'H2O ' <<LibId>> NVAL 8 >>NomH2O<< ;
+GREP: ListeIsot :: GETVAL 'H1 ' <<LibId>> NVAL 8 >>NomH1<< ;
+GREP: ListeIsot :: GETVAL 'O16 ' <<LibId>> NVAL 8 >>NomO16<< ;
+GREP: ListeIsot :: GETVAL 'Am241' <<LibId>> NVAL 8 >>NomAm241<< ;
+GREP: ListeIsot :: GETVAL 'Al27 ' <<LibId>> NVAL 8 >>NomAl27<< ;
+GREP: ListeIsot :: GETVAL 'B10 ' <<LibId>> NVAL 8 >>NomB10<< ;
+GREP: ListeIsot :: GETVAL 'B11 ' <<LibId>> NVAL 8 >>NomB11<< ;
+GREP: ListeIsot :: GETVAL 'Co59 ' <<LibId>> NVAL 8 >>NomCo59<< ;
+GREP: ListeIsot :: GETVAL 'Cr50 ' <<LibId>> NVAL 8 >>NomCr50<< ;
+GREP: ListeIsot :: GETVAL 'Cr52 ' <<LibId>> NVAL 8 >>NomCr52<< ;
+GREP: ListeIsot :: GETVAL 'Cr53 ' <<LibId>> NVAL 8 >>NomCr53<< ;
+GREP: ListeIsot :: GETVAL 'Cr54 ' <<LibId>> NVAL 8 >>NomCr54<< ;
+GREP: ListeIsot :: GETVAL 'Fe54 ' <<LibId>> NVAL 8 >>NomFe54<< ;
+GREP: ListeIsot :: GETVAL 'Fe56 ' <<LibId>> NVAL 8 >>NomFe56<< ;
+GREP: ListeIsot :: GETVAL 'Fe57 ' <<LibId>> NVAL 8 >>NomFe57<< ;
+GREP: ListeIsot :: GETVAL 'Fe58 ' <<LibId>> NVAL 8 >>NomFe58<< ;
+GREP: ListeIsot :: GETVAL 'Mn55 ' <<LibId>> NVAL 8 >>NomMn55<< ;
+GREP: ListeIsot :: GETVAL 'Mo95 ' <<LibId>> NVAL 8 >>NomMo95<< ;
+GREP: ListeIsot :: GETVAL 'Nb93 ' <<LibId>> NVAL 8 >>NomNb93<< ;
+GREP: ListeIsot :: GETVAL 'Ni58 ' <<LibId>> NVAL 8 >>NomNi58<< ;
+GREP: ListeIsot :: GETVAL 'Ni60 ' <<LibId>> NVAL 8 >>NomNi60<< ;
+GREP: ListeIsot :: GETVAL 'Ni61 ' <<LibId>> NVAL 8 >>NomNi61<< ;
+GREP: ListeIsot :: GETVAL 'Ni62 ' <<LibId>> NVAL 8 >>NomNi62<< ;
+GREP: ListeIsot :: GETVAL 'Ni64 ' <<LibId>> NVAL 8 >>NomNi64<< ;
+GREP: ListeIsot :: GETVAL 'Pu238' <<LibId>> NVAL 8 >>NomPu238<< ;
+GREP: ListeIsot :: GETVAL 'Pu239' <<LibId>> NVAL 8 >>NomPu239<< ;
+GREP: ListeIsot :: GETVAL 'Pu240' <<LibId>> NVAL 8 >>NomPu240<< ;
+GREP: ListeIsot :: GETVAL 'Pu241' <<LibId>> NVAL 8 >>NomPu241<< ;
+GREP: ListeIsot :: GETVAL 'Pu242' <<LibId>> NVAL 8 >>NomPu242<< ;
+GREP: ListeIsot :: GETVAL 'SiNat' <<LibId>> NVAL 8 >>NomSiNat<< ;
+GREP: ListeIsot :: GETVAL 'Si28 ' <<LibId>> NVAL 8 >>NomSi28<< ;
+GREP: ListeIsot :: GETVAL 'Si29 ' <<LibId>> NVAL 8 >>NomSi29<< ;
+GREP: ListeIsot :: GETVAL 'Si30 ' <<LibId>> NVAL 8 >>NomSi30<< ;
+GREP: ListeIsot :: GETVAL 'Sn112' <<LibId>> NVAL 8 >>NomSn112<< ;
+GREP: ListeIsot :: GETVAL 'Sn114' <<LibId>> NVAL 8 >>NomSn114<< ;
+GREP: ListeIsot :: GETVAL 'Sn115' <<LibId>> NVAL 8 >>NomSn115<< ;
+GREP: ListeIsot :: GETVAL 'Sn116' <<LibId>> NVAL 8 >>NomSn116<< ;
+GREP: ListeIsot :: GETVAL 'Sn117' <<LibId>> NVAL 8 >>NomSn117<< ;
+GREP: ListeIsot :: GETVAL 'Sn118' <<LibId>> NVAL 8 >>NomSn118<< ;
+GREP: ListeIsot :: GETVAL 'Sn119' <<LibId>> NVAL 8 >>NomSn119<< ;
+GREP: ListeIsot :: GETVAL 'Sn120' <<LibId>> NVAL 8 >>NomSn120<< ;
+GREP: ListeIsot :: GETVAL 'Sn122' <<LibId>> NVAL 8 >>NomSn122<< ;
+GREP: ListeIsot :: GETVAL 'Sn124' <<LibId>> NVAL 8 >>NomSn124<< ;
+GREP: ListeIsot :: GETVAL 'TiNat' <<LibId>> NVAL 8 >>NomTiNat<< ;
+GREP: ListeIsot :: GETVAL 'Ti46 ' <<LibId>> NVAL 8 >>NomTi46<< ;
+GREP: ListeIsot :: GETVAL 'Ti47 ' <<LibId>> NVAL 8 >>NomTi47<< ;
+GREP: ListeIsot :: GETVAL 'Ti48 ' <<LibId>> NVAL 8 >>NomTi48<< ;
+GREP: ListeIsot :: GETVAL 'Ti49 ' <<LibId>> NVAL 8 >>NomTi49<< ;
+GREP: ListeIsot :: GETVAL 'Ti50 ' <<LibId>> NVAL 8 >>NomTi50<< ;
+GREP: ListeIsot :: GETVAL 'U234 ' <<LibId>> NVAL 8 >>NomU234<< ;
+GREP: ListeIsot :: GETVAL 'U235 ' <<LibId>> NVAL 8 >>NomU235<< ;
+GREP: ListeIsot :: GETVAL 'U236 ' <<LibId>> NVAL 8 >>NomU236<< ;
+GREP: ListeIsot :: GETVAL 'U238 ' <<LibId>> NVAL 8 >>NomU238<< ;
+GREP: ListeIsot :: GETVAL 'ZrNat' <<LibId>> NVAL 8 >>NomZrNat<< ;
+GREP: ListeIsot :: GETVAL 'Zr90 ' <<LibId>> NVAL 8 >>NomZr90<< ;
+GREP: ListeIsot :: GETVAL 'Zr91 ' <<LibId>> NVAL 8 >>NomZr91<< ;
+GREP: ListeIsot :: GETVAL 'Zr92 ' <<LibId>> NVAL 8 >>NomZr92<< ;
+GREP: ListeIsot :: GETVAL 'Zr93 ' <<LibId>> NVAL 8 >>NomZr93<< ;
+GREP: ListeIsot :: GETVAL 'Zr94 ' <<LibId>> NVAL 8 >>NomZr94<< ;
+GREP: ListeIsot :: GETVAL 'Zr95 ' <<LibId>> NVAL 8 >>NomZr95<< ;
+GREP: ListeIsot :: GETVAL 'Zr96 ' <<LibId>> NVAL 8 >>NomZr96<< ;
+GREP: ListeIsot :: GETVAL 'CNat ' <<LibId>> NVAL 8 >>NomCNat<< ;
+GREP: ListeIsot :: GETVAL 'Ag107' <<LibId>> NVAL 8 >>NomAg107<< ;
+GREP: ListeIsot :: GETVAL 'Ag109' <<LibId>> NVAL 8 >>NomAg109<< ;
+GREP: ListeIsot :: GETVAL 'Cd106' <<LibId>> NVAL 8 >>NomCd106<< ;
+GREP: ListeIsot :: GETVAL 'Cd108' <<LibId>> NVAL 8 >>NomCd108<< ;
+GREP: ListeIsot :: GETVAL 'Cd110' <<LibId>> NVAL 8 >>NomCd110<< ;
+GREP: ListeIsot :: GETVAL 'Cd111' <<LibId>> NVAL 8 >>NomCd111<< ;
+GREP: ListeIsot :: GETVAL 'Cd112' <<LibId>> NVAL 8 >>NomCd112<< ;
+GREP: ListeIsot :: GETVAL 'Cd113' <<LibId>> NVAL 8 >>NomCd113<< ;
+GREP: ListeIsot :: GETVAL 'Cd114' <<LibId>> NVAL 8 >>NomCd114<< ;
+GREP: ListeIsot :: GETVAL 'Cd116' <<LibId>> NVAL 8 >>NomCd116<< ;
+GREP: ListeIsot :: GETVAL 'In113' <<LibId>> NVAL 8 >>NomIn113<< ;
+GREP: ListeIsot :: GETVAL 'In115' <<LibId>> NVAL 8 >>NomIn115<< ;
+GREP: ListeIsot :: GETVAL 'InNat' <<LibId>> NVAL 8 >>NomInNat<< ;
+GREP: ListeIsot :: GETVAL 'Gd154' <<LibId>> NVAL 8 >>NomGd154<< ;
+GREP: ListeIsot :: GETVAL 'Gd155' <<LibId>> NVAL 8 >>NomGd155<< ;
+GREP: ListeIsot :: GETVAL 'Gd156' <<LibId>> NVAL 8 >>NomGd156<< ;
+GREP: ListeIsot :: GETVAL 'Gd157' <<LibId>> NVAL 8 >>NomGd157<< ;
+GREP: ListeIsot :: GETVAL 'Gd158' <<LibId>> NVAL 8 >>NomGd158<< ;
+GREP: ListeIsot :: GETVAL 'Gd160' <<LibId>> NVAL 8 >>NomGd160<< ;
+GREP: ListeIsot :: GETVAL 'Knat ' <<LibId>> NVAL 8 >>NomKnat<< ;
+GREP: ListeIsot :: GETVAL 'K39 ' <<LibId>> NVAL 8 >>NomK39<< ;
+GREP: ListeIsot :: GETVAL 'K40 ' <<LibId>> NVAL 8 >>NomK40<< ;
+GREP: ListeIsot :: GETVAL 'K41 ' <<LibId>> NVAL 8 >>NomK41<< ;
+GREP: ListeIsot :: GETVAL 'Na23 ' <<LibId>> NVAL 8 >>NomNa23<< ;
+GREP: ListeIsot :: GETVAL 'S32 ' <<LibId>> NVAL 8 >>NomS32<< ;
+GREP: ListeIsot :: GETVAL 'S33 ' <<LibId>> NVAL 8 >>NomS33<< ;
+GREP: ListeIsot :: GETVAL 'S34 ' <<LibId>> NVAL 8 >>NomS34<< ;
+ECHO "GetMolarMass: greps completed" ;
+
+*------------------------------------------------------
+REAL h2o h1 o16 ;
+REAL am241 ;
+REAL al27 ;
+REAL b10 ;
+REAL b10b ;
+REAL b11 ;
+REAL b11b ;
+REAL co59 ;
+REAL cr50 ;
+REAL cr52 ;
+REAL cr53 ;
+REAL cr54 ;
+REAL fe54 ;
+REAL fe56 ;
+REAL fe57 ;
+REAL fe58 ;
+REAL mn55 ;
+REAL mo95 ;
+REAL nb93 ;
+REAL ni58 ;
+REAL ni60 ;
+REAL ni61 ;
+REAL ni62 ;
+REAL ni64 ;
+REAL pu238 ;
+REAL pu239 ;
+REAL pu240 ;
+REAL pu241 ;
+REAL pu242 ;
+REAL siNat si28 si29 si30 ;
+REAL sn112 ;
+REAL sn114 ;
+REAL sn115 ;
+REAL sn116 ;
+REAL sn117 ;
+REAL sn118 ;
+REAL sn119 ;
+REAL sn120 ;
+REAL sn122 ;
+REAL sn124 ;
+REAL tiNat ti46 ti47 ti48 ti49 ti50 ;
+REAL u234 ;
+REAL u235 ;
+REAL u236 ;
+REAL u238 ;
+REAL zrNat zr90 zr91 zr92 zr93 zr94 zr95 zr96 ;
+REAL cnat ;
+*---- added for AIC
+REAL ag107 ;
+REAL ag109 ;
+REAL cd106 ;
+REAL cd108 ;
+REAL cd110 ;
+REAL cd111 ;
+REAL cd112 ;
+REAL cd113 ;
+REAL cd114 ;
+REAL cd116 ;
+REAL in115 inNat in113 ;
+*---- added for Gd2O3
+REAL gd154 ;
+REAL gd155 ;
+REAL gd156 ;
+REAL gd157 ;
+REAL gd158 ;
+REAL gd160 ;
+*---- added for Tihange
+REAL knat k39 k40 k41 ;
+REAL na23 ;
+*---- added for M5
+REAL s32 ;
+REAL s33 ;
+REAL s34 ;
+*------------------------------------------------------
+ECHO "GetMolarMass: call LIB:" LibGenre "with" NuclData ;
+Library := LIB: ::
+ EDIT 3
+ ANIS 2
+ NMIX <<N_iso>>
+ MIXS LIB: <<LibGenre>> FIL: <<NuclData>>
+! MIX 1 <<mixtemp>> 1. H2O = <<NomH2O>> 1.
+ MIX 2 <<mixtemp>> 1. H1_H2O = <<NomH1>> 1.
+ MIX 3 <<mixtemp>> 1. B10 = <<NomB10>> 1.
+ MIX 4 <<mixtemp>> 1. B10B = <<NomB10>> 1.
+ MIX 5 <<mixtemp>> 1. B11 = <<NomB11>> 1.
+ MIX 6 <<mixtemp>> 1. B11B = <<NomB11>> 1.
+ MIX 7 <<mixtemp>> 1. CNat = <<NomCNat>> 1.
+ MIX 8 <<mixtemp>> 1. O16 = <<NomO16>> 1.
+ MIX 9 <<mixtemp>> 1. Al27 = <<NomAl27>> 1.
+! MIX 10 <<mixtemp>> 1. SiNat = <<NomSiNat>> 1.
+ MIX 11 <<mixtemp>> 1. Si28 = <<NomSi28>> 1.
+ MIX 12 <<mixtemp>> 1. Si29 = <<NomSi29>> 1.
+ MIX 13 <<mixtemp>> 1. Si30 = <<NomSi30>> 1.
+! MIX 14 <<mixtemp>> 1. TiNat = <<NomTiNat>> 1.
+ MIX 15 <<mixtemp>> 1. Ti46 = <<NomTi46>> 1.
+ MIX 16 <<mixtemp>> 1. Ti47 = <<NomTi47>> 1.
+ MIX 17 <<mixtemp>> 1. Ti48 = <<NomTi48>> 1.
+ MIX 18 <<mixtemp>> 1. Ti49 = <<NomTi49>> 1.
+ MIX 19 <<mixtemp>> 1. Ti50 = <<NomTi50>> 1.
+ MIX 20 <<mixtemp>> 1. Cr50 = <<NomCr50>> 1.
+ MIX 21 <<mixtemp>> 1. Cr52 = <<NomCr52>> 1.
+ MIX 22 <<mixtemp>> 1. Cr53 = <<NomCr53>> 1.
+ MIX 23 <<mixtemp>> 1. Cr54 = <<NomCr54>> 1.
+ MIX 24 <<mixtemp>> 1. Mn55 = <<NomMn55>> 1.
+ MIX 25 <<mixtemp>> 1. Fe54 = <<NomFe54>> 1.
+ MIX 26 <<mixtemp>> 1. Fe56 = <<NomFe56>> 1.
+ MIX 27 <<mixtemp>> 1. Fe57 = <<NomFe57>> 1.
+ MIX 28 <<mixtemp>> 1. Fe58 = <<NomFe58>> 1.
+ MIX 29 <<mixtemp>> 1. Co59 = <<NomCo59>> 1.
+ MIX 30 <<mixtemp>> 1. Ni58 = <<NomNi58>> 1.
+ MIX 31 <<mixtemp>> 1. Ni60 = <<NomNi60>> 1.
+ MIX 32 <<mixtemp>> 1. Ni61 = <<NomNi61>> 1.
+ MIX 33 <<mixtemp>> 1. Ni62 = <<NomNi62>> 1.
+ MIX 34 <<mixtemp>> 1. Ni64 = <<NomNi64>> 1.
+! MIX 35 <<mixtemp>> 1. ZrNat = <<NomZrNat>> 1.
+ MIX 36 <<mixtemp>> 1. Zr90 = <<NomZr90>> 1.
+ MIX 37 <<mixtemp>> 1. Zr91 = <<NomZr91>> 1.
+ MIX 38 <<mixtemp>> 1. Zr92 = <<NomZr92>> 1.
+ MIX 39 <<mixtemp>> 1. Zr93 = <<NomZr93>> 1.
+ MIX 40 <<mixtemp>> 1. Zr94 = <<NomZr94>> 1.
+ MIX 41 <<mixtemp>> 1. Zr95 = <<NomZr95>> 1.
+ MIX 42 <<mixtemp>> 1. Zr96 = <<NomZr96>> 1.
+ MIX 43 <<mixtemp>> 1. Nb93 = <<NomNb93>> 1.
+ MIX 44 <<mixtemp>> 1. Mo95 = <<NomMo95>> 1.
+ MIX 45 <<mixtemp>> 1. Ag107 = <<NomAg107>> 1.
+ MIX 46 <<mixtemp>> 1. Ag109 = <<NomAg109>> 1.
+ MIX 47 <<mixtemp>> 1. Cd106 = <<NomCd106>> 1.
+ MIX 48 <<mixtemp>> 1. Cd108 = <<NomCd108>> 1.
+ MIX 49 <<mixtemp>> 1. Cd110 = <<NomCd110>> 1.
+ MIX 50 <<mixtemp>> 1. Cd111 = <<NomCd111>> 1.
+ MIX 51 <<mixtemp>> 1. Cd112 = <<NomCd112>> 1.
+ MIX 52 <<mixtemp>> 1. Cd113 = <<NomCd113>> 1.
+ MIX 53 <<mixtemp>> 1. Cd114 = <<NomCd114>> 1.
+ MIX 54 <<mixtemp>> 1. Cd116 = <<NomCd116>> 1.
+ MIX 55 <<mixtemp>> 1. In115 = <<NomIn115>> 1.
+! MIX 56 <<mixtemp>> 1. InNat = <<NomInNat>> 1.
+ MIX 57 <<mixtemp>> 1. Sn112 = <<NomSn112>> 1.
+ MIX 58 <<mixtemp>> 1. Sn114 = <<NomSn114>> 1.
+ MIX 59 <<mixtemp>> 1. Sn115 = <<NomSn115>> 1.
+ MIX 60 <<mixtemp>> 1. Sn116 = <<NomSn116>> 1.
+ MIX 61 <<mixtemp>> 1. Sn117 = <<NomSn117>> 1.
+ MIX 62 <<mixtemp>> 1. Sn118 = <<NomSn118>> 1.
+ MIX 63 <<mixtemp>> 1. Sn119 = <<NomSn119>> 1.
+ MIX 64 <<mixtemp>> 1. Sn120 = <<NomSn120>> 1.
+ MIX 65 <<mixtemp>> 1. Sn122 = <<NomSn122>> 1.
+ MIX 66 <<mixtemp>> 1. Sn124 = <<NomSn124>> 1.
+ MIX 67 <<mixtemp>> 1. Gd154 = <<NomGd154>> 1.
+ MIX 68 <<mixtemp>> 1. Gd155 = <<NomGd155>> 1.
+ MIX 69 <<mixtemp>> 1. Gd156 = <<NomGd156>> 1.
+ MIX 70 <<mixtemp>> 1. Gd157 = <<NomGd157>> 1.
+ MIX 71 <<mixtemp>> 1. Gd158 = <<NomGd158>> 1.
+ MIX 72 <<mixtemp>> 1. Gd160 = <<NomGd160>> 1.
+ MIX 73 <<mixtemp>> 1. U234 = <<NomU234>> 1.
+ MIX 74 <<mixtemp>> 1. U235 = <<NomU235>> 1.
+ MIX 75 <<mixtemp>> 1. U236 = <<NomU236>> 1.
+ MIX 76 <<mixtemp>> 1. U238 = <<NomU238>> 1.
+ MIX 77 <<mixtemp>> 1. Pu238 = <<NomPu238>> 1.
+ MIX 78 <<mixtemp>> 1. Pu239 = <<NomPu239>> 1.
+ MIX 79 <<mixtemp>> 1. Pu240 = <<NomPu240>> 1.
+ MIX 80 <<mixtemp>> 1. Pu241 = <<NomPu241>> 1.
+ MIX 81 <<mixtemp>> 1. Pu242 = <<NomPu242>> 1.
+ MIX 82 <<mixtemp>> 1. Am241 = <<NomAm241>> 1.
+! MIX 83 <<mixtemp>> 1. KNat = <<NomKnat>> 1.
+ MIX 84 <<mixtemp>> 1. K39 = <<NomK39>> 1.
+ MIX 85 <<mixtemp>> 1. K40 = <<NomK40>> 1.
+ MIX 86 <<mixtemp>> 1. K41 = <<NomK41>> 1.
+ MIX 87 <<mixtemp>> 1. Na23 = <<NomNa23>> 1.
+ MIX 88 <<mixtemp>> 1. S32 = <<NomS32>> 1.
+ MIX 89 <<mixtemp>> 1. S33 = <<NomS33>> 1.
+ MIX 90 <<mixtemp>> 1. S34 = <<NomS34>> 1.
+;
+
+ *------------------------------------------------------
+* Recuperation des fractions massiques moyennes
+*------------------------------------------------------
+INTEGER NbIsot IsotStep 2NbIsot OrdrIsot ;
+STRING ListIsot ;
+REAL Var ;
+
+IF LibType "JEF22" = THEN
+ EVALUATE NbIsot := 66 ;
+ EVALUATE 2NbIsot := NbIsot 2 * ;
+ Isot := UTL: :: CREA ListIsot <<2NbIsot>> =
+ 'h1 ' ' ' 'b10 ' ' ' 'b10b' ' ' 'b11 ' ' ' 'b11b' ' '
+ 'cnat' ' ' 'o16 ' ' ' 'al27' ' ' 'siNa' 't ' 'tiNa' 't '
+ 'cr50' ' ' 'cr52' ' ' 'cr53' ' ' 'cr54' ' ' 'mn55' ' '
+ 'fe54' ' ' 'fe56' ' ' 'fe57' ' ' 'fe58' ' ' 'co59' ' '
+ 'ni58' ' ' 'ni60' ' ' 'ni61' ' ' 'ni62' ' ' 'ni64' ' '
+ 'zrNa' 't ' 'nb93' ' ' 'mo95' ' ' 'ag10' '7 ' 'ag10' '9 '
+ 'cd11' '0 ' 'cd11' '1 ' 'cd11' '2 ' 'cd11' '3 ' 'cd11' '4 '
+ 'cd11' '6 ' 'in11' '5 ' 'sn11' '5 ' 'sn11' '6 ' 'sn11' '7 '
+ 'sn11' '8 ' 'sn11' '9 ' 'sn12' '0 ' 'sn12' '2 ' 'sn12' '4 '
+ 'gd15' '4 ' 'gd15' '5 ' 'gd15' '6 ' 'gd15' '7 ' 'gd15' '8 '
+ 'gd16' '0 ' 'u234' ' ' 'u235' ' ' 'u236' ' ' 'u238' ' '
+ 'pu23' '8 ' 'pu23' '9 ' 'pu24' '0 ' 'pu24' '1 ' 'pu24' '2 '
+ 'am24' '1 ' 'knat' ' ' 'na23' ' ' 's32 ' ' ' 's33 ' ' '
+ 's34 ' ' ' ;
+
+ELSEIF LibType "ENDFVII1" = LibType "JEFF31" = LibType "JEFF311" = + + THEN
+ EVALUATE NbIsot := 84 ;
+ EVALUATE 2NbIsot := NbIsot 2 * ;
+ Isot := UTL: :: CREA ListIsot <<2NbIsot>> =
+ 'h1 ' ' ' 'b10 ' ' ' 'b10b' ' ' 'b11 ' ' ' 'b11b' ' '
+ 'cnat' ' ' 'o16 ' ' ' 'al27' ' ' 'si28' ' ' 'si29' ' '
+ 'si30' ' ' 'ti46' ' ' 'ti47' ' ' 'ti48' ' ' 'ti49' ' '
+ 'ti50' ' ' 'cr50' ' ' 'cr52' ' ' 'cr53' ' ' 'cr54' ' '
+ 'mn55' ' ' 'fe54' ' ' 'fe56' ' ' 'fe57' ' ' 'fe58' ' '
+ 'co59' ' ' 'ni58' ' ' 'ni60' ' ' 'ni61' ' ' 'ni62' ' '
+ 'ni64' ' ' 'zr90' ' ' 'zr91' ' ' 'zr92' ' ' 'zr93' ' '
+ 'zr94' ' ' 'zr95' ' ' 'zr96' ' ' 'nb93' ' ' 'mo95' ' '
+ 'ag10' '7 ' 'ag10' '9 ' 'cd10' '6 ' 'cd10' '8 ' 'cd11' '0 '
+ 'cd11' '1 ' 'cd11' '2 ' 'cd11' '3 ' 'cd11' '4 ' 'cd11' '6 '
+ 'in11' '5 ' 'sn11' '2 ' 'sn11' '4 ' 'sn11' '5 ' 'sn11' '6 '
+ 'sn11' '7 ' 'sn11' '8 ' 'sn11' '9 ' 'sn12' '0 ' 'sn12' '2 '
+ 'sn12' '4 ' 'gd15' '4 ' 'gd15' '5 ' 'gd15' '6 ' 'gd15' '7 '
+ 'gd15' '8 ' 'gd16' '0 ' 'u234' ' ' 'u235' ' ' 'u236' ' '
+ 'u238' ' ' 'pu23' '8 ' 'pu23' '9 ' 'pu24' '0 ' 'pu24' '1 '
+ 'pu24' '2 ' 'am24' '1 ' 'k39 ' ' ' 'k40 ' ' ' 'k41 ' ' '
+ 'na23' ' ' 's32 ' ' ' 's33 ' ' ' 's34 ' ' ' ;
+
+ELSEIF LibType "CEA514T2" = THEN
+ EVALUATE NbIsot := 66 ;
+ EVALUATE 2NbIsot := NbIsot 2 * ;
+ Isot := UTL: :: CREA ListIsot <<2NbIsot>> =
+ 'h1 ' ' ' 'b10 ' ' ' 'b10b' ' ' 'b11 ' ' ' 'b11b' ' '
+ 'cnat' ' ' 'o16 ' ' ' 'al27' ' ' 'siNa' 't ' 'tiNa' 't '
+ 'cr50' ' ' 'cr52' ' ' 'cr53' ' ' 'cr54' ' ' 'mn55' ' '
+ 'fe54' ' ' 'fe56' ' ' 'fe57' ' ' 'fe58' ' ' 'co59' ' '
+ 'ni58' ' ' 'ni60' ' ' 'ni61' ' ' 'ni62' ' ' 'ni64' ' '
+ 'zrNa' 't ' 'nb93' ' ' 'mo95' ' ' 'ag10' '7 ' 'ag10' '9 '
+ 'cd11' '0 ' 'cd11' '1 ' 'cd11' '2 ' 'cd11' '3 ' 'cd11' '4 '
+ 'cd11' '6 ' 'in11' '5 ' 'sn11' '5 ' 'sn11' '6 ' 'sn11' '7 '
+ 'sn11' '8 ' 'sn11' '9 ' 'sn12' '0 ' 'sn12' '2 ' 'sn12' '4 '
+ 'gd15' '4 ' 'gd15' '5 ' 'gd15' '6 ' 'gd15' '7 ' 'gd15' '8 '
+ 'gd16' '0 ' 'u234' ' ' 'u235' ' ' 'u236' ' ' 'u238' ' '
+ 'pu23' '8 ' 'pu23' '9 ' 'pu24' '0 ' 'pu24' '1 ' 'pu24' '2 '
+ 'am24' '1 ' 'knat' ' ' 'na23' ' ' 's32 ' ' ' 's33 ' ' '
+ 's34 ' ' ' ;
+
+ELSEIF LibType "CLA99CEA93" = THEN
+ EVALUATE NbIsot := 66 ;
+ EVALUATE 2NbIsot := NbIsot 2 * ;
+ Isot := UTL: :: CREA ListIsot <<2NbIsot>> =
+ 'h1 ' ' ' 'b10 ' ' ' 'b10b' ' ' 'b11 ' ' ' 'b11b' ' '
+ 'cnat' ' ' 'o16 ' ' ' 'al27' ' ' 'siNa' 't ' 'tiNa' 't '
+ 'cr50' ' ' 'cr52' ' ' 'cr53' ' ' 'cr54' ' ' 'mn55' ' '
+ 'fe54' ' ' 'fe56' ' ' 'fe57' ' ' 'fe58' ' ' 'co59' ' '
+ 'ni58' ' ' 'ni60' ' ' 'ni61' ' ' 'ni62' ' ' 'ni64' ' '
+ 'zrNa' 't ' 'nb93' ' ' 'mo95' ' ' 'ag10' '7 ' 'ag10' '9 '
+ 'cd11' '0 ' 'cd11' '1 ' 'cd11' '2 ' 'cd11' '3 ' 'cd11' '4 '
+ 'cd11' '6 ' 'in11' '5 ' 'sn11' '5 ' 'sn11' '6 ' 'sn11' '7 '
+ 'sn11' '8 ' 'sn11' '9 ' 'sn12' '0 ' 'sn12' '2 ' 'sn12' '4 '
+ 'gd15' '4 ' 'gd15' '5 ' 'gd15' '6 ' 'gd15' '7 ' 'gd15' '8 '
+ 'gd16' '0 ' 'u234' ' ' 'u235' ' ' 'u236' ' ' 'u238' ' '
+ 'pu23' '8 ' 'pu23' '9 ' 'pu24' '0 ' 'pu24' '1 ' 'pu24' '2 '
+ 'am24' '1 ' 'knat' ' ' 'na23' ' ' 's32 ' ' ' 's33 ' ' '
+ 's34 ' ' ' ;
+
+ELSE
+ ECHO "Bib non encore definie" ;
+ ABORT: ;
+ENDIF ;
+*
+EVALUATE IsotStep := 1 ;
+EVALUATE OrdrIsot := 1 ;
+ REPEAT
+ GREP: Isot :: GETVAL ListIsot <<IsotStep>> NVAL 8 >>ListIsot<< ;
+ ECHO "ListIsot:" ListIsot ;
+
+ GREP: Library :: STEP UP 'ISOTOPESLIST' STEP AT <<OrdrIsot>>
+ GETVAL 'AWR' 1 >>Var<< ;
+ IF OrdrIsot 1 = THEN
+ Awr := UTL: :: CREA <<ListIsot>> 1 = <<Var>> ;
+ ELSE
+ Awr := UTL: Awr :: CREA <<ListIsot>> 1 = <<Var>> ;
+ ENDIF ;
+ EVALUATE IsotStep := IsotStep 8 1 * + ;
+ EVALUATE OrdrIsot := OrdrIsot 1 + ;
+ ECHO "IsotStep=" IsotStep "OrdrIsot" OrdrIsot "NbIsot=" NbIsot ;
+ UNTIL OrdrIsot NbIsot > ;
+ ECHO "completed" ;
+
+GREP: Awr :: GETVAL 'b10' 1 >>b10<< ;
+GREP: Awr :: GETVAL 'b10b' 1 >>b10b<< ;
+GREP: Awr :: GETVAL 'b11' 1 >>b11<< ;
+GREP: Awr :: GETVAL 'b11b' 1 >>b11b<< ;
+GREP: Awr :: GETVAL 'cnat' 1 >>cnat<< ;
+GREP: Awr :: GETVAL 'o16' 1 >>o16<< ;
+GREP: Awr :: GETVAL 'al27' 1 >>al27<< ;
+GREP: Awr :: GETVAL 'cr50' 1 >>cr50<< ;
+GREP: Awr :: GETVAL 'cr52' 1 >>cr52<< ;
+GREP: Awr :: GETVAL 'cr53' 1 >>cr53<< ;
+GREP: Awr :: GETVAL 'cr54' 1 >>cr54<< ;
+GREP: Awr :: GETVAL 'nb93' 1 >>nb93<< ;
+GREP: Awr :: GETVAL 'mo95' 1 >>mo95<< ;
+GREP: Awr :: GETVAL 'fe54' 1 >>fe54<< ;
+GREP: Awr :: GETVAL 'fe56' 1 >>fe56<< ;
+GREP: Awr :: GETVAL 'fe57' 1 >>fe57<< ;
+GREP: Awr :: GETVAL 'fe58' 1 >>fe58<< ;
+GREP: Awr :: GETVAL 'mn55' 1 >>mn55<< ;
+GREP: Awr :: GETVAL 'co59' 1 >>co59<< ;
+GREP: Awr :: GETVAL 'ni58' 1 >>ni58<< ;
+GREP: Awr :: GETVAL 'ni60' 1 >>ni60<< ;
+GREP: Awr :: GETVAL 'ni61' 1 >>ni61<< ;
+GREP: Awr :: GETVAL 'ni62' 1 >>ni62<< ;
+GREP: Awr :: GETVAL 'ni64' 1 >>ni64<< ;
+GREP: Awr :: GETVAL 'ag107' 1 >>ag107<< ;
+GREP: Awr :: GETVAL 'ag109' 1 >>ag109<< ;
+GREP: Awr :: GETVAL 'cd110' 1 >>cd110<< ;
+GREP: Awr :: GETVAL 'cd111' 1 >>cd111<< ;
+GREP: Awr :: GETVAL 'cd112' 1 >>cd112<< ;
+GREP: Awr :: GETVAL 'cd113' 1 >>cd113<< ;
+GREP: Awr :: GETVAL 'cd114' 1 >>cd114<< ;
+GREP: Awr :: GETVAL 'cd116' 1 >>cd116<< ;
+GREP: Awr :: GETVAL 'sn115' 1 >>sn115<< ;
+GREP: Awr :: GETVAL 'sn116' 1 >>sn116<< ;
+GREP: Awr :: GETVAL 'sn117' 1 >>sn117<< ;
+GREP: Awr :: GETVAL 'sn118' 1 >>sn118<< ;
+GREP: Awr :: GETVAL 'sn119' 1 >>sn119<< ;
+GREP: Awr :: GETVAL 'sn120' 1 >>sn120<< ;
+GREP: Awr :: GETVAL 'sn122' 1 >>sn122<< ;
+GREP: Awr :: GETVAL 'sn124' 1 >>sn124<< ;
+GREP: Awr :: GETVAL 'gd154' 1 >>gd154<< ;
+GREP: Awr :: GETVAL 'gd155' 1 >>gd155<< ;
+GREP: Awr :: GETVAL 'gd156' 1 >>gd156<< ;
+GREP: Awr :: GETVAL 'gd157' 1 >>gd157<< ;
+GREP: Awr :: GETVAL 'gd158' 1 >>gd158<< ;
+GREP: Awr :: GETVAL 'gd160' 1 >>gd160<< ;
+GREP: Awr :: GETVAL 'u234' 1 >>u234<< ;
+GREP: Awr :: GETVAL 'u235' 1 >>u235<< ;
+GREP: Awr :: GETVAL 'u236' 1 >>u236<< ;
+GREP: Awr :: GETVAL 'u238' 1 >>u238<< ;
+GREP: Awr :: GETVAL 'pu238' 1 >>pu238<< ;
+GREP: Awr :: GETVAL 'pu239' 1 >>pu239<< ;
+GREP: Awr :: GETVAL 'pu240' 1 >>pu240<< ;
+GREP: Awr :: GETVAL 'pu241' 1 >>pu241<< ;
+GREP: Awr :: GETVAL 'pu242' 1 >>pu242<< ;
+GREP: Awr :: GETVAL 'am241' 1 >>am241<< ;
+GREP: Awr :: GETVAL 'na23' 1 >>na23<< ;
+
+IF LibType "JEF22" = THEN
+ GREP: Awr :: GETVAL 'h1' 1 >>h1<< ;
+ GREP: Awr :: GETVAL 'siNat' 1 >>siNat<< ;
+ GREP: Awr :: GETVAL 'tiNat' 1 >>tiNat<< ;
+ GREP: Awr :: GETVAL 'zrNat' 1 >>zrNat<< ;
+ GREP: Awr :: GETVAL 'in115' 1 >>in115<< ;
+ GREP: Awr :: GETVAL 's32' 1 >>s32<< ;
+ GREP: Awr :: GETVAL 's33' 1 >>s33<< ;
+ GREP: Awr :: GETVAL 's34' 1 >>s34<< ;
+ GREP: Awr :: GETVAL 'knat' 1 >>knat<< ;
+
+ELSEIF LibType "JEFF31" = LibType "JEFF311" = +
+ LibType "JEFF312" = +
+ LibType "ENDFVII0" = + LibType "ENDFVII1" = + THEN
+ GREP: Awr :: GETVAL 'h1' 1 >>h1<< ;
+ GREP: Awr :: GETVAL 'si28' 1 >>si28<< ;
+ GREP: Awr :: GETVAL 'si29' 1 >>si29<< ;
+ GREP: Awr :: GETVAL 'si30' 1 >>si30<< ;
+ GREP: Awr :: GETVAL 'ti46' 1 >>ti46<< ;
+ GREP: Awr :: GETVAL 'ti47' 1 >>ti47<< ;
+ GREP: Awr :: GETVAL 'ti48' 1 >>ti48<< ;
+ GREP: Awr :: GETVAL 'ti49' 1 >>ti49<< ;
+ GREP: Awr :: GETVAL 'ti50' 1 >>ti50<< ;
+ GREP: Awr :: GETVAL 'zr90' 1 >>zr90<< ;
+ GREP: Awr :: GETVAL 'zr91' 1 >>zr91<< ;
+ GREP: Awr :: GETVAL 'zr92' 1 >>zr92<< ;
+ GREP: Awr :: GETVAL 'zr93' 1 >>zr93<< ;
+ GREP: Awr :: GETVAL 'zr94' 1 >>zr94<< ;
+ GREP: Awr :: GETVAL 'zr95' 1 >>zr95<< ;
+ GREP: Awr :: GETVAL 'zr96' 1 >>zr96<< ;
+ GREP: Awr :: GETVAL 'cd106' 1 >>cd106<< ;
+ GREP: Awr :: GETVAL 'cd108' 1 >>cd108<< ;
+ GREP: Awr :: GETVAL 'in115' 1 >>in115<< ;
+ GREP: Awr :: GETVAL 'sn112' 1 >>sn112<< ;
+ GREP: Awr :: GETVAL 'sn114' 1 >>sn114<< ;
+ GREP: Awr :: GETVAL 's32' 1 >>s32<< ;
+ GREP: Awr :: GETVAL 's33' 1 >>s33<< ;
+ GREP: Awr :: GETVAL 's34' 1 >>s34<< ;
+ GREP: Awr :: GETVAL 'k39' 1 >>k39<< ;
+ GREP: Awr :: GETVAL 'k40' 1 >>k40<< ;
+ GREP: Awr :: GETVAL 'k41' 1 >>k41<< ;
+
+ELSEIF LibType "CEA514T2" = THEN
+ GREP: Awr :: GETVAL 'h1' 1 >>h1<< ;
+ GREP: Awr :: GETVAL 'siNat' 1 >>siNat<< ;
+ GREP: Awr :: GETVAL 'tiNat' 1 >>tiNat<< ;
+ GREP: Awr :: GETVAL 'zrNat' 1 >>zrNat<< ;
+ GREP: Awr :: GETVAL 'in115' 1 >>in115<< ;
+ GREP: Awr :: GETVAL 's32' 1 >>s32<< ;
+ GREP: Awr :: GETVAL 's33' 1 >>s33<< ;
+ GREP: Awr :: GETVAL 's34' 1 >>s34<< ;
+ GREP: Awr :: GETVAL 'knat' 1 >>knat<< ;
+
+ELSEIF LibType "CLA99CEA93" = THEN
+ GREP: Awr :: GETVAL 'h1' 1 >>h1<< ;
+ GREP: Awr :: GETVAL 'siNat' 1 >>siNat<< ;
+ GREP: Awr :: GETVAL 'tiNat' 1 >>tiNat<< ;
+ GREP: Awr :: GETVAL 'zrNat' 1 >>zrNat<< ;
+ GREP: Awr :: GETVAL 'in115' 1 >>in115<< ;
+ GREP: Awr :: GETVAL 's32' 1 >>s32<< ;
+ GREP: Awr :: GETVAL 's33' 1 >>s33<< ;
+ GREP: Awr :: GETVAL 's34' 1 >>s34<< ;
+ GREP: Awr :: GETVAL 'knat' 1 >>knat<< ;
+
+ENDIF ;
+
+*------------------------------------------------------
+* Calcul des masses molaires
+*------------------------------------------------------
+EVALUATE CNatRatio := 12.011 cnat / ;
+
+* Pour les isotopes non conflictuels
+
+EVALUATE b10 := CNatRatio b10 * ;
+EVALUATE b10b := CNatRatio b10b * ;
+EVALUATE b11 := CNatRatio b11 * ;
+EVALUATE b11b := CNatRatio b11b * ;
+EVALUATE cnat := CNatRatio cnat * ;
+EVALUATE o16 := CNatRatio o16 * ;
+EVALUATE al27 := CNatRatio al27 * ;
+EVALUATE cr50 := CNatRatio cr50 * ;
+EVALUATE cr52 := CNatRatio cr52 * ;
+EVALUATE cr53 := CNatRatio cr53 * ;
+EVALUATE cr54 := CNatRatio cr54 * ;
+EVALUATE nb93 := CNatRatio nb93 * ;
+EVALUATE mo95 := CNatRatio mo95 * ;
+EVALUATE fe54 := CNatRatio fe54 * ;
+EVALUATE fe56 := CNatRatio fe56 * ;
+EVALUATE fe57 := CNatRatio fe57 * ;
+EVALUATE fe58 := CNatRatio fe58 * ;
+EVALUATE mn55 := CNatRatio mn55 * ;
+EVALUATE co59 := CNatRatio co59 * ;
+EVALUATE ni58 := CNatRatio ni58 * ;
+EVALUATE ni60 := CNatRatio ni60 * ;
+EVALUATE ni61 := CNatRatio ni61 * ;
+EVALUATE ni62 := CNatRatio ni62 * ;
+EVALUATE ni64 := CNatRatio ni64 * ;
+EVALUATE ag107 := CNatRatio ag107 * ;
+EVALUATE ag109 := CNatRatio ag109 * ;
+EVALUATE cd110 := CNatRatio cd110 * ;
+EVALUATE cd111 := CNatRatio cd111 * ;
+EVALUATE cd112 := CNatRatio cd112 * ;
+EVALUATE cd113 := CNatRatio cd113 * ;
+EVALUATE cd114 := CNatRatio cd114 * ;
+EVALUATE cd116 := CNatRatio cd116 * ;
+EVALUATE sn115 := CNatRatio sn115 * ;
+EVALUATE sn116 := CNatRatio sn116 * ;
+EVALUATE sn117 := CNatRatio sn117 * ;
+EVALUATE sn118 := CNatRatio sn118 * ;
+EVALUATE sn119 := CNatRatio sn119 * ;
+EVALUATE sn120 := CNatRatio sn120 * ;
+EVALUATE sn122 := CNatRatio sn122 * ;
+EVALUATE sn124 := CNatRatio sn124 * ;
+EVALUATE gd154 := CNatRatio gd154 * ;
+EVALUATE gd155 := CNatRatio gd155 * ;
+EVALUATE gd156 := CNatRatio gd156 * ;
+EVALUATE gd157 := CNatRatio gd157 * ;
+EVALUATE gd158 := CNatRatio gd158 * ;
+EVALUATE gd160 := CNatRatio gd160 * ;
+EVALUATE u234 := CNatRatio u234 * ;
+EVALUATE u235 := CNatRatio u235 * ;
+EVALUATE u236 := CNatRatio u236 * ;
+EVALUATE u238 := CNatRatio u238 * ;
+EVALUATE pu238 := CNatRatio pu238 * ;
+EVALUATE pu239 := CNatRatio pu239 * ;
+EVALUATE pu240 := CNatRatio pu240 * ;
+EVALUATE pu241 := CNatRatio pu241 * ;
+EVALUATE pu242 := CNatRatio pu242 * ;
+EVALUATE am241 := CNatRatio am241 * ;
+EVALUATE na23 := CNatRatio na23 * ;
+
+* Pour les isotopes conflictuels (absent de certaines bibli.)
+
+IF LibType "ENDFVI8" = THEN
+ EVALUATE h1 := CNatRatio h1 * ;
+ EVALUATE siNat := CNatRatio siNat * ;
+ EVALUATE tiNat := CNatRatio tiNat * ;
+ EVALUATE zrNat := CNatRatio zrNat * ; ! ENDF6 connait a la fois ZrNat et ses differents isotopes
+ EVALUATE inNat := CNatRatio inNat * ;
+ EVALUATE s32 := CNatRatio s32 * ;
+ EVALUATE knat := CNatRatio knat * ;
+
+ELSEIF LibType "JEF22" = THEN
+ EVALUATE h1 := CNatRatio h1 * ;
+ EVALUATE siNat := CNatRatio siNat * ;
+ EVALUATE tiNat := CNatRatio tiNat * ;
+ EVALUATE zrNat := CNatRatio zrNat * ;
+ EVALUATE in115 := CNatRatio in115 * ;
+ EVALUATE s32 := CNatRatio s32 * ;
+ EVALUATE s33 := CNatRatio s33 * ;
+ EVALUATE s34 := CNatRatio s34 * ;
+ EVALUATE knat := CNatRatio knat * ;
+
+ELSEIF LibType "JEFF31" = LibType "JEFF311" = +
+ LibType "JEFF312" = +
+ LibType "ENDFVII0" = + LibType "ENDFVII1" = + THEN
+ EVALUATE h1 := CNatRatio h1 * ;
+ EVALUATE si28 := CNatRatio si28 * ;
+ EVALUATE si29 := CNatRatio si29 * ;
+ EVALUATE si30 := CNatRatio si30 * ;
+ EVALUATE ti46 := CNatRatio ti46 * ;
+ EVALUATE ti47 := CNatRatio ti47 * ;
+ EVALUATE ti48 := CNatRatio ti48 * ;
+ EVALUATE ti49 := CNatRatio ti49 * ;
+ EVALUATE ti50 := CNatRatio ti50 * ;
+ EVALUATE zr90 := CNatRatio zr90 * ;
+ EVALUATE zr91 := CNatRatio zr91 * ;
+ EVALUATE zr92 := CNatRatio zr92 * ;
+ EVALUATE zr93 := CNatRatio zr93 * ;
+ EVALUATE zr94 := CNatRatio zr94 * ;
+ EVALUATE zr95 := CNatRatio zr95 * ;
+ EVALUATE zr96 := CNatRatio zr96 * ;
+ EVALUATE cd106 := CNatRatio cd106 * ;
+ EVALUATE cd108 := CNatRatio cd108 * ;
+ EVALUATE in115 := CNatRatio in115 * ;
+ EVALUATE sn112 := CNatRatio sn112 * ;
+ EVALUATE sn114 := CNatRatio sn114 * ;
+ EVALUATE s32 := CNatRatio s32 * ;
+ EVALUATE s33 := CNatRatio s33 * ;
+ EVALUATE s34 := CNatRatio s34 * ;
+ EVALUATE k39 := CNatRatio k39 * ;
+ EVALUATE k40 := CNatRatio k40 * ;
+ EVALUATE k41 := CNatRatio k41 * ;
+
+ELSEIF LibType "CEA514T2" = THEN
+ EVALUATE h1 := CNatRatio h1 * ;
+ EVALUATE siNat := CNatRatio siNat * ;
+ EVALUATE tiNat := CNatRatio tiNat * ;
+ EVALUATE zrNat := CNatRatio zrNat * ;
+ EVALUATE in115 := CNatRatio in115 * ;
+ EVALUATE s32 := CNatRatio s32 * ;
+ EVALUATE s33 := CNatRatio s33 * ;
+ EVALUATE s34 := CNatRatio s34 * ;
+ EVALUATE knat := CNatRatio knat * ;
+
+ELSEIF LibType "CLA99CEA93" = THEN
+ EVALUATE h1 := CNatRatio h1 * ;
+ EVALUATE siNat := CNatRatio siNat * ;
+ EVALUATE tiNat := CNatRatio tiNat * ;
+ EVALUATE zrNat := CNatRatio zrNat * ;
+ EVALUATE in115 := CNatRatio in115 * ;
+ EVALUATE s32 := CNatRatio s32 * ;
+ EVALUATE s33 := CNatRatio s33 * ;
+ EVALUATE s34 := CNatRatio s34 * ;
+ EVALUATE knat := CNatRatio knat * ;
+
+ELSE
+ ECHO "Cette bibliotheque n'est pas repertoriee..." ;
+ENDIF ;
+
+*------------------------------------------------------
+* Creation de la liste de masses molaires
+*------------------------------------------------------
+
+* Pour les isotopes non conflictuels
+MolarMasses := UTL: :: CREA 'B10 ' 1 = <<b10>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'B10B ' 1 = <<b10b>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'B11 ' 1 = <<b11>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'B11B ' 1 = <<b11b>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'CNat ' 1 = <<cnat>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'O16 ' 1 = <<o16>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Al27 ' 1 = <<al27>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Cr50 ' 1 = <<cr50>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Cr52 ' 1 = <<cr52>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Cr53 ' 1 = <<cr53>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Cr54 ' 1 = <<cr54>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Mn55 ' 1 = <<mn55>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Fe54 ' 1 = <<fe54>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Fe56 ' 1 = <<fe56>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Fe57 ' 1 = <<fe57>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Fe58 ' 1 = <<fe58>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Co59 ' 1 = <<co59>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Ni58 ' 1 = <<ni58>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Ni60 ' 1 = <<ni60>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Ni61 ' 1 = <<ni61>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Ni62 ' 1 = <<ni62>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Ni64 ' 1 = <<ni64>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Nb93 ' 1 = <<nb93>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Mo95 ' 1 = <<mo95>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Ag107' 1 = <<ag107>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Ag109' 1 = <<ag109>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Cd110' 1 = <<cd110>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Cd111' 1 = <<cd111>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Cd112' 1 = <<cd112>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Cd113' 1 = <<cd113>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Cd114' 1 = <<cd114>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Cd116' 1 = <<cd116>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Sn115' 1 = <<sn115>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Sn116' 1 = <<sn116>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Sn117' 1 = <<sn117>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Sn118' 1 = <<sn118>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Sn119' 1 = <<sn119>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Sn120' 1 = <<sn120>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Sn122' 1 = <<sn122>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Sn124' 1 = <<sn124>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Gd154' 1 = <<gd154>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Gd155' 1 = <<gd155>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Gd156' 1 = <<gd156>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Gd157' 1 = <<gd157>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Gd158' 1 = <<gd158>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Gd160' 1 = <<gd160>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'U234 ' 1 = <<u234>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'U235 ' 1 = <<u235>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'U236 ' 1 = <<u236>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'U238 ' 1 = <<u238>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Pu238' 1 = <<pu238>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Pu239' 1 = <<pu239>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Pu240' 1 = <<pu240>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Pu241' 1 = <<pu241>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Pu242' 1 = <<pu242>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Am241' 1 = <<am241>> ;
+MolarMasses := UTL: MolarMasses :: CREA 'Na23 ' 1 = <<na23>> ;
+
+* Pour les isotopes conflictuels (absents de certaines bibli.)
+
+IF LibType "ENDFVI8" = THEN
+ MolarMasses := UTL: MolarMasses :: CREA 'H1 ' 1 = <<h1>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'SiNat' 1 = <<siNat>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'TiNat' 1 = <<tiNat>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'ZrNat' 1 = <<zrNat>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'InNat' 1 = <<inNat>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'S32 ' 1 = <<s32>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'Knat ' 1 = <<knat>> ;
+
+ELSEIF LibType "JEF22" = THEN
+
+ MolarMasses := UTL: MolarMasses :: CREA 'H1 ' 1 = <<h1>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'SiNat' 1 = <<siNat>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'TiNat' 1 = <<tiNat>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'ZrNat' 1 = <<zrNat>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'In115' 1 = <<in115>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'S32 ' 1 = <<s32>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'S33 ' 1 = <<s33>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'S34 ' 1 = <<s34>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'Knat ' 1 = <<knat>> ;
+
+ELSEIF LibType "JEFF31" = LibType "JEFF311" = +
+ LibType "JEFF312" = +
+ LibType "ENDFVII0" = + LibType "ENDFVII1" = + THEN
+
+ MolarMasses := UTL: MolarMasses :: CREA 'H1 ' 1 = <<h1>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'Si28 ' 1 = <<si28>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'Si29 ' 1 = <<si28>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'Si30 ' 1 = <<si28>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'Ti46 ' 1 = <<ti46>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'Ti47 ' 1 = <<ti47>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'Ti48 ' 1 = <<ti48>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'Ti49 ' 1 = <<ti49>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'Ti50 ' 1 = <<ti50>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'Zr90 ' 1 = <<zr90>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'Zr91 ' 1 = <<zr91>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'Zr92 ' 1 = <<zr92>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'Zr93 ' 1 = <<zr93>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'Zr94 ' 1 = <<zr94>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'Zr95 ' 1 = <<zr95>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'Zr96 ' 1 = <<zr96>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'Cd106' 1 = <<cd106>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'Cd108' 1 = <<cd108>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'In115' 1 = <<in115>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'Sn112' 1 = <<sn112>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'Sn114' 1 = <<sn114>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'S32 ' 1 = <<s32>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'S33 ' 1 = <<s33>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'S34 ' 1 = <<s34>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'K39 ' 1 = <<k39>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'K40 ' 1 = <<k40>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'K41 ' 1 = <<k41>> ;
+
+ELSEIF LibType "CEA514T2" = THEN
+
+ MolarMasses := UTL: MolarMasses :: CREA 'H1 ' 1 = <<h1>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'SiNat' 1 = <<siNat>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'TiNat' 1 = <<tiNat>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'ZrNat' 1 = <<zrNat>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'In115' 1 = <<in115>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'S32 ' 1 = <<s32>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'S33 ' 1 = <<s33>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'S34 ' 1 = <<s34>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'Knat ' 1 = <<knat>> ;
+
+ELSEIF LibType "CLA99CEA93" = THEN
+
+ MolarMasses := UTL: MolarMasses :: CREA 'H1 ' 1 = <<h1>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'SiNat' 1 = <<siNat>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'TiNat' 1 = <<tiNat>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'ZrNat' 1 = <<zrNat>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'In115' 1 = <<in115>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'S32 ' 1 = <<s32>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'S33 ' 1 = <<s33>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'S34 ' 1 = <<s34>> ;
+ MolarMasses := UTL: MolarMasses :: CREA 'Knat ' 1 = <<knat>> ;
+
+ELSE
+ ECHO "Cette bibliotheque n'est pas repertoriee..." ;
+ENDIF ;
+
+*------------------------------------------------------
+END: ;
+QUIT "LIST" .
diff --git a/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_proc/MetalMix.c2m b/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_proc/MetalMix.c2m
new file mode 100644
index 0000000..ab337b8
--- /dev/null
+++ b/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_proc/MetalMix.c2m
@@ -0,0 +1,1391 @@
+*DECK MetalMix.c2m
+*======================================================
+* Name: MetalMix.c2m
+* Type: DRAGON procedure
+* Use: Create isotopic mixtures of metals.
+* Author: A. Bruneau 10.2013
+* [CS-SI | IRSN/PSN-EXP/SNC/LNR]
+* Mod: A. Bruneau 12.2013
+* [CS-SI | IRSN/PSN-EXP/SNC/LNR]
+* Added AIC with AgNat, CdNat & In for AIC rod description.
+* Mod: A. Bruneau 02.2014
+* [CS-SI | IRSN/PSN-EXP/SNC/LNR]
+* Added GdNat with Gd for Gd2O3
+* Mod: G. Tixier 09.2016
+* [CS-SI | IRSN/PSN-EXP/SNC/LNR]
+* Ajouts S32, S33 et S34 pour materiau M5
+*------------------------------------------------------
+* Procedure called as:
+*------------------------------------------------------
+* Input Required:
+* > Molar Masses
+* Output Provided:
+* < Molar Masses
+* < Metals Concentration
+*======================================================
+PARAMETER FeNat CrNat SnNat NiNat BNat
+ ZrNat TiNat SiNat KNat
+ AgNat CdNat SNat InNat Zirc4 Incon SS304
+ M5 AIC GdNat Gd2O3 MolarMasses ::
+ ::: LINKED_LIST
+ FeNat CrNat SnNat NiNat BNat
+ ZrNat TiNat SiNat KNat
+ AgNat CdNat SNat InNat Zirc4 Incon SS304
+ M5 AIC GdNat Gd2O3 MolarMasses ; ;
+MODULE GREP: UTL: END: ABORT: ;
+STRING LibType ; ! ENDFVII1 JEFF31 JEFF311 JEFF312...
+REAL avogadro := 6.022094E+23 ;
+REAL avo_conc := avogadro 1.E-24 * ;
+REAL ReNorm ; ! Renormalization Factor
+REAL SumFr ; ! Fraction Sum (needed when &IMPU)
+:: >>LibType<< ;
+
+*------------------------------------------------------
+REAL am241 ;
+REAL al27 ;
+REAL b10 ;
+REAL b10b ;
+REAL b11 ;
+REAL b11b ;
+REAL co59 ;
+REAL cr50 ;
+REAL cr52 ;
+REAL cr53 ;
+REAL cr54 ;
+REAL fe54 ;
+REAL fe56 ;
+REAL fe57 ;
+REAL fe58 ;
+REAL h2o h1 ;
+REAL mn55 ;
+REAL mo95 ;
+REAL nb93 ;
+REAL ni58 ;
+REAL ni60 ;
+REAL ni61 ;
+REAL ni62 ;
+REAL ni64 ;
+REAL o16 ;
+REAL pu238 ;
+REAL pu239 ;
+REAL pu240 ;
+REAL pu241 ;
+REAL pu242 ;
+REAL siNat si28 si29 si30 ;
+REAL sn112 ;
+REAL sn114 ;
+REAL sn115 ;
+REAL sn116 ;
+REAL sn117 ;
+REAL sn118 ;
+REAL sn119 ;
+REAL sn120 ;
+REAL sn122 ;
+REAL sn124 ;
+REAL tiNat ti46 ti47 ti48 ti49 ti50 ;
+REAL u234 ;
+REAL u235 ;
+REAL u236 ;
+REAL u238 ;
+REAL zrNat zr90 zr91 zr92 zr93 zr94 zr95 zr96 ;
+REAL cnat ;
+*---- added for AIC
+REAL ag107 ;
+REAL ag109 ;
+REAL cd106 ;
+REAL cd108 ;
+REAL cd110 ;
+REAL cd111 ;
+REAL cd112 ;
+REAL cd113 ;
+REAL cd114 ;
+REAL cd116 ;
+REAL in115 in113 ;
+*---- added for Gd2O3
+REAL gd154 ;
+REAL gd155 ;
+REAL gd156 ;
+REAL gd157 ;
+REAL gd158 ;
+REAL gd160 ;
+*---- added for Pyrex
+REAL kNat k39 k40 k41 ;
+REAL na23 ;
+*---- added for M5
+REAL s32 ;
+REAL s33 ;
+REAL s34 ;
+
+*------------------------------------------------------
+*------------------------------------------------------
+* Recuperation des fractions massiques moyennes
+*------------------------------------------------------
+
+* Pour les isotopes non conflictuels
+
+GREP: MolarMasses :: GETVAL 'B10 ' 1 >>b10<< ;
+GREP: MolarMasses :: GETVAL 'B10B ' 1 >>b10b<< ;
+GREP: MolarMasses :: GETVAL 'B11 ' 1 >>b11<< ;
+GREP: MolarMasses :: GETVAL 'B11B ' 1 >>b11b<< ;
+GREP: MolarMasses :: GETVAL 'CNat ' 1 >>cnat<< ;
+GREP: MolarMasses :: GETVAL 'O16 ' 1 >>o16<< ;
+GREP: MolarMasses :: GETVAL 'Al27 ' 1 >>al27<< ;
+GREP: MolarMasses :: GETVAL 'Cr50 ' 1 >>cr50<< ;
+GREP: MolarMasses :: GETVAL 'Cr52 ' 1 >>cr52<< ;
+GREP: MolarMasses :: GETVAL 'Cr53 ' 1 >>cr53<< ;
+GREP: MolarMasses :: GETVAL 'Cr54 ' 1 >>cr54<< ;
+GREP: MolarMasses :: GETVAL 'Mn55 ' 1 >>mn55<< ;
+GREP: MolarMasses :: GETVAL 'Fe54 ' 1 >>fe54<< ;
+GREP: MolarMasses :: GETVAL 'Fe56 ' 1 >>fe56<< ;
+GREP: MolarMasses :: GETVAL 'Fe57 ' 1 >>fe57<< ;
+GREP: MolarMasses :: GETVAL 'Fe58 ' 1 >>fe58<< ;
+GREP: MolarMasses :: GETVAL 'Co59 ' 1 >>co59<< ;
+GREP: MolarMasses :: GETVAL 'Ni58 ' 1 >>ni58<< ;
+GREP: MolarMasses :: GETVAL 'Ni60 ' 1 >>ni60<< ;
+GREP: MolarMasses :: GETVAL 'Ni61 ' 1 >>ni61<< ;
+GREP: MolarMasses :: GETVAL 'Ni62 ' 1 >>ni62<< ;
+GREP: MolarMasses :: GETVAL 'Ni64 ' 1 >>ni64<< ;
+GREP: MolarMasses :: GETVAL 'Nb93 ' 1 >>nb93<< ;
+GREP: MolarMasses :: GETVAL 'Mo95 ' 1 >>mo95<< ;
+GREP: MolarMasses :: GETVAL 'Ag107' 1 >>ag107<< ;
+GREP: MolarMasses :: GETVAL 'Ag109' 1 >>ag109<< ;
+GREP: MolarMasses :: GETVAL 'Cd110' 1 >>cd110<< ;
+GREP: MolarMasses :: GETVAL 'Cd111' 1 >>cd111<< ;
+GREP: MolarMasses :: GETVAL 'Cd112' 1 >>cd112<< ;
+GREP: MolarMasses :: GETVAL 'Cd113' 1 >>cd113<< ;
+GREP: MolarMasses :: GETVAL 'Cd114' 1 >>cd114<< ;
+GREP: MolarMasses :: GETVAL 'Cd116' 1 >>cd116<< ;
+GREP: MolarMasses :: GETVAL 'Sn115' 1 >>sn115<< ;
+GREP: MolarMasses :: GETVAL 'Sn116' 1 >>sn116<< ;
+GREP: MolarMasses :: GETVAL 'Sn117' 1 >>sn117<< ;
+GREP: MolarMasses :: GETVAL 'Sn118' 1 >>sn118<< ;
+GREP: MolarMasses :: GETVAL 'Sn119' 1 >>sn119<< ;
+GREP: MolarMasses :: GETVAL 'Sn120' 1 >>sn120<< ;
+GREP: MolarMasses :: GETVAL 'Sn122' 1 >>sn122<< ;
+GREP: MolarMasses :: GETVAL 'Sn124' 1 >>sn124<< ;
+GREP: MolarMasses :: GETVAL 'Gd154' 1 >>gd154<< ;
+GREP: MolarMasses :: GETVAL 'Gd155' 1 >>gd155<< ;
+GREP: MolarMasses :: GETVAL 'Gd156' 1 >>gd156<< ;
+GREP: MolarMasses :: GETVAL 'Gd157' 1 >>gd157<< ;
+GREP: MolarMasses :: GETVAL 'Gd158' 1 >>gd158<< ;
+GREP: MolarMasses :: GETVAL 'Gd160' 1 >>gd160<< ;
+GREP: MolarMasses :: GETVAL 'U234 ' 1 >>u234<< ;
+GREP: MolarMasses :: GETVAL 'U235 ' 1 >>u235<< ;
+GREP: MolarMasses :: GETVAL 'U236 ' 1 >>u236<< ;
+GREP: MolarMasses :: GETVAL 'U238 ' 1 >>u238<< ;
+GREP: MolarMasses :: GETVAL 'Pu238' 1 >>pu238<< ;
+GREP: MolarMasses :: GETVAL 'Pu239' 1 >>pu239<< ;
+GREP: MolarMasses :: GETVAL 'Pu240' 1 >>pu240<< ;
+GREP: MolarMasses :: GETVAL 'Pu241' 1 >>pu241<< ;
+GREP: MolarMasses :: GETVAL 'Pu242' 1 >>pu242<< ;
+GREP: MolarMasses :: GETVAL 'Am241' 1 >>am241<< ;
+GREP: MolarMasses :: GETVAL 'Na23 ' 1 >>na23<< ;
+
+* Pour les isotopes conflictuels (absent de certaines bibli.)
+
+IF LibType 'ENDFVI8' = THEN
+ GREP: MolarMasses :: GETVAL 'H1 ' 1 >>h1<< ;
+ GREP: MolarMasses :: GETVAL 'SiNat' 1 >>siNat<< ;
+ GREP: MolarMasses :: GETVAL 'TiNat' 1 >>tiNat<< ;
+ GREP: MolarMasses :: GETVAL 'ZrNat' 1 >>zrNat<< ;
+ GREP: MolarMasses :: GETVAL 'InNat' 1 >>in115<< ;
+ ! In115 non defini dans ENDFVI8
+ GREP: MolarMasses :: GETVAL 'Knat ' 1 >>kNat<< ;
+ GREP: MolarMasses :: GETVAL 'S32 ' 1 >>s32<< ;
+
+ELSEIF LibType 'JEF22' = THEN
+ GREP: MolarMasses :: GETVAL 'H1 ' 1 >>h1<< ;
+ GREP: MolarMasses :: GETVAL 'SiNat' 1 >>siNat<< ;
+ GREP: MolarMasses :: GETVAL 'TiNat' 1 >>tiNat<< ;
+ GREP: MolarMasses :: GETVAL 'ZrNat' 1 >>zrNat<< ;
+ GREP: MolarMasses :: GETVAL 'In115' 1 >>in115<< ;
+ GREP: MolarMasses :: GETVAL 'Knat ' 1 >>kNat<< ;
+ GREP: MolarMasses :: GETVAL 'S32 ' 1 >>s32<< ;
+ GREP: MolarMasses :: GETVAL 'S33 ' 1 >>s33<< ;
+ GREP: MolarMasses :: GETVAL 'S34 ' 1 >>s34<< ;
+
+ELSEIF LibType 'JEFF31' = LibType 'JEFF311' = +
+ LibType 'JEFF312' = +
+ LibType 'ENDFVII0' = + LibType 'ENDFVII1' = + THEN
+ GREP: MolarMasses :: GETVAL 'H1 ' 1 >>h1<< ;
+ GREP: MolarMasses :: GETVAL 'Si28 ' 1 >>si28<< ;
+ GREP: MolarMasses :: GETVAL 'Si29 ' 1 >>si29<< ;
+ GREP: MolarMasses :: GETVAL 'Si30 ' 1 >>si30<< ;
+ GREP: MolarMasses :: GETVAL 'Ti46 ' 1 >>ti46<< ;
+ GREP: MolarMasses :: GETVAL 'Ti47 ' 1 >>ti47<< ;
+ GREP: MolarMasses :: GETVAL 'Ti48 ' 1 >>ti48<< ;
+ GREP: MolarMasses :: GETVAL 'Ti49 ' 1 >>ti49<< ;
+ GREP: MolarMasses :: GETVAL 'Ti50 ' 1 >>ti50<< ;
+ GREP: MolarMasses :: GETVAL 'Zr90 ' 1 >>zr90<< ;
+ GREP: MolarMasses :: GETVAL 'Zr91 ' 1 >>zr91<< ;
+ GREP: MolarMasses :: GETVAL 'Zr92 ' 1 >>zr92<< ;
+ GREP: MolarMasses :: GETVAL 'Zr93 ' 1 >>zr93<< ;
+ GREP: MolarMasses :: GETVAL 'Zr94 ' 1 >>zr94<< ;
+ GREP: MolarMasses :: GETVAL 'Zr95 ' 1 >>zr95<< ;
+ GREP: MolarMasses :: GETVAL 'Zr96 ' 1 >>zr96<< ;
+ GREP: MolarMasses :: GETVAL 'Cd106' 1 >>cd106<< ;
+ GREP: MolarMasses :: GETVAL 'Cd108' 1 >>cd108<< ;
+ GREP: MolarMasses :: GETVAL 'In115' 1 >>in115<< ;
+ GREP: MolarMasses :: GETVAL 'Sn112' 1 >>sn112<< ;
+ GREP: MolarMasses :: GETVAL 'Sn114' 1 >>sn114<< ;
+ GREP: MolarMasses :: GETVAL 'K39 ' 1 >>k39<< ;
+ GREP: MolarMasses :: GETVAL 'K40 ' 1 >>k40<< ;
+ GREP: MolarMasses :: GETVAL 'K41 ' 1 >>k41<< ;
+ GREP: MolarMasses :: GETVAL 'S32 ' 1 >>s32<< ;
+ GREP: MolarMasses :: GETVAL 'S33 ' 1 >>s33<< ;
+ GREP: MolarMasses :: GETVAL 'S34 ' 1 >>s34<< ;
+
+ELSEIF LibType 'CEA514T2' = THEN
+
+ GREP: MolarMasses :: GETVAL 'H1' 1 >>h1<< ;
+ GREP: MolarMasses :: GETVAL 'SiNat' 1 >>siNat<< ;
+ GREP: MolarMasses :: GETVAL 'TiNat' 1 >>tiNat<< ;
+ GREP: MolarMasses :: GETVAL 'ZrNat' 1 >>zrNat<< ;
+ GREP: MolarMasses :: GETVAL 'In115' 1 >>in115<< ;
+ GREP: MolarMasses :: GETVAL 'Knat ' 1 >>kNat<< ;
+ GREP: MolarMasses :: GETVAL 'S32 ' 1 >>s32<< ;
+ GREP: MolarMasses :: GETVAL 'S33 ' 1 >>s33<< ;
+ GREP: MolarMasses :: GETVAL 'S34 ' 1 >>s34<< ;
+
+ELSEIF LibType 'CLA99CEA93' = THEN
+
+ GREP: MolarMasses :: GETVAL 'H1' 1 >>h1<< ;
+ GREP: MolarMasses :: GETVAL 'SiNat' 1 >>siNat<< ;
+ GREP: MolarMasses :: GETVAL 'TiNat' 1 >>tiNat<< ;
+ GREP: MolarMasses :: GETVAL 'ZrNat' 1 >>zrNat<< ;
+ GREP: MolarMasses :: GETVAL 'In115' 1 >>in115<< ;
+ GREP: MolarMasses :: GETVAL 'Knat ' 1 >>kNat<< ;
+ GREP: MolarMasses :: GETVAL 'S32 ' 1 >>s32<< ;
+ GREP: MolarMasses :: GETVAL 'S33 ' 1 >>s33<< ;
+ GREP: MolarMasses :: GETVAL 'S34 ' 1 >>s34<< ;
+
+ELSE
+ ECHO "Cette bibliotheque n'est pas repertoriee..." ;
+ENDIF ;
+
+*------------------------------------------------------
+* ZrNat : Natural Zirconium
+* Isotopic Composition : Zr90 .5145
+* Zr91 .1123
+* Zr92 .1716
+* Zr93 .
+* Zr94 .1738
+* Zr95 .
+* Zr96 .0281
+*------------------------------------------------------
+REAL Zr90f := .0 ;
+REAL Zr91f := .0 ;
+REAL Zr92f := .0 ;
+REAL Zr93f := .0 ;
+REAL Zr94f := .0 ;
+REAL Zr95f := .0 ;
+REAL Zr96f := .0 ;
+REAL MZrNat ; ! Average Weight Ratio
+
+IF LibType 'JEFF31' = LibType 'JEFF311' = +
+ LibType 'JEFF312' = +
+ LibType 'ENDFVII0' = + LibType 'ENDFVII1' = + THEN
+
+ EVALUATE Zr90f := .5145 ;
+ EVALUATE Zr91f := .1122 ;
+ EVALUATE Zr92f := .1715 ;
+ EVALUATE Zr93f := 0. ;
+ EVALUATE Zr94f := .1738 ;
+ EVALUATE Zr95f := 0. ;
+ EVALUATE Zr96f := .0280 ;
+
+ *---- ZrNat Average Weight Ratio ----
+ EVALUATE MZrNat := zr90 Zr90f * zr91 Zr91f * +
+ zr92 Zr92f * + zr93 Zr93f * +
+ zr94 Zr94f * + zr95 Zr95f * +
+ zr96 Zr96f * + ;
+
+ELSE ! JEF22
+
+ EVALUATE MZrNat := zrNat ;
+
+ENDIF ;
+ECHO "Masse molaire du zirconium " MZrNat ;
+
+*---- ZrNat Table Creation ----
+ZrNat := UTL: :: CREA 'AvgMolM ' 1 = <<MZrNat>> ;
+ZrNat := UTL: ZrNat :: CREA 'Zr90frIso' 1 = <<Zr90f>> ;
+ZrNat := UTL: ZrNat :: CREA 'Zr91frIso' 1 = <<Zr91f>> ;
+ZrNat := UTL: ZrNat :: CREA 'Zr92frIso' 1 = <<Zr92f>> ;
+ZrNat := UTL: ZrNat :: CREA 'Zr93frIso' 1 = <<Zr93f>> ;
+ZrNat := UTL: ZrNat :: CREA 'Zr94frIso' 1 = <<Zr94f>> ;
+ZrNat := UTL: ZrNat :: CREA 'Zr95frIso' 1 = <<Zr95f>> ;
+ZrNat := UTL: ZrNat :: CREA 'Zr96frIso' 1 = <<Zr96f>> ;
+
+*------------------------------------------------------
+* FeNat : Natural Iron
+* Isotopic Composition : Fe54 .0580
+* Fe56 .9172
+* Fe57 .0220
+* Fe58 .0028
+*------------------------------------------------------
+REAL Fe54f := .0580 ;
+REAL Fe56f := .9172 ;
+REAL Fe57f := .0220 ;
+REAL Fe58f := .0028 ;
+
+*---- FeNat Average Weight Ratio ----
+REAL MFeNat ; ! Average Weight Ratio
+EVALUATE MFeNat := fe54 Fe54f * fe56 Fe56f * + ;
+EVALUATE MFeNat := MFeNat fe57 Fe57f * + fe58 Fe58f * + ;
+
+*---- FeNat Table Creation ----
+FeNat := UTL: :: CREA 'AvgMolM ' 1 = <<MFeNat>> ;
+FeNat := UTL: FeNat :: CREA 'Fe54frIso' 1 = <<Fe54f>> ;
+FeNat := UTL: FeNat :: CREA 'Fe56frIso' 1 = <<Fe56f>> ;
+FeNat := UTL: FeNat :: CREA 'Fe57frIso' 1 = <<Fe57f>> ;
+FeNat := UTL: FeNat :: CREA 'Fe58frIso' 1 = <<Fe58f>> ;
+
+*------------------------------------------------------
+* TiNat : Natural Titanium
+* Isotopic Composition : Ti46 .0825
+* Ti47 .0744
+* Ti48 .7372
+* Ti49 .0541
+* Ti50 .0518
+*------------------------------------------------------
+REAL Ti46f := .0 ;
+REAL Ti47f := .0 ;
+REAL Ti48f := .0 ;
+REAL Ti49f := .0 ;
+REAL Ti50f := .0 ;
+REAL MTiNat ; ! Average Weight Ratio
+
+IF LibType 'JEFF31' = LibType 'JEFF311' = +
+ LibType 'JEFF312' = +
+ LibType 'ENDFVII0' = + LibType 'ENDFVII1' = + THEN
+
+ EVALUATE Ti46f := .0825 ;
+ EVALUATE Ti47f := .0744 ;
+ EVALUATE Ti48f := .7372 ;
+ EVALUATE Ti49f := .0541 ;
+ EVALUATE Ti50f := .0518 ;
+
+ *---- TiNat Average Weight Ratio ----
+ EVALUATE MTiNat := ti46 Ti46f * ti47 Ti47f * +
+ ti48 Ti48f * +
+ ti49 Ti49f * + ti50 Ti50f * + ;
+
+ELSE ! JEF22 ENDFVI8
+
+ EVALUATE MTiNat := tiNat ;
+
+ENDIF ;
+ECHO "Masse molaire du titane " MTiNat ;
+
+*---- TiNat Table Creation ----
+TiNat := UTL: :: CREA 'AvgMolM ' 1 = <<MTiNat>> ;
+TiNat := UTL: TiNat :: CREA 'Ti46frIso' 1 = <<Ti46f>> ;
+TiNat := UTL: TiNat :: CREA 'Ti47frIso' 1 = <<Ti47f>> ;
+TiNat := UTL: TiNat :: CREA 'Ti48frIso' 1 = <<Ti48f>> ;
+TiNat := UTL: TiNat :: CREA 'Ti49frIso' 1 = <<Ti49f>> ;
+TiNat := UTL: TiNat :: CREA 'Ti50frIso' 1 = <<Ti50f>> ;
+
+*------------------------------------------------------
+* SiNat : Natural Silicium
+* Isotopic Composition : Si28 .922298
+* Si29 .046833
+* Si30 .030873
+*------------------------------------------------------
+REAL Si28f := .0 ;
+REAL Si29f := .0 ;
+REAL Si30f := .0 ;
+REAL MSiNat ; ! Average Weight Ratio
+
+
+IF LibType 'JEFF31' = LibType 'JEFF311' = +
+ LibType 'JEFF312' = +
+ LibType 'ENDFVII0' = + LibType 'ENDFVII1' = + THEN
+
+ EVALUATE Si28f := .9222 ;
+ EVALUATE Si29f := .0468 ;
+ EVALUATE Si30f := .0309 ;
+
+ *---- SiNat Average Weight Ratio ----
+ EVALUATE MSiNat := si28 Si28f * si29 Si29f * +
+ si30 Si30f * + ;
+
+ELSE ! JEF22 ENDFVI8
+
+ EVALUATE MSiNat := siNat ;
+
+ENDIF ;
+ECHO "Masse molaire du silicium " MSiNat ;
+
+*---- SiNat Table Creation ----
+SiNat := UTL: :: CREA 'AvgMolM ' 1 = <<MSiNat>> ;
+SiNat := UTL: SiNat :: CREA 'Si28frIso' 1 = <<Si28f>> ;
+SiNat := UTL: SiNat :: CREA 'Si29frIso' 1 = <<Si29f>> ;
+SiNat := UTL: SiNat :: CREA 'Si30frIso' 1 = <<Si30f>> ;
+
+*------------------------------------------------------
+* CrNat : Natural Chromium
+* Isotopic Composition : Cr50 .0435
+* Cr52 .8379
+* Cr53 .0950
+* Cr54 .0236
+*------------------------------------------------------
+REAL Cr50f := .0435 ;
+REAL Cr52f := .8379 ;
+REAL Cr53f := .0950 ;
+REAL Cr54f := .0236 ;
+
+*---- CrNat Average Weight Ratio ----
+REAL MCrNat ; ! Average Weight Ratio
+EVALUATE MCrNat := cr50 Cr50f * cr52 Cr52f * + ;
+EVALUATE MCrNat := MCrNat cr53 Cr53f * + cr54 Cr54f * + ;
+
+*---- CrNat Table Creation ----
+CrNat := UTL: :: CREA 'AvgMolM ' 1 = <<MCrNat>> ;
+CrNat := UTL: CrNat :: CREA 'Cr50frIso' 1 = <<Cr50f>> ;
+CrNat := UTL: CrNat :: CREA 'Cr52frIso' 1 = <<Cr52f>> ;
+CrNat := UTL: CrNat :: CREA 'Cr53frIso' 1 = <<Cr53f>> ;
+CrNat := UTL: CrNat :: CREA 'Cr54frIso' 1 = <<Cr54f>> ;
+
+*------------------------------------------------------
+* SnNat : Natural Tin
+* Isotopic Composition : Sn112 .010 Sauf JEF22 et ENDFVI8
+* Sn114 .007 Sauf JEF22 et ENDFVI8
+* Sn115 .004
+* Sn116 .147 / Sn116 .164 (JEF22, ENDFVI8)
+* Sn117 .077
+* Sn118 .243
+* Sn119 .086
+* Sn120 .324
+* Sn122 .046
+* Sn124 .056
+* Pour Sn112 et Sn114 avec JEF22 ou ENDFVI8, on reporte les
+* fractions atomiques sur Sn116 (premier isotope pair defini
+* dans ces bibliotheques)
+*------------------------------------------------------
+REAL Sn112f := .0 ;
+REAL Sn114f := .0 ;
+REAL Sn115f := .0 ;
+REAL Sn116f := .0 ;
+REAL Sn117f := .0 ;
+REAL Sn118f := .0 ;
+REAL Sn119f := .0 ;
+REAL Sn120f := .0 ;
+REAL Sn122f := .0 ;
+REAL Sn124f := .0 ;
+REAL MSnNat ; ! Average Weight Ratio
+
+IF LibType 'JEFF31' = LibType 'JEFF311' = +
+ LibType 'JEFF312' = +
+ LibType 'ENDFVII0' = + LibType 'ENDFVII1' = + THEN
+
+ EVALUATE Sn112f := .010 ;
+ EVALUATE Sn114f := .007 ;
+ EVALUATE Sn115f := .004 ;
+ EVALUATE Sn116f := .147 ;
+ EVALUATE Sn117f := .077 ;
+ EVALUATE Sn118f := .243 ;
+ EVALUATE Sn119f := .086 ;
+ EVALUATE Sn120f := .324 ;
+ EVALUATE Sn122f := .046 ;
+ EVALUATE Sn124f := .056 ;
+
+ *---- SnNat Average Weight Ratio ----
+ EVALUATE MSnNat := sn112 Sn112f * sn114 Sn114f * + ;
+ EVALUATE MSnNat := MSnNat sn115 Sn115f * + sn116 Sn116f * + ;
+ EVALUATE MSnNat := MSnNat sn117 Sn117f * + sn118 Sn118f * + ;
+ EVALUATE MSnNat := MSnNat sn119 Sn119f * + sn120 Sn120f * + ;
+ EVALUATE MSnNat := MSnNat sn122 Sn122f * + sn124 Sn124f * + ;
+
+ELSE ! JEF22 ENDFVI8 CEA514T2 CLA99CEA93
+
+ EVALUATE Sn115f := .004 ;
+ EVALUATE Sn116f := .164 ;
+ EVALUATE Sn117f := .077 ;
+ EVALUATE Sn118f := .243 ;
+ EVALUATE Sn119f := .086 ;
+ EVALUATE Sn120f := .324 ;
+ EVALUATE Sn122f := .046 ;
+ EVALUATE Sn124f := .056 ;
+
+ *---- SnNat Average Weight Ratio ----
+ EVALUATE MSnNat := sn115 Sn115f * sn116 Sn116f * + ;
+ EVALUATE MSnNat := MSnNat sn117 Sn117f * + sn118 Sn118f * + ;
+ EVALUATE MSnNat := MSnNat sn119 Sn119f * + sn120 Sn120f * + ;
+ EVALUATE MSnNat := MSnNat sn122 Sn122f * + sn124 Sn124f * + ;
+
+ENDIF ;
+
+*---- SnNat Table Creation ----
+SnNat := UTL: :: CREA 'AvgMolM ' 1 = <<MSnNat>> ;
+SnNat := UTL: SnNat :: CREA 'Sn112frIso' 1 = <<Sn112f>> ;
+SnNat := UTL: SnNat :: CREA 'Sn114frIso' 1 = <<Sn114f>> ;
+SnNat := UTL: SnNat :: CREA 'Sn115frIso' 1 = <<Sn115f>> ;
+SnNat := UTL: SnNat :: CREA 'Sn116frIso' 1 = <<Sn116f>> ;
+SnNat := UTL: SnNat :: CREA 'Sn117frIso' 1 = <<Sn117f>> ;
+SnNat := UTL: SnNat :: CREA 'Sn118frIso' 1 = <<Sn118f>> ;
+SnNat := UTL: SnNat :: CREA 'Sn119frIso' 1 = <<Sn119f>> ;
+SnNat := UTL: SnNat :: CREA 'Sn120frIso' 1 = <<Sn120f>> ;
+SnNat := UTL: SnNat :: CREA 'Sn122frIso' 1 = <<Sn122f>> ;
+SnNat := UTL: SnNat :: CREA 'Sn124frIso' 1 = <<Sn124f>> ;
+
+*------------------------------------------------------
+* NiNat : Natural Nickel
+* Isotopic Composition : Ni58 .6827
+* Ni60 .2610
+* Ni61 .0113
+* Ni62 .0359
+* Ni64 .0091
+*------------------------------------------------------
+REAL Ni58f := .6827 ;
+REAL Ni60f := .2610 ;
+REAL Ni61f := .0113 ;
+REAL Ni62f := .0359 ;
+REAL Ni64f := .0091 ;
+
+*---- NiNat Average Weight Ratio ----
+REAL MNiNat ; ! Average Weight Ratio
+EVALUATE MNiNat := ni58 Ni58f * ni60 Ni60f * +
+ ni61 Ni61f * + ni62 Ni62f * +
+ ni64 Ni64f * + ;
+
+*---- NiNat Table Creation ----
+NiNat := UTL: :: CREA 'AvgMolM ' 1 = <<MNiNat>> ;
+NiNat := UTL: NiNat :: CREA 'Ni58frIso' 1 = <<Ni58f>> ;
+NiNat := UTL: NiNat :: CREA 'Ni60frIso' 1 = <<Ni60f>> ;
+NiNat := UTL: NiNat :: CREA 'Ni61frIso' 1 = <<Ni61f>> ;
+NiNat := UTL: NiNat :: CREA 'Ni62frIso' 1 = <<Ni62f>> ;
+NiNat := UTL: NiNat :: CREA 'Ni64frIso' 1 = <<Ni64f>> ;
+
+*------------------------------------------------------
+* BNat : Natural Boron
+* Isotopic Composition : B10 .2
+* B11 .8
+*------------------------------------------------------
+REAL B10f := .2 ;
+REAL B11f := .8 ;
+
+*---- BNat Average Weight Ratio ----
+REAL MBNat ; ! Average Weight Ratio
+EVALUATE MBNat := b10 B10f * b11 B11f * + ;
+
+*---- BNat Table Creation ----
+BNat := UTL: :: CREA 'AvgMolM ' 1 = <<MBNat>> ;
+BNat := UTL: BNat :: CREA 'B10frIso' 1 = <<B10f>> ;
+BNat := UTL: BNat :: CREA 'B11frIso' 1 = <<B11f>> ;
+
+*------------------------------------------------------
+* AgNat : Natural Silver
+* Isotopic Composition : Ag107 .5183
+* Ag109 .4817
+*------------------------------------------------------
+REAL Ag107f := .5183 ;
+REAL Ag109f := .4817 ;
+
+*---- AgNat Average Weight Ratio ----
+REAL MAgNat ;
+EVALUATE MAgNat := ag107 Ag107f * ag109 Ag109f * + ;
+
+*---- AgNat Table Creation ----
+AgNat := UTL: :: CREA 'AvgMolM ' 1 = <<MAgNat>> ;
+AgNat := UTL: AgNat :: CREA 'Ag107frIso ' 1 = <<Ag107f>> ;
+AgNat := UTL: AgNat :: CREA 'Ag109frIso ' 1 = <<Ag109f>> ;
+
+*------------------------------------------------------
+* CdNat : Natural Cadmium
+* Isotopic Composition : Cd106 .0125 *
+* Cd108 .0089 **
+* Cd110 .1251
+* Cd111 .1281
+* Cd112 .2413 **
+* Cd113 .1222
+* Cd114 .2872
+* Cd116 .0747
+*
+* * : Cd106 is not available on JEF22 and ENDFVI8. It is replaced
+* by Cd112.
+* For JEF22 and ENDFVI8 :
+* ==> Cd106 .0000
+* ==> Cd108 .0000
+* ==> Cd112 .2627
+* ** : Cd108 is not available on JEF22 and ENDFVI8.
+* It is replaced by Cd112 which has relatively close enough
+* neutronic properties
+*
+* ==> Cd108 .0000
+* ==> Cd112 .2502
+*------------------------------------------------------
+REAL Cd106f := .0 ;
+REAL Cd108f := .0 ;
+REAL Cd110f := .0 ;
+REAL Cd111f := .0 ;
+REAL Cd112f := .0 ;
+REAL Cd113f := .0 ;
+REAL Cd114f := .0 ;
+REAL Cd116f := .0 ;
+REAL MCdNat ;
+
+
+IF LibType 'JEFF31' = LibType 'JEFF311' = +
+ LibType 'JEFF312' = +
+ LibType 'ENDFVII0' = + LibType 'ENDFVII1' = + THEN
+
+ EVALUATE Cd106f := .0125 ;
+ EVALUATE Cd108f := .0089 ;
+ EVALUATE Cd110f := .1251 ;
+ EVALUATE Cd111f := .1281 ;
+ EVALUATE Cd112f := .2413 ;
+ EVALUATE Cd113f := .1222 ;
+ EVALUATE Cd114f := .2872 ;
+ EVALUATE Cd116f := .0747 ;
+
+*---- CdNat Average Weight Ratio ----
+ EVALUATE MCdNat := cd106 Cd106f * cd108 Cd108f * + ;
+ EVALUATE MCdNat := MCdNat cd110 Cd110f * + cd111 Cd111f * + ;
+ EVALUATE MCdNat := MCdNat cd112 Cd112f * + cd113 Cd113f * + ;
+ EVALUATE MCdNat := MCdNat cd114 Cd114f * + cd116 Cd116f * + ;
+
+ELSE ! JEF22, ENDFVI8, CEA514T2 CLA99CEA93
+
+ EVALUATE Cd110f := .1251 ;
+ EVALUATE Cd111f := .1281 ;
+ EVALUATE Cd112f := .2627 ;
+ EVALUATE Cd113f := .1222 ;
+ EVALUATE Cd114f := .2872 ;
+ EVALUATE Cd116f := .0747 ;
+
+*---- CdNat Average Weight Ratio ----
+ EVALUATE MCdNat := cd110 Cd110f * ;
+ EVALUATE MCdNat := MCdNat cd111 Cd111f * + cd112 Cd112f * + ;
+ EVALUATE MCdNat := MCdNat cd113 Cd113f * + cd114 Cd114f * + ;
+ EVALUATE MCdNat := MCdNat cd116 Cd116f * + ;
+
+ENDIF ;
+
+*---- CdNat Table Creation ----
+CdNat := UTL: :: CREA 'AvgMolM ' 1 = <<MCdNat>> ;
+CdNat := UTL: CdNat :: CREA 'Cd106frIso ' 1 = <<Cd106f>> ;
+CdNat := UTL: CdNat :: CREA 'Cd108frIso ' 1 = <<Cd108f>> ;
+CdNat := UTL: CdNat :: CREA 'Cd110frIso ' 1 = <<Cd110f>> ;
+CdNat := UTL: CdNat :: CREA 'Cd111frIso ' 1 = <<Cd111f>> ;
+CdNat := UTL: CdNat :: CREA 'Cd112frIso ' 1 = <<Cd112f>> ;
+CdNat := UTL: CdNat :: CREA 'Cd113frIso ' 1 = <<Cd113f>> ;
+CdNat := UTL: CdNat :: CREA 'Cd114frIso ' 1 = <<Cd114f>> ;
+CdNat := UTL: CdNat :: CREA 'Cd116frIso ' 1 = <<Cd116f>> ;
+
+*------------------------------------------------------
+* KNat : Natural Potassium
+* Reference : www.wikipedia.org/wiki/Potassium
+* Isotopic Composition : K39 .9326
+* K40 .0001167
+* K41 .0673
+*------------------------------------------------------
+REAL K39f := .0 ;
+REAL K40f := .0 ;
+REAL K41f := .0 ;
+REAL MKNat ; ! Average Weight Ratio
+
+
+IF LibType 'JEFF31' = LibType 'JEFF311' = +
+ LibType 'JEFF312' = +
+ LibType 'ENDFVII0' = + LibType 'ENDFVII1' = + THEN
+
+ EVALUATE K39f := .9326 ;
+ EVALUATE K40f := .0001167 ;
+ EVALUATE K41f := .0673 ;
+
+*---- KNat Average Weight Ratio ----
+ EVALUATE MKNat := k39 K39f * k40 K40f * + k41 K41f * + ;
+
+ ECHO "Masse molaire du potassium " MKNat ;
+
+ELSE ! JEF22, ENDFVI8, CEA514T2 CLA99CEA93
+
+ EVALUATE MKNat := kNat ;
+
+ENDIF ;
+
+*---- KNat Table Creation ----
+KNat := UTL: :: CREA 'AvgMolM ' 1 = <<MKNat>> ;
+KNat := UTL: KNat :: CREA 'K39frIso' 1 = <<K39f>> ;
+KNat := UTL: KNat :: CREA 'K40frIso' 1 = <<K40f>> ;
+KNat := UTL: KNat :: CREA 'K41frIso' 1 = <<K41f>> ;
+
+
+*------------------------------------------------------
+* SNat : Natural Sulfur
+* Reference : www.wikipedia.org/wiki/Soufre
+* Isotopic Composition : S32 0.9502
+* S33 0.0076
+* S34 0.0422
+* NB: pas de S33 et S34 dans ENDFBVI8
+* Pour S34 dans ENDFVI8, on reporte les
+* fractions atomiques sur S32 (premier isotope pair defini
+* dans ces bibliotheques)
+*------------------------------------------------------
+
+REAL S32f := .0 ;
+REAL S33f := .0 ;
+REAL S34f := .0 ;
+
+REAL MSNat ; ! Average Weight Ratio
+ECHO "libtype:" LibType ;
+IF LibType 'JEFF31' = LibType 'JEFF311' = +
+ LibType 'JEFF312' = + LibType 'JEFF22' = +
+ LibType 'ENDFVII0' = + LibType 'ENDFVII1' = + THEN
+
+ EVALUATE S32f := .9502 ;
+ EVALUATE S33f := .0076 ;
+ EVALUATE S34f := .0422 ;
+
+*---- SNat Average Weight Ratio ----
+ EVALUATE MSNat := S32f s32 * S33f s33 * + ;
+ EVALUATE MSNat := MSNat S34f s34 * + ;
+
+ELSE ! ENDFVI8, CEA514T2 CLA99CEA93
+
+ EVALUATE S32f := .9924 ;
+
+ *---- SnNat Average Weight Ratio ----
+ EVALUATE MSNat := s32 S32f * ;
+
+ENDIF ;
+
+*---- SNat Table Creation ----
+SNat := UTL: :: CREA 'AvgMolM ' 1 = <<MSNat>> ;
+SNat := UTL: SNat :: CREA 'S32frIso' 1 = <<S32f>> ;
+SNat := UTL: SNat :: CREA 'S33frIso' 1 = <<S33f>> ;
+SNat := UTL: SNat :: CREA 'S34frIso' 1 = <<S34f>> ;
+
+*------------------------------------------------------
+* InNat : Natural Indium
+* Reference : www.webelements.com/indium/isotopes.html
+* Isotopic Composition : In115 0.9571
+* In113 0.0429
+* NB : In113 non disponible. On considere que
+* l'InNat correspond a 100% de In115
+*------------------------------------------------------
+REAL In113f := 0. ;
+REAL In115f := 1. ;
+REAL MInNat ; ! Average Weight Ratio
+
+*---- SNat Average Weight Ratio ----
+EVALUATE MInNat := In115f in115 * ;
+
+*---- InNat Table Creation ----
+InNat := UTL: :: CREA 'AvgMolM ' 1 = <<MInNat>> ;
+InNat := UTL: InNat :: CREA 'In115frIso' 1 = <<In115f>> ;
+InNat := UTL: InNat :: CREA 'In113frIso' 1 = <<In113f>> ;
+
+*------------------------------------------------------
+* Zirc4 : Zircalloy4
+* Massic Composition : FeNat .002
+* CrNat .001
+* 016 .001
+* ZrNat .981
+* SnNat .015
+*------------------------------------------------------
+REAL FeZ4f := .002 ;
+REAL CrZ4f := .001 ;
+REAL O16Z4f := .001 ;
+REAL ZrZ4f := .981 ;
+REAL SnZ4f := .015 ;
+
+REAL Zr90Z4f Zr91Z4f Zr92Z4f Zr93Z4f
+ Zr94Z4f Zr95Z4f Zr96Z4f ;
+REAL Fe54Z4f Fe56Z4f Fe57Z4f Fe58Z4f ;
+REAL Cr50Z4f Cr52Z4f Cr53Z4f Cr54Z4f ;
+REAL Sn112Z4f Sn114Z4f Sn115Z4f Sn116Z4f Sn117Z4f
+ Sn118Z4f Sn119Z4f Sn120Z4f Sn122Z4f Sn124Z4f ;
+
+*---- Mass Ratios -> Isotopic Ratios ----
+EVALUATE FeZ4f := FeZ4f avo_conc * MFeNat / ;
+EVALUATE CrZ4f := CrZ4f avo_conc * MCrNat / ;
+EVALUATE O16Z4f := O16Z4f avo_conc * o16 / ;
+EVALUATE ZrZ4f := ZrZ4f avo_conc * MZrNat / ;
+EVALUATE SnZ4f := SnZ4f avo_conc * MSnNat / ;
+
+EVALUATE ReNorm := FeZ4f CrZ4f + O16Z4f + ZrZ4f + SnZ4f + ;
+
+EVALUATE FeZ4f := FeZ4f ReNorm / ;
+EVALUATE CrZ4f := CrZ4f ReNorm / ;
+EVALUATE O16Z4f := O16Z4f ReNorm / ;
+EVALUATE ZrZ4f := ZrZ4f ReNorm / ;
+EVALUATE SnZ4f := SnZ4f ReNorm / ;
+
+*---- Zirc4 Average Weight Ratio ---
+REAL MZirc4 ; ! Average Weight Ratio
+EVALUATE MZirc4 := FeZ4f MFeNat * CrZ4f MCrNat * +
+ O16Z4f o16 * + ZrZ4f MZrNat * +
+ SnZ4f MSnNat * + ;
+
+ECHO "Masse molaire du zircaloy " MZirc4 ;
+
+*---- Isotopic Ratios for all Zr, Fe, Cr & Sn ----
+* Rq : si les isotopes n'existent pas ce n'est pas grave,
+* leur valeur sera egale a 0. dans tous les calculs
+* et leur appel sera commente dans l'appel a LIB de
+* la procedure CreaMix.c2m. Leur presence n'a aucune
+* influence sur les calculs du fait de leur valeur = 0.
+*-------------------------------------------------
+EVALUATE Zr90Z4f := ZrZ4f Zr90f * ;
+EVALUATE Zr91Z4f := ZrZ4f Zr91f * ;
+EVALUATE Zr92Z4f := ZrZ4f Zr92f * ;
+EVALUATE Zr93Z4f := ZrZ4f Zr93f * ;
+EVALUATE Zr94Z4f := ZrZ4f Zr94f * ;
+EVALUATE Zr95Z4f := ZrZ4f Zr95f * ;
+EVALUATE Zr96Z4f := ZrZ4f Zr96f * ;
+
+EVALUATE Fe54Z4f := FeZ4f Fe54f * ;
+EVALUATE Fe56Z4f := FeZ4f Fe56f * ;
+EVALUATE Fe57Z4f := FeZ4f Fe57f * ;
+EVALUATE Fe58Z4f := FeZ4f Fe58f * ;
+
+EVALUATE Cr50Z4f := CrZ4f Cr50f * ;
+EVALUATE Cr52Z4f := CrZ4f Cr52f * ;
+EVALUATE Cr53Z4f := CrZ4f Cr53f * ;
+EVALUATE Cr54Z4f := CrZ4f Cr54f * ;
+
+EVALUATE Sn112Z4f := SnZ4f Sn112f * ;
+EVALUATE Sn114Z4f := SnZ4f Sn114f * ;
+EVALUATE Sn115Z4f := SnZ4f Sn115f * ;
+EVALUATE Sn116Z4f := SnZ4f Sn116f * ;
+EVALUATE Sn117Z4f := SnZ4f Sn117f * ;
+EVALUATE Sn118Z4f := SnZ4f Sn118f * ;
+EVALUATE Sn119Z4f := SnZ4f Sn119f * ;
+EVALUATE Sn120Z4f := SnZ4f Sn120f * ;
+EVALUATE Sn122Z4f := SnZ4f Sn122f * ;
+EVALUATE Sn124Z4f := SnZ4f Sn124f * ;
+
+*---- Zirc4 Table Creation ----
+
+Zirc4 := UTL: :: CREA 'AvgMolM ' 1 = <<MZirc4>> ;
+Zirc4 := UTL: Zirc4 :: CREA 'O16Z4frIso ' 1 = <<O16Z4f>> ;
+Zirc4 := UTL: Zirc4 :: CREA 'Fe54Z4frIso ' 1 = <<Fe54Z4f>> ;
+Zirc4 := UTL: Zirc4 :: CREA 'Fe56Z4frIso ' 1 = <<Fe56Z4f>> ;
+Zirc4 := UTL: Zirc4 :: CREA 'Fe57Z4frIso ' 1 = <<Fe57Z4f>> ;
+Zirc4 := UTL: Zirc4 :: CREA 'Fe58Z4frIso ' 1 = <<Fe58Z4f>> ;
+Zirc4 := UTL: Zirc4 :: CREA 'Cr50Z4frIso ' 1 = <<Cr50Z4f>> ;
+Zirc4 := UTL: Zirc4 :: CREA 'Cr52Z4frIso ' 1 = <<Cr52Z4f>> ;
+Zirc4 := UTL: Zirc4 :: CREA 'Cr53Z4frIso ' 1 = <<Cr53Z4f>> ;
+Zirc4 := UTL: Zirc4 :: CREA 'Cr54Z4frIso ' 1 = <<Cr54Z4f>> ;
+Zirc4 := UTL: Zirc4 :: CREA 'ZrNatfrIso ' 1 = <<ZrZ4f>> ;
+Zirc4 := UTL: Zirc4 :: CREA 'Zr90Z4frIso ' 1 = <<Zr90Z4f>> ;
+Zirc4 := UTL: Zirc4 :: CREA 'Zr91Z4frIso ' 1 = <<Zr91Z4f>> ;
+Zirc4 := UTL: Zirc4 :: CREA 'Zr92Z4frIso ' 1 = <<Zr92Z4f>> ;
+Zirc4 := UTL: Zirc4 :: CREA 'Zr93Z4frIso ' 1 = <<Zr93Z4f>> ;
+Zirc4 := UTL: Zirc4 :: CREA 'Zr94Z4frIso ' 1 = <<Zr94Z4f>> ;
+Zirc4 := UTL: Zirc4 :: CREA 'Zr95Z4frIso ' 1 = <<Zr95Z4f>> ;
+Zirc4 := UTL: Zirc4 :: CREA 'Zr96Z4frIso ' 1 = <<Zr96Z4f>> ;
+Zirc4 := UTL: Zirc4 :: CREA 'Sn112Z4frIso' 1 = <<Sn112Z4f>> ;
+Zirc4 := UTL: Zirc4 :: CREA 'Sn114Z4frIso' 1 = <<Sn114Z4f>> ;
+Zirc4 := UTL: Zirc4 :: CREA 'Sn115Z4frIso' 1 = <<Sn115Z4f>> ;
+Zirc4 := UTL: Zirc4 :: CREA 'Sn116Z4frIso' 1 = <<Sn116Z4f>> ;
+Zirc4 := UTL: Zirc4 :: CREA 'Sn117Z4frIso' 1 = <<Sn117Z4f>> ;
+Zirc4 := UTL: Zirc4 :: CREA 'Sn118Z4frIso' 1 = <<Sn118Z4f>> ;
+Zirc4 := UTL: Zirc4 :: CREA 'Sn119Z4frIso' 1 = <<Sn119Z4f>> ;
+Zirc4 := UTL: Zirc4 :: CREA 'Sn120Z4frIso' 1 = <<Sn120Z4f>> ;
+Zirc4 := UTL: Zirc4 :: CREA 'Sn122Z4frIso' 1 = <<Sn122Z4f>> ;
+Zirc4 := UTL: Zirc4 :: CREA 'Sn124Z4frIso' 1 = <<Sn124Z4f>> ;
+
+*------------------------------------------------------
+* Incon : Inconel - AFA 2G
+* Massic Composition : NiNat .5250
+* CrNat .1900
+* FeNat .1823
+* BNatB .00003
+* Al27 .0050
+* Mo95 .0305
+* TiNat .0088
+* SiNat .0018
+* Co59 .0005
+* Mn55 .0018
+* Nb93 .05175
+* (&IMPU .00252)
+*------------------------------------------------------
+REAL NiIncf := .5250 ;
+REAL CrIncf := .1900 ;
+REAL FeIncf := .1823 ;
+REAL BIncf := .00003 ;
+REAL AlIncf := .0050 ;
+REAL MoIncf := .0305 ;
+REAL TiIncf := .0088 ;
+REAL SiIncf := .0018 ;
+REAL CoIncf := .0005 ;
+REAL MnIncf := .0018 ;
+REAL NbIncf := .05175 ;
+
+REAL Ni58Inf Ni60Inf Ni61Inf Ni62Inf Ni64Inf ;
+REAL Cr50Inf Cr52Inf Cr53Inf Cr54Inf ;
+REAL Fe54Inf Fe56Inf Fe57Inf Fe58Inf ;
+REAL Ti46Inf Ti47Inf Ti48Inf Ti49Inf Ti50Inf ;
+REAL Si28Inf Si29Inf Si30Inf ;
+REAL B10Inf B11Inf ;
+
+*---- Fraction Sum ----
+EVALUATE SumFr := NiIncf CrIncf + FeIncf + BIncf + AlIncf + MoIncf + ;
+EVALUATE SumFr := SumFr TiIncf + SiIncf + CoIncf + MnIncf + NbIncf + ;
+
+*---- Mass Ratios -> Isotopic Ratios ----
+EVALUATE NiIncf := NiIncf avo_conc * MNiNat / ;
+EVALUATE CrIncf := CrIncf avo_conc * MCrNat / ;
+EVALUATE FeIncf := FeIncf avo_conc * MFeNat / ;
+EVALUATE BIncf := BIncf avo_conc * MBNat / ;
+EVALUATE AlIncf := AlIncf avo_conc * al27 / ;
+EVALUATE MoIncf := MoIncf avo_conc * mo95 / ;
+EVALUATE TiIncf := TiIncf avo_conc * MTiNat / ;
+EVALUATE SiIncf := SiIncf avo_conc * MSiNat / ;
+EVALUATE CoIncf := CoIncf avo_conc * co59 / ;
+EVALUATE MnIncf := MnIncf avo_conc * mn55 / ;
+EVALUATE NbIncf := NbIncf avo_conc * nb93 / ;
+
+EVALUATE ReNorm := NiIncf CrIncf + FeIncf + BIncf + AlIncf + MoIncf + ;
+EVALUATE ReNorm := ReNorm TiIncf + SiIncf + CoIncf + MnIncf + NbIncf + ;
+EVALUATE ReNorm := ReNorm SumFr / ;
+
+EVALUATE NiIncf := NiIncf ReNorm / ;
+EVALUATE CrIncf := CrIncf ReNorm / ;
+EVALUATE FeIncf := FeIncf ReNorm / ;
+EVALUATE BIncf := BIncf ReNorm / ;
+EVALUATE AlIncf := AlIncf ReNorm / ;
+EVALUATE MoIncf := MoIncf ReNorm / ;
+EVALUATE TiIncf := TiIncf ReNorm / ;
+EVALUATE SiIncf := SiIncf ReNorm / ;
+EVALUATE CoIncf := CoIncf ReNorm / ;
+EVALUATE MnIncf := MnIncf ReNorm / ;
+EVALUATE NbIncf := NbIncf ReNorm / ;
+
+*---- Isotopic Ratios for all Ni, Cr, Fe & B ----
+EVALUATE Ni58Inf := Ni58f NiIncf * ;
+EVALUATE Ni60Inf := Ni60f NiIncf * ;
+EVALUATE Ni61Inf := Ni61f NiIncf * ;
+EVALUATE Ni62Inf := Ni62f NiIncf * ;
+EVALUATE Ni64Inf := Ni64f NiIncf * ;
+
+EVALUATE Ti46Inf := Ti46f TiIncf * ;
+EVALUATE Ti47Inf := Ti47f TiIncf * ;
+EVALUATE Ti48Inf := Ti48f TiIncf * ;
+EVALUATE Ti49Inf := Ti49f TiIncf * ;
+EVALUATE Ti50Inf := Ti50f TiIncf * ;
+
+EVALUATE Si28Inf := Si28f SiIncf * ;
+EVALUATE Si29Inf := Si29f SiIncf * ;
+EVALUATE Si30Inf := Si30f SiIncf * ;
+
+EVALUATE Cr50Inf := Cr50f CrIncf * ;
+EVALUATE Cr52Inf := Cr52f CrIncf * ;
+EVALUATE Cr53Inf := Cr53f CrIncf * ;
+EVALUATE Cr54Inf := Cr54f CrIncf * ;
+
+EVALUATE Fe54Inf := Fe54f FeIncf * ;
+EVALUATE Fe56Inf := Fe56f FeIncf * ;
+EVALUATE Fe57Inf := Fe57f FeIncf * ;
+EVALUATE Fe58Inf := Fe58f FeIncf * ;
+
+EVALUATE B10Inf := B10f BIncf * ;
+EVALUATE B11Inf := B11f BIncf * ;
+
+*---- Inconel Average Weight Ratio ---
+REAL MIncon ; ! Average Weight Ratio
+EVALUATE MIncon := NiIncf MNiNat * CrIncf MCrNat * +
+ FeIncf MFeNat * + BIncf MBNat * +
+ AlIncf al27 * + MoIncf mo95 * +
+ TiIncf MTiNat * + SiIncf MSiNat * +
+ CoIncf co59 * + MnIncf mn55 * +
+ NbIncf nb93 * + ;
+
+ECHO "Masse molaire de l'inconel " MIncon ;
+
+*---- Due to &IMPU, fractions are summing to "1-&IMPU".
+* These fractions are stored, as they represent the correct proportion.
+* MIncon however has to be renormalized so that fractions are summing to 1. ----
+EVALUATE MIncon := MIncon SumFr / ;
+
+*---- Incon Table Creation ----
+
+Incon := UTL: :: CREA 'AvgMolM ' 1 = <<MIncon>> ;
+Incon := UTL: Incon :: CREA 'B10InfrIso ' 1 = <<B10Inf>> ;
+Incon := UTL: Incon :: CREA 'B11InfrIso ' 1 = <<B11Inf>> ;
+Incon := UTL: Incon :: CREA 'Al27InfrIso ' 1 = <<AlIncf>> ;
+Incon := UTL: Incon :: CREA 'SiNatInfrIso' 1 = <<SiIncf>> ;
+Incon := UTL: Incon :: CREA 'Si28InfrIso ' 1 = <<Si28Inf>> ;
+Incon := UTL: Incon :: CREA 'Si29InfrIso ' 1 = <<Si29Inf>> ;
+Incon := UTL: Incon :: CREA 'Si30InfrIso ' 1 = <<Si30Inf>> ;
+Incon := UTL: Incon :: CREA 'TiNatInfrIso' 1 = <<TiIncf>> ;
+Incon := UTL: Incon :: CREA 'Ti46InfrIso ' 1 = <<Ti46Inf>> ;
+Incon := UTL: Incon :: CREA 'Ti47InfrIso ' 1 = <<Ti47Inf>> ;
+Incon := UTL: Incon :: CREA 'Ti48InfrIso ' 1 = <<Ti48Inf>> ;
+Incon := UTL: Incon :: CREA 'Ti49InfrIso ' 1 = <<Ti49Inf>> ;
+Incon := UTL: Incon :: CREA 'Ti50InfrIso ' 1 = <<Ti50Inf>> ;
+Incon := UTL: Incon :: CREA 'Cr50InfrIso ' 1 = <<Cr50Inf>> ;
+Incon := UTL: Incon :: CREA 'Cr52InfrIso ' 1 = <<Cr52Inf>> ;
+Incon := UTL: Incon :: CREA 'Cr53InfrIso ' 1 = <<Cr53Inf>> ;
+Incon := UTL: Incon :: CREA 'Cr54InfrIso ' 1 = <<Cr54Inf>> ;
+Incon := UTL: Incon :: CREA 'Mn55InfrIso ' 1 = <<MnIncf>> ;
+Incon := UTL: Incon :: CREA 'Fe54InfrIso ' 1 = <<Fe54Inf>> ;
+Incon := UTL: Incon :: CREA 'Fe56InfrIso ' 1 = <<Fe56Inf>> ;
+Incon := UTL: Incon :: CREA 'Fe57InfrIso ' 1 = <<Fe57Inf>> ;
+Incon := UTL: Incon :: CREA 'Fe58InfrIso ' 1 = <<Fe58Inf>> ;
+Incon := UTL: Incon :: CREA 'Co59InfrIso ' 1 = <<CoIncf>> ;
+Incon := UTL: Incon :: CREA 'Ni58InfrIso ' 1 = <<Ni58Inf>> ;
+Incon := UTL: Incon :: CREA 'Ni60InfrIso ' 1 = <<Ni60Inf>> ;
+Incon := UTL: Incon :: CREA 'Ni61InfrIso ' 1 = <<Ni61Inf>> ;
+Incon := UTL: Incon :: CREA 'Ni62InfrIso ' 1 = <<Ni62Inf>> ;
+Incon := UTL: Incon :: CREA 'Ni64InfrIso ' 1 = <<Ni64Inf>> ;
+Incon := UTL: Incon :: CREA 'Nb93InfrIso ' 1 = <<NbIncf>> ;
+Incon := UTL: Incon :: CREA 'Mo95InfrIso ' 1 = <<MoIncf>> ;
+
+*------------------------------------------------------
+* SS304 : control rod clad -- Stainless Steel
+* Massic Composition : FeNat .706
+* NiNat .100
+* CrNat .180
+* Mn55 .010
+* SiNat .004
+*------------------------------------------------------
+REAL FeSSf := .706 ;
+REAL NiSSf := .100 ;
+REAL CrSSf := .180 ;
+REAL MnSSf := .010 ;
+REAL SiSSf := .004 ;
+
+REAL Fe54SSf Fe56SSf Fe57SSf Fe58SSf ;
+REAL Ni58SSf Ni60SSf Ni61SSf Ni62SSf Ni64SSf ;
+REAL Cr50SSf Cr52SSf Cr53SSf Cr54SSf ;
+REAL Si28SSf Si29SSf Si30SSf ;
+
+*---- Mass Ratios -> Isotopic Ratios ----
+EVALUATE FeSSf := FeSSf avo_conc * MFeNat / ;
+EVALUATE NiSSf := NiSSf avo_conc * MNiNat / ;
+EVALUATE CrSSf := CrSSf avo_conc * MCrNat / ;
+EVALUATE MnSSf := MnSSf avo_conc * mn55 / ;
+EVALUATE SiSSf := SiSSf avo_conc * MSiNat / ;
+
+EVALUATE ReNorm := FeSSf NiSSf + CrSSf + MnSSf + SiSSf + ;
+
+EVALUATE FeSSf := FeSSf ReNorm / ;
+EVALUATE NiSSf := NiSSf ReNorm / ;
+EVALUATE CrSSf := CrSSf ReNorm / ;
+EVALUATE MnSSf := MnSSf ReNorm / ;
+EVALUATE SiSSf := SiSSf ReNorm / ;
+
+*---- SS304 Average Weight Ratio ---
+REAL MSS304 ; ! Average Weight Ratio
+EVALUATE MSS304 := FeSSf MFeNat * NiSSf MNiNat * +
+ CrSSf MCrNat * + MnSSf mn55 * +
+ SiSSf MSiNat * + ;
+
+ECHO "Masse molaire du SS304 " MSS304 ;
+
+*---- Isotopic Ratios for all Fe, Ni & Cr ----
+EVALUATE Fe54SSf := FeSSf Fe54f * ;
+EVALUATE Fe56SSf := FeSSf Fe56f * ;
+EVALUATE Fe57SSf := FeSSf Fe57f * ;
+EVALUATE Fe58SSf := FeSSf Fe58f * ;
+
+EVALUATE Ni58SSf := NiSSf Ni58f * ;
+EVALUATE Ni60SSf := NiSSf Ni60f * ;
+EVALUATE Ni61SSf := NiSSf Ni61f * ;
+EVALUATE Ni62SSf := NiSSf Ni62f * ;
+EVALUATE Ni64SSf := NiSSf Ni64f * ;
+
+EVALUATE Cr50SSf := CrSSf Cr50f * ;
+EVALUATE Cr52SSf := CrSSf Cr52f * ;
+EVALUATE Cr53SSf := CrSSf Cr53f * ;
+EVALUATE Cr54SSf := CrSSf Cr54f * ;
+
+EVALUATE Si28SSf := SiSSf Si28f * ;
+EVALUATE Si29SSf := SiSSf Si29f * ;
+EVALUATE Si30SSf := SiSSf Si30f * ;
+
+*---- SS304 Table Creation ----
+
+* Isotopes non conflictuels
+SS304 := UTL: :: CREA 'AvgMolM ' 1 = <<MSS304>> ;
+SS304 := UTL: SS304 :: CREA 'SiNatSSfrIso' 1 = <<SiSSf>> ;
+SS304 := UTL: SS304 :: CREA 'Si28SSfrIso ' 1 = <<Si28SSf>> ;
+SS304 := UTL: SS304 :: CREA 'Si29SSfrIso ' 1 = <<Si29SSf>> ;
+SS304 := UTL: SS304 :: CREA 'Si30SSfrIso ' 1 = <<Si30SSf>> ;
+SS304 := UTL: SS304 :: CREA 'Fe54SSfrIso ' 1 = <<Fe54SSf>> ;
+SS304 := UTL: SS304 :: CREA 'Fe56SSfrIso ' 1 = <<Fe56SSf>> ;
+SS304 := UTL: SS304 :: CREA 'Fe57SSfrIso ' 1 = <<Fe57SSf>> ;
+SS304 := UTL: SS304 :: CREA 'Fe58SSfrIso ' 1 = <<Fe58SSf>> ;
+SS304 := UTL: SS304 :: CREA 'Ni58SSfrIso ' 1 = <<Ni58SSf>> ;
+SS304 := UTL: SS304 :: CREA 'Ni60SSfrIso ' 1 = <<Ni60SSf>> ;
+SS304 := UTL: SS304 :: CREA 'Ni61SSfrIso ' 1 = <<Ni61SSf>> ;
+SS304 := UTL: SS304 :: CREA 'Ni62SSfrIso ' 1 = <<Ni62SSf>> ;
+SS304 := UTL: SS304 :: CREA 'Ni64SSfrIso ' 1 = <<Ni64SSf>> ;
+SS304 := UTL: SS304 :: CREA 'Cr50SSfrIso ' 1 = <<Cr50SSf>> ;
+SS304 := UTL: SS304 :: CREA 'Cr52SSfrIso ' 1 = <<Cr52SSf>> ;
+SS304 := UTL: SS304 :: CREA 'Cr53SSfrIso ' 1 = <<Cr53SSf>> ;
+SS304 := UTL: SS304 :: CREA 'Cr54SSfrIso ' 1 = <<Cr54SSf>> ;
+SS304 := UTL: SS304 :: CREA 'Mn55SSfrIso ' 1 = <<MnSSf>> ;
+
+*------------------------------------------------------
+* M5
+* Ref: C. Lemaignan "Zirconium Alloys: Properties
+* and Characteristics"
+* Massic Composition : FeNat .00050
+* O16 .00135
+* ZrNat .98813
+* Nb93 .01000
+* SNat .00002
+*------------------------------------------------------
+REAL FeM5f := 0.00050 ;
+REAL O16M5f := 0.00135 ;
+REAL ZrM5f := 0.98813 ;
+REAL Nb93M5f := 0.01000 ;
+REAL SM5f := 0.00002 ;
+
+REAL Zr90M5f Zr91M5f Zr92M5f Zr93M5f Zr94M5f Zr95M5f Zr96M5f ;
+REAL Fe54M5f Fe56M5f Fe57M5f Fe58M5f ;
+REAL S32M5f S33M5f S34M5f ;
+
+*---- Mass Ratios -> Isotopic Ratios ----
+EVALUATE FeM5f := FeM5f avo_conc * MFeNat / ;
+EVALUATE O16M5f := O16M5f avo_conc * o16 / ;
+EVALUATE ZrM5f := ZrM5f avo_conc * MZrNat / ;
+EVALUATE Nb93M5f := Nb93M5f avo_conc * nb93 / ;
+EVALUATE SM5f := SM5f avo_conc * MSNat / ;
+
+EVALUATE ReNorm := FeM5f O16M5f + ZrM5f + Nb93M5f + SM5f + ;
+
+EVALUATE FeM5f := FeM5f ReNorm / ;
+EVALUATE O16M5f := O16M5f ReNorm / ;
+EVALUATE ZrM5f := ZrM5f ReNorm / ;
+EVALUATE Nb93M5f := Nb93M5f ReNorm / ;
+EVALUATE SM5f := SM5f ReNorm / ;
+
+*---- M5 Average Weight Ratio ----
+REAL MM5 ; ! Average Weight Ratio
+EVALUATE MM5 := FeM5f MFeNat * O16M5f o16 * + ;
+EVALUATE MM5 := MM5 ZrM5f MZrNat * + Nb93M5f nb93 * + ;
+EVALUATE MM5 := MM5 SM5f MSNat * + ;
+
+*---- Isotopic Ratios for all Zr & Fe & S ----
+EVALUATE Zr90M5f := ZrM5f Zr90f * ;
+EVALUATE Zr91M5f := ZrM5f Zr91f * ;
+EVALUATE Zr92M5f := ZrM5f Zr92f * ;
+EVALUATE Zr93M5f := ZrM5f Zr93f * ;
+EVALUATE Zr94M5f := ZrM5f Zr94f * ;
+EVALUATE Zr95M5f := ZrM5f Zr95f * ;
+EVALUATE Zr96M5f := ZrM5f Zr96f * ;
+
+EVALUATE Fe54M5f := FeM5f Fe54f * ;
+EVALUATE Fe56M5f := FeM5f Fe56f * ;
+EVALUATE Fe57M5f := FeM5f Fe57f * ;
+EVALUATE Fe58M5f := FeM5f Fe58f * ;
+
+EVALUATE S32M5f := SM5f S32f * ;
+EVALUATE S33M5f := SM5f S33f * ;
+EVALUATE S34M5f := SM5f S34f * ;
+
+*---- M5 Table Creation ----
+M5 := UTL: :: CREA 'AvgMolM ' 1 = <<MM5>> ;
+M5 := UTL: M5 :: CREA 'Fe54M5frIso' 1 = <<Fe54M5f>> ;
+M5 := UTL: M5 :: CREA 'Fe56M5frIso' 1 = <<Fe56M5f>> ;
+M5 := UTL: M5 :: CREA 'Fe57M5frIso' 1 = <<Fe57M5f>> ;
+M5 := UTL: M5 :: CREA 'Fe58M5frIso' 1 = <<Fe58M5f>> ;
+M5 := UTL: M5 :: CREA 'O16M5frIso ' 1 = <<O16M5f>> ;
+M5 := UTL: M5 :: CREA 'ZrM5frIso ' 1 = <<ZrM5f>> ;
+M5 := UTL: M5 :: CREA 'Zr90M5frIso' 1 = <<Zr90M5f>> ;
+M5 := UTL: M5 :: CREA 'Zr91M5frIso' 1 = <<Zr91M5f>> ;
+M5 := UTL: M5 :: CREA 'Zr92M5frIso' 1 = <<Zr92M5f>> ;
+M5 := UTL: M5 :: CREA 'Zr93M5frIso' 1 = <<Zr93M5f>> ;
+M5 := UTL: M5 :: CREA 'Zr94M5frIso' 1 = <<Zr94M5f>> ;
+M5 := UTL: M5 :: CREA 'Zr95M5frIso' 1 = <<Zr95M5f>> ;
+M5 := UTL: M5 :: CREA 'Zr96M5frIso' 1 = <<Zr96M5f>> ;
+M5 := UTL: M5 :: CREA 'Nb93M5frIso' 1 = <<Nb93M5f>> ;
+M5 := UTL: M5 :: CREA 'S32M5frIso ' 1 = <<S32M5f>> ;
+M5 := UTL: M5 :: CREA 'S33M5frIso ' 1 = <<S33M5f>> ;
+M5 := UTL: M5 :: CREA 'S34M5frIso ' 1 = <<S34M5f>> ;
+
+*------------------------------------------------------
+* AIC : control rod neutron absorber -- AgInCd
+* Massic Composition : AgNat .80611
+* CdNat .04909
+* In115 (1-(Ag+Cd))
+* Dans le cas de ENDFVI8 : In115 est en realite InNat
+*------------------------------------------------------
+REAL AgAICf := .80611 ;
+REAL CdAICf := .04909 ;
+REAL InAICf := 1. AgAICf - CdAICf - ;
+
+REAL Ag107AICf Ag109AICf ;
+REAL Cd106AICf Cd108AICf Cd110AICf Cd111AICf Cd112AICf Cd113AICf ;
+REAL Cd114AICf Cd116AICf ;
+REAL In115AICf In113AICf ;
+
+*---- Mass Ratios -> Isotopic Ratios ----
+EVALUATE AgAICf := AgAICf avo_conc * MAgNat / ;
+EVALUATE CdAICf := CdAICf avo_conc * MCdNat / ;
+*EVALUATE InAICf := InAICf avo_conc * in115 / ;
+EVALUATE InAICf := InAICf avo_conc * MInNat / ;
+
+EVALUATE ReNorm := AgAICf CdAICf + InAICf + ;
+
+EVALUATE AgAICf := AgAICf ReNorm / ;
+EVALUATE CdAICf := CdAICf ReNorm / ;
+EVALUATE InAICf := InAICf ReNorm / ;
+
+*---- AIC Average Weight Ratio ---
+REAL MAIC ; ! Average Weight Ratio
+EVALUATE MAIC := AgAICf MAgNat * CdAICf MCdNat * + ;
+*EVALUATE MAIC := MAIC InAICf in115 * + ;
+EVALUATE MAIC := MAIC InAICf MInNat * + ;
+
+*---- Isotopic Ratios for all Ag & Cd ----
+EVALUATE Ag107AICf := AgAICf Ag107f * ;
+EVALUATE Ag109AICf := AgAICf Ag109f * ;
+
+EVALUATE Cd106AICf := CdAICf Cd106f * ;
+EVALUATE Cd108AICf := CdAICf Cd108f * ;
+EVALUATE Cd110AICf := CdAICf Cd110f * ;
+EVALUATE Cd111AICf := CdAICf Cd111f * ;
+EVALUATE Cd112AICf := CdAICf Cd112f * ;
+EVALUATE Cd113AICf := CdAICf Cd113f * ;
+EVALUATE Cd114AICf := CdAICf Cd114f * ;
+EVALUATE Cd116AICf := CdAICf Cd116f * ;
+
+EVALUATE In115AICf := InAICf In115f * ;
+EVALUATE In113AICf := InAICf In113f * ;
+
+*---- AIC Table Creation ----
+AIC := UTL: :: CREA 'AvgMolM ' 1 = <<MAIC>> ;
+AIC := UTL: AIC :: CREA 'Ag107AICfIso' 1 = <<Ag107AICf>> ;
+AIC := UTL: AIC :: CREA 'Ag109AICfIso' 1 = <<Ag109AICf>> ;
+AIC := UTL: AIC :: CREA 'Cd106AICfIso' 1 = <<Cd106AICf>> ;
+AIC := UTL: AIC :: CREA 'Cd108AICfIso' 1 = <<Cd108AICf>> ;
+AIC := UTL: AIC :: CREA 'Cd110AICfIso' 1 = <<Cd110AICf>> ;
+AIC := UTL: AIC :: CREA 'Cd111AICfIso' 1 = <<Cd111AICf>> ;
+AIC := UTL: AIC :: CREA 'Cd112AICfIso' 1 = <<Cd112AICf>> ;
+AIC := UTL: AIC :: CREA 'Cd113AICfIso' 1 = <<Cd113AICf>> ;
+AIC := UTL: AIC :: CREA 'Cd114AICfIso' 1 = <<Cd114AICf>> ;
+AIC := UTL: AIC :: CREA 'Cd116AICfIso' 1 = <<Cd116AICf>> ;
+AIC := UTL: AIC :: CREA 'In115AICfIso' 1 = <<In115AICf>> ;
+AIC := UTL: AIC :: CREA 'In113AICfIso' 1 = <<In113AICf>> ;
+
+*------------------------------------------------------
+* GdNat : Natural Gadolinium
+* Isotopic Composition : Gd152 .002 ***
+* Gd154 .021 ***
+* Gd155 .148
+* Gd156 .206
+* Gd157 .157
+* Gd158 .248
+* Gd160 .218
+*
+* *** : Gd152 is not available. It is replaced by Gd154
+* which has relatively close enough neutronic properties
+*
+* => Gd152 .000
+* => Gd154 .023
+*------------------------------------------------------
+*REAL Gd152f := .000 ;
+REAL Gd154f := .023 ;
+REAL Gd155f := .148 ;
+REAL Gd156f := .206 ;
+REAL Gd157f := .157 ;
+REAL Gd158f := .248 ;
+REAL Gd160f := .218 ;
+
+*---- GdNat Average Weight Ratio ----
+REAL MGdNat ; ! Average Weight Ratio
+EVALUATE MGdNat := gd154 Gd154f * gd155 Gd155f * + ;
+EVALUATE MGdNat := MGdNat gd156 Gd156f * + gd157 Gd157f * + ;
+EVALUATE MGdNat := MGdNat gd158 Gd158f * + gd160 Gd160f * + ;
+
+*---- GdNat Table Creation ----
+GdNat := UTL: :: CREA 'AvgMolM ' 1 = <<MGdNat>> ;
+GdNat := UTL: GdNat :: CREA 'Gd154frIso' 1 = <<Gd154f>> ;
+GdNat := UTL: GdNat :: CREA 'Gd155frIso' 1 = <<Gd155f>> ;
+GdNat := UTL: GdNat :: CREA 'Gd156frIso' 1 = <<Gd156f>> ;
+GdNat := UTL: GdNat :: CREA 'Gd157frIso' 1 = <<Gd157f>> ;
+GdNat := UTL: GdNat :: CREA 'Gd158frIso' 1 = <<Gd158f>> ;
+GdNat := UTL: GdNat :: CREA 'Gd160frIso' 1 = <<Gd160f>> ;
+
+*------------------------------------------------------
+* Gd2O3 : Gadolinium Oxyde
+* Isotopic Composition : GdNat 2
+* O16 3
+*------------------------------------------------------
+REAL GadOxGdf := 2. ;
+REAL GadOxOf := 3. ;
+
+REAL GadOxG4f GadOxG5f GadOxG6f GadOxG7f GadOxG8f GadOxG0f ;
+
+EVALUATE GadOxG4f := GadOxGdf Gd154f * ;
+EVALUATE GadOxG5f := GadOxGdf Gd155f * ;
+EVALUATE GadOxG6f := GadOxGdf Gd156f * ;
+EVALUATE GadOxG7f := GadOxGdf Gd157f * ;
+EVALUATE GadOxG8f := GadOxGdf Gd158f * ;
+EVALUATE GadOxG0f := GadOxGdf Gd160f * ;
+
+REAL MGd2O3 ; ! Average Weight Ratio
+EVALUATE MGd2O3 := MGdNat GadOxGdf * o16 GadOxOf * + ;
+
+*---- Gd2O3 Table Creation ----
+Gd2O3 := UTL: :: CREA 'AvgMolM ' 1 = <<MGd2O3>> ;
+Gd2O3 := UTL: Gd2O3 :: CREA 'GadOxG4frIso' 1 = <<GadOxG4f>> ;
+Gd2O3 := UTL: Gd2O3 :: CREA 'GadOxG5frIso' 1 = <<GadOxG5f>> ;
+Gd2O3 := UTL: Gd2O3 :: CREA 'GadOxG6frIso' 1 = <<GadOxG6f>> ;
+Gd2O3 := UTL: Gd2O3 :: CREA 'GadOxG7frIso' 1 = <<GadOxG7f>> ;
+Gd2O3 := UTL: Gd2O3 :: CREA 'GadOxG8frIso' 1 = <<GadOxG8f>> ;
+Gd2O3 := UTL: Gd2O3 :: CREA 'GadOxG0frIso' 1 = <<GadOxG0f>> ;
+Gd2O3 := UTL: Gd2O3 :: CREA 'GadOxOfrIso ' 1 = <<GadOxOf>> ;
+
+*------------------------------------------------------
+* B2O3 : Solid White Glass Diboron Trioxide # B
+* Quantity of BNat in B2O3 : BNatBq = 2.
+* Quantity of O16 in B2O3 : O16Bq = 3.
+*------------------------------------------------------
+REAL BNatBq := 2. ;
+REAL O16Bq := 3. ;
+*---- B2O3 Average Weight Ratio ----
+REAL MB2O3 ; ! Average Weight Ratio
+EVALUATE MB2O3 := MBNat BNatBq * o16 O16Bq * + ;
+*------------------------------------------------------
+* SiO2 : Silica Crystalline # S
+* Quantity of SiNat in SiO2 : SiNatSq = 1.
+* Quantity of O16 in SiO2 : O16Sq = 2.
+*------------------------------------------------------
+REAL SiNatSq := 1. ;
+REAL O16Sq := 2. ;
+*---- SiO2 Average Weight Ratio ----
+REAL MSiO2 ; ! Average Weight Ratio
+EVALUATE MSiO2 := MSiNat SiNatSq * o16 O16Sq * + ;
+*------------------------------------------------------
+* Al2O3 : Aluminium Oxide # A
+* Quantity of Aluminium in Al2O3 : Al27Aq = 2.
+* Quantity of O16 in Al2O3 : O16Aq = 3.
+*------------------------------------------------------
+REAL Al27Aq := 2. ;
+REAL O16Aq := 3. ;
+*---- Al2O3 Average Weight Ratio ----
+REAL MAl2O3 ; ! Average Weight Ratio
+EVALUATE MAl2O3 := al27 Al27Aq * o16 O16Aq * + ;
+*------------------------------------------------------
+* K2O : Potassium Oxide # K
+* Quantity of KNat in K2O : KNatKq = 2.
+* Quantity of O16 in K2O : O16Kq = 1.
+*------------------------------------------------------
+REAL KNatKq := 2. ;
+REAL O16Kq := 1. ;
+*---- K2O Average Weight Ratio ----
+REAL MK2O ; ! Average Weight Ratio
+EVALUATE MK2O := MKNat KNatKq * o16 O16Kq * + ;
+*------------------------------------------------------
+* Na2O : Sodium oxide # N
+* Quantity of Na23 in Na2O : Na23Nq = 2.
+* Quantity of O16 in Na2O : O16Nq = 1.
+*------------------------------------------------------
+REAL Na23Nq := 2. ;
+REAL O16Nq := 1. ;
+*---- Na2O Average Weight Ratio ----
+REAL MNa2O ; ! Average Weight Ratio
+EVALUATE MNa2O := na23 Na23Nq * o16 O16Nq * + ;
+*------------------------------------------------------
+
+END: ;
+QUIT "LIST" .
+
diff --git a/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_proc/REFL_MPO.c2m b/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_proc/REFL_MPO.c2m
new file mode 100644
index 0000000..3616cb5
--- /dev/null
+++ b/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_proc/REFL_MPO.c2m
@@ -0,0 +1,385 @@
+********************************************************************************
+* *
+* Procedure : REFL_MPO.c2m *
+* Purpose : Perform a reflector nodal equivalence and produce a MPO file *
+* Author : A. Hebert *
+* *
+* CALL : *
+* MpoRefl := REFL_MPO Geom FVol Param :: <<nameFeed>> <<nameRefl>> <<Palier>> *
+* <<htype>> <<nlf>> <<LibType>> <<NuclData>> *
+* <<OptSph>> <<OptNoal>> <<OptSS>> ; *
+* *
+* Input objects: *
+* Geom : macro-geometry LCM object *
+* FVol : volume fraction LCM object *
+* Param : feeding assembly global parameter LCM object *
+* nameFeed: MPO fine group feeding assembly file name *
+* nameRefl: MPO coarse group reflector file name *
+* Palier : type of reflector ('BEAVRS','EPR','VVER', etc.) *
+* htype : type of equivalence ('DF-NEM','DF-ANM','DF-RT','DF-RT-SPN') *
+* nlf : order of SPN approximation (odd integer). Set to 1 for *
+* diffusion theory. *
+* LibType : type of cross-section library used for the reflector *
+* NuclData: name of the cross-section library used for the reflector as *
+* set in the .access script file *
+* OptSph : 'SPH'/'NOSP' transform DF into ADF/keep DF *
+* OptNoal : 'ALBE'/'NOAL' compute albedo/force right albedo to 0 *
+* OptSS : 'TONE'/'NOSS' do/don't activate self-shielding of Fe56 and Cr52 *
+* *
+* Output objects: *
+* MpoRefl : reflector MPO file *
+* *
+********************************************************************************
+PARAMETER MpoRefl Geom FVol Param ::
+ ::: HDF5_FILE MpoRefl ;
+ ::: LINKED_LIST Geom FVol Param ; ;
+STRING nameFeed nameRefl Palier htype ;
+ :: >>nameFeed<< >>nameRefl<< >>Palier<< >>htype<< ;
+INTEGER nlf ; :: >>nlf<< ;
+STRING LibType NuclData OptSph OptNoal OptSS ;
+ :: >>LibType<< >>NuclData<< >>OptSph<< >>OptNoal<< >>OptSS<< ;
+PROCEDURE GetMolarMass MetalMix CreaDilut assertS ;
+LINKED_LIST
+ DONNEES Geom_refl LibDilut MACRO LibFuel MolarMasses FeNat CrNat SnNat
+ NiNat ZrNat TiNat SiNat BNat AgNat CdNat SNat GdNat Zirc4 Incon SS304
+ M5 KNat InNat AIC Gd2O3 Edition Multicompo TRACK TRACK_refl SYSTEM
+ FLUX TRKFIL MCompRefl GeomRefl MacrRefl MacrFuel OUTF FLX_CB1 OVAL ;
+HDF5_FILE MpoFeed :: FILE <<nameFeed>> ;
+SEQ_ASCII _FLX_CB1 :: FILE '_FLX_CB1_plot.txt' ;
+SEQ_ASCII _VAL_CB1 :: FILE '_VAL_CB1_plot.txt' ;
+MODULE
+ GEO: MCR: ASM: FLU: EDI: MPO: DELETE: UTL: HUTL: END: ABORT: MAC: SNT: TONE:
+ GREP: MSTR: BREF: VAL: ;
+INTEGER ilong nbParam ;
+STRING paramname1 paramname2 paramname3 ;
+REAL paramvalu1 paramvalu2 paramvalu3 ;
+
+*---- Raviart-Thomas options ------------------------
+INTEGER ielem := 3 ;
+INTEGER icol := 3 ;
+
+*---- Parameters -----------------------------------
+ECHO "...FVol LCM object:" ;
+UTL: FVol :: DUMP ;
+ECHO "...Param LCM object:" ;
+UTL: Param :: DUMP ;
+GREP: Param :: LENGTH 'PARAMNAME' >>nbParam<< ;
+ECHO "number of global parameters in feeding assembly=" nbParam ;
+ECHO "MPO fine group feeding assembly=" nameFeed ;
+ECHO "MPO coarse group reflector=" nameRefl ;
+IF nbParam 3 > THEN
+ ECHO "REFL_MPO: number of global parameters in feeding assembly > 3" ;
+ ABORT: ;
+ENDIF ;
+
+*---- General informations -------------------------
+*------------------------------------------------------
+ECHO "LibType=" LibType "NuclData=" NuclData ;
+
+*-------------------------------------------------------
+* Procedures: - Retrieve molar masses (GetMolarMasses)
+* - Create Metal Mixes (MetalMix)
+*---- 1) Molar Masses ----------------------------------
+MolarMasses := GetMolarMass :: <<NuclData>> <<LibType>> ;
+
+*---- 2) Metal Mixes -----------------------------------
+FeNat CrNat SnNat NiNat BNat ZrNat TiNat SiNat KNat AgNat CdNat SNat
+InNat Zirc4 Incon SS304 M5 AIC GdNat Gd2O3 := MetalMix
+MolarMasses :: <<LibType>> ;
+
+*--------------------------------------------------------------------
+*------------------------- Compute LibFuel --------------------------s
+*--------------------------------------------------------------------
+HUTL: MpoFeed :: DIR ;
+
+IF nbParam 0 = THEN
+ LibFuel := MCR: MpoFeed :: EDIT 3 MICRO NMIX 1
+ MPO MpoFeed output_0 MIX 1 ENDMIX ;
+
+ELSEIF nbParam 1 = THEN
+ GREP: Param :: STEP UP 'PARAMNAME' GETVAL 1 1 * >>paramname1<< ;
+ GREP: Param :: GETVAL 'PARAMVALU' 1 >>paramvalu1<< ;
+ ECHO "PARAMNAME(" paramname1 ")=" paramvalu1 ;
+
+ LibFuel := MCR: MpoFeed :: EDIT 3 MICRO NMIX 1
+ MPO MpoFeed output_0 MIX 1 SET <<paramname1>> <<paramvalu1>>
+ ENDMIX ;
+
+ELSEIF nbParam 2 = THEN
+ GREP: Param :: STEP UP 'PARAMNAME' GETVAL 1 1 * >>paramname1<< ;
+ GREP: Param :: GETVAL 'PARAMVALU' 1 >>paramvalu1<< ;
+ GREP: Param :: STEP UP 'PARAMNAME' GETVAL 2 1 * >>paramname2<< ;
+ GREP: Param :: GETVAL 'PARAMVALU' 2 >>paramvalu2<< ;
+ ECHO "PARAMNAME(" paramname1 ")=" paramvalu1 ;
+ ECHO "PARAMNAME(" paramname2 ")=" paramvalu2 ;
+
+ LibFuel := MCR: MpoFeed :: EDIT 3 MICRO NMIX 1
+ MPO MpoFeed output_0 MIX 1 SET <<paramname1>> <<paramvalu1>> SET <<paramname2>> <<paramvalu2>>
+ ENDMIX ;
+
+ELSEIF nbParam 3 = THEN
+ GREP: Param :: STEP UP 'PARAMNAME' GETVAL 1 1 * >>paramname1<< ;
+ GREP: Param :: GETVAL 'PARAMVALU' 1 >>paramvalu1<< ;
+ GREP: Param :: STEP UP 'PARAMNAME' GETVAL 2 1 * >>paramname2<< ;
+ GREP: Param :: GETVAL 'PARAMVALU' 2 >>paramvalu2<< ;
+ GREP: Param :: STEP UP 'PARAMNAME' GETVAL 3 1 * >>paramname3<< ;
+ GREP: Param :: GETVAL 'PARAMVALU' 3 >>paramvalu3<< ;
+ ECHO "PARAMNAME(" paramname1 ")=" paramvalu1 ;
+ ECHO "PARAMNAME(" paramname2 ")=" paramvalu2 ;
+ ECHO "PARAMNAME(" paramname3 ")=" paramvalu3 ;
+
+ LibFuel := MCR: MpoFeed :: EDIT 3 MICRO NMIX 1
+ MPO MpoFeed output_0 MIX 1 SET <<paramname1>> <<paramvalu1>> SET <<paramname2>> <<paramvalu2>>
+ SET <<paramname3>> <<paramvalu3>> ENDMIX ;
+
+ELSE
+ ECHO "REFL_MPO: invalid value of nbParam=" nbParam ;
+ ABORT: ;
+ENDIF ;
+
+*--------------------------------------------------------------------
+*-------------------Reflector Equivalence procedure------------------
+*--------------------------------------------------------------------
+
+MpoRefl := MPO: ::
+ EDIT 10
+ COMM 'Radial reflector XS'
+ PARA 'C-BORE' VALU REAL
+ PARA 'Method' VALU CHAR
+ PARA 'Palier' VALU CHAR
+ ;
+
+! CreaDilut data in each reflector zone
+REAL dMod TMil fvMod fvZr4 fvInc fvSS304 fvHe ;
+INTEGER premierMIX ;
+STRING Localisation := "output_0" ;
+
+INTEGER iscat := nlf 1 + ;
+TRACK := SNT: Geom ::
+ EDIT 1
+ MAXR 100000
+ SN 16 SCAT <<iscat>> ;
+
+Geom_refl := GEO: Geom :: X+ REFL ;
+
+TRACK_refl := SNT: Geom_refl ::
+ EDIT 1
+ MAXR 100000
+ SN 16 SCAT <<iscat>> ;
+
+INTEGER nbZones := 7 ;
+
+REAL dModBas := 0.753 ; ! Densite du moderateur en entree du coeur
+REAL TMilBas := 286.4 ; ! Temp du reflecteur bas (soit Tmod,entree)
+EVALUATE TMilBas := TMilBas 273.15 + ; ! Conversion en Kelvin
+
+! Reflector equivalence variables
+REAL Keff ;
+REAL CB ; ! ppm
+INTEGER iPalier ;
+LINKED_LIST OUT_1 MACR_TRAC MACR_FLUX ;
+MODULE NSST: NSSF: TRIVAT: TRIVAA: FLUD: VAL: ;
+
+*--------------------------------------------------------------------
+* Boron tabulation
+*--------------------------------------------------------------------
+INTEGER iBoreMax := 5 ;
+DONNEES := UTL: ::
+ CREA
+ C-BORE <<iBoreMax>> =
+ 0.0 350.0 700.0 1000.0 1400.0
+ ;
+
+ECHO "debuggg" ;
+UTL: LibFuel :: DIR STEP UP ISOTOPESLIST STEP AT 1 DIR IMPR NTOT0 * IMPR SIGS00 * IMPR SCAT00 50 ;
+
+
+*--------------------------------------------------------------------
+* Loop on Boron CB in reflector
+*--------------------------------------------------------------------
+INTEGER iZone ;
+ECHO "$$$ Branch Boron loop" ;
+INTEGER IndexCB := 0 ;
+WHILE IndexCB iBoreMax < DO
+ EVALUATE IndexCB := IndexCB 1 + ;
+ GREP: DONNEES :: GETVAL 'C-BORE' <<IndexCB>> >>CB<< ;
+ ECHO "Boron step: " IndexCB "/" iBoreMax " Boron=" CB " ppm Palier =" Palier ;
+
+ EVALUATE dMod := dModBas ;
+ EVALUATE TMil := TMilBas ;
+ LibDilut := LibFuel ;
+
+ EVALUATE iZone := 1 ;
+ WHILE iZone nbZones <= DO
+ ! Reflector mixtures are defined as .ge. 2
+ EVALUATE premierMIX := 1 iZone + ;
+ ECHO "First MIX : " premierMIX ;
+
+ ! Recover volumic fractions in the reflector
+ GREP: FVol :: LENGTH 'H2O' >>ilong<< ;
+ IF ilong 0 > THEN
+ GREP: FVol :: GETVAL 'H2O' <<premierMIX>> >>fvMod<< ;
+ ELSE
+ EVALUATE fvMod := 0.0 ;
+ ENDIF ;
+ GREP: FVol :: LENGTH 'Zr4' >>ilong<< ;
+ IF ilong 0 > THEN
+ GREP: FVol :: GETVAL 'Zr4' <<premierMIX>> >>fvZr4<< ;
+ ELSE
+ EVALUATE fvZr4 := 0.0 ;
+ ENDIF ;
+ GREP: FVol :: LENGTH 'Inc' >>ilong<< ;
+ IF ilong 0 > THEN
+ GREP: FVol :: GETVAL 'Inc' <<premierMIX>> >>fvInc<< ;
+ ELSE
+ EVALUATE fvInc := 0.0 ;
+ ENDIF ;
+ GREP: FVol :: LENGTH 'SS' >>ilong<< ;
+ IF ilong 0 > THEN
+ GREP: FVol :: GETVAL 'SS' <<premierMIX>> >>fvSS304<< ;
+ ELSE
+ EVALUATE fvSS304 := 0.0 ;
+ ENDIF ;
+ GREP: FVol :: LENGTH 'He' >>ilong<< ;
+ IF ilong 0 > THEN
+ GREP: FVol :: GETVAL 'He' <<premierMIX>> >>fvHe<< ;
+ ELSE
+ EVALUATE fvHe := 0.0 ;
+ ENDIF ;
+ ECHO "[Refl" Localisation
+ "] Volume fraction : " iZone ;
+ ECHO "- H2O : " fvMod " ;" ;
+ ECHO "- Zr4 : " fvZr4 " ;" ;
+ ECHO "- Inc : " fvInc " ;" ;
+ ECHO "- SS304 : " fvSS304 " ;" ;
+ ECHO "- He : " fvHe "." ;
+
+ ! Define MIX 1 in reflector macrolib
+ LibDilut := CreaDilut LibDilut MolarMasses BNat Zirc4 Incon SS304 ::
+ <<dMod>> <<premierMIX>> <<TMil>> <<CB>> <<fvMod>> <<fvZr4>> <<fvInc>>
+ <<fvSS304>> <<NuclData>> <<LibType>> ;
+
+ EVALUATE iZone := iZone 1 + ;
+ ENDWHILE ;
+
+ !----------------------------------------------------------
+ ! Resonance self-shielding of Fe56 and Cr52 in reflector
+ !----------------------------------------------------------
+ IF OptSS "TONE" = THEN
+ LibDilut := TONE: LibDilut TRACK_refl :: EDIT 1 GRMIN 7 SPH ;
+ ENDIF ;
+
+ !----------------------------------------------------------
+ ! Extract a macrolib from microlib
+ !----------------------------------------------------------
+ MACRO := LibDilut :: STEP UP MACROLIB ;
+ LibDilut := DELETE: LibDilut ;
+
+ !----------------------------------------------------------
+ ! SN flux calculation in reflector
+ !----------------------------------------------------------
+ SYSTEM := ASM: MACRO TRACK :: ARM ;
+ FLUX := FLU: SYSTEM MACRO TRACK :: EDIT 0 TYPE K P1 HETE ;
+ GREP: FLUX :: GETVAL 'K-EFFECTIVE' 1 >>Keff<< ;
+ ECHO "SN Keff=" Keff ;
+
+ OUT_1 := EDI: MACRO TRACK FLUX Geom ::
+ EDIT 3 UPS MERGE MIX 1 2 3 3 3 3 4 0
+ COND 0.625 PNW_SP GOLVER SAVE ;
+ IF IndexCB 1 = THEN
+ OUTF := EDI: MACRO TRACK FLUX Geom ::
+ EDIT 3 UPS MERGE NONE
+ COND 0.625 SAVE ;
+
+ FLX_CB1 := OUTF :: STEP UP 'REF-CASE0001' STEP UP MACROLIB ;
+ _FLX_CB1 := FLX_CB1 ;
+ OUTF := DELETE: OUTF ;
+ ENDIF ;
+ SYSTEM FLUX MACRO := DELETE: SYSTEM FLUX MACRO ;
+
+ !----------------------------------------------------------
+ ! Reflector equivalence procedure
+ !----------------------------------------------------------
+ ECHO "htype=" htype ;
+ ECHO "OptSph=" OptSph ;
+ ECHO "OptNoal=" OptNoal ;
+ IF htype 'DF-RT' = THEN
+ GeomRefl MacrRefl := BREF: Geom OUT_1 ::
+ EDIT 2 MIX 1 3 GAP 2 4 MODEL DF-RT <<ielem>> <<icol>> NGET 1.0 1.0
+ SPH <<OptNoal>> ;
+ ELSEIF htype 'DF-RT-SPN' = THEN
+ GeomRefl MacrRefl := BREF: Geom OUT_1 ::
+ EDIT 2 MIX 1 3 GAP 2 4 MODEL DF-RT <<ielem>> <<icol>> SPN <<nlf>>
+ NGET 1.0 1.0 SPH <<OptNoal>> ;
+ ELSE
+ GeomRefl MacrRefl := BREF: Geom OUT_1 ::
+ EDIT 2 MIX 1 3 GAP 2 4 HYPE 2 MODEL <<htype>> NGET 1.0 1.0
+ <<OptSph>> <<OptNoal>> ;
+ ENDIF ;
+
+ !----------------------------------------------------------
+ ! Verification calculations
+ !----------------------------------------------------------
+ ECHO "Macro-geometry used in verification calculation:" ;
+ UTL: GeomRefl :: DUMP ;
+ IF htype 'DF-NEM' = htype 'ERM-NEM' = + THEN
+ MACR_TRAC := NSST: GeomRefl :: EDIT 2 TITLE 'alpha1.txt' NEM HYPE 2 ;
+ ELSEIF htype 'DF-ANM' = htype 'ERM-ANM' = + THEN
+ MACR_TRAC := NSST: GeomRefl :: EDIT 2 TITLE 'alpha1.txt' ANM ;
+ ELSEIF htype 'DF-RT' = THEN
+ MACR_TRAC := TRIVAT: GeomRefl :: TITLE "alpha.txt" DUAL <<ielem>> <<icol>> ;
+ ELSEIF htype 'DF-RT-SPN' = THEN
+ MACR_TRAC := TRIVAT: GeomRefl :: TITLE "alpha.txt" DUAL <<ielem>> <<icol>>
+ SPN <<nlf>> ;
+ ELSE
+ ECHO "REFL_MPO: invalid htype=" htype ;
+ ABORT: ;
+ ENDIF ;
+ MacrFuel := OUT_1 :: STEP UP 'REF-CASE0001' STEP UP MACROLIB ;
+ MACRO := MacrRefl ;
+ MACRO := MAC: MACRO MacrFuel ::
+ MIX 1 1 OLDL ; ! Recover fuel data for specific CASE
+ IF htype 'DF-RT' = htype 'DF-RT-SPN' = + THEN
+ SYSTEM := TRIVAA: MACRO MACR_TRAC ;
+ MACR_FLUX := FLUD: SYSTEM MACR_TRAC :: EDIT 1 ;
+ SYSTEM := DELETE: SYSTEM ;
+ ELSE
+ MACR_FLUX := NSSF: MACR_TRAC MACRO :: EDIT 1 ;
+ ENDIF ;
+ ECHO "...IndexCB=" IndexCB ;
+ assertS MACR_FLUX :: 'K-EFFECTIVE' 1 <<Keff>> ;
+ IF IndexCB 1 = THEN
+ OVAL := VAL: MACR_TRAC MACR_FLUX MACRO ::
+ EDIT 2
+ POWR 1.0 DIM 1 0.1
+ ;
+ _VAL_CB1 := OVAL ;
+ OVAL := DELETE: OVAL ;
+ ENDIF ;
+
+ MACRO MacrFuel OUT_1 MACR_TRAC MACR_FLUX := DELETE:
+ MACRO MacrFuel OUT_1 MACR_TRAC MACR_FLUX ;
+
+ !----------------------------------------------------------
+ ! MPO reflector creation
+ !----------------------------------------------------------
+ IF htype 'DF-RT' = htype 'DF-RT-SPN' = + THEN
+ Edition := EDI: MacrRefl :: EDIT 1 SAVE ;
+ ELSE
+ Edition := EDI: MacrRefl :: EDIT 1 ADFM SAVE ;
+ ENDIF ;
+ GeomRefl MacrRefl := DELETE: GeomRefl MacrRefl ;
+
+ MpoRefl := MPO: MpoRefl Edition :: EDIT 1
+ STEP <<Localisation>>
+ C-BORE <<CB>>
+ Method <<htype>>
+ Palier <<Palier>>
+ ;
+ Edition := DELETE: Edition ;
+
+ENDWHILE ; ! Loop over IndexCB
+LibFuel := DELETE: LibFuel ;
+
+END: ;
+QUIT "LIST" .
diff --git a/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_proc/VAL_CB1_plot_RT.py b/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_proc/VAL_CB1_plot_RT.py
new file mode 100644
index 0000000..63cbf0a
--- /dev/null
+++ b/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_proc/VAL_CB1_plot_RT.py
@@ -0,0 +1,75 @@
+# -*- coding: utf-8 -*-
+"""
+Plot reference SN and nodal diffusion flux curves
+"""
+
+import lcm,numpy
+import matplotlib.pyplot as plt
+
+# access SN flux
+print('access SN flux')
+my_lcm=lcm.new('LCM_INP','FLX_CB1_plot.txt')
+my_lcm.lib()
+print('object signature=', my_lcm['SIGNATURE'])
+state=my_lcm['STATE-VECTOR']
+ngr=state[0]
+nel=state[1]
+print('ngr=', ngr, 'nel=', nel)
+volume=my_lcm['VOLUME']
+flux_case1 = numpy.empty([ngr, nel])
+hfac_case1 = numpy.empty([ngr, nel])
+power_sn=0.0
+for ig in range(ngr):
+ o2 = my_lcm['GROUP'][ig].keys()
+ flux_case1[ig] = my_lcm['GROUP'][ig]['FLUX-INTG']
+ if 'H-FACTOR' in o2:
+ hfac_case1[ig] = my_lcm['GROUP'][ig]['H-FACTOR']
+ else:
+ hfac_case1[ig] = my_lcm['GROUP'][ig]['NUSIGF']
+ for iel in range(nel):
+ power_sn=power_sn+hfac_case1[ig][iel]*flux_case1[ig][iel]
+ flux_case1[ig][iel]=flux_case1[ig][iel]/volume[iel]
+xmidsn = numpy.empty([nel])
+for iel in range(nel):
+ if iel==0:
+ xmidsn[iel]=0.0
+ else:
+ xmidsn[iel]=xmidsn[iel-1]+(volume[iel-1]+volume[iel])/2
+flux_case1=flux_case1/power_sn # normalize power to one
+print('power_sn=', power_sn)
+del my_lcm
+
+# access nodal flux
+print('access nodal flux')
+my_lcm=lcm.new('LCM_INP','VAL_CB1_plot.txt')
+my_lcm.lib()
+print('object signature=', my_lcm['SIGNATURE'])
+state=my_lcm['STATE-VECTOR']
+ngr=state[0]
+nx=state[1]
+print('ngr=', ngr, 'nx=', nx)
+xmid=my_lcm['MXI']
+flx1 = numpy.empty([ngr, nx])
+for ig in range(ngr):
+ flx1[ig][:nx] = my_lcm['FLUX'][ig][:nx]
+
+# plot values
+side=21.5
+major_ticks = [0., side, 2.0*side, 3.0*side]
+plt.rcParams["figure.figsize"] = (10,3)
+fig, (ax1, ax2) = plt.subplots(1,2)
+fig.suptitle("DF-RT: fast and thermal fluxes")
+ax1.plot(xmidsn,flux_case1[0], "-b", label="SN reference flux", linewidth=0.7)
+ax1.plot(xmid,flx1[0], "-r", label="Raviart-Thomas flux", linewidth=0.7)
+ax1.set_xticks(major_ticks)
+ax1.grid(True)
+ax1.legend(loc="upper right")
+ax1.set_xlabel("position (cm)")
+ax2.plot(xmidsn,flux_case1[1], "-b", label="SN reference flux", linewidth=0.7)
+ax2.plot(xmid,flx1[1], "-r", label="Raviart-Thomas flux", linewidth=0.7)
+ax2.set_xticks(major_ticks)
+ax2.grid(True)
+ax2.legend(loc="upper right")
+ax2.set_xlabel("position (cm)")
+plt.savefig('Beavrs_BaffRefl.eps', bbox_inches='tight', format='eps', dpi=300)
+#plt.show()
diff --git a/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_proc/assbly_caseA_mpo_draglib_shem_feed.hdf b/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_proc/assbly_caseA_mpo_draglib_shem_feed.hdf
new file mode 100644
index 0000000..1461be5
--- /dev/null
+++ b/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_proc/assbly_caseA_mpo_draglib_shem_feed.hdf
Binary files differ
diff --git a/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_proc/assertS2.c2m b/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_proc/assertS2.c2m
new file mode 100644
index 0000000..21e57a8
--- /dev/null
+++ b/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_proc/assertS2.c2m
@@ -0,0 +1,32 @@
+*
+* Assert procedure for non-regression testing
+* Recover a value from a real array
+* Author: A. Hebert
+*
+PARAMETER LCMNAM :: ::: LINKED_LIST LCMNAM ; ;
+CHARACTER KEY ;
+INTEGER ISET IPOS ;
+REAL REFVALUE ;
+:: >>KEY<< >>IPOS<< >>REFVALUE<< ;
+INTEGER ITYLCM ;
+REAL VALUE DELTA ;
+MODULE GREP: ABORT: END: ;
+*
+GREP: LCMNAM :: TYPE <<KEY>> >>ITYLCM<< ;
+IF ITYLCM 2 = THEN
+ GREP: LCMNAM :: GETVAL <<KEY>> <<IPOS>> >>VALUE<< ;
+ELSE
+ PRINT "assertS2: INVALID TYPE=" ITYLCM ;
+ ABORT: ;
+ENDIF ;
+EVALUATE DELTA := VALUE REFVALUE - REFVALUE / ABS ;
+IF DELTA 7.0E-5 < THEN
+ PRINT "TEST SUCCESSFUL; DELTA=" DELTA ;
+ELSE
+ PRINT "------------" ;
+ PRINT "TEST FAILURE" ;
+ PRINT "------------" ;
+ PRINT "REFERENCE=" REFVALUE " CALCULATED=" VALUE ;
+ ABORT: ;
+ENDIF ;
+END: ;