diff options
| author | stainer_t <thomas.stainer@oecd-nea.org> | 2025-09-08 13:48:49 +0200 |
|---|---|---|
| committer | stainer_t <thomas.stainer@oecd-nea.org> | 2025-09-08 13:48:49 +0200 |
| commit | 7dfcc480ba1e19bd3232349fc733caef94034292 (patch) | |
| tree | 03ee104eb8846d5cc1a981d267687a729185d3f3 /Donjon/data/Reflector_beavrs_DF-RT_Jef2p2Apolib99_proc | |
Initial commit from Polytechnique Montreal
Diffstat (limited to 'Donjon/data/Reflector_beavrs_DF-RT_Jef2p2Apolib99_proc')
8 files changed, 3788 insertions, 0 deletions
diff --git a/Donjon/data/Reflector_beavrs_DF-RT_Jef2p2Apolib99_proc/AdaptIso.c2m b/Donjon/data/Reflector_beavrs_DF-RT_Jef2p2Apolib99_proc/AdaptIso.c2m new file mode 100644 index 0000000..fc1837f --- /dev/null +++ b/Donjon/data/Reflector_beavrs_DF-RT_Jef2p2Apolib99_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 ' ' ' +'Si0 ' ' ' 'FALS' 'E ' 'FALS' 'E ' 'Si_n' 'at ' +'Si ' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Si28 ' <<NbBibli>> = +'FALS' 'E ' 'Si28' ' ' 'Si28' ' ' 'Si28' ' ' +'FALS' 'E ' 'Si28' ' ' 'Si28' ' ' 'Si28' ' ' +'FALS' 'E ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Si29 ' <<NbBibli>> = +'FALS' 'E ' 'Si29' ' ' 'Si29' ' ' 'Si29' ' ' +'FALS' 'E ' 'Si29' ' ' 'Si29' ' ' 'Si29' ' ' +'FALS' 'E ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Si30 ' <<NbBibli>> = +'FALS' 'E ' 'Si30' ' ' 'Si30' ' ' 'Si30' ' ' +'FALS' 'E ' 'Si30' ' ' 'Si30' ' ' 'Si30' ' ' +'FALS' 'E ' ; +ListeIsot := UTL: ListeIsot :: CREA 'TiNat' <<NbBibli>> = +'Ti0 ' ' ' 'FALS' 'E ' 'FALS' 'E ' 'Ti0 ' ' ' +'Ti0 ' ' ' 'FALS' 'E ' 'FALS' 'E ' 'Ti_n' 'at ' +'Ti ' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Ti46 ' <<NbBibli>> = +'FALS' 'E ' 'Ti46' ' ' 'Ti46' ' ' 'Ti46' ' ' +'FALS' 'E ' 'Ti46' ' ' 'Ti46' ' ' 'Ti46' ' ' +'FALS' 'E ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Ti47 ' <<NbBibli>> = +'FALS' 'E ' 'Ti47' ' ' 'Ti47' ' ' 'Ti47' ' ' +'FALS' 'E ' 'Ti47' ' ' 'Ti47' ' ' 'Ti47' ' ' +'FALS' 'E ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Ti48 ' <<NbBibli>> = +'FALS' 'E ' 'Ti48' ' ' 'Ti48' ' ' 'Ti48' ' ' +'FALS' 'E ' 'Ti48' ' ' 'Ti48' ' ' 'Ti48' ' ' +'FALS' 'E ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Ti49 ' <<NbBibli>> = +'FALS' 'E ' 'Ti49' ' ' 'Ti49' ' ' 'Ti49' ' ' +'FALS' 'E ' 'Ti49' ' ' 'Ti49' ' ' 'Ti49' ' ' +'FALS' 'E ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Ti50 ' <<NbBibli>> = +'FALS' 'E ' 'Ti50' ' ' 'Ti50' ' ' 'Ti50' ' ' +'FALS' 'E ' '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 ' ' ' +'Zr0 ' ' ' 'FALS' 'E ' 'FALS' 'E ' 'Zr_n' 'at ' +'Zr ' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Zr90 ' <<NbBibli>> = +'Zr90' ' ' 'Zr90' ' ' 'Zr90' ' ' 'Zr90' ' ' +'FALS' 'E ' 'Zr90' ' ' 'Zr90' ' ' 'Zr90' ' ' +'Zr90' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Zr91 ' <<NbBibli>> = +'Zr91' ' ' 'Zr91' ' ' 'Zr91' ' ' 'Zr91' ' ' +'FALS' 'E ' 'Zr91' ' ' 'Zr91' ' ' 'Zr91' ' ' +'Zr91' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Zr92 ' <<NbBibli>> = +'Zr92' ' ' 'Zr92' ' ' 'Zr92' ' ' 'Zr92' ' ' +'FALS' 'E ' 'Zr92' ' ' 'Zr92' ' ' 'Zr92' ' ' +'Zr92' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Zr93 ' <<NbBibli>> = +'Zr93' ' ' 'Zr93' ' ' 'Zr93' ' ' 'Zr93' ' ' +'FALS' 'E ' 'Zr93' ' ' 'Zr93' ' ' 'Zr93' ' ' +'Zr93' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Zr94 ' <<NbBibli>> = +'Zr94' ' ' 'Zr94' ' ' 'Zr94' ' ' 'Zr94' ' ' +'FALS' 'E ' 'Zr94' ' ' 'Zr94' ' ' 'Zr94' ' ' +'Zr94' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Zr95 ' <<NbBibli>> = +'Zr95' ' ' 'Zr95' ' ' 'Zr95' ' ' 'Zr95' ' ' +'FALS' 'E ' 'Zr95' ' ' 'Zr95' ' ' 'Zr95' ' ' +'Zr95' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Zr96 ' <<NbBibli>> = +'Zr96' ' ' 'Zr96' ' ' 'Zr96' ' ' 'Zr96' ' ' +'FALS' 'E ' '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 ' ' ' +'K0 ' ' ' 'FALS' 'E ' 'FALS' 'E ' 'K_na' 't ' +'K ' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'K39 ' <<NbBibli>> = +'FALS' 'E ' 'K39 ' ' ' 'K39 ' ' ' 'K39 ' ' ' +'FALS' 'E ' 'K39 ' ' ' 'K39 ' ' ' 'K39 ' ' ' +'FALS' 'E ' ; +ListeIsot := UTL: ListeIsot :: CREA 'K40 ' <<NbBibli>> = +'FALS' 'E ' 'K40 ' ' ' 'K40 ' ' ' 'K40 ' ' ' +'FALS' 'E ' 'K40 ' ' ' 'K40 ' ' ' 'K40 ' ' ' +'FALS' 'E ' ; +ListeIsot := UTL: ListeIsot :: CREA 'K41 ' <<NbBibli>> = +'FALS' 'E ' 'K41 ' ' ' 'K41 ' ' ' 'K41 ' ' ' +'FALS' 'E ' '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_Jef2p2Apolib99_proc/CreaDilut.c2m b/Donjon/data/Reflector_beavrs_DF-RT_Jef2p2Apolib99_proc/CreaDilut.c2m new file mode 100644 index 0000000..759916c --- /dev/null +++ b/Donjon/data/Reflector_beavrs_DF-RT_Jef2p2Apolib99_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_Jef2p2Apolib99_proc/GetMolarMass.c2m b/Donjon/data/Reflector_beavrs_DF-RT_Jef2p2Apolib99_proc/GetMolarMass.c2m new file mode 100644 index 0000000..b8b1511 --- /dev/null +++ b/Donjon/data/Reflector_beavrs_DF-RT_Jef2p2Apolib99_proc/GetMolarMass.c2m @@ -0,0 +1,875 @@ +*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 "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 + ; + UNTIL OrdrIsot NbIsot > ; + +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_Jef2p2Apolib99_proc/MetalMix.c2m b/Donjon/data/Reflector_beavrs_DF-RT_Jef2p2Apolib99_proc/MetalMix.c2m new file mode 100644 index 0000000..ab337b8 --- /dev/null +++ b/Donjon/data/Reflector_beavrs_DF-RT_Jef2p2Apolib99_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_Jef2p2Apolib99_proc/REFL_MPO.c2m b/Donjon/data/Reflector_beavrs_DF-RT_Jef2p2Apolib99_proc/REFL_MPO.c2m new file mode 100644 index 0000000..314632d --- /dev/null +++ b/Donjon/data/Reflector_beavrs_DF-RT_Jef2p2Apolib99_proc/REFL_MPO.c2m @@ -0,0 +1,381 @@ +******************************************************************************** +* * +* 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 + ; + +*-------------------------------------------------------------------- +* 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_Jef2p2Apolib99_proc/VAL_CB1_plot_RT.py b/Donjon/data/Reflector_beavrs_DF-RT_Jef2p2Apolib99_proc/VAL_CB1_plot_RT.py new file mode 100644 index 0000000..63cbf0a --- /dev/null +++ b/Donjon/data/Reflector_beavrs_DF-RT_Jef2p2Apolib99_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_Jef2p2Apolib99_proc/assbly_caseA_mpo_boron.hdf b/Donjon/data/Reflector_beavrs_DF-RT_Jef2p2Apolib99_proc/assbly_caseA_mpo_boron.hdf Binary files differnew file mode 100644 index 0000000..0288e9f --- /dev/null +++ b/Donjon/data/Reflector_beavrs_DF-RT_Jef2p2Apolib99_proc/assbly_caseA_mpo_boron.hdf diff --git a/Donjon/data/Reflector_beavrs_DF-RT_Jef2p2Apolib99_proc/assertS2.c2m b/Donjon/data/Reflector_beavrs_DF-RT_Jef2p2Apolib99_proc/assertS2.c2m new file mode 100644 index 0000000..21e57a8 --- /dev/null +++ b/Donjon/data/Reflector_beavrs_DF-RT_Jef2p2Apolib99_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: ; |
