From 7dfcc480ba1e19bd3232349fc733caef94034292 Mon Sep 17 00:00:00 2001 From: stainer_t Date: Mon, 8 Sep 2025 13:48:49 +0200 Subject: Initial commit from Polytechnique Montreal --- Dragon/data/ErmBeavrsPwrRefl_proc/AdaptIso.c2m | 527 ++++ Dragon/data/ErmBeavrsPwrRefl_proc/CreaDilut.c2m | 518 ++++ Dragon/data/ErmBeavrsPwrRefl_proc/CreaMix.c2m | 3020 ++++++++++++++++++++ Dragon/data/ErmBeavrsPwrRefl_proc/CreaStepList.c2m | 532 ++++ Dragon/data/ErmBeavrsPwrRefl_proc/DeplChain.c2m | 26 + Dragon/data/ErmBeavrsPwrRefl_proc/Geo15x15.c2m | 414 +++ Dragon/data/ErmBeavrsPwrRefl_proc/Geo17x17.c2m | 1671 +++++++++++ Dragon/data/ErmBeavrsPwrRefl_proc/GetMolarMass.c2m | 808 ++++++ Dragon/data/ErmBeavrsPwrRefl_proc/GetTechData.c2m | 852 ++++++ Dragon/data/ErmBeavrsPwrRefl_proc/MetalMix.c2m | 1548 ++++++++++ Dragon/data/ErmBeavrsPwrRefl_proc/ThermaExpans.c2m | 100 + 11 files changed, 10016 insertions(+) create mode 100644 Dragon/data/ErmBeavrsPwrRefl_proc/AdaptIso.c2m create mode 100644 Dragon/data/ErmBeavrsPwrRefl_proc/CreaDilut.c2m create mode 100644 Dragon/data/ErmBeavrsPwrRefl_proc/CreaMix.c2m create mode 100644 Dragon/data/ErmBeavrsPwrRefl_proc/CreaStepList.c2m create mode 100644 Dragon/data/ErmBeavrsPwrRefl_proc/DeplChain.c2m create mode 100644 Dragon/data/ErmBeavrsPwrRefl_proc/Geo15x15.c2m create mode 100644 Dragon/data/ErmBeavrsPwrRefl_proc/Geo17x17.c2m create mode 100644 Dragon/data/ErmBeavrsPwrRefl_proc/GetMolarMass.c2m create mode 100644 Dragon/data/ErmBeavrsPwrRefl_proc/GetTechData.c2m create mode 100644 Dragon/data/ErmBeavrsPwrRefl_proc/MetalMix.c2m create mode 100644 Dragon/data/ErmBeavrsPwrRefl_proc/ThermaExpans.c2m (limited to 'Dragon/data/ErmBeavrsPwrRefl_proc') diff --git a/Dragon/data/ErmBeavrsPwrRefl_proc/AdaptIso.c2m b/Dragon/data/ErmBeavrsPwrRefl_proc/AdaptIso.c2m new file mode 100644 index 0000000..6698c17 --- /dev/null +++ b/Dragon/data/ErmBeavrsPwrRefl_proc/AdaptIso.c2m @@ -0,0 +1,527 @@ +*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 := 10 ; +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 "CEA99v9p5" = THEN + EVALUATE LibId := 8 7 * 1 + ; + EVALUATE LibGenre := "APLIB2" ; +ELSEIF LibType "CEA514T2" = THEN + EVALUATE LibId := 8 8 * 1 + ; + EVALUATE LibGenre := "APLIB2" ; +ELSEIF LibType "CLA99CEA93" = THEN + EVALUATE LibId := 8 9 * 1 + ; + EVALUATE LibGenre := "APLIB3" ; +ELSE + ECHO "Cette bibliotheque n'est pas repertoriee..." ; +ENDIF ; +ECHO "AdaptIsot: LibId=" LibId "LibGenre=" 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 CEA99v9p5 +! CEA514T2 CLA99CEA93 +ListeIsot := UTL: :: CREA 'H2O ' <> = +'FALS' 'E ' 'FALS' 'E ' 'FALS' 'E ' 'FALS' 'E ' +'FALS' 'E ' 'FALS' 'E ' 'FALS' 'E ' 'FALS' 'E ' +'FALS' 'E ' 'H2O ' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'H1 ' <> = +'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 ' 'H1_H' '2O ' ; +ListeIsot := UTL: ListeIsot :: CREA 'B10 ' <> = +'B10 ' ' ' 'B10 ' ' ' 'B10 ' ' ' 'B10 ' ' ' +'B10 ' ' ' 'B10 ' ' ' 'B10 ' ' ' 'B10 ' ' ' +'B10 ' ' ' 'B10 ' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'B11 ' <> = +'B11 ' ' ' 'B11 ' ' ' 'B11 ' ' ' 'B11 ' ' ' +'B11 ' ' ' 'B11 ' ' ' 'B11 ' ' ' 'B11 ' ' ' +'B11 ' ' ' 'B11 ' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'CNat ' <> = +'C0 ' ' ' 'C0 ' ' ' 'C0 ' ' ' 'C0 ' ' ' +'C0 ' ' ' 'C0 ' ' ' 'C0 ' ' ' 'C ' ' ' +'C ' ' ' 'C ' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'N14 ' <> = +'N14 ' ' ' 'N14 ' ' ' 'N14 ' ' ' 'N14 ' ' ' +'N14 ' ' ' 'N14 ' ' ' 'N14 ' ' ' 'N14 ' ' ' +'N14 ' ' ' 'N14 ' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'O16 ' <> = +'O16 ' ' ' 'O16 ' ' ' 'O16 ' ' ' 'O16 ' ' ' +'O16 ' ' ' 'O16 ' ' ' 'O16 ' ' ' 'O16 ' ' ' +'O16 ' ' ' 'O16 ' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Al27 ' <> = +'Al27' ' ' 'Al27' ' ' 'Al27' ' ' 'Al27' ' ' +'Al27' ' ' 'Al27' ' ' 'Al27' ' ' 'Al27' ' ' +'Al27' ' ' 'Al27' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'SiNat' <> = +'Si0 ' ' ' 'FALS' 'E ' 'FALS' 'E ' 'Si0 ' ' ' +'FALS' 'E ' 'FALS' 'E ' 'FALS' 'E ' 'Si ' ' ' +'Si_n' 'at ' 'Si ' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Si28 ' <> = +'FALS' 'E ' 'Si28' ' ' 'Si28' ' ' 'FALS' 'E ' +'Si28' ' ' 'Si28' ' ' 'Si28' ' ' 'Si28' ' ' +'Si28' ' ' 'FALS' 'E ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Si29 ' <> = +'FALS' 'E ' 'Si29' ' ' 'Si29' ' ' 'FALS' 'E ' +'Si29' ' ' 'Si29' ' ' 'Si29' ' ' 'Si29' ' ' +'Si29' ' ' 'FALS' 'E ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Si30 ' <> = +'FALS' 'E ' 'Si30' ' ' 'Si30' ' ' 'FALS' 'E ' +'Si30' ' ' 'Si30' ' ' 'Si30' ' ' 'Si30' ' ' +'Si30' ' ' 'FALS' 'E ' ; +ListeIsot := UTL: ListeIsot :: CREA 'TiNat' <> = +'Ti0 ' ' ' 'FALS' 'E ' 'FALS' 'E ' 'Ti0 ' ' ' +'FALS' 'E ' 'FALS' 'E ' 'FALS' 'E ' 'Ti ' ' ' +'Ti_n' 'at ' 'Ti ' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Ti46 ' <> = +'FALS' 'E ' 'Ti46' ' ' 'Ti46' ' ' 'FALS' 'E ' +'Ti46' ' ' 'Ti46' ' ' 'Ti46' ' ' 'Ti46' ' ' +'Ti46' ' ' 'FALS' 'E ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Ti47 ' <> = +'FALS' 'E ' 'Ti47' ' ' 'Ti47' ' ' 'FALS' 'E ' +'Ti47' ' ' 'Ti47' ' ' 'Ti47' ' ' 'Ti47' ' ' +'Ti47' ' ' 'FALS' 'E ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Ti48 ' <> = +'FALS' 'E ' 'Ti48' ' ' 'Ti48' ' ' 'FALS' 'E ' +'Ti48' ' ' 'Ti48' ' ' 'Ti48' ' ' 'Ti48' ' ' +'Ti48' ' ' 'FALS' 'E ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Ti49 ' <> = +'FALS' 'E ' 'Ti49' ' ' 'Ti49' ' ' 'FALS' 'E ' +'Ti49' ' ' 'Ti49' ' ' 'Ti49' ' ' 'Ti49' ' ' +'Ti49' ' ' 'FALS' 'E ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Ti50 ' <> = +'FALS' 'E ' 'Ti50' ' ' 'Ti50' ' ' 'FALS' 'E ' +'Ti50' ' ' 'Ti50' ' ' 'Ti50' ' ' 'Ti50' ' ' +'Ti50' ' ' 'FALS' 'E ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Cr50 ' <> = +'Cr50' ' ' 'Cr50' ' ' 'Cr50' ' ' 'Cr50' ' ' +'Cr50' ' ' 'Cr50' ' ' 'Cr50' ' ' 'Cr50' ' ' +'Cr50' ' ' 'Cr50' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Cr52 ' <> = +'Cr52' ' ' 'Cr52' ' ' 'Cr52' ' ' 'Cr52' ' ' +'Cr52' ' ' 'Cr52' ' ' 'Cr52' ' ' 'Cr52' ' ' +'Cr52' ' ' 'Cr52' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Cr53 ' <> = +'Cr53' ' ' 'Cr53' ' ' 'Cr53' ' ' 'Cr53' ' ' +'Cr53' ' ' 'Cr53' ' ' 'Cr53' ' ' 'Cr53' ' ' +'Cr53' ' ' 'Cr53' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Cr54 ' <> = +'Cr54' ' ' 'Cr54' ' ' 'Cr54' ' ' 'Cr54' ' ' +'Cr54' ' ' 'Cr54' ' ' 'Cr54' ' ' 'Cr54' ' ' +'Cr54' ' ' 'Cr54' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Mn55 ' <> = +'Mn55' ' ' 'Mn55' ' ' 'Mn55' ' ' 'Mn55' ' ' +'Mn55' ' ' 'Mn55' ' ' 'Mn55' ' ' 'Mn55' ' ' +'Mn55' ' ' 'Mn55' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Fe54 ' <> = +'Fe54' ' ' 'Fe54' ' ' 'Fe54' ' ' 'Fe54' ' ' +'Fe54' ' ' 'Fe54' ' ' 'Fe54' ' ' 'Fe54' ' ' +'Fe54' ' ' 'Fe54' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Fe56 ' <> = +'Fe56' ' ' 'Fe56' ' ' 'Fe56' ' ' 'Fe56' ' ' +'Fe56' ' ' 'Fe56' ' ' 'Fe56' ' ' 'Fe56' ' ' +'Fe56' ' ' 'Fe56' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Fe57 ' <> = +'Fe57' ' ' 'Fe57' ' ' 'Fe57' ' ' 'Fe57' ' ' +'Fe57' ' ' 'Fe57' ' ' 'Fe57' ' ' 'Fe57' ' ' +'Fe57' ' ' 'Fe57' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Fe58 ' <> = +'Fe58' ' ' 'Fe58' ' ' 'Fe58' ' ' 'Fe58' ' ' +'Fe58' ' ' 'Fe58' ' ' 'Fe58' ' ' 'Fe58' ' ' +'Fe58' ' ' 'Fe58' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Co59 ' <> = +'Co59' ' ' 'Co59' ' ' 'Co59' ' ' 'Co59' ' ' +'Co59' ' ' 'Co59' ' ' 'Co59' ' ' 'Co59' ' ' +'Co59' ' ' 'Co59' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Ni58 ' <> = +'Ni58' ' ' 'Ni58' ' ' 'Ni58' ' ' 'Ni58' ' ' +'Ni58' ' ' 'Ni58' ' ' 'Ni58' ' ' 'Ni58' ' ' +'Ni58' ' ' 'Ni58' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Ni60 ' <> = +'Ni60' ' ' 'Ni60' ' ' 'Ni60' ' ' 'Ni60' ' ' +'Ni60' ' ' 'Ni60' ' ' 'Ni60' ' ' 'Ni60' ' ' +'Ni60' ' ' 'Ni60' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Ni61 ' <> = +'Ni61' ' ' 'Ni61' ' ' 'Ni61' ' ' 'Ni61' ' ' +'Ni61' ' ' 'Ni61' ' ' 'Ni61' ' ' 'Ni61' ' ' +'Ni61' ' ' 'Ni61' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Ni62 ' <> = +'Ni62' ' ' 'Ni62' ' ' 'Ni62' ' ' 'Ni62' ' ' +'Ni62' ' ' 'Ni62' ' ' 'Ni62' ' ' 'Ni62' ' ' +'Ni62' ' ' 'Ni62' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Ni64 ' <> = +'Ni64' ' ' 'Ni64' ' ' 'Ni64' ' ' 'Ni64' ' ' +'Ni64' ' ' 'Ni64' ' ' 'Ni64' ' ' 'Ni64' ' ' +'Ni64' ' ' 'Ni64' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'ZrNat' <> = +'Zr0 ' ' ' 'FALS' 'E ' 'FALS' 'E ' 'Zr0 ' ' ' +'FALS' 'E ' 'FALS' 'E ' 'FALS' 'E ' 'Zr ' ' ' +'Zr_n' 'at ' 'Zr ' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Zr90 ' <> = +'Zr90' ' ' 'Zr90' ' ' 'Zr90' ' ' 'FALS' 'E ' +'Zr90' ' ' 'Zr90' ' ' 'Zr90' ' ' 'Zr90' ' ' +'Zr90' ' ' 'Zr90' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Zr91 ' <> = +'Zr91' ' ' 'Zr91' ' ' 'Zr91' ' ' 'FALS' 'E ' +'Zr91' ' ' 'Zr91' ' ' 'Zr91' ' ' 'Zr91' ' ' +'Zr91' ' ' 'Zr91' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Zr92 ' <> = +'Zr92' ' ' 'Zr92' ' ' 'Zr92' ' ' 'FALS' 'E ' +'Zr92' ' ' 'Zr92' ' ' 'Zr92' ' ' 'Zr92' ' ' +'Zr92' ' ' 'Zr92' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Zr93 ' <> = +'Zr93' ' ' 'Zr93' ' ' 'Zr93' ' ' 'FALS' 'E ' +'Zr93' ' ' 'Zr93' ' ' 'Zr93' ' ' 'Zr93' ' ' +'Zr93' ' ' 'Zr93' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Zr94 ' <> = +'Zr94' ' ' 'Zr94' ' ' 'Zr94' ' ' 'FALS' 'E ' +'Zr94' ' ' 'Zr94' ' ' 'Zr94' ' ' 'Zr94' ' ' +'Zr94' ' ' 'Zr94' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Zr95 ' <> = +'Zr95' ' ' 'Zr95' ' ' 'Zr95' ' ' 'FALS' 'E ' +'Zr95' ' ' 'Zr95' ' ' 'Zr95' ' ' 'Zr95' ' ' +'Zr95' ' ' 'Zr95' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Zr96 ' <> = +'Zr96' ' ' 'Zr96' ' ' 'Zr96' ' ' 'FALS' 'E ' +'Zr96' ' ' 'Zr96' ' ' 'Zr96' ' ' 'Zr96' ' ' +'Zr96' ' ' 'Zr96' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Nb93 ' <> = +'Nb93' ' ' 'Nb93' ' ' 'Nb93' ' ' 'Nb93' ' ' +'Nb93' ' ' 'Nb93' ' ' 'Nb93' ' ' 'Nb93' ' ' +'Nb93' ' ' 'Nb93' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Mo95 ' <> = +'Mo95' ' ' 'Mo95' ' ' 'Mo95' ' ' 'Mo95' ' ' +'Mo95' ' ' 'Mo95' ' ' 'Mo95' ' ' 'Mo95' ' ' +'Mo95' ' ' 'Mo95' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Ag107' <> = +'Ag10' '7 ' 'Ag10' '7 ' 'Ag10' '7 ' 'Ag10' '7 ' +'Ag10' '7 ' 'Ag10' '7 ' 'Ag10' '7 ' 'Ag10' '7 ' +'Ag10' '7 ' 'Ag10' '7 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Ag109' <> = +'Ag10' '9 ' 'Ag10' '9 ' 'Ag10' '9 ' 'Ag10' '9 ' +'Ag10' '9 ' 'Ag10' '9 ' 'Ag10' '9 ' 'Ag10' '9 ' +'Ag10' '9 ' 'Ag10' '9 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Cd106' <> = +'FALS' 'E ' 'Cd10' '6 ' 'Cd10' '6 ' 'Cd10' '6 ' +'FALS' 'E ' 'Cd10' '6 ' 'Cd10' '6 ' 'Cd10' '6 ' +'Cd10' '6 ' 'Cd10' '6 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Cd108' <> = +'FALS' 'E ' 'Cd10' '8 ' 'Cd10' '8 ' 'Cd10' '8 ' +'FALS' 'E ' 'Cd10' '8 ' 'Cd10' '8 ' 'Cd10' '8 ' +'Cd10' '8 ' 'Cd10' '8 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Cd110' <> = +'Cd11' '0 ' 'Cd11' '0 ' 'Cd11' '0 ' 'Cd11' '0 ' +'Cd11' '0 ' 'Cd11' '0 ' 'Cd11' '0 ' 'Cd11' '0 ' +'Cd11' '0 ' 'Cd11' '0 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Cd111' <> = +'Cd11' '1 ' 'Cd11' '1 ' 'Cd11' '1 ' 'Cd11' '1 ' +'Cd11' '1 ' 'Cd11' '1 ' 'Cd11' '1 ' 'Cd11' '1 ' +'Cd11' '1 ' 'Cd11' '1 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Cd112' <> = +'Cd11' '2 ' 'Cd11' '2 ' 'Cd11' '2 ' 'Cd11' '2 ' +'Cd11' '2 ' 'Cd11' '2 ' 'Cd11' '2 ' 'Cd11' '2 ' +'Cd11' '2 ' 'Cd11' '2 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Cd113' <> = +'Cd11' '3 ' 'Cd11' '3 ' 'Cd11' '3 ' 'Cd11' '3 ' +'Cd11' '3 ' 'Cd11' '3 ' 'Cd11' '3 ' 'Cd11' '3 ' +'Cd11' '3 ' 'Cd11' '3 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Cd114' <> = +'Cd11' '4 ' 'Cd11' '4 ' 'Cd11' '4 ' 'Cd11' '4 ' +'Cd11' '4 ' 'Cd11' '4 ' 'Cd11' '4 ' 'Cd11' '4 ' +'Cd11' '4 ' 'Cd11' '4 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Cd116' <> = +'Cd11' '6 ' 'Cd11' '6 ' 'Cd11' '6 ' 'Cd11' '6 ' +'Cd11' '6 ' 'Cd11' '6 ' 'Cd11' '6 ' 'Cd11' '6 ' +'Cd11' '6 ' 'Cd11' '6 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'In113' <> = +'FALS' 'E ' 'FALS' 'E ' 'FALS' 'E ' 'FALS' 'E ' +'FALS' 'E ' 'FALS' 'E ' 'FALS' 'E ' 'FALS' 'E ' +'FALS' 'E ' 'In11' '3 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'In115' <> = +'FALS' 'E ' 'In11' '5 ' 'In11' '5 ' 'In11' '5 ' +'In11' '5 ' 'In11' '5 ' 'In11' '5 ' 'In11' '5 ' +'In11' '5 ' 'In11' '5 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'InNat' <> = +'In0 ' ' ' 'FALS' 'E ' 'FALS' 'E ' 'FALS' 'E ' +'FALS' 'E ' 'FALS' 'E ' 'FALS' 'E ' 'FALS' 'E ' +'FALS' 'E ' 'FALS' 'E ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Sn112' <> = +'FALS' 'E ' 'Sn11' '2 ' 'Sn11' '2 ' 'Sn11' '2 ' +'FALS' 'E ' 'Sn11' '2 ' 'Sn11' '2 ' 'Sn11' '2 ' +'Sn11' '2 ' 'Sn11' '2 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Sn114' <> = +'FALS' 'E ' 'Sn11' '4 ' 'Sn11' '4 ' 'Sn11' '4 ' +'FALS' 'E ' 'Sn11' '4 ' 'Sn11' '4 ' 'Sn11' '4 ' +'Sn11' '4 ' 'Sn11' '4 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Sn115' <> = +'Sn11' '5 ' 'Sn11' '5 ' 'Sn11' '5 ' 'Sn11' '5 ' +'Sn11' '5 ' 'Sn11' '5 ' 'Sn11' '5 ' 'Sn11' '5 ' +'Sn11' '5 ' 'Sn11' '5 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Sn116' <> = +'Sn11' '6 ' 'Sn11' '6 ' 'Sn11' '6 ' 'Sn11' '6 ' +'Sn11' '6 ' 'Sn11' '6 ' 'Sn11' '6 ' 'Sn11' '6 ' +'Sn11' '6 ' 'Sn11' '6 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Sn117' <> = +'Sn11' '7 ' 'Sn11' '7 ' 'Sn11' '7 ' 'Sn11' '7 ' +'Sn11' '7 ' 'Sn11' '7 ' 'Sn11' '7 ' 'Sn11' '7 ' +'Sn11' '7 ' 'Sn11' '7 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Sn118' <> = +'Sn11' '8 ' 'Sn11' '8 ' 'Sn11' '8 ' 'Sn11' '8 ' +'Sn11' '8 ' 'Sn11' '8 ' 'Sn11' '8 ' 'Sn11' '8 ' +'Sn11' '8 ' 'Sn11' '8 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Sn119' <> = +'Sn11' '9 ' 'Sn11' '9 ' 'Sn11' '9 ' 'Sn11' '9 ' +'Sn11' '9 ' 'Sn11' '9 ' 'Sn11' '9 ' 'Sn11' '9 ' +'Sn11' '9 ' 'Sn11' '9 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Sn120' <> = +'Sn12' '0 ' 'Sn12' '0 ' 'Sn12' '0 ' 'Sn12' '0 ' +'Sn12' '0 ' 'Sn12' '0 ' 'Sn12' '0 ' 'Sn12' '0 ' +'Sn12' '0 ' 'Sn12' '0 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Sn122' <> = +'Sn12' '2 ' 'Sn12' '2 ' 'Sn12' '2 ' 'Sn12' '2 ' +'Sn12' '2 ' 'Sn12' '2 ' 'Sn12' '2 ' 'Sn12' '2 ' +'Sn12' '2 ' 'Sn12' '2 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Sn124' <> = +'Sn12' '4 ' 'Sn12' '4 ' 'Sn12' '4 ' 'Sn12' '4 ' +'Sn12' '4 ' 'Sn12' '4 ' 'Sn12' '4 ' 'Sn12' '4 ' +'Sn12' '4 ' 'Sn12' '4 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Gd154' <> = +'Gd15' '4 ' 'Gd15' '4 ' 'Gd15' '4 ' 'Gd15' '4 ' +'Gd15' '4 ' 'Gd15' '4 ' 'Gd15' '4 ' 'Gd15' '4 ' +'Gd15' '4 ' 'Gd15' '4 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Gd155' <> = +'Gd15' '5 ' 'Gd15' '5 ' 'Gd15' '5 ' 'Gd15' '5 ' +'Gd15' '5 ' 'Gd15' '5 ' 'Gd15' '5 ' 'Gd15' '5 ' +'Gd15' '5 ' 'Gd15' '5 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Gd156' <> = +'Gd15' '6 ' 'Gd15' '6 ' 'Gd15' '6 ' 'Gd15' '6 ' +'Gd15' '6 ' 'Gd15' '6 ' 'Gd15' '6 ' 'Gd15' '6 ' +'Gd15' '6 ' 'Gd15' '6 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Gd157' <> = +'Gd15' '7 ' 'Gd15' '7 ' 'Gd15' '7 ' 'Gd15' '7 ' +'Gd15' '7 ' 'Gd15' '7 ' 'Gd15' '7 ' 'Gd15' '7 ' +'Gd15' '7 ' 'Gd15' '7 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Gd158' <> = +'Gd15' '8 ' 'Gd15' '8 ' 'Gd15' '8 ' 'Gd15' '8 ' +'Gd15' '8 ' 'Gd15' '8 ' 'Gd15' '8 ' 'Gd15' '8 ' +'Gd15' '8 ' 'Gd15' '8 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Gd160' <> = +'Gd16' '0 ' 'Gd16' '0 ' 'Gd16' '0 ' 'Gd16' '0 ' +'Gd16' '0 ' 'Gd16' '0 ' 'Gd16' '0 ' 'Gd16' '0 ' +'Gd16' '0 ' 'Gd16' '0 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'U234 ' <> = +'U234' ' ' 'U234' ' ' 'U234' ' ' 'U234' ' ' +'U234' ' ' 'U234' ' ' 'U234' ' ' 'U234' ' ' +'U234' ' ' 'U234' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'U235 ' <> = +'U235' ' ' 'U235' ' ' 'U235' ' ' 'U235' ' ' +'U235' ' ' 'U235' ' ' 'U235' ' ' 'U235' ' ' +'U235' ' ' 'U235' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'U236 ' <> = +'U236' ' ' 'U236' ' ' 'U236' ' ' 'U236' ' ' +'U236' ' ' 'U236' ' ' 'U236' ' ' 'U236' ' ' +'U236' ' ' 'U236' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'U238 ' <> = +'U238' ' ' 'U238' ' ' 'U238' ' ' 'U238' ' ' +'U238' ' ' 'U238' ' ' 'U238' ' ' 'U238' ' ' +'U238' ' ' 'U238' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Pu238' <> = +'Pu23' '8 ' 'Pu23' '8 ' 'Pu23' '8 ' 'Pu23' '8 ' +'Pu23' '8 ' 'Pu23' '8 ' 'Pu23' '8 ' 'Pu23' '8 ' +'Pu23' '8 ' 'Pu23' '8 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Pu239' <> = +'Pu23' '9 ' 'Pu23' '9 ' 'Pu23' '9 ' 'Pu23' '9 ' +'Pu23' '9 ' 'Pu23' '9 ' 'Pu23' '9 ' 'Pu23' '9 ' +'Pu23' '9 ' 'Pu23' '9 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Pu240' <> = +'Pu24' '0 ' 'Pu24' '0 ' 'Pu24' '0 ' 'Pu24' '0 ' +'Pu24' '0 ' 'Pu24' '0 ' 'Pu24' '0 ' 'Pu24' '0 ' +'Pu24' '0 ' 'Pu24' '0 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Pu241' <> = +'Pu24' '1 ' 'Pu24' '1 ' 'Pu24' '1 ' 'Pu24' '1 ' +'Pu24' '1 ' 'Pu24' '1 ' 'Pu24' '1 ' 'Pu24' '1 ' +'Pu24' '1 ' 'Pu24' '1 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Pu242' <> = +'Pu24' '2 ' 'Pu24' '2 ' 'Pu24' '2 ' 'Pu24' '2 ' +'Pu24' '2 ' 'Pu24' '2 ' 'Pu24' '2 ' 'Pu24' '2 ' +'Pu24' '2 ' 'Pu24' '2 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Am241' <> = +'Am24' '1 ' 'Am24' '1 ' 'Am24' '1 ' 'Am24' '1 ' +'Am24' '1 ' 'Am24' '1 ' 'Am24' '1 ' 'Am24' '1 ' +'Am24' '1 ' 'Am24' '1 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Na23 ' <> = +'Na23' ' ' 'Na23' ' ' 'Na23' ' ' 'Na23' ' ' +'Na23' ' ' 'Na23' ' ' 'Na23' ' ' 'Na23' ' ' +'Na23' ' ' 'Na23' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Knat ' <> = +'K0 ' ' ' 'FALS' 'E ' 'FALS' 'E ' 'K0 ' ' ' +'FALS' 'E ' 'FALS' 'E ' 'FALS' 'E ' 'K ' ' ' +'K_na' 't ' 'K ' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'K39 ' <> = +'FALS' 'E ' 'K39 ' ' ' 'K39 ' ' ' 'FALS' 'E ' +'K39 ' ' ' 'K39 ' ' ' 'K39 ' ' ' 'K39 ' ' ' +'K39 ' ' ' 'FALS' 'E ' ; +ListeIsot := UTL: ListeIsot :: CREA 'K40 ' <> = +'FALS' 'E ' 'K40 ' ' ' 'K40 ' ' ' 'FALS' 'E ' +'K40 ' ' ' 'K40 ' ' ' 'K40 ' ' ' 'K40 ' ' ' +'K40 ' ' ' 'FALS' 'E ' ; +ListeIsot := UTL: ListeIsot :: CREA 'K41 ' <> = +'FALS' 'E ' 'K41 ' ' ' 'K41 ' ' ' 'FALS' 'E ' +'K41 ' ' ' 'K41 ' ' ' 'K41 ' ' ' 'K41 ' ' ' +'K41 ' ' ' 'FALS' 'E ' ; +ListeIsot := UTL: ListeIsot :: CREA 'S32 ' <> = +'S32 ' ' ' 'S32 ' ' ' 'S32 ' ' ' 'S32 ' ' ' +'S32 ' ' ' 'S32 ' ' ' 'S32 ' ' ' 'S32 ' ' ' +'S32 ' ' ' 'S32 ' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'S33 ' <> = +'FALS' 'E ' 'S33 ' ' ' 'S33 ' ' ' 'S33 ' ' ' +'S33 ' ' ' 'S33 ' ' ' 'S33 ' ' ' 'S33 ' ' ' +'S33 ' ' ' 'S33 ' ' ' ; +ListeIsot := UTL: ListeIsot :: CREA 'S34 ' <> = +'FALS' 'E ' 'S34 ' ' ' 'S34 ' ' ' 'S34 ' ' ' +'S34 ' ' ' 'S34 ' ' ' 'S34 ' ' ' 'S34 ' ' ' +'S34 ' ' ' 'S34 ' ' ' ; +! Hafnium +ListeIsot := UTL: ListeIsot :: CREA 'Hf174' <> = +'Hf17' '4 ' 'Hf17' '4 ' 'Hf17' '4 ' 'Hf17' '4 ' +'Hf17' '4 ' 'Hf17' '4 ' 'Hf17' '4 ' 'Hf17' '4 ' +'Hf17' '4 ' 'Hf17' '4 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Hf176' <> = +'Hf17' '6 ' 'Hf17' '6 ' 'Hf17' '6 ' 'Hf17' '6 ' +'Hf17' '6 ' 'Hf17' '6 ' 'Hf17' '6 ' 'Hf17' '6 ' +'Hf17' '6 ' 'Hf17' '6 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Hf177' <> = +'Hf17' '7 ' 'Hf17' '7 ' 'Hf17' '7 ' 'Hf17' '7 ' +'Hf17' '7 ' 'Hf17' '7 ' 'Hf17' '7 ' 'Hf17' '7 ' +'Hf17' '7 ' 'Hf17' '7 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Hf178' <> = +'Hf17' '8 ' 'Hf17' '8 ' 'Hf17' '8 ' 'Hf17' '8 ' +'Hf17' '8 ' 'Hf17' '8 ' 'Hf17' '8 ' 'Hf17' '8 ' +'Hf17' '8 ' 'Hf17' '8 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Hf179' <> = +'Hf17' '9 ' 'Hf17' '9 ' 'Hf17' '9 ' 'Hf17' '9 ' +'Hf17' '9 ' 'Hf17' '9 ' 'Hf17' '9 ' 'Hf17' '9 ' +'Hf17' '9 ' 'Hf17' '9 ' ; +ListeIsot := UTL: ListeIsot :: CREA 'Hf180' <> = +'Hf18' '0 ' '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/Dragon/data/ErmBeavrsPwrRefl_proc/CreaDilut.c2m b/Dragon/data/ErmBeavrsPwrRefl_proc/CreaDilut.c2m new file mode 100644 index 0000000..058031d --- /dev/null +++ b/Dragon/data/ErmBeavrsPwrRefl_proc/CreaDilut.c2m @@ -0,0 +1,518 @@ +*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: +* > Molar Masses +* > Metal Mixes +* > Fractions volumiques des differents milieux +* > Numero de la zone reflecteur +* Output Provided: +* < Library +*====================================================== +PARAMETER LibDilut ConcMode 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 ; +*-------------------------------------------------------------------- +* Paramètres 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...) +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<< >>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 :: <> <> + >>LibId<< >>LibGenre<< ; + +GREP: ListeIsot :: GETVAL 'H2O ' <> NVAL 8 >>NomH2O<< ; +GREP: ListeIsot :: GETVAL 'H1 ' <> NVAL 8 >>NomH1<< ; +GREP: ListeIsot :: GETVAL 'O16 ' <> NVAL 8 >>NomO16<< ; +GREP: ListeIsot :: GETVAL 'Am241' <> NVAL 8 >>NomAm241<< ; +GREP: ListeIsot :: GETVAL 'Al27 ' <> NVAL 8 >>NomAl27<< ; +GREP: ListeIsot :: GETVAL 'B10 ' <> NVAL 8 >>NomB10<< ; +GREP: ListeIsot :: GETVAL 'B11 ' <> NVAL 8 >>NomB11<< ; +GREP: ListeIsot :: GETVAL 'Co59 ' <> NVAL 8 >>NomCo59<< ; +GREP: ListeIsot :: GETVAL 'Cr50 ' <> NVAL 8 >>NomCr50<< ; +GREP: ListeIsot :: GETVAL 'Cr52 ' <> NVAL 8 >>NomCr52<< ; +GREP: ListeIsot :: GETVAL 'Cr53 ' <> NVAL 8 >>NomCr53<< ; +GREP: ListeIsot :: GETVAL 'Cr54 ' <> NVAL 8 >>NomCr54<< ; +GREP: ListeIsot :: GETVAL 'Fe54 ' <> NVAL 8 >>NomFe54<< ; +GREP: ListeIsot :: GETVAL 'Fe56 ' <> NVAL 8 >>NomFe56<< ; +GREP: ListeIsot :: GETVAL 'Fe57 ' <> NVAL 8 >>NomFe57<< ; +GREP: ListeIsot :: GETVAL 'Fe58 ' <> NVAL 8 >>NomFe58<< ; +GREP: ListeIsot :: GETVAL 'Mn55 ' <> NVAL 8 >>NomMn55<< ; +GREP: ListeIsot :: GETVAL 'Mo95 ' <> NVAL 8 >>NomMo95<< ; +GREP: ListeIsot :: GETVAL 'Nb93 ' <> NVAL 8 >>NomNb93<< ; +GREP: ListeIsot :: GETVAL 'Ni58 ' <> NVAL 8 >>NomNi58<< ; +GREP: ListeIsot :: GETVAL 'Ni60 ' <> NVAL 8 >>NomNi60<< ; +GREP: ListeIsot :: GETVAL 'Ni61 ' <> NVAL 8 >>NomNi61<< ; +GREP: ListeIsot :: GETVAL 'Ni62 ' <> NVAL 8 >>NomNi62<< ; +GREP: ListeIsot :: GETVAL 'Ni64 ' <> NVAL 8 >>NomNi64<< ; +GREP: ListeIsot :: GETVAL 'Pu238' <> NVAL 8 >>NomPu238<< ; +GREP: ListeIsot :: GETVAL 'Pu239' <> NVAL 8 >>NomPu239<< ; +GREP: ListeIsot :: GETVAL 'Pu240' <> NVAL 8 >>NomPu240<< ; +GREP: ListeIsot :: GETVAL 'Pu241' <> NVAL 8 >>NomPu241<< ; +GREP: ListeIsot :: GETVAL 'Pu242' <> NVAL 8 >>NomPu242<< ; +GREP: ListeIsot :: GETVAL 'SiNat' <> NVAL 8 >>NomSiNat<< ; +GREP: ListeIsot :: GETVAL 'Si28 ' <> NVAL 8 >>NomSi28<< ; +GREP: ListeIsot :: GETVAL 'Si29 ' <> NVAL 8 >>NomSi29<< ; +GREP: ListeIsot :: GETVAL 'Si30 ' <> NVAL 8 >>NomSi30<< ; +GREP: ListeIsot :: GETVAL 'Sn112' <> NVAL 8 >>NomSn112<< ; +GREP: ListeIsot :: GETVAL 'Sn114' <> NVAL 8 >>NomSn114<< ; +GREP: ListeIsot :: GETVAL 'Sn115' <> NVAL 8 >>NomSn115<< ; +GREP: ListeIsot :: GETVAL 'Sn116' <> NVAL 8 >>NomSn116<< ; +GREP: ListeIsot :: GETVAL 'Sn117' <> NVAL 8 >>NomSn117<< ; +GREP: ListeIsot :: GETVAL 'Sn118' <> NVAL 8 >>NomSn118<< ; +GREP: ListeIsot :: GETVAL 'Sn119' <> NVAL 8 >>NomSn119<< ; +GREP: ListeIsot :: GETVAL 'Sn120' <> NVAL 8 >>NomSn120<< ; +GREP: ListeIsot :: GETVAL 'Sn122' <> NVAL 8 >>NomSn122<< ; +GREP: ListeIsot :: GETVAL 'Sn124' <> NVAL 8 >>NomSn124<< ; +GREP: ListeIsot :: GETVAL 'TiNat' <> NVAL 8 >>NomTiNat<< ; +GREP: ListeIsot :: GETVAL 'Ti46 ' <> NVAL 8 >>NomTi46<< ; +GREP: ListeIsot :: GETVAL 'Ti47 ' <> NVAL 8 >>NomTi47<< ; +GREP: ListeIsot :: GETVAL 'Ti48 ' <> NVAL 8 >>NomTi48<< ; +GREP: ListeIsot :: GETVAL 'Ti49 ' <> NVAL 8 >>NomTi49<< ; +GREP: ListeIsot :: GETVAL 'Ti50 ' <> NVAL 8 >>NomTi50<< ; +GREP: ListeIsot :: GETVAL 'U234 ' <> NVAL 8 >>NomU234<< ; +GREP: ListeIsot :: GETVAL 'U235 ' <> NVAL 8 >>NomU235<< ; +GREP: ListeIsot :: GETVAL 'U236 ' <> NVAL 8 >>NomU236<< ; +GREP: ListeIsot :: GETVAL 'U238 ' <> NVAL 8 >>NomU238<< ; +GREP: ListeIsot :: GETVAL 'ZrNat' <> NVAL 8 >>NomZrNat<< ; +GREP: ListeIsot :: GETVAL 'Zr90 ' <> NVAL 8 >>NomZr90<< ; +GREP: ListeIsot :: GETVAL 'Zr91 ' <> NVAL 8 >>NomZr91<< ; +GREP: ListeIsot :: GETVAL 'Zr92 ' <> NVAL 8 >>NomZr92<< ; +GREP: ListeIsot :: GETVAL 'Zr93 ' <> NVAL 8 >>NomZr93<< ; +GREP: ListeIsot :: GETVAL 'Zr94 ' <> NVAL 8 >>NomZr94<< ; +GREP: ListeIsot :: GETVAL 'Zr95 ' <> NVAL 8 >>NomZr95<< ; +GREP: ListeIsot :: GETVAL 'Zr96 ' <> NVAL 8 >>NomZr96<< ; +GREP: ListeIsot :: GETVAL 'CNat ' <> NVAL 8 >>NomCNat<< ; +GREP: ListeIsot :: GETVAL 'Ag107' <> NVAL 8 >>NomAg107<< ; +GREP: ListeIsot :: GETVAL 'Ag109' <> NVAL 8 >>NomAg109<< ; +GREP: ListeIsot :: GETVAL 'Cd106' <> NVAL 8 >>NomCd106<< ; +GREP: ListeIsot :: GETVAL 'Cd108' <> NVAL 8 >>NomCd108<< ; +GREP: ListeIsot :: GETVAL 'Cd110' <> NVAL 8 >>NomCd110<< ; +GREP: ListeIsot :: GETVAL 'Cd111' <> NVAL 8 >>NomCd111<< ; +GREP: ListeIsot :: GETVAL 'Cd112' <> NVAL 8 >>NomCd112<< ; +GREP: ListeIsot :: GETVAL 'Cd113' <> NVAL 8 >>NomCd113<< ; +GREP: ListeIsot :: GETVAL 'Cd114' <> NVAL 8 >>NomCd114<< ; +GREP: ListeIsot :: GETVAL 'Cd116' <> NVAL 8 >>NomCd116<< ; +GREP: ListeIsot :: GETVAL 'In115' <> NVAL 8 >>NomIn115<< ; +GREP: ListeIsot :: GETVAL 'In113' <> NVAL 8 >>NomIn113<< ; +GREP: ListeIsot :: GETVAL 'Gd154' <> NVAL 8 >>NomGd154<< ; +GREP: ListeIsot :: GETVAL 'Gd155' <> NVAL 8 >>NomGd155<< ; +GREP: ListeIsot :: GETVAL 'Gd156' <> NVAL 8 >>NomGd156<< ; +GREP: ListeIsot :: GETVAL 'Gd157' <> NVAL 8 >>NomGd157<< ; +GREP: ListeIsot :: GETVAL 'Gd158' <> NVAL 8 >>NomGd158<< ; +GREP: ListeIsot :: GETVAL 'Gd160' <> NVAL 8 >>NomGd160<< ; +GREP: ListeIsot :: GETVAL 'Knat ' <> NVAL 8 >>NomKnat<< ; +GREP: ListeIsot :: GETVAL 'K39 ' <> NVAL 8 >>NomK39<< ; +GREP: ListeIsot :: GETVAL 'K40 ' <> NVAL 8 >>NomK40<< ; +GREP: ListeIsot :: GETVAL 'K41 ' <> NVAL 8 >>NomK41<< ; +GREP: ListeIsot :: GETVAL 'Na23 ' <> NVAL 8 >>NomNa23<< ; +GREP: ListeIsot :: GETVAL 'S32 ' <> NVAL 8 >>NomS32<< ; +GREP: ListeIsot :: GETVAL 'S33 ' <> NVAL 8 >>NomS33<< ; +GREP: ListeIsot :: GETVAL 'S34 ' <> NVAL 8 >>NomS34<< ; +GREP: ListeIsot :: GETVAL 'N14 ' <> NVAL 8 >>NomN14<< ; +GREP: ListeIsot :: GETVAL 'InNat' <> 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 Zr90 := Zr90Z4f faZr4 * ; +!REAL Zr91 := Zr91Z4f faZr4 * ; +!REAL Zr92 := Zr92Z4f faZr4 * ; +!REAL Zr93 := Zr93Z4f faZr4 * ; +!REAL Zr94 := Zr94Z4f faZr4 * ; +!REAL Zr95 := Zr95Z4f faZr4 * ; +!REAL Zr96 := Zr96Z4f faZr4 * ; +!REAL Sn112 := Sn112Z4f faZr4 * ; +!REAL Sn114 := Sn114Z4f 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 Ti46 := Ti46Inf faInc * ; +!REAL Ti47 := Ti47Inf faInc * ; +!REAL Ti48 := Ti48Inf faInc * ; +!REAL Ti49 := Ti49Inf faInc * ; +!REAL Ti50 := Ti50Inf faInc * ; +REAL SiN := SiNatInf faInc * SiSSf faSS * + ; +!REAL Si28 := Si28Inf faInc * Si28SSf faSS * + ; +!REAL Si29 := Si29Inf faInc * Si29SSf faSS * + ; +!REAL Si30 := Si30Inf faInc * Si30SSf 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 "Zr90 " Zr90 ; +!ECHO "Zr91 " Zr91 ; +!ECHO "Zr92 " Zr92 ; +!ECHO "Zr93 " Zr93 ; +!ECHO "Zr94 " Zr94 ; +!ECHO "Zr95 " Zr95 ; +!ECHO "Zr96 " Zr96 ; +!ECHO "Sn112 " Sn112 ; +!ECHO "Sn114 " Sn114 ; +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 "Ti46 " Ti46 ; +!ECHO "Ti47 " Ti47 ; +!ECHO "Ti48 " Ti48 ; +!ECHO "Ti49 " Ti49 ; +!ECHO "Ti50 " Ti50 ; +ECHO "SiN " SiN ; +!ECHO "Si28 " Si28 ; +!ECHO "Si29 " Si29 ; +!ECHO "Si30 " Si30 ; +ECHO "Co59 " Co59 ; +ECHO "Mn55 " Mn55 ; +ECHO "Nb93 " Nb93 ; + +*-------------------------------------------------------------------- +* Definition du melange correspondant dans la librairie +*-------------------------------------------------------------------- +LibDilut := LIB: :: + NMIX 32 + + MIXS LIB: <> FIL: <> +* Milieu generique issu de la dilution de tous les constituants + MIX 1 <> +! H2O = <> <> + H1_H2O = <> <> + O16 = <> <> + B10 = <> <> + B11 = <> <> + Fe54 = <> <> + Fe56 = <> <> + Fe57 = <> <> + Fe58 = <> <> + Cr50 = <> <> + Cr52 = <> <> + Cr53 = <> <> + Cr54 = <> <> + ZrNat = <> <> +! Zr90 = <> <> +! Zr91 = <> <> +! Zr92 = <> <> +! Zr93 = <> <> +! Zr94 = <> <> +! Zr95 = <> <> +! Zr96 = <> <> +! Sn112 = <> <> +! Sn114 = <> <> + Sn115 = <> <> + Sn116 = <> <> + Sn117 = <> <> + Sn118 = <> <> + Sn119 = <> <> + Sn120 = <> <> + Sn122 = <> <> + Sn124 = <> <> + Ni58 = <> <> + Ni60 = <> <> + Ni61 = <> <> + Ni62 = <> <> + Ni64 = <> <> + Al27 = <> <> + Mo95 = <> <> + TiNat = <> <> +! Ti46 = <> <> +! Ti47 = <> <> +! Ti48 = <> <> +! Ti49 = <> <> +! Ti50 = <> <> + SiNat = <> <> +! Si28 = <> <> +! Si29 = <> <> +! Si30 = <> <> + Co59 = <> <> + Mn55 = <> <> + Nb93 = <> <> +; + +END: ; +QUIT "LIST" . diff --git a/Dragon/data/ErmBeavrsPwrRefl_proc/CreaMix.c2m b/Dragon/data/ErmBeavrsPwrRefl_proc/CreaMix.c2m new file mode 100644 index 0000000..38b3a34 --- /dev/null +++ b/Dragon/data/ErmBeavrsPwrRefl_proc/CreaMix.c2m @@ -0,0 +1,3020 @@ +*DECK CreaMix.c2m +*====================================================== +* Name: CreaMix.c2m +* Type: DRAGON procedure +* Use: Create isotopic mixtures depending on +* assembly type. +* Author: A. Bruneau 04.2015, 09.2015 +* [CS-SI | IRSN/PSN-EXP/SNC/LNR] +* Mod: R. Nguyen Van Ho 11.2016 +* [URANUS | IRSN/PSN-EXP/SNC/LNR] +* Ajout selecteur donnees nucleaires +*------------------------------------------------------ +* Input Required: +* > Molar Masses +* > Metal Mixes +* > Gestion (STR) AssType (STR) Teneur_I (INT) ThermaExpans (INT) +* Output Provided: +* < Library +* < Moderator concentrations +* < Power Conversion Factor (PowMWT, REAL) +*====================================================== +PARAMETER Library ConcMode + FeNat CrNat SnNat NiNat BNat + ZrNat2 TiNat2 SiNat2 KNat2 + AgNat CdNat SNat InNat + Zirc4 Incon SS304 M5 AIC + GdNat Gd2O3 BP MolarMasses :: + ::: LINKED_LIST + FeNat CrNat SnNat NiNat BNat + ZrNat2 TiNat2 SiNat2 KNat2 + AgNat CdNat SNat InNat + Zirc4 Incon SS304 M5 AIC + GdNat Gd2O3 BP MolarMasses ; ; +PROCEDURE AdaptIso ThermaExpans DeplChain ; +MODULE LIB: GREP: ABORT: UTL: END: ; +LINKED_LIST ListeIsot ListeAutop ; +LINKED_LIST ZrNat TiNat SiNat KNat ; + ZrNat := ZrNat2 ; + TiNat := TiNat2 ; + SiNat := SiNat2 ; + KNat := KNat2 ; + +*-------------------------------------------------------------------- +* Constant parameters +*-------------------------------------------------------------------- +* Avogadro de 1974. Ref : History and progress in the accurate +* determination of the Avogadro constant, P. Becker, 2001. +* L'impact de l'utilisation d'un Avogadro plus 'recent' est environ +* d'un pcm. +REAL avogadro := 6.022094E+23 ; +REAL avo_conc := avogadro 1.E-24 * ; + +*-------------------------------------------------------------------- +* General assembly parameters +*-------------------------------------------------------------------- +REAL cbor dmod tmod tgain tcom tclad ; +STRING Gestion AssType ; +STRING NuclData ; ! Nom de la bibliotheque de XS micro JEFF ou ENDF +STRING LibType ; ! Type de bibliotheque (ENDFBVII0...) +STRING LibGenre ; +STRING Model := "TIH" ; ! Model for thermal expansion +INTEGER LibId ; ! Type de bibliotheque de XS micro +INTEGER Teneur_I ; ! in 100 * % (ex: 370 for 3.7%) +REAL Main_enri ; ! = Teneur_I / 100 [%] +REAL PowMWth ; ! Core Thermal Power in MW +REAL PowMWT ; ! Power Conversion Factor in MW/T +REAL Hactiv ; ! Active height in cm +REAL NbAss ; ! Nb of assemblies +REAL ReNorm ; ! Re-normalization factor (for isotopic ratios) +REAL H2OTube GrPreTube ; ! water & Grid proportions for tube +REAL H2OCntr GrPreCntr ; ! water & Grid prop. for central cells +REAL H2OSide GrPreSide ; ! water & Grid prop. for side cells +REAL H2OCorn GrPreCorn ; ! water & Grid prop. for corner cells +INTEGER ThermExp ; +STRING CTRA ; +STRING Grid ; +INTEGER iU5 iU8 ; ! SHIB inrs for U +INTEGER iPu9 iPu0 iPu1 iPu2 ; ! SHIB inrs for Pu +INTEGER iAg7 iAg9 iIn ; ! SHIB inrs for Ag & In (AIC) +INTEGER iZrG iZrT ; ! SHIB inrs Zr in Clad & Tube +INTEGER iGd4 iGd5 iGd6 iGd7 iGd8 iGd0 ; ! SHIB inrs Gd +INTEGER iSi8 iSi9 iSi0 ; +INTEGER iAl7 iK9 iK0 iK1 iNa3 ; ! SHIB inrs for Pyrex + +*-------------------------------------------------------------------- +* Specific assembly parameters : UOX +*-------------------------------------------------------------------- +REAL enriU ; ! U-235 enrichment in regular fuel pin +REAL MUO2 ; ! UO2-Molar Mass +REAL MUPuAm ; ! Average 'U' Molar Mass +REAL dU ; ! Heavy metal density [g/cm**3] +*--- 'isotopic enrichment' (final isotopic fractions) --------------- +REAL U4enri U5enri U6enri U8enri Pu8enri Pu9enri Pu0enri + Pu1enri Pu2enri Am1enri ; +*--- fuel concentrations in at/barn/cm ------------------------------ +REAL U_tot ; ! Total U concentration [at/barn/cm] +REAL U4fuel U5fuel U6fuel U8fuel Pu8fuel Pu9fuel Pu0fuel + Pu1fuel Pu2fuel Am1fuel O_fuel := + 0.0 0.0 0.0 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 ; +*-------------------------------------------------------------------- +* Specific assembly parameters : MOX +*-------------------------------------------------------------------- +REAL enriPu ; ! Fuel-average Pu vector enrichment +REAL f_corn ; ! Pu enrichment fraction for corner pins +REAL f_side ; ! Pu enrichment fraction for side pins +REAL f_cntr ; ! Pu enrichment fraction for all remaining pins +REAL MUtot ; ! Average 'U' Molar Mass +REAL MPutot ; ! Average 'Pu' Molar Mass +REAL M_corn ; ! Average 'U+Pu' Molar Mass for corner pins +REAL M_side ; ! Average 'U+Pu' Molar Mass for side pins +REAL M_cntr ; ! Average 'U+Pu' Molar Mass for center pins +REAL MMOXcorn ; ! corner MOX molar mass +REAL MMOXside ; ! side MOX molar mass +REAL MMOXcntr ; ! center MOX molar mass +REAL MOX_corn ; ! corner MOX concentration [molec./barn/cm] +REAL MOX_side ; ! side MOX concentration [molec./barn/cm] +REAL MOX_cntr ; ! center MOX concentration [molec./barn/cm] +REAL f_cornPin ; ! corner pins fraction +REAL f_sidePin ; ! side pins fraction +REAL f_cntrPin ; ! center pins fraction +REAL dUcorn ; ! corner heavy metal density [g/cm**3] +REAL dUside ; ! side heavy metal density [g/cm**3] +REAL dUcntr ; ! center heavy metal density [g/cm**3] +*--- 'isotopic enrichment' (final isotopic fractions) --------------- +* isotopic ratios & enrichments for corner pins +REAL Ue_corn ; ! Total U fraction in corner pins +REAL U4e_corn U5e_corn U6e_corn U8e_corn ; +REAL Pue_corn ; ! Total Pu fraction in corner pins +REAL Pu8e_corn Pu9e_corn Pu0e_corn Pu1e_corn Pu2e_corn Am1e_corn ; +* isotopic ratios & enrichments for side pins +REAL Ue_side ; ! Total U fraction in side pins +REAL U4e_side U5e_side U6e_side U8e_side ; +REAL Pue_side ; ! Total Pu fraction in side pins +REAL Pu8e_side Pu9e_side Pu0e_side Pu1e_side Pu2e_side Am1e_side ; +* isotopic ratios & enrichments for center pins +REAL Ue_cntr ; ! Total U fraction in center pins +REAL U4e_cntr U5e_cntr U6e_cntr U8e_cntr ; +REAL Pue_cntr ; ! Total Pu fraction in center pins +REAL Pu8e_cntr Pu9e_cntr Pu0e_cntr Pu1e_cntr Pu2e_cntr Am1e_cntr ; +*--- corner fuel concentrations in at/barn/cm ----------------------- +REAL UPu_corn_tot ; ! Total corner U+Pu concentration [at/barn/cm] +REAL U4cornfuel U5cornfuel U6cornfuel U8cornfuel Pu8cornfuel + Pu9cornfuel Pu0cornfuel Pu1cornfuel Pu2cornfuel Am1cornfuel + O_corn_fuel := 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. ; +*--- side fuel concentrations in at/barn/cm ------------------------- +REAL UPu_side_tot ; ! Total side U+Pu concentration [at/barn/cm] +REAL U4sidefuel U5sidefuel U6sidefuel U8sidefuel Pu8sidefuel + Pu9sidefuel Pu0sidefuel Pu1sidefuel Pu2sidefuel Am1sidefuel + O_side_fuel := 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. ; +*--- center fuel concentrations in at/barn/cm ----------------------- +REAL UPu_cntr_tot ; ! Total center U+Pu concentration [at/barn/cm] +REAL U4cntrfuel U5cntrfuel U6cntrfuel U8cntrfuel Pu8cntrfuel + Pu9cntrfuel Pu0cntrfuel Pu1cntrfuel Pu2cntrfuel Am1cntrfuel + O_cntr_fuel := 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. ; +*-------------------------------------------------------------------- +* Specific assembly parameters : UOX + Gd (UGd) +*-------------------------------------------------------------------- +REAL enriUGd ; ! U-235 enrichment in Gd pins +REAL enriGd ; ! Gadolinia (Gd2O3) massic enrichment +REAL Gd2O3f ; ! Gd2O3 fraction in UO2 + Gd2O3 pins (= enriGd / 100) +REAL UO2Gdf ; ! UO2 fraction un UO2 + Gd2O3 pins (= 1 - Gd2O3f) +REAL MGd2O3 ; ! Gd2O3 Molar Mass +REAL MUO2Gd ; ! UO2 for UOX+Gd Molar Mass +REAL MUPuGd ; ! Average 'U' Molar Mass in Gd pins +REAL M_UO2Gd2O3 ; ! Average 'UO2+Gd2O3' Molar Mass +REAL f_GadoPin ; ! Gado'ed pins fraction (out of 264 pins) +REAL f_NoGdPin ; ! Regular UOX (no Gd) pins fraction (out of 264 pins) +REAL dUGado ; ! Gd pins Heavy metal density [g/cm**3] +*--- Gd2O3 isotopic fractions --------------------------------------- +REAL Gd2O3_G4f Gd2O3_G5f Gd2O3_G6f Gd2O3_G7f Gd2O3_G8f Gd2O3_G0f + Gd2O3_Of ; +*--- 'isotopic enrichment' (final isotopic fractions) --------------- +REAL U4eGd U5eGd U6eGd U8eGd Pu9eGd Pu0eGd Pu1eGd Pu2eGd OeUO2Gd ; +*--- fuel concentrations in at/barn/cm ------------------------------ +REAL UO2Gd2O3 ; ! Total U+Pu+Gd concentration [at/barn/cm +REAL U4Gd_fuel U5Gd_fuel U6Gd_fuel U8Gd_fuel Pu9Gd_fuel Pu0Gd_fuel + Pu1Gd_fuel Pu2Gd_fuel Gd154_fuel Gd155_fuel Gd156_fuel Gd157_fuel + Gd158_fuel Gd160_fuel O_UGd_fuel := 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. ; +* All other SS304 densities based on dSS with dilution coefficients +REAL dRodSS ; ! Stainless Steel (SS304) control rod density +REAL dCladAIC ; ! Stainless Steel (SS304) Clad dens. (AIC Rods) +REAL dCladSS ; ! Stainless Steel (SS304) Clad dens. (Steel Rods) +REAL dCladB4C ; ! Stainless Steel (SS304) Clad dens. (B4C Rods) + +*------------------------------------------------------ +* Get NuclData (nom de la bibliotheque) +* LibType (nom generique de la bibli, ex. ENDFVII1) +* Gestion (TIH, BEAV) +* AssType (UOX, MOX, UGd) +* Teneur (370, 865, etc...) '370' => 3.70% +* Densités d'UO2, de MOX et de combustible gadolinié +* Enrichissement de l'U dans UGd +* Teneur en Gd2O3 dans les crayons empoisonnés +* Nombre de crayons empoisonnés +*------------------------------------------------------ +:: >>NuclData<< >>LibType<< >>Gestion<< >>AssType<< + >>Teneur_I<< >>ThermExp<< >>CTRA<< >>Grid<< ; +EVALUATE Main_enri := Teneur_I I_TO_R 100. / ; + +*------------------------------------------------------ +* Molar masses (from LINKED_LIST MolarMasses) +*------------------------------------------------------ +REAL al27 b10 b10b b11 b11b co59 cr50 cr52 cr53 cr54 fe54 fe56 fe57 + fe58 h2o mn55 mo95 nb93 ni58 ni60 ni61 ni62 ni64 o16 pu238 pu239 + pu240 pu241 pu242 am241 sinat si28 si29 si30 sn112 sn114 sn115 + sn116 sn117 sn118 sn119 sn120 sn122 sn124 tinat ti46 ti47 ti48 + ti49 ti50 u234 u235 u236 u238 zrnat zr90 zr91 zr92 zr93 zr94 + zr95 zr96 cnat ag107 ag109 cd106 cd108 cd110 cd111 cd112 cd113 + cd114 cd116 in115 gd154 gd155 gd156 gd157 gd158 gd160 + knat k39 k40 k41 na23 h1 s32 s33 s34 in113 ; +*------------------------------------------------------ + +! Isotopes non conflictuels + +GREP: MolarMasses :: GETVAL 'Am241' 1 >>am241<< ; +GREP: MolarMasses :: GETVAL 'Al27 ' 1 >>al27<< ; +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 'Co59 ' 1 >>co59<< ; +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 'Fe54 ' 1 >>fe54<< ; +GREP: MolarMasses :: GETVAL 'Fe56 ' 1 >>fe56<< ; +GREP: MolarMasses :: GETVAL 'Fe57 ' 1 >>fe57<< ; +GREP: MolarMasses :: GETVAL 'Fe58 ' 1 >>fe58<< ; +GREP: MolarMasses :: GETVAL 'Mn55 ' 1 >>mn55<< ; +GREP: MolarMasses :: GETVAL 'Mo95 ' 1 >>mo95<< ; +GREP: MolarMasses :: GETVAL 'Nb93 ' 1 >>nb93<< ; +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 'O16 ' 1 >>o16<< ; +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 '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 'U234 ' 1 >>u234<< ; +GREP: MolarMasses :: GETVAL 'U235 ' 1 >>u235<< ; +GREP: MolarMasses :: GETVAL 'U236 ' 1 >>u236<< ; +GREP: MolarMasses :: GETVAL 'U238 ' 1 >>u238<< ; +GREP: MolarMasses :: GETVAL 'CNat ' 1 >>cnat<< ; +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 '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 'Na23' 1 >>na23<< ; + +* Isotopes conflictuels + +* Pour les isotopes conflictuels (absents 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<< ; ! ENDF6 connait a la fois ZrNat et ses differents isotopes + GREP: MolarMasses :: GETVAL 'InNat' 1 >>in115<< ; + 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 >>si28<< ; + GREP: MolarMasses :: GETVAL 'Si30 ' 1 >>si28<< ; + 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<< ; + +ELSE ! CEA99v9p5, CEA514T2, CLA99CEA93 + + 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<< ; + +ENDIF ; + +*------------------------------------------------------ +* 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 NomN14 ; +STRING NomIn113 ; + +ListeIsot ListeAutop := AdaptIso :: <> <> + >>LibId<< >>LibGenre<< ; + +UTL: ListeIsot :: DUMP ; +GREP: ListeIsot :: GETVAL 'H2O ' <> NVAL 8 >>NomH2O<< ; +GREP: ListeIsot :: GETVAL 'H1 ' <> NVAL 8 >>NomH1<< ; +GREP: ListeIsot :: GETVAL 'O16 ' <> NVAL 8 >>NomO16<< ; +GREP: ListeIsot :: GETVAL 'Am241' <> NVAL 8 >>NomAm241<< ; +GREP: ListeIsot :: GETVAL 'Al27 ' <> NVAL 8 >>NomAl27<< ; +GREP: ListeIsot :: GETVAL 'B10 ' <> NVAL 8 >>NomB10<< ; +GREP: ListeIsot :: GETVAL 'B11 ' <> NVAL 8 >>NomB11<< ; +GREP: ListeIsot :: GETVAL 'Co59 ' <> NVAL 8 >>NomCo59<< ; +GREP: ListeIsot :: GETVAL 'Cr50 ' <> NVAL 8 >>NomCr50<< ; +GREP: ListeIsot :: GETVAL 'Cr52 ' <> NVAL 8 >>NomCr52<< ; +GREP: ListeIsot :: GETVAL 'Cr53 ' <> NVAL 8 >>NomCr53<< ; +GREP: ListeIsot :: GETVAL 'Cr54 ' <> NVAL 8 >>NomCr54<< ; +GREP: ListeIsot :: GETVAL 'Fe54 ' <> NVAL 8 >>NomFe54<< ; +GREP: ListeIsot :: GETVAL 'Fe56 ' <> NVAL 8 >>NomFe56<< ; +GREP: ListeIsot :: GETVAL 'Fe57 ' <> NVAL 8 >>NomFe57<< ; +GREP: ListeIsot :: GETVAL 'Fe58 ' <> NVAL 8 >>NomFe58<< ; +GREP: ListeIsot :: GETVAL 'Mn55 ' <> NVAL 8 >>NomMn55<< ; +GREP: ListeIsot :: GETVAL 'Mo95 ' <> NVAL 8 >>NomMo95<< ; +GREP: ListeIsot :: GETVAL 'Nb93 ' <> NVAL 8 >>NomNb93<< ; +GREP: ListeIsot :: GETVAL 'Ni58 ' <> NVAL 8 >>NomNi58<< ; +GREP: ListeIsot :: GETVAL 'Ni60 ' <> NVAL 8 >>NomNi60<< ; +GREP: ListeIsot :: GETVAL 'Ni61 ' <> NVAL 8 >>NomNi61<< ; +GREP: ListeIsot :: GETVAL 'Ni62 ' <> NVAL 8 >>NomNi62<< ; +GREP: ListeIsot :: GETVAL 'Ni64 ' <> NVAL 8 >>NomNi64<< ; +GREP: ListeIsot :: GETVAL 'Pu238' <> NVAL 8 >>NomPu238<< ; +GREP: ListeIsot :: GETVAL 'Pu239' <> NVAL 8 >>NomPu239<< ; +GREP: ListeIsot :: GETVAL 'Pu240' <> NVAL 8 >>NomPu240<< ; +GREP: ListeIsot :: GETVAL 'Pu241' <> NVAL 8 >>NomPu241<< ; +GREP: ListeIsot :: GETVAL 'Pu242' <> NVAL 8 >>NomPu242<< ; +GREP: ListeIsot :: GETVAL 'SiNat' <> NVAL 8 >>NomSiNat<< ; +GREP: ListeIsot :: GETVAL 'Si28 ' <> NVAL 8 >>NomSi28<< ; +GREP: ListeIsot :: GETVAL 'Si29 ' <> NVAL 8 >>NomSi29<< ; +GREP: ListeIsot :: GETVAL 'Si30 ' <> NVAL 8 >>NomSi30<< ; +GREP: ListeIsot :: GETVAL 'Sn112' <> NVAL 8 >>NomSn112<< ; +GREP: ListeIsot :: GETVAL 'Sn114' <> NVAL 8 >>NomSn114<< ; +GREP: ListeIsot :: GETVAL 'Sn115' <> NVAL 8 >>NomSn115<< ; +GREP: ListeIsot :: GETVAL 'Sn116' <> NVAL 8 >>NomSn116<< ; +GREP: ListeIsot :: GETVAL 'Sn117' <> NVAL 8 >>NomSn117<< ; +GREP: ListeIsot :: GETVAL 'Sn118' <> NVAL 8 >>NomSn118<< ; +GREP: ListeIsot :: GETVAL 'Sn119' <> NVAL 8 >>NomSn119<< ; +GREP: ListeIsot :: GETVAL 'Sn120' <> NVAL 8 >>NomSn120<< ; +GREP: ListeIsot :: GETVAL 'Sn122' <> NVAL 8 >>NomSn122<< ; +GREP: ListeIsot :: GETVAL 'Sn124' <> NVAL 8 >>NomSn124<< ; +GREP: ListeIsot :: GETVAL 'TiNat' <> NVAL 8 >>NomTiNat<< ; +GREP: ListeIsot :: GETVAL 'Ti46 ' <> NVAL 8 >>NomTi46<< ; +GREP: ListeIsot :: GETVAL 'Ti47 ' <> NVAL 8 >>NomTi47<< ; +GREP: ListeIsot :: GETVAL 'Ti48 ' <> NVAL 8 >>NomTi48<< ; +GREP: ListeIsot :: GETVAL 'Ti49 ' <> NVAL 8 >>NomTi49<< ; +GREP: ListeIsot :: GETVAL 'Ti50 ' <> NVAL 8 >>NomTi50<< ; +GREP: ListeIsot :: GETVAL 'U234 ' <> NVAL 8 >>NomU234<< ; +GREP: ListeIsot :: GETVAL 'U235 ' <> NVAL 8 >>NomU235<< ; +GREP: ListeIsot :: GETVAL 'U236 ' <> NVAL 8 >>NomU236<< ; +GREP: ListeIsot :: GETVAL 'U238 ' <> NVAL 8 >>NomU238<< ; +GREP: ListeIsot :: GETVAL 'ZrNat' <> NVAL 8 >>NomZrNat<< ; +GREP: ListeIsot :: GETVAL 'Zr90 ' <> NVAL 8 >>NomZr90<< ; +GREP: ListeIsot :: GETVAL 'Zr91 ' <> NVAL 8 >>NomZr91<< ; +GREP: ListeIsot :: GETVAL 'Zr92 ' <> NVAL 8 >>NomZr92<< ; +GREP: ListeIsot :: GETVAL 'Zr93 ' <> NVAL 8 >>NomZr93<< ; +GREP: ListeIsot :: GETVAL 'Zr94 ' <> NVAL 8 >>NomZr94<< ; +GREP: ListeIsot :: GETVAL 'Zr95 ' <> NVAL 8 >>NomZr95<< ; +GREP: ListeIsot :: GETVAL 'Zr96 ' <> NVAL 8 >>NomZr96<< ; +GREP: ListeIsot :: GETVAL 'CNat ' <> NVAL 8 >>NomCNat<< ; +GREP: ListeIsot :: GETVAL 'Ag107' <> NVAL 8 >>NomAg107<< ; +GREP: ListeIsot :: GETVAL 'Ag109' <> NVAL 8 >>NomAg109<< ; +GREP: ListeIsot :: GETVAL 'Cd106' <> NVAL 8 >>NomCd106<< ; +GREP: ListeIsot :: GETVAL 'Cd108' <> NVAL 8 >>NomCd108<< ; +GREP: ListeIsot :: GETVAL 'Cd110' <> NVAL 8 >>NomCd110<< ; +GREP: ListeIsot :: GETVAL 'Cd111' <> NVAL 8 >>NomCd111<< ; +GREP: ListeIsot :: GETVAL 'Cd112' <> NVAL 8 >>NomCd112<< ; +GREP: ListeIsot :: GETVAL 'Cd113' <> NVAL 8 >>NomCd113<< ; +GREP: ListeIsot :: GETVAL 'Cd114' <> NVAL 8 >>NomCd114<< ; +GREP: ListeIsot :: GETVAL 'Cd116' <> NVAL 8 >>NomCd116<< ; +GREP: ListeIsot :: GETVAL 'In115' <> NVAL 8 >>NomIn115<< ; +GREP: ListeIsot :: GETVAL 'In113' <> NVAL 8 >>NomIn113<< ; +GREP: ListeIsot :: GETVAL 'Gd154' <> NVAL 8 >>NomGd154<< ; +GREP: ListeIsot :: GETVAL 'Gd155' <> NVAL 8 >>NomGd155<< ; +GREP: ListeIsot :: GETVAL 'Gd156' <> NVAL 8 >>NomGd156<< ; +GREP: ListeIsot :: GETVAL 'Gd157' <> NVAL 8 >>NomGd157<< ; +GREP: ListeIsot :: GETVAL 'Gd158' <> NVAL 8 >>NomGd158<< ; +GREP: ListeIsot :: GETVAL 'Gd160' <> NVAL 8 >>NomGd160<< ; +GREP: ListeIsot :: GETVAL 'Knat ' <> NVAL 8 >>NomKnat<< ; +GREP: ListeIsot :: GETVAL 'K39 ' <> NVAL 8 >>NomK39<< ; +GREP: ListeIsot :: GETVAL 'K40 ' <> NVAL 8 >>NomK40<< ; +GREP: ListeIsot :: GETVAL 'K41 ' <> NVAL 8 >>NomK41<< ; +GREP: ListeIsot :: GETVAL 'Na23 ' <> NVAL 8 >>NomNa23<< ; +GREP: ListeIsot :: GETVAL 'S32 ' <> NVAL 8 >>NomS32<< ; +GREP: ListeIsot :: GETVAL 'S33 ' <> NVAL 8 >>NomS33<< ; +GREP: ListeIsot :: GETVAL 'S34 ' <> NVAL 8 >>NomS34<< ; +GREP: ListeIsot :: GETVAL 'N14 ' <> NVAL 8 >>NomN14<< ; +GREP: ListeIsot :: GETVAL 'InNat' <> NVAL 8 >>NomInNat<< ; + +* Les noms des isotopes autoproteges +STRING NomSSZrNat NomSSZr90 NomSSZr91 NomSSZr92 NomSSZr93 NomSSZr94 ; +STRING NomSSZr95 NomSSZr96 ; +STRING NomSSAg7 NomSSAg9 ; +STRING NomSSIn115 ; +STRING NomSSGd4 NomSSGd5 NomSSGd6 NomSSGd7 NomSSGd8 ; +STRING NomSSGd0 ; +STRING NomSSU235 NomSSU236 NomSSU238 ; +STRING NomSSPu8 NomSSPu9 NomSSPu0 NomSSPu1 NomSSPu2 ; +STRING NomSSAm241 ; +STRING NomSSInNat ; +STRING NomSSIn113 ; + +GREP: ListeIsot :: GETVAL 'Ag107' <> NVAL 8 >>NomSSAg7<< ; +GREP: ListeIsot :: GETVAL 'Ag109' <> NVAL 8 >>NomSSAg9<< ; +GREP: ListeIsot :: GETVAL 'In115' <> NVAL 8 >>NomSSIn115<< ; +GREP: ListeIsot :: GETVAL 'Gd154' <> NVAL 8 >>NomSSGd4<< ; +GREP: ListeIsot :: GETVAL 'Gd155' <> NVAL 8 >>NomSSGd5<< ; +GREP: ListeIsot :: GETVAL 'Gd156' <> NVAL 8 >>NomSSGd6<< ; +GREP: ListeIsot :: GETVAL 'Gd157' <> NVAL 8 >>NomSSGd7<< ; +GREP: ListeIsot :: GETVAL 'Gd158' <> NVAL 8 >>NomSSGd8<< ; +GREP: ListeIsot :: GETVAL 'Gd160' <> NVAL 8 >>NomSSGd0<< ; +GREP: ListeIsot :: GETVAL 'U235 ' <> NVAL 8 >>NomSSU235<< ; +GREP: ListeIsot :: GETVAL 'U236 ' <> NVAL 8 >>NomSSU236<< ; +GREP: ListeIsot :: GETVAL 'U238 ' <> NVAL 8 >>NomSSU238<< ; +GREP: ListeIsot :: GETVAL 'Pu238' <> NVAL 8 >>NomSSPu8<< ; +GREP: ListeIsot :: GETVAL 'Pu239' <> NVAL 8 >>NomSSPu9<< ; +GREP: ListeIsot :: GETVAL 'Pu240' <> NVAL 8 >>NomSSPu0<< ; +GREP: ListeIsot :: GETVAL 'Pu241' <> NVAL 8 >>NomSSPu1<< ; +GREP: ListeIsot :: GETVAL 'Pu242' <> NVAL 8 >>NomSSPu2<< ; +GREP: ListeIsot :: GETVAL 'Am241' <> NVAL 8 >>NomSSAm241<< ; + +IF LibType 'ENDFVII1' = LibType 'ENDFVII0' = LibType 'JEFF31' = + LibType 'JEFF311' = LibType 'JEFF312' = + + + + THEN + + GREP: ListeIsot :: GETVAL 'Zr90' <> NVAL 8 >>NomSSZr90<< ; + GREP: ListeIsot :: GETVAL 'Zr91' <> NVAL 8 >>NomSSZr91<< ; + GREP: ListeIsot :: GETVAL 'Zr92' <> NVAL 8 >>NomSSZr92<< ; + GREP: ListeIsot :: GETVAL 'Zr94' <> NVAL 8 >>NomSSZr94<< ; + GREP: ListeIsot :: GETVAL 'Zr96' <> NVAL 8 >>NomSSZr96<< ; + +ELSEIF LibType 'ENDFVI8' = LibType 'JEF22' = + THEN + + GREP: ListeIsot :: GETVAL 'ZrNat' <> NVAL 8 >>NomSSZrNat<< ; + IF LibType 'ENDFVI8' = THEN + GREP: ListeIsot :: GETVAL 'InNat' <> NVAL 8 >>NomSSInNat<< ; + ENDIF ; + +ENDIF ; + +*------------------------------------------------------ +REAL rFuel dUO2 TempF Alpha Beta ; +IF Gestion "TIH" = THEN +* Specifications TIHANGE CEA-N-2092 + ! Thermal dilatation (p.153) + EVALUATE TempF := 286.0 (* C *) 9.0 * 5.0 / 32.0 + ; ! C to F + EVALUATE Beta := 1.0 -3.31925E-4 + + 4.87957E-6 TempF * + + 1.37101E-11 TempF 2.0 ** * + + 1.6161E-13 TempF 3.0 ** * + ; + EVALUATE rFuel := .464693 Beta * ; ! (p. 158) +*------------------------------------------------------------------- +* Theoric density = 10.96 g/cm3 +* Porosity = 5.0 % (x0.95) -> 10.412 (p.154) +* Thermal Dilatation Effects -> 10.338 (p.153/154) +* Free Rod Space Modelisation, Grain boundary, Others Effects +* --> Dilution factor = 0.9881 (p.159) +* Final density at 286 deg[C] = 10.215 g/cm3 +*------------------------------------------------------------------- + EVALUATE dUO2 := 10.96 0.95 * Beta 3.0 ** / 0.9881 * ; +ELSEIF Gestion "BEAV" = THEN + IF Teneur_I 160 = THEN + EVALUATE dUO2 := 10.31341 ; + ELSEIF Teneur_I 240 = THEN + EVALUATE dUO2 := 10.29748 ; + ELSEIF Teneur_I 310 = THEN + EVALUATE dUO2 := 10.30166 ; + ELSE + ECHO "BEAVRS dispose d'enrichissements specifiques. Les seuls" ; + ECHO "enrichissements disponibles sont 1,6, 2,4 et 3,10" ; + ECHO "pourcents. Specifier l'un de ces trois enrichissements." ; + ECHO "Actuellement :" ; + ECHO Main_enri ; + ABORT: ; + ENDIF ; + EVALUATE rFuel := .39218 ; ! [cm] +ELSE + EVALUATE rFuel := .4095 ; ! [cm] + EVALUATE dUO2 := 10.07 ; ! UO2-density +ENDIF ; +REAL dMOX := 10.02 ; +REAL dGado := 9.83 ; +REAL dInc dZr4 ; +REAL U5FC := 1E-9 ; + +*-------------------------------------------------------------------- +* Assembly structure +*-------------------------------------------------------------------- +REAL dTube dClad dAICr dSS dGrid dB4C dBP ; +* Specifications TIHANGE CEA-N-2092 + EVALUATE dInc := 8.089 ; ! In-718 density + EVALUATE dZr4 := 6.52 ; +IF Gestion "BEAV" = THEN + EVALUATE dInc := 8.2 ; ! In-718 density + EVALUATE dZr4 := 6.55 ; +ENDIF ; +IF Gestion "TIH" = THEN +* Specifications TIHANGE CEA-N-2092 + ! AgInCd Control Rod density + EVALUATE dAICr := 10.17 ; ! 20 C + EVALUATE TempF := 286.0 (* C *) 9.0 * 5.0 / 32.0 + ; ! C to F + EVALUATE Alpha := 1.25E-5 ; + EVALUATE dAICr := dAICr + TempF 68.0 - Alpha * 1.0 + 3.0 ** / ; + EVALUATE dSS := 7.79 ; ! Stainless Steel (SS304) density + EVALUATE dTube := dZr4 ; ! Guide Tube density + EVALUATE dClad := dZr4 ; ! Fuel Cladding density + EVALUATE dBP := 2.27 ; ! BoroSilicate Poison Rod (BP) +ELSEIF Gestion "BEAV" = THEN + EVALUATE dAICr := 10.16 ; ! 20 C + EVALUATE dSS := 8.03 ; ! Stainless Steel (SS304) density + EVALUATE dTube := dZr4 ; ! Guide Tube density + EVALUATE dClad := dZr4 ; ! Fuel Cladding density + EVALUATE dBP := 2.26 ; ! BoroSilicate Poison Rod (BP) +ELSE + ECHO "Error --- Gestion:" Gestion "not recognized." ; + ABORT: ; +ENDIF ; +EVALUATE dB4C := 1.79 ; +EVALUATE dGrid := 6.691985 ; + +*------------------------------------------------------ +* Gestion Branching +*------------------------------------------------------ +IF Gestion "TIH" = THEN + EVALUATE PowMWth := 2652. ; ! [MW] (CEA-N-2092) + EVALUATE cbor := 600. ; ! [ppm] + EVALUATE Hactiv := 368. ; ! [cm] + EVALUATE NbAss := 157. ; ! [900MWe] + EVALUATE dmod := .716403 ; ! [g.cm-3] + EVALUATE tmod := 305. ; ! [degC] + EVALUATE tcom := 650. ; ! [degC] + EVALUATE tgain := 335. ; ! [degC] +ELSEIF Gestion "BEAV" = THEN + EVALUATE PowMWth := 3411. ; ! [MW] (SLB 1100MWe) + EVALUATE Hactiv := 365.76 ; ! [cm] + EVALUATE NbAss := 193. ; ! [1300MWe] + EVALUATE cbor := 975. ; ! [ppm] + EVALUATE dmod := .7398625 ; ! [g.cm-3] + EVALUATE tmod := 293.33 ; ! [degC] + EVALUATE tcom := 360. ; ! [degC] + EVALUATE tgain := 335. ; ! [degC] +ELSE ! Input Error + ECHO "Error --- Gestion:" Gestion "not recognized." ; + ABORT: ; +ENDIF ; +*------------------------------------------------------ +* Thermal Expansion of densities (If requested) +*------------------------------------------------------ +IF ThermExp 1 = THEN +EVALUATE tclad := 0.12 tcom * 0.88 tmod * + ; +EVALUATE Model := "TIH" ; +* EVALUATE tclad := tgain ; + ThermaExpans :: <> "UO2" <> "Density" + <> "NONE" 0. 0. 0. >>dUO2<< ; + ThermaExpans :: <> "AIC" <> "Density" + <> "NONE" 0. 0. 0. >>dAICr<< ; + ThermaExpans :: <> "SS304" <> "Density" + <> "NONE" 0. 0. 0. >>dTube<< ; + ThermaExpans :: <> "Pyrex" <> "Density" + <> "NONE" 0. 0. 0. >>dBP<< ; + ThermaExpans :: <> "Zr4" <> "Density" + <> "NONE" 0. 0. 0. >>dClad<< ; + ThermaExpans :: <> "In718" <> "Density" + <> "NONE" 0. 0. 0. >>dInc<< ; + ThermaExpans :: <> "SS304" <> "Density" + <> "NONE" 0. 0. 0. >>dSS<< ; + ECHO "---------------THERMAL EXPANSION OF DENSITIES------------" ; + ECHO " dUO2 = " dUO2 " at " tcom "C." ; + ECHO " dAICr = " dAICr " at " tmod "C." ; + ECHO " dSS = " dSS " at " tmod "C." ; + ECHO " dClad = " dClad " at " tclad "C." ; + ECHO " dTube = " dTube " at " tcom "C." ; + ECHO " dBP = " dBP " at " tcom "C." ; + ECHO " dInc = " dInc " at " tcom "C." ; +ENDIF ; +*------ GAINC ------ +*---- made of Zircalloy4 (with fuel-clad gap) ---- +EVALUATE dClad := dClad 0.53677 2.0 ** 0.474956 2.0 ** - + 0.53677 2.0 ** 0.465793 2.0 ** - / * ; +*------ GRILLE ------------------- +*--------------------------------- +* Mass Ratios Grille precalculee : +* Inconel .131668 +* Zirc4 .868332 +*--------------------------------- +REAL InGridf := .131668 ; +REAL Z4Gridf := .868332 ; +REAL SSGridf := 0.0 ; +* SS rods +EVALUATE dRodSS := dSS .5525475 * ; ! +* AIC +IF Gestion "TIH" = THEN + EVALUATE dCladAIC := dSS 0.5601362 2.0 ** 0.5110126 2.0 ** - + 0.5601362 2.0 ** 0.5078476 2.0 ** - / * ; +ELSEIF Gestion "BEAV" = THEN + EVALUATE dCladAIC := dSS 0.48387 2.0 ** 0.43688 2.0 ** - + 0.48387 2.0 ** 0.43310 2.0 ** - / * ; +ELSE ! Input Error + ECHO "Error --- Gestion:" Gestion "not recognized." ; + ABORT: ; +ENDIF ; +* +EVALUATE dCladSS := dSS .87575664 * ; +EVALUATE dCladB4C := dSS .8868781 * ; +* PYREX +REAL dCladIntBP := dSS 0.301759 2.0 ** 0.2851718 2.0 ** - + 0.31115 2.0 ** 0.2851718 2.0 ** - / * ; +! 0.56013513697 = 0,55753*(1+9,8E-6*(546,8-70)) +REAL dCladExtBP := dSS 0.5601362 2.0 ** 0.5110126 2.0 ** - + 0.5601362 2.0 ** 0.49784 2.0 ** - / * ; +IF Gestion "BEAV" = THEN + EVALUATE dCladIntBP := dSS 0.2305 2.0 ** 0.2140 2.0 ** - + 0.2413 2.0 ** 0.2140 2.0 ** - / * ; + EVALUATE dCladExtBP := dSS 0.4839 2.0 ** 0.4369 2.0 ** - + 0.4839 2.0 ** 0.4267 2.0 ** - / * ; +ENDIF ; + +*------------------------------------------------------ +* Convert values (degC -> K ; ppm -> value) +*------------------------------------------------------ +EVALUATE tmod := tmod 273.15 + ; ! user temp in degC, LIB in K +EVALUATE tcom := tcom 273.15 + ; ! user temp in degC, LIB in K +EVALUATE tgain := tgain 273.15 + ; ! user temp in degC, LIB in K +EVALUATE cbor := cbor 1.E-06 * ; ! +*------------------------------------------------------ +* Grid Dilution in Moderator for every cell +*------------------------------------------------------ +* Le mot-clef COMB interdit 0.0, mais autorise une quantite +* negligeable. Faut-il faire une demande de dev pour qu'il +* accepte une quantite negligeable ? +REAL SurfEauCntr SurfEauSide SurfEauCorn ; +REAL ss304Cntr IncCntr Zr4Cntr + ss304Side IncSide Zr4Side + ss304Corn IncCorn Zr4Corn + ss304Tube IncTube Zr4Tube ; +REAL DemiLameH2O SurfEauTube := 0.0 0.0 ; +REAL VtotZr4 VtotInc VtotSS Vtot Zf Incf SSf := 0.0 .0 .0 .0 .0 .0 .0 ; +REAL MtotZr4 MtotInc ; + +IF Gestion 'TIH' = THEN ! p155 et 159 + EVALUATE SurfEauCntr := 1.43538098 2.0 ** $Pi_R 0.53677 2.0 ** * - ; + EVALUATE SurfEauSide := 1.43538098 0.07343 2.0 / * ; + EVALUATE SurfEauCorn := SurfEauSide 2.0 * 0.07343 2.0 / + 0.07343 2.0 / * + ; +* + EVALUATE ss304Tube := 2.205 100.0 / ; + EVALUATE IncTube := 1.162 100.0 / ; + EVALUATE Zr4Tube := 1.0E-20 ; +* + EVALUATE ss304Cntr := 1.0E-20 ; + EVALUATE IncCntr := 0.5484 100.0 / ; + EVALUATE Zr4Cntr := 1.0E-20 ; +* + EVALUATE ss304Side := 1.0E-20 ; + EVALUATE IncSide := + 0.5484 100.0 / SurfEauCntr SurfEauCntr SurfEauSide + / * + 3.041 100.0 / SurfEauSide SurfEauCntr SurfEauSide + / * + ; + EVALUATE Zr4Side := 1.0E-20 ; +* + EVALUATE ss304Corn := 1.0E-20 ; + EVALUATE IncCorn := + 0.5484 100.0 / SurfEauCntr SurfEauCntr SurfEauCorn + / * + 3.041 100.0 / SurfEauCorn SurfEauCntr SurfEauCorn + / * + ; + EVALUATE Zr4Corn := 1.0E-20 ; +* + EVALUATE GrPreTube := 1.0E-20 ; + EVALUATE GrPreCntr := 1.0E-20 ; + EVALUATE GrPreSide := 1.0E-20 ; + EVALUATE GrPreCorn := 1.0E-20 ; +* + EVALUATE H2OTube := 1.0 ss304Tube - IncTube - Zr4Tube - ; + EVALUATE H2OCntr := 1.0 ss304Cntr - IncCntr - Zr4Cntr - ; + EVALUATE H2OSide := 1.0 ss304Side - IncSide - Zr4Side - ; + EVALUATE H2OCorn := 1.0 ss304Corn - IncCorn - Zr4Corn - ; + +ELSEIF Gestion "BEAV" = THEN +! Le calcul des rapport volumique est caclule dans le fichier Dilution_grille.xslx +* + EVALUATE ss304Tube := 1.0E-20 ; + EVALUATE IncTube := 1.00254E-03 ; + EVALUATE Zr4Tube := 2.08644E-02 ; +* + + EVALUATE ss304Cntr := 1.0E-20 ; + EVALUATE IncCntr := 4.835E-04 ; + EVALUATE Zr4Cntr := 1.006E-02 ; +* + EVALUATE ss304Side := 4.06144E-04 ; + EVALUATE IncSide := 4.56781E-04 ; + EVALUATE Zr4Side := 1.28293E-02 ; +* + EVALUATE ss304Corn := 7.76842E-04 ; + EVALUATE IncCorn := 4.32097E-04 ; + EVALUATE Zr4Corn := 1.53486E-02 ; +* + EVALUATE GrPreTube := 1.0E-20 ; + EVALUATE GrPreCntr := 1.0E-20 ; + EVALUATE GrPreSide := 1.0E-20 ; + EVALUATE GrPreCorn := 1.0E-20 ; +* + EVALUATE H2OTube := 1.0 ss304Tube - IncTube - Zr4Tube - ; + EVALUATE H2OCntr := 1.0 ss304Cntr - IncCntr - Zr4Cntr - ; + EVALUATE H2OSide := 1.0 ss304Side - IncSide - Zr4Side - ; + EVALUATE H2OCorn := 1.0 ss304Corn - IncCorn - Zr4Corn - ; +ELSE ! Input Error + ECHO "Error --- Gestion:" Gestion "not recognized." ; + ABORT: ; +ENDIF ; +ECHO "CreaMix: GrPreTube=" GrPreTube ; + +*------------------------------------------------------ +* Evaluate Total Fuel Volume +*------------------------------------------------------ +REAL VolPin := $Pi_R rFuel * rFuel * Hactiv * ; +REAL VolAss ; +IF Gestion "TIH" = THEN + EVALUATE VolAss := VolPin 204. * ; ! 204 fuel pins +ELSE + EVALUATE VolAss := VolPin 264. * ; ! 264 fuel pins +ENDIF ; +REAL TotFuelVol := VolAss NbAss * ; +*------------------------------------------------------ +* AssType Branching +*------------------------------------------------------ +IF AssType "UOX" = THEN +EVALUATE iU8 iPu9 iPu0 iPu1 iPu2 iU5 iAg9 iAg7 iIn iZrG iZrT := + 1 2 3 4 5 6 7 8 9 10 11 ; +EVALUATE iGd4 iGd5 iGd6 iGd7 iGd8 iGd0 := 0 0 0 0 0 0 ; +EVALUATE enriU := Main_enri ; +IF Gestion "TIH" = THEN + IF Teneur_I 195 = THEN + EVALUATE U4enri := 0.019 100.0 / ; + EVALUATE U6enri := 0.012 100.0 / ; + ELSEIF Teneur_I 255 = THEN + EVALUATE U4enri := 0.025 100.0 / ; + EVALUATE U6enri := 0.016 100.0 / ; + ELSEIF Teneur_I 310 = THEN + EVALUATE U4enri := 0.031 100.0 / ; + EVALUATE U6enri := 0.019 100.0 / ; + ELSE + ECHO "Tihange dispose d'enrichissements specifiques (uranium " ; + ECHO "de retraitement re-enrichi). Les seuls enrichissements " ; + ECHO "disponibles sont 1,95, 2,55 et 3,10 pourcents. Specifier" ; + ECHO " l'un de ces trois enrichissements. Actuellement :" ; + ECHO Main_enri ; + ABORT: ; + ENDIF ; +ELSEIF Gestion "BEAV" = THEN + IF Teneur_I 160 = THEN + EVALUATE U4enri := 0.01288048 100.0 / ; + EVALUATE U6enri := 0.0 ; + EVALUATE enriU := 1.61 ; + ELSEIF Teneur_I 240 = THEN + EVALUATE U4enri := 0.01919944 100.0 / ; + EVALUATE U6enri := 0.0 ; + ELSEIF Teneur_I 310 = THEN + EVALUATE U4enri := 0.02481768 100.0 / ; + EVALUATE U6enri := 0.0 ; + ELSE + ECHO "BEAVRS dispose d'enrichissements specifiques. " ; + ECHO "Les seuls enrichissements " ; + ECHO "disponibles sont 1,60, 2,40 et 3,10 pourcents. Specifier" ; + ECHO " l'un de ces trois enrichissements. Actuellement :" ; + ECHO Main_enri ; + ABORT: ; + ENDIF ; +ELSE ! Input Error + ECHO "Error --- Gestion:" Gestion "not recognized." ; + ABORT: ; +ENDIF ; +EVALUATE U5enri := enriU 100. / ; ! X.XX % => 0.0XXX +EVALUATE U8enri := 1. U6enri - U5enri - U4enri - ; +EVALUATE Pu8enri := 1.E-15 ; +EVALUATE Pu9enri := 1.E-15 ; +EVALUATE Pu0enri := 1.E-15 ; +EVALUATE Pu1enri := 1.E-15 ; +EVALUATE Pu2enri := 1.E-15 ; +EVALUATE Am1enri := 1.E-15 ; + +*---- massic -> isotopic ratio ---- +EVALUATE U4enri := U4enri avo_conc * u234 / ; +EVALUATE U5enri := U5enri avo_conc * u235 / ; +EVALUATE U6enri := U6enri avo_conc * u236 / ; +EVALUATE U8enri := U8enri avo_conc * u238 / ; +EVALUATE Pu8enri := Pu8enri avo_conc * pu238 / ; +EVALUATE Pu9enri := Pu9enri avo_conc * pu239 / ; +EVALUATE Pu0enri := Pu0enri avo_conc * pu240 / ; +EVALUATE Pu1enri := Pu1enri avo_conc * pu241 / ; +EVALUATE Pu2enri := Pu2enri avo_conc * pu242 / ; +EVALUATE Am1enri := Am1enri avo_conc * am241 / ; + +EVALUATE ReNorm := U4enri U5enri + U6enri + U8enri + + Pu8enri + Pu9enri + Pu0enri + Pu1enri + + Pu2enri + Am1enri + ; + +EVALUATE U4enri := U4enri ReNorm / ; +EVALUATE U5enri := U5enri ReNorm / ; +EVALUATE U6enri := U6enri ReNorm / ; +EVALUATE U8enri := U8enri ReNorm / ; +EVALUATE Pu8enri := Pu8enri ReNorm / ; +EVALUATE Pu9enri := Pu9enri ReNorm / ; +EVALUATE Pu0enri := Pu0enri ReNorm / ; +EVALUATE Pu1enri := Pu1enri ReNorm / ; +EVALUATE Pu2enri := Pu2enri ReNorm / ; +EVALUATE Am1enri := Am1enri ReNorm / ; + +*---- average U, UO2 molar masses ---- +EVALUATE MUPuAm := U4enri u234 * U5enri u235 * + + U6enri u236 * + U8enri u238 * + + Pu8enri pu238 * + Pu9enri pu239 * + + Pu0enri pu240 * + Pu1enri pu241 * + + Pu2enri pu242 * + Am1enri am241 * + ; + +EVALUATE MUO2 := MUPuAm 2. o16 * + ; + +*---- U density; U & 0 concentrations ---- +EVALUATE U_tot := dUO2 avo_conc * MUO2 / ; ! conc_U = conc_UO2 +EVALUATE O_fuel := 2. U_tot * ; ! conc_O = 2 x conc_UO2 +EVALUATE dU := U_tot MUPuAm * avo_conc / ; ! U density in g/cm**3 + +*---------------------------------------------------------------------- +* Final U+Pu+Am Concentrations in atm/cm/barn +*---------------------------------------------------------------------- +EVALUATE U4fuel := U_tot U4enri * ; +EVALUATE U5fuel := U_tot U5enri * ; +EVALUATE U6fuel := U_tot U6enri * ; +EVALUATE U8fuel := U_tot U8enri * ; +EVALUATE Pu8fuel := U_tot Pu8enri * ; +EVALUATE Pu9fuel := U_tot Pu9enri * ; +EVALUATE Pu0fuel := U_tot Pu0enri * ; +EVALUATE Pu1fuel := U_tot Pu1enri * ; +EVALUATE Pu2fuel := U_tot Pu2enri * ; +EVALUATE Am1fuel := U_tot Am1enri * ; +ECHO "U4fuel" U4fuel ; +ECHO "U5fuel" U5fuel ; +ECHO "U6fuel" U6fuel ; +ECHO "U8fuel" U8fuel ; +ECHO "Pu8fuel" Pu8fuel ; +ECHO "Pu9fuel" Pu9fuel ; +ECHO "Pu0fuel" Pu0fuel ; +ECHO "Pu1fuel" Pu1fuel ; +ECHO "Pu2fuel" Pu2fuel ; +ECHO "Am1fuel" Am1fuel ; +*---------------------------------------------------------------------- +* Power conversion factor for UOX: +* PowMWT = PowMWth / ( dU * TotFuelVol * 1.E-6 ) +* (MW/T) (MW) (g/cm**3) (cm**3) (T/g) +*---------------------------------------------------------------------- +EVALUATE PowMWT := PowMWth dU TotFuelVol * 1.E-6 * / ; +*---------------------------------------------------------------------- +ELSEIF AssType "MOX" = THEN +EVALUATE iU8 iPu9 iPu0 iPu1 iPu2 iU5 iAg9 iAg7 iIn iZrG iZrT := + 1 2 3 4 5 6 7 8 9 10 11 ; +EVALUATE iGd4 iGd5 iGd6 iGd7 iGd8 iGd0 := 0 0 0 0 0 0 ; + +*---- enrichment in isotopic ratio ---- +*---- U enrichment ---- +EVALUATE U4enri := U4enri avo_conc * u234 / ; +EVALUATE U5enri := U5enri avo_conc * u235 / ; +EVALUATE U6enri := U6enri avo_conc * u236 / ; +EVALUATE U8enri := U8enri avo_conc * u238 / ; + +EVALUATE ReNorm := U4enri U5enri + U6enri + U8enri + ; + +EVALUATE U4enri := U4enri ReNorm / ; +EVALUATE U5enri := U5enri ReNorm / ; +EVALUATE U6enri := U6enri ReNorm / ; +EVALUATE U8enri := U8enri ReNorm / ; + +*---- average Utot ---- +EVALUATE MUtot := U4enri u234 * U5enri u235 * + + U6enri u236 * + U8enri u238 * + ; + +*---- Pu enrichment ---- +EVALUATE Pu8enri := Pu8enri avo_conc * pu238 / ; +EVALUATE Pu9enri := Pu9enri avo_conc * pu239 / ; +EVALUATE Pu0enri := Pu0enri avo_conc * pu240 / ; +EVALUATE Pu1enri := Pu1enri avo_conc * pu241 / ; +EVALUATE Pu2enri := Pu2enri avo_conc * pu242 / ; +EVALUATE Am1enri := Am1enri avo_conc * am241 / ; + +EVALUATE ReNorm := Pu8enri Pu9enri + Pu0enri + + Pu1enri + Pu2enri + Am1enri + ; + +EVALUATE Pu8enri := Pu8enri ReNorm / ; +EVALUATE Pu9enri := Pu9enri ReNorm / ; +EVALUATE Pu0enri := Pu0enri ReNorm / ; +EVALUATE Pu1enri := Pu1enri ReNorm / ; +EVALUATE Pu2enri := Pu2enri ReNorm / ; +EVALUATE Am1enri := Am1enri ReNorm / ; + +*---- average Putot ---- +EVALUATE MPutot := Pu8enri pu238 * Pu9enri pu239 * + + Pu0enri pu240 * + Pu1enri pu241 * + + Pu2enri pu242 * + Am1enri am241 * + ; + +*-------- CORNER -------- +EVALUATE Pue_corn := f_corn ; +EVALUATE Ue_corn := 1. Pue_corn - ; + +EVALUATE Pue_corn := Pue_corn avo_conc * MPutot / ; +EVALUATE Ue_corn := Ue_corn avo_conc * MUtot / ; + +EVALUATE ReNorm := Pue_corn Ue_corn + ; + +EVALUATE Pue_corn := Pue_corn ReNorm / ; +EVALUATE Ue_corn := Ue_corn ReNorm / ; + +EVALUATE U4e_corn := U4enri Ue_corn * ; +EVALUATE U5e_corn := U5enri Ue_corn * ; +EVALUATE U6e_corn := U6enri Ue_corn * ; +EVALUATE U8e_corn := U8enri Ue_corn * ; + +EVALUATE Pu8e_corn := Pu8enri Pue_corn * ; +EVALUATE Pu9e_corn := Pu9enri Pue_corn * ; +EVALUATE Pu0e_corn := Pu0enri Pue_corn * ; +EVALUATE Pu1e_corn := Pu1enri Pue_corn * ; +EVALUATE Pu2e_corn := Pu2enri Pue_corn * ; +EVALUATE Am1e_corn := Am1enri Pue_corn * ; + +*-------- SIDE -------- +EVALUATE Pue_side := f_side ; +EVALUATE Ue_side := 1. Pue_side - ; + +EVALUATE Pue_side := Pue_side avo_conc * MPutot / ; +EVALUATE Ue_side := Ue_side avo_conc * MUtot / ; + +EVALUATE ReNorm := Pue_side Ue_side + ; + +EVALUATE Pue_side := Pue_side ReNorm / ; +EVALUATE Ue_side := Ue_side ReNorm / ; + +EVALUATE U4e_side := U4enri Ue_side * ; +EVALUATE U5e_side := U5enri Ue_side * ; +EVALUATE U6e_side := U6enri Ue_side * ; +EVALUATE U8e_side := U8enri Ue_side * ; + +EVALUATE Pu8e_side := Pu8enri Pue_side * ; +EVALUATE Pu9e_side := Pu9enri Pue_side * ; +EVALUATE Pu0e_side := Pu0enri Pue_side * ; +EVALUATE Pu1e_side := Pu1enri Pue_side * ; +EVALUATE Pu2e_side := Pu2enri Pue_side * ; +EVALUATE Am1e_side := Am1enri Pue_side * ; + +*-------- CENTER -------- +EVALUATE Pue_cntr := f_cntr ; +EVALUATE Ue_cntr := 1. Pue_cntr - ; + +EVALUATE Pue_cntr := Pue_cntr avo_conc * MPutot / ; +EVALUATE Ue_cntr := Ue_cntr avo_conc * MUtot / ; + +EVALUATE ReNorm := Pue_cntr Ue_cntr + ; + +EVALUATE Pue_cntr := Pue_cntr ReNorm / ; +EVALUATE Ue_cntr := Ue_cntr ReNorm / ; + +EVALUATE U4e_cntr := U4enri Ue_cntr * ; +EVALUATE U5e_cntr := U5enri Ue_cntr * ; +EVALUATE U6e_cntr := U6enri Ue_cntr * ; +EVALUATE U8e_cntr := U8enri Ue_cntr * ; + +EVALUATE Pu8e_cntr := Pu8enri Pue_cntr * ; +EVALUATE Pu9e_cntr := Pu9enri Pue_cntr * ; +EVALUATE Pu0e_cntr := Pu0enri Pue_cntr * ; +EVALUATE Pu1e_cntr := Pu1enri Pue_cntr * ; +EVALUATE Pu2e_cntr := Pu2enri Pue_cntr * ; +EVALUATE Am1e_cntr := Am1enri Pue_cntr * ; + +*---- average UPuAm, MOX molar masses ---- +EVALUATE M_corn := Pue_corn MPutot * Ue_corn MUtot * + ; +EVALUATE M_side := Pue_side MPutot * Ue_side MUtot * + ; +EVALUATE M_cntr := Pue_cntr MPutot * Ue_cntr MUtot * + ; +EVALUATE MMOXcorn := M_corn 2. o16 * + ; +EVALUATE MMOXside := M_side 2. o16 * + ; +EVALUATE MMOXcntr := M_cntr 2. o16 * + ; + +*---- UPu density; MOX, UPu & 0 concentrations ---- +EVALUATE MOX_corn := dMOX avo_conc * MMOXcorn / ; +EVALUATE MOX_side := dMOX avo_conc * MMOXside / ; +EVALUATE MOX_cntr := dMOX avo_conc * MMOXcntr / ; +EVALUATE UPu_corn_tot := MOX_corn ; ! conc_UPu = conc_MOX +EVALUATE UPu_side_tot := MOX_side ; ! +EVALUATE UPu_cntr_tot := MOX_cntr ; ! +EVALUATE O_corn_fuel := 2. MOX_corn * ; ! conc_O = 2 x conc_MOX +EVALUATE O_side_fuel := 2. MOX_side * ; ! +EVALUATE O_cntr_fuel := 2. MOX_cntr * ; ! +EVALUATE dUcorn := UPu_corn_tot M_corn * avo_conc / ; +EVALUATE dUside := UPu_side_tot M_side * avo_conc / ; +EVALUATE dUcntr := UPu_cntr_tot M_cntr * avo_conc / ; + +*---------------------------------------------------------------------- +* Final U+Pu+Am Concentrations in atm/cm/barn +*--- Corner ----------------------------------------------------------- +EVALUATE U4cornfuel := UPu_corn_tot U4e_corn * ; +EVALUATE U5cornfuel := UPu_corn_tot U5e_corn * ; +EVALUATE U6cornfuel := UPu_corn_tot U6e_corn * ; +EVALUATE U8cornfuel := UPu_corn_tot U8e_corn * ; +EVALUATE Pu8cornfuel := UPu_corn_tot Pu8e_corn * ; +EVALUATE Pu9cornfuel := UPu_corn_tot Pu9e_corn * ; +EVALUATE Pu0cornfuel := UPu_corn_tot Pu0e_corn * ; +EVALUATE Pu1cornfuel := UPu_corn_tot Pu1e_corn * ; +EVALUATE Pu2cornfuel := UPu_corn_tot Pu2e_corn * ; +EVALUATE Am1cornfuel := UPu_corn_tot Am1e_corn * ; +*--- Side ------------------------------------------------------------- +EVALUATE U4sidefuel := UPu_side_tot U4e_side * ; +EVALUATE U5sidefuel := UPu_side_tot U5e_side * ; +EVALUATE U6sidefuel := UPu_side_tot U6e_side * ; +EVALUATE U8sidefuel := UPu_side_tot U8e_side * ; +EVALUATE Pu8sidefuel := UPu_side_tot Pu8e_side * ; +EVALUATE Pu9sidefuel := UPu_side_tot Pu9e_side * ; +EVALUATE Pu0sidefuel := UPu_side_tot Pu0e_side * ; +EVALUATE Pu1sidefuel := UPu_side_tot Pu1e_side * ; +EVALUATE Pu2sidefuel := UPu_side_tot Pu2e_side * ; +EVALUATE Am1sidefuel := UPu_side_tot Am1e_side * ; +*--- Center ----------------------------------------------------------- +EVALUATE U4cntrfuel := UPu_cntr_tot U4e_cntr * ; +EVALUATE U5cntrfuel := UPu_cntr_tot U5e_cntr * ; +EVALUATE U6cntrfuel := UPu_cntr_tot U6e_cntr * ; +EVALUATE U8cntrfuel := UPu_cntr_tot U8e_cntr * ; +EVALUATE Pu8cntrfuel := UPu_cntr_tot Pu8e_cntr * ; +EVALUATE Pu9cntrfuel := UPu_cntr_tot Pu9e_cntr * ; +EVALUATE Pu0cntrfuel := UPu_cntr_tot Pu0e_cntr * ; +EVALUATE Pu1cntrfuel := UPu_cntr_tot Pu1e_cntr * ; +EVALUATE Pu2cntrfuel := UPu_cntr_tot Pu2e_cntr * ; +EVALUATE Am1cntrfuel := UPu_cntr_tot Am1e_cntr * ; +*---------------------------------------------------------------------- +* Power conversion factor for MOX: +* PowMWT = PowMWth / [ ( dUcorn * TotFuelVol * f_cornPin ) + +* (MW/T) (MW) ( dUside * TotFuelVol * f_sidePin ) + +* ( dUcntr * TotFuelVol * f_cntrPin ) ] * 1.E-6 +* (g/cm**3) (cm**3) (unitless) (T/g) +*---------------------------------------------------------------------- +EVALUATE PowMWT := PowMWth dUcorn TotFuelVol * f_cornPin * + dUside TotFuelVol * f_sidePin * + + dUcntr TotFuelVol * f_cntrPin * + 1.E-6 * / ; +*---------------------------------------------------------------------- +ELSEIF AssType "UGd" = AssType "UGd8" = + THEN +EVALUATE iU8 iGd5 iGd7 iGd4 iGd6 iGd8 iGd0 iPu9 iPu0 iPu1 iPu2 iU5 iAg9 + iAg7 iIn iZrG iZrT := + 1 2 3 4 5 6 7 8 9 10 11 12 13 + 14 15 16 17 ; +EVALUATE enriU := Main_enri ; +EVALUATE enriUGd := 3.0 ; +EVALUATE enriGd := 8. ; +EVALUATE f_GadoPin := 12. 264. / ; ! 12 pins with Gd out of 264 tot +EVALUATE f_NoGdPin := 252. 264. / ; ! 252 regular pins out of 264 tot +*---------------------------------------------------------------------- +* GADOLINIUM FUEL +*---------------------------------------------------------------------- +EVALUATE U4eGd := 1.E-15 ; +EVALUATE U5eGd := enriUGd 100. / ; +EVALUATE U6eGd := 1.E-15 ; +EVALUATE Pu9eGd := 1.E-15 ; +EVALUATE Pu0eGd := 1.E-15 ; +EVALUATE Pu1eGd := 1.E-15 ; +EVALUATE Pu2eGd := 1.E-15 ; +EVALUATE U8eGd := 1. U4eGd - U5eGd - U6eGd - + Pu9eGd - Pu0eGd - Pu1eGd - Pu2eGd - ; + +*---- enrichment in isotopic ratio ---- +EVALUATE U4eGd := U4eGd avo_conc * u234 / ; +EVALUATE U5eGd := U5eGd avo_conc * u235 / ; +EVALUATE U6eGd := U6eGd avo_conc * u236 / ; +EVALUATE U8eGd := U8eGd avo_conc * u238 / ; +EVALUATE Pu9eGd := Pu9eGd avo_conc * pu239 / ; +EVALUATE Pu0eGd := Pu0eGd avo_conc * pu240 / ; +EVALUATE Pu1eGd := Pu1eGd avo_conc * pu241 / ; +EVALUATE Pu2eGd := Pu2eGd avo_conc * pu242 / ; + +EVALUATE ReNorm := U4eGd U5eGd + U6eGd + U8eGd + + Pu9eGd + Pu0eGd + Pu1eGd + Pu2eGd + ; + +EVALUATE U4eGd := U4eGd ReNorm / ; +EVALUATE U5eGd := U5eGd ReNorm / ; +EVALUATE U6eGd := U6eGd ReNorm / ; +EVALUATE U8eGd := U8eGd ReNorm / ; +EVALUATE Pu9eGd := Pu9eGd ReNorm / ; +EVALUATE Pu0eGd := Pu0eGd ReNorm / ; +EVALUATE Pu1eGd := Pu1eGd ReNorm / ; +EVALUATE Pu2eGd := Pu2eGd ReNorm / ; + +*---- average U, UO2 molar masses for fuel with Gd ---- +EVALUATE MUPuGd := U4eGd u234 * U5eGd u235 * + + U6eGd u236 * + U8eGd u238 * + + Pu9eGd pu239 * + Pu0eGd pu240 * + + Pu1eGd pu241 * + Pu2eGd pu242 * + ; + +EVALUATE MUO2Gd := MUPuGd 2. o16 * + ; +*---------------------------------------------------------------------- +* Gd2O3 and UO2 for UO2 + Gd2O3 mix +* Massic proportions: Gd2O3 (enriGd / 100) +* UO2 for Gd (1 - enriGd / 100) +*---------------------------------------------------------------------- +EVALUATE Gd2O3f := enriGd 100. / ; +EVALUATE UO2Gdf := 1. Gd2O3f - ; + +GREP: Gd2O3 :: GETVAL 'AvgMolM ' 1 >>MGd2O3<< ; +GREP: Gd2O3 :: GETVAL 'GadOxG4frIso' 1 >>Gd2O3_G4f<< ; +GREP: Gd2O3 :: GETVAL 'GadOxG5frIso' 1 >>Gd2O3_G5f<< ; +GREP: Gd2O3 :: GETVAL 'GadOxG6frIso' 1 >>Gd2O3_G6f<< ; +GREP: Gd2O3 :: GETVAL 'GadOxG7frIso' 1 >>Gd2O3_G7f<< ; +GREP: Gd2O3 :: GETVAL 'GadOxG8frIso' 1 >>Gd2O3_G8f<< ; +GREP: Gd2O3 :: GETVAL 'GadOxG0frIso' 1 >>Gd2O3_G0f<< ; +GREP: Gd2O3 :: GETVAL 'GadOxOfrIso ' 1 >>Gd2O3_Of<< ; + +*---- massic to isotopic ratios ---- +EVALUATE Gd2O3f := Gd2O3f avo_conc * MGd2O3 / ; +EVALUATE UO2Gdf := UO2Gdf avo_conc * MUO2Gd / ; + +EVALUATE ReNorm := Gd2O3f UO2Gdf + ; + +EVALUATE Gd2O3f := Gd2O3f ReNorm / ; +EVALUATE UO2Gdf := UO2Gdf ReNorm / ; + +*---- average UO2+Gd2O3 molar mass ---- +EVALUATE M_UO2Gd2O3 := Gd2O3f MGd2O3 * UO2Gdf MUO2Gd * + ; + +*---- U density; U & O total concentrations ---- +* conc_U = conc_UO2+Gd2O3 +* conc_O = 3 x conc_Gd2O3 + 2 x conc_UO2(Gd) +EVALUATE UO2Gd2O3 := dGado avo_conc * M_UO2Gd2O3 / ; +EVALUATE dUGado := UO2Gd2O3 MUO2Gd * avo_conc / ; + +EVALUATE U4eGd := U4eGd UO2Gdf * ; +EVALUATE U5eGd := U5eGd UO2Gdf * ; +EVALUATE U6eGd := U6eGd UO2Gdf * ; +EVALUATE U8eGd := U8eGd UO2Gdf * ; +EVALUATE Pu9eGd := Pu9eGd UO2Gdf * ; +EVALUATE Pu0eGd := Pu0eGd UO2Gdf * ; +EVALUATE Pu1eGd := Pu1eGd UO2Gdf * ; +EVALUATE Pu2eGd := Pu2eGd UO2Gdf * ; +EVALUATE OeUO2Gd := 2. UO2Gdf * ; + +EVALUATE Gd2O3_G4f := Gd2O3_G4f Gd2O3f * ; +EVALUATE Gd2O3_G5f := Gd2O3_G5f Gd2O3f * ; +EVALUATE Gd2O3_G6f := Gd2O3_G6f Gd2O3f * ; +EVALUATE Gd2O3_G7f := Gd2O3_G7f Gd2O3f * ; +EVALUATE Gd2O3_G8f := Gd2O3_G8f Gd2O3f * ; +EVALUATE Gd2O3_G0f := Gd2O3_G0f Gd2O3f * ; +EVALUATE Gd2O3_Of := Gd2O3_Of Gd2O3f * ; + +*---------------------------------------------------------------------- +* REGULAR UOX FUEL +*---------------------------------------------------------------------- +EVALUATE enriU := Main_enri ; +*EVALUATE U4enri := 1.E-15 ; +*EVALUATE U4enri := enriU 100. / 0.01003 * 0.00006 - ; +EVALUATE U4enri := 0.0335 100. / ; +EVALUATE U5enri := enriU 100. / ; +EVALUATE U6enri := 0.0061 100. / ; +*EVALUATE U6enri := 1.E-15 ; +EVALUATE U8enri := 1. U6enri - U5enri - U4enri - ; +EVALUATE Pu8enri := 1.E-15 ; +EVALUATE Pu9enri := 1.E-15 ; +EVALUATE Pu0enri := 1.E-15 ; +EVALUATE Pu1enri := 1.E-15 ; +EVALUATE Pu2enri := 1.E-15 ; +EVALUATE Am1enri := 1.E-15 ; + +*---- enrichment in isotopic ratio ---- +EVALUATE U4enri := U4enri avo_conc * u234 / ; +EVALUATE U5enri := U5enri avo_conc * u235 / ; +EVALUATE U6enri := U6enri avo_conc * u236 / ; +EVALUATE U8enri := U8enri avo_conc * u238 / ; +EVALUATE Pu8enri := Pu8enri avo_conc * pu238 / ; +EVALUATE Pu9enri := Pu9enri avo_conc * pu239 / ; +EVALUATE Pu0enri := Pu0enri avo_conc * pu240 / ; +EVALUATE Pu1enri := Pu1enri avo_conc * pu241 / ; +EVALUATE Pu2enri := Pu2enri avo_conc * pu242 / ; +EVALUATE Am1enri := Am1enri avo_conc * am241 / ; + +EVALUATE ReNorm := U4enri U5enri + U6enri + U8enri + + Pu8enri + Pu9enri + Pu0enri + Pu1enri + + Pu2enri + Am1enri + ; + +EVALUATE U4enri := U4enri ReNorm / ; +EVALUATE U5enri := U5enri ReNorm / ; +EVALUATE U6enri := U6enri ReNorm / ; +EVALUATE U8enri := U8enri ReNorm / ; +EVALUATE Pu8enri := Pu8enri ReNorm / ; +EVALUATE Pu9enri := Pu9enri ReNorm / ; +EVALUATE Pu0enri := Pu0enri ReNorm / ; +EVALUATE Pu1enri := Pu1enri ReNorm / ; +EVALUATE Pu2enri := Pu2enri ReNorm / ; +EVALUATE Am1enri := Am1enri ReNorm / ; + +*---- average U, UO2 molar masses ---- +EVALUATE MUPuAm := U4enri u234 * U5enri u235 * + + U6enri u236 * + U8enri u238 * + + Pu8enri pu238 * + Pu9enri pu239 * + + Pu0enri pu240 * + Pu1enri pu241 * + + Pu2enri pu242 * + Am1enri am241 * + ; + +EVALUATE MUO2 := MUPuAm 2. o16 * + ; + +*---- U density; U & 0 concentrations ---- +EVALUATE U_tot := dUO2 avo_conc * MUO2 / ; ! conc_u = conc_uo2 +EVALUATE O_fuel := 2. U_tot * ; ! conc_o = 2 x conc_uo2 +EVALUATE dU := U_tot MUPuAm * avo_conc / ; ! U density in g/cm**3 + +*---------------------------------------------------------------------- +* Final U+Pu+Am Concentrations in atm/cm/barn +*--- Regular UOX ------------------------------------------------------ +EVALUATE U4fuel := U_tot U4enri * ; +EVALUATE U5fuel := U_tot U5enri * ; +EVALUATE U6fuel := U_tot U6enri * ; +EVALUATE U8fuel := U_tot U8enri * ; +EVALUATE Pu8fuel := U_tot Pu8enri * ; +EVALUATE Pu9fuel := U_tot Pu9enri * ; +EVALUATE Pu0fuel := U_tot Pu0enri * ; +EVALUATE Pu1fuel := U_tot Pu1enri * ; +EVALUATE Pu2fuel := U_tot Pu2enri * ; +EVALUATE Am1fuel := U_tot Am1enri * ; +*--- UOX with Gd ----------------------------------------------------- +EVALUATE U4Gd_fuel := U4eGd UO2Gd2O3 * ; +EVALUATE U5Gd_fuel := U5eGd UO2Gd2O3 * ; +EVALUATE U6Gd_fuel := U6eGd UO2Gd2O3 * ; +EVALUATE U8Gd_fuel := U8eGd UO2Gd2O3 * ; +EVALUATE Pu9Gd_fuel := Pu9eGd UO2Gd2O3 * ; +EVALUATE Pu0Gd_fuel := Pu0eGd UO2Gd2O3 * ; +EVALUATE Pu1Gd_fuel := Pu1eGd UO2Gd2O3 * ; +EVALUATE Pu2Gd_fuel := Pu2eGd UO2Gd2O3 * ; +EVALUATE Gd154_fuel := Gd2O3_G4f UO2Gd2O3 * ; +EVALUATE Gd155_fuel := Gd2O3_G5f UO2Gd2O3 * ; +EVALUATE Gd156_fuel := Gd2O3_G6f UO2Gd2O3 * ; +EVALUATE Gd157_fuel := Gd2O3_G7f UO2Gd2O3 * ; +EVALUATE Gd158_fuel := Gd2O3_G8f UO2Gd2O3 * ; +EVALUATE Gd160_fuel := Gd2O3_G0f UO2Gd2O3 * ; +EVALUATE O_UGd_fuel := OeUO2Gd Gd2O3_Of + UO2Gd2O3 * ; +*---------------------------------------------------------------------- +* Power conversion factor for UOX+Gd: +* PowMWT = PowMWth / [ ( dU * TotFuelVol * f_NoGdPin ) + +* (MW/T) (MW) ( dUGado * TotFuelVol * f_GadoPin ) ] * 1.E-6 +* (g/cm**3) (cm**3) (unitless) (T/g) +*---------------------------------------------------------------------- +EVALUATE PowMWT := PowMWth dU TotFuelVol * f_NoGdPin * + dUGado TotFuelVol * f_GadoPin * + 1.E-6 * / ; +*---------------------------------------------------------------------- +ELSE ! Input Error + ECHO "Error --- AssType:" AssType "not recognized." ; + ABORT: ; +ENDIF ; +*---------------------------------------------------------------------- +:: <> ; + +*------ MODETI ------ +REAL MBNat B10f B11f ; +REAL BTot ; +REAL H_mti O_mti H2O_mti B10_mti B11_mti ; + +GREP: BNat :: GETVAL 'AvgMolM ' 1 >>MBNat<< ; +GREP: BNat :: GETVAL 'B10frIso' 1 >>B10f<< ; +GREP: BNat :: GETVAL 'B11frIso' 1 >>B11f<< ; + +EVALUATE BTot := dmod cbor * avo_conc * MBNat / ; + +REAL MH2O := 18.01528 ; + +EVALUATE H2O_mti := 0. ; +EVALUATE H_mti := dmod avo_conc * MH2O / 2. * ; +EVALUATE O_mti := dmod avo_conc * MH2O / ; + +EVALUATE B10_mti := BTot B10f * ; +EVALUATE B11_mti := BTot B11f * ; + +*ECHO "CONC MODETI" ; +*ECHO "H2O_mti" H2O_mti ; +*ECHO "H_mti " H_mti ; +*ECHO "O_mti " O_mti ; +*ECHO "B10_mti" B10_mti ; +*ECHO "B11_mti" B11_mti ; + +*------ TUBE ------ +*---- Made of Zircalloy4 ---- +REAL MZ4 ; +REAL ZrNatZ4f 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 ; +REAL O16Z4f ; + +*---- Isotopic Ratios ---- +GREP: Zirc4 :: GETVAL 'AvgMolM ' 1 >>MZ4<< ; +GREP: Zirc4 :: GETVAL 'O16Z4frIso ' 1 >>O16Z4f<< ; +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 '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<< ; + +*---- Atomic concentrations ---- +REAL Tubconc := dTube avo_conc * MZ4 / ; + +REAL Fe54T := Fe54Z4f Tubconc * ; +REAL Fe56T := Fe56Z4f Tubconc * ; +REAL Fe57T := Fe57Z4f Tubconc * ; +REAL Fe58T := Fe58Z4f Tubconc * ; +REAL Cr50T := Cr50Z4f Tubconc * ; +REAL Cr52T := Cr52Z4f Tubconc * ; +REAL Cr53T := Cr53Z4f Tubconc * ; +REAL Cr54T := Cr54Z4f Tubconc * ; +REAL O16T := O16Z4f Tubconc * ; +REAL ZrNatT := ZrNatZ4f Tubconc * ; +REAL Zr90T := Zr90Z4f Tubconc * ; +REAL Zr91T := Zr91Z4f Tubconc * ; +REAL Zr92T := Zr92Z4f Tubconc * ; +REAL Zr93T := Zr93Z4f Tubconc * ; +REAL Zr94T := Zr94Z4f Tubconc * ; +REAL Zr95T := Zr95Z4f Tubconc * ; +REAL Zr96T := Zr96Z4f Tubconc * ; +REAL Sn112T := Sn112Z4f Tubconc * ; +REAL Sn114T := Sn114Z4f Tubconc * ; +REAL Sn115T := Sn115Z4f Tubconc * ; +REAL Sn116T := Sn116Z4f Tubconc * ; +REAL Sn117T := Sn117Z4f Tubconc * ; +REAL Sn118T := Sn118Z4f Tubconc * ; +REAL Sn119T := Sn119Z4f Tubconc * ; +REAL Sn120T := Sn120Z4f Tubconc * ; +REAL Sn122T := Sn122Z4f Tubconc * ; +REAL Sn124T := Sn124Z4f Tubconc * ; + +*ECHO "CONC TUBE" ; +*ECHO "Fe54T " Fe54T ; +*ECHO "Fe56T " Fe56T ; +*ECHO "Fe57T " Fe57T ; +*ECHO "Fe58T " Fe58T ; +*ECHO "Cr50T " Cr50T ; +*ECHO "Cr52T " Cr52T ; +*ECHO "Cr53T " Cr53T ; +*ECHO "Cr54T " Cr54T ; +*ECHO "O16T " O16T ; +*ECHO "ZrNatT " ZrNatT ; +*ECHO "Zr90T " Zr90T ; +*ECHO "Zr91T " Zr91T ; +*ECHO "Zr92T " Zr92T ; +*ECHO "Zr93T " Zr93T ; +*ECHO "Zr94T " Zr94T ; +*ECHO "Zr95T " Zr95T ; +*ECHO "Zr96T " Zr96T ; +*ECHO "Sn112T " Sn112T ; +*ECHO "Sn114T " Sn114T ; +*ECHO "Sn115T " Sn115T ; +*ECHO "Sn116T " Sn116T ; +*ECHO "Sn117T " Sn117T ; +*ECHO "Sn118T " Sn118T ; +*ECHO "Sn119T " Sn119T ; +*ECHO "Sn120T " Sn120T ; +*ECHO "Sn122T " Sn122T ; +*ECHO "Sn124T " Sn124T ; + +*------ GAINC ------ +*---- made of Zircalloy4 (with fuel-clad gap) ---- +REAL Gaiconc := dClad avo_conc * MZ4 / ; + +REAL Fe54Cl := Fe54Z4f Gaiconc * ; +REAL Fe56Cl := Fe56Z4f Gaiconc * ; +REAL Fe57Cl := Fe57Z4f Gaiconc * ; +REAL Fe58Cl := Fe58Z4f Gaiconc * ; +REAL Cr50Cl := Cr50Z4f Gaiconc * ; +REAL Cr52Cl := Cr52Z4f Gaiconc * ; +REAL Cr53Cl := Cr53Z4f Gaiconc * ; +REAL Cr54Cl := Cr54Z4f Gaiconc * ; +REAL O16Cl := O16Z4f Gaiconc * ; +REAL ZrNatCl := ZrNatZ4f Gaiconc * ; +REAL Zr90Cl := Zr90Z4f Gaiconc * ; +REAL Zr91Cl := Zr91Z4f Gaiconc * ; +REAL Zr92Cl := Zr92Z4f Gaiconc * ; +REAL Zr93Cl := Zr93Z4f Gaiconc * ; +REAL Zr94Cl := Zr94Z4f Gaiconc * ; +REAL Zr95Cl := Zr95Z4f Gaiconc * ; +REAL Zr96Cl := Zr96Z4f Gaiconc * ; +REAL Sn112Cl := Sn112Z4f Gaiconc * ; +REAL Sn114Cl := Sn114Z4f Gaiconc * ; +REAL Sn115Cl := Sn115Z4f Gaiconc * ; +REAL Sn116Cl := Sn116Z4f Gaiconc * ; +REAL Sn117Cl := Sn117Z4f Gaiconc * ; +REAL Sn118Cl := Sn118Z4f Gaiconc * ; +REAL Sn119Cl := Sn119Z4f Gaiconc * ; +REAL Sn120Cl := Sn120Z4f Gaiconc * ; +REAL Sn122Cl := Sn122Z4f Gaiconc * ; +REAL Sn124Cl := Sn124Z4f Gaiconc * ; + +*ECHO "CONC GAINC" ; +*ECHO "Fe54Cl " Fe54Cl ; +*ECHO "Fe56Cl " Fe56Cl ; +*ECHO "Fe57Cl " Fe57Cl ; +*ECHO "Fe58Cl " Fe58Cl ; +*ECHO "Cr50Cl " Cr50Cl ; +*ECHO "Cr52Cl " Cr52Cl ; +*ECHO "Cr53Cl " Cr53Cl ; +*ECHO "Cr54Cl " Cr54Cl ; +*ECHO "O16Cl " O16Cl ; +*ECHO "ZrNatCl " ZrNatCl ; +*ECHO "Zr90Cl " Zr90Cl ; +*ECHO "Zr91Cl " Zr91Cl ; +*ECHO "Zr92Cl " Zr92Cl ; +*ECHO "Zr93Cl " Zr93Cl ; +*ECHO "Zr94Cl " Zr94Cl ; +*ECHO "Zr95Cl " Zr95Cl ; +*ECHO "Zr96Cl " Zr96Cl ; +*ECHO "Sn112Cl " Sn112Cl ; +*ECHO "Sn114Cl " Sn114Cl ; +*ECHO "Sn115Cl " Sn115Cl ; +*ECHO "Sn116Cl " Sn116Cl ; +*ECHO "Sn117Cl " Sn117Cl ; +*ECHO "Sn118Cl " Sn118Cl ; +*ECHO "Sn119Cl " Sn119Cl ; +*ECHO "Sn120Cl " Sn120Cl ; +*ECHO "Sn122Cl " Sn122Cl ; +*ECHO "Sn124Cl " Sn124Cl ; + +*------ GAINC ------ +*---- made of M5 (with fuel-clad gap) ---- +REAL MM5 ; +REAL Fe54M5f Fe56M5f Fe57M5f Fe58M5f ; +REAL O16M5f ZrM5f Nb93M5f ; +REAL Zr90M5f Zr91M5f Zr92M5f Zr93M5f Zr94M5f Zr95M5f Zr96M5f ; +REAL S32M5f S33M5f S34M5f ; + +*---- Isotopic Ratios ---- +GREP: M5 :: GETVAL 'AvgMolM ' 1 >>MM5<< ; +GREP: M5 :: GETVAL 'Fe54M5frIso' 1 >>Fe54M5f<< ; +GREP: M5 :: GETVAL 'Fe56M5frIso' 1 >>Fe56M5f<< ; +GREP: M5 :: GETVAL 'Fe57M5frIso' 1 >>Fe57M5f<< ; +GREP: M5 :: GETVAL 'Fe58M5frIso' 1 >>Fe58M5f<< ; +GREP: M5 :: GETVAL 'O16M5frIso ' 1 >>O16M5f<< ; +GREP: M5 :: GETVAL 'ZrM5frIso ' 1 >>ZrM5f<< ; +GREP: M5 :: GETVAL 'Zr90M5frIso' 1 >>Zr90M5f<< ; +GREP: M5 :: GETVAL 'Zr91M5frIso' 1 >>Zr91M5f<< ; +GREP: M5 :: GETVAL 'Zr92M5frIso' 1 >>Zr92M5f<< ; +GREP: M5 :: GETVAL 'Zr93M5frIso' 1 >>Zr93M5f<< ; +GREP: M5 :: GETVAL 'Zr94M5frIso' 1 >>Zr94M5f<< ; +GREP: M5 :: GETVAL 'Zr95M5frIso' 1 >>Zr95M5f<< ; +GREP: M5 :: GETVAL 'Zr96M5frIso' 1 >>Zr96M5f<< ; +GREP: M5 :: GETVAL 'Nb93M5frIso' 1 >>Nb93M5f<< ; +GREP: M5 :: GETVAL 'S32M5frIso ' 1 >>S32M5f<< ; +GREP: M5 :: GETVAL 'S33M5frIso ' 1 >>S33M5f<< ; +GREP: M5 :: GETVAL 'S34M5frIso ' 1 >>S34M5f<< ; + +REAL GaiconcM5 := dClad avo_conc * MM5 / ; + +REAL Fe54M5Cl := Fe54M5f GaiconcM5 * ; +REAL Fe56M5Cl := Fe56M5f GaiconcM5 * ; +REAL Fe57M5Cl := Fe57M5f GaiconcM5 * ; +REAL Fe58M5Cl := Fe58M5f GaiconcM5 * ; +REAL O16M5Cl := O16M5f GaiconcM5 * ; +REAL ZrM5Cl := ZrM5f GaiconcM5 * ; +REAL Zr90M5Cl := Zr90M5f GaiconcM5 * ; +REAL Zr91M5Cl := Zr91M5f GaiconcM5 * ; +REAL Zr92M5Cl := Zr92M5f GaiconcM5 * ; +REAL Zr93M5Cl := Zr93M5f GaiconcM5 * ; +REAL Zr94M5Cl := Zr94M5f GaiconcM5 * ; +REAL Zr95M5Cl := Zr95M5f GaiconcM5 * ; +REAL Zr96M5Cl := Zr96M5f GaiconcM5 * ; +REAL Nb93M5Cl := Nb93M5f GaiconcM5 * ; +REAL S32M5Cl := S32M5f GaiconcM5 * ; +REAL S33M5Cl := S33M5f GaiconcM5 * ; +REAL S34M5Cl := S34M5f GaiconcM5 * ; + +*ECHO "CONC GAINC" ; +*ECHO "Fe54M5Cl " Fe54M5Cl ; +*ECHO "Fe56M5Cl " Fe56M5Cl ; +*ECHO "Fe57M5Cl " Fe57M5Cl ; +*ECHO "Fe58M5Cl " Fe58M5Cl ; +*ECHO "O16M5Cl " O16M5Cl ; +*ECHO "ZrM5Cl " ZrM5Cl ; +*ECHO "Zr90M5Cl " Zr90M5Cl ; +*ECHO "Zr91M5Cl " Zr91M5Cl ; +*ECHO "Zr92M5Cl " Zr92M5Cl ; +*ECHO "Zr93M5Cl " Zr93M5Cl ; +*ECHO "Zr94M5Cl " Zr94M5Cl ; +*ECHO "Zr95M5Cl " Zr95M5Cl ; +*ECHO "Zr96M5Cl " Zr96M5Cl ; +*ECHO "Nb93M5Cl " Nb93M5Cl ; +*ECHO "S32M5Cl " S32M5Cl ; +*ECHO "S33M5Cl " S33M5Cl ; +*ECHO "S34M5Cl " S34M5Cl ; + +*------ GRILLE ------ +REAL MSS304 ; +REAL Fe54SSf Fe56SSf Fe57SSf Fe58SSf ; +REAL Ni58SSf Ni60SSf Ni61SSf Ni62SSf Ni64SSf ; +REAL Cr50SSf Cr52SSf Cr53SSf Cr54SSf ; +REAL MnSSf SiSSf Si28SSf Si29SSf Si30SSf ; + +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<< ; + +REAL MInc ; +REAL Ni58Inf Ni60Inf Ni61Inf Ni62Inf Ni64Inf ; +REAL Cr50Inf Cr52Inf Cr53Inf Cr54Inf ; +REAL Fe54Inf Fe56Inf Fe57Inf Fe58Inf ; +REAL B10BInf B11BInf ; +REAL TiNatInf Ti46Inf Ti47Inf Ti48Inf Ti49Inf Ti50Inf ; +REAL SiNatInf Si28Inf Si29Inf Si30Inf ; +REAL Al27Inf Mo95Inf Co59Inf Mn55Inf Nb93Inf ; + +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<< ; + +*---- Grille Isotopic mass ratios ---- +EVALUATE InGridf := InGridf avo_conc * MInc / ; +EVALUATE Z4Gridf := Z4Gridf avo_conc * MZ4 / ; +EVALUATE SSGridf := SSGridf avo_conc * MSS304 / ; + +EVALUATE ReNorm := InGridf Z4Gridf SSGridf + + ; + +EVALUATE InGridf := InGridf ReNorm / ; +EVALUATE Z4Gridf := Z4Gridf ReNorm / ; +EVALUATE SSGridf := SSGridf ReNorm / ; + +*---- Grille Atomic Concentration ---- +REAL MGrid := InGridf MInc * Z4Gridf MZ4 * + + SSGridf MSS304 * + ; +REAL Griconc := dGrid avo_conc * MGrid / ; + +REAL Ni58Gr := Ni58Inf InGridf * + Ni58SSf SSGridf * + Griconc * ; +REAL Ni60Gr := Ni60Inf InGridf * + Ni60SSf SSGridf * + Griconc * ; +REAL Ni61Gr := Ni61Inf InGridf * + Ni61SSf SSGridf * + Griconc * ; +REAL Ni62Gr := Ni62Inf InGridf * + Ni62SSf SSGridf * + Griconc * ; +REAL Ni64Gr := Ni64Inf InGridf * + Ni64SSf SSGridf * + Griconc * ; +REAL Cr50Gr := Cr50Inf InGridf * + Cr50Z4f Z4Gridf * + + Cr50SSf SSGridf * + Griconc * ; +REAL Cr52Gr := Cr52Inf InGridf * + Cr52Z4f Z4Gridf * + + Cr52SSf SSGridf * + Griconc * ; +REAL Cr53Gr := Cr53Inf InGridf * + Cr53Z4f Z4Gridf * + + Cr53SSf SSGridf * + Griconc * ; +REAL Cr54Gr := Cr54Inf InGridf * + Cr54Z4f Z4Gridf * + + Cr54SSf SSGridf * + Griconc * ; +REAL Fe54Gr := Fe54Inf InGridf * + Fe54Z4f Z4Gridf * + + Fe54SSf SSGridf * + Griconc * ; +REAL Fe56Gr := Fe56Inf InGridf * + Fe56Z4f Z4Gridf * + + Fe56SSf SSGridf * + Griconc * ; +REAL Fe57Gr := Fe57Inf InGridf * + Fe57Z4f Z4Gridf * + + Fe57SSf SSGridf * + Griconc * ; +REAL Fe58Gr := Fe58Inf InGridf * + Fe58Z4f Z4Gridf * + + Fe58SSf SSGridf * + Griconc * ; +REAL B10BGr := B10BInf InGridf * Griconc * ; +REAL B11BGr := B11BInf InGridf * Griconc * ; +REAL Al27Gr := Al27Inf InGridf * Griconc * ; +REAL Mo95Gr := Mo95Inf InGridf * Griconc * ; +REAL TiNatGr := TiNatInf InGridf * Griconc * ; +REAL Ti46Gr := Ti46Inf InGridf * Griconc * ; +REAL Ti47Gr := Ti47Inf InGridf * Griconc * ; +REAL Ti48Gr := Ti48Inf InGridf * Griconc * ; +REAL Ti49Gr := Ti49Inf InGridf * Griconc * ; +REAL Ti50Gr := Ti50Inf InGridf * Griconc * ; +REAL SiNatGr := SiNatInf InGridf * + SiSSf SSGridf * + Griconc * ; +REAL Si28Gr := Si28Inf InGridf * + Si28SSf SSGridf * + Griconc * ; +REAL Si29Gr := Si29Inf InGridf * + Si29SSf SSGridf * + Griconc * ; +REAL Si30Gr := Si30Inf InGridf * + Si30SSf SSGridf * + Griconc * ; +REAL Co59Gr := Co59Inf InGridf * Griconc * ; +REAL Mn55Gr := Mn55Inf InGridf * + MnSSf SSGridf * + Griconc * ; +REAL Nb93Gr := Nb93Inf InGridf * Griconc * ; +REAL Sn112Gr := Sn112Z4f Z4Gridf * Griconc * ; +REAL Sn114Gr := Sn114Z4f Z4Gridf * Griconc * ; +REAL Sn115Gr := Sn115Z4f Z4Gridf * Griconc * ; +REAL Sn116Gr := Sn116Z4f Z4Gridf * Griconc * ; +REAL Sn117Gr := Sn117Z4f Z4Gridf * Griconc * ; +REAL Sn118Gr := Sn118Z4f Z4Gridf * Griconc * ; +REAL Sn119Gr := Sn119Z4f Z4Gridf * Griconc * ; +REAL Sn120Gr := Sn120Z4f Z4Gridf * Griconc * ; +REAL Sn122Gr := Sn122Z4f Z4Gridf * Griconc * ; +REAL Sn124Gr := Sn124Z4f Z4Gridf * Griconc * ; +REAL O16Gr := O16Z4f Z4Gridf * Griconc * ; +REAL ZrNatGr := ZrNatZ4f Z4Gridf * Griconc * ; +REAL Zr90Gr := Zr90Z4f Z4Gridf * Griconc * ; +REAL Zr91Gr := Zr91Z4f Z4Gridf * Griconc * ; +REAL Zr92Gr := Zr92Z4f Z4Gridf * Griconc * ; +REAL Zr93Gr := Zr93Z4f Z4Gridf * Griconc * ; +REAL Zr94Gr := Zr94Z4f Z4Gridf * Griconc * ; +REAL Zr95Gr := Zr95Z4f Z4Gridf * Griconc * ; +REAL Zr96Gr := Zr96Z4f Z4Gridf * Griconc * ; + +*ECHO "CONC GRILLE" ; +*ECHO "Ni58Gr " Ni58Gr ; +*ECHO "Ni60Gr " Ni60Gr ; +*ECHO "Ni61Gr " Ni61Gr ; +*ECHO "Ni62Gr " Ni62Gr ; +*ECHO "Ni64Gr " Ni64Gr ; +*ECHO "Cr50Gr " Cr50Gr ; +*ECHO "Cr52Gr " Cr52Gr ; +*ECHO "Cr53Gr " Cr53Gr ; +*ECHO "Cr54Gr " Cr54Gr ; +*ECHO "Fe54Gr " Fe54Gr ; +*ECHO "Fe56Gr " Fe56Gr ; +*ECHO "Fe57Gr " Fe57Gr ; +*ECHO "Fe58Gr " Fe58Gr ; +*ECHO "B10BGr " B10BGr ; +*ECHO "B11BGr " B11BGr ; +*ECHO "Al27Gr " Al27Gr ; +*ECHO "Mo95Gr " Mo95Gr ; +*ECHO "TiNatGr " TiNatGr ; +*ECHO "Ti46Gr " Ti46Gr ; +*ECHO "Ti47Gr " Ti47Gr ; +*ECHO "Ti48Gr " Ti48Gr ; +*ECHO "Ti49Gr " Ti49Gr ; +*ECHO "Ti50Gr " Ti50Gr ; +*ECHO "SiNatGr " SiNatGr ; +*ECHO "Si28Gr " Si28Gr ; +*ECHO "Si29Gr " Si29Gr ; +*ECHO "Si30Gr " Si30Gr ; +*ECHO "Co59Gr " Co59Gr ; +*ECHO "Mn55Gr " Mn55Gr ; +*ECHO "Nb93Gr " Nb93Gr ; +*ECHO "Sn112Gr" Sn112Gr ; +*ECHO "Sn114Gr" Sn114Gr ; +*ECHO "Sn115Gr" Sn115Gr ; +*ECHO "Sn116Gr" Sn116Gr ; +*ECHO "Sn117Gr" Sn117Gr ; +*ECHO "Sn118Gr" Sn118Gr ; +*ECHO "Sn119Gr" Sn119Gr ; +*ECHO "Sn120Gr" Sn120Gr ; +*ECHO "Sn122Gr" Sn122Gr ; +*ECHO "Sn124Gr" Sn124Gr ; +*ECHO "O16Gr " O16Gr ; +*ECHO "ZrNatGr " ZrNatGr ; +*ECHO "Zr90Gr " Zr90Gr ; +*ECHO "Zr91Gr " Zr91Gr ; +*ECHO "Zr92Gr " Zr92Gr ; +*ECHO "Zr93Gr " Zr93Gr ; +*ECHO "Zr94Gr " Zr94Gr ; +*ECHO "Zr95Gr " Zr95Gr ; +*ECHO "Zr96Gr " Zr96Gr ; + +*------ Composants differencies des grilles : Zr4 ------ +REAL GrConcZr := dZr4 avo_conc * MZ4 / ; + +REAL Fe54Z4 := Fe54Z4f GrConcZr * ; +REAL Fe56Z4 := Fe56Z4f GrConcZr * ; +REAL Fe57Z4 := Fe57Z4f GrConcZr * ; +REAL Fe58Z4 := Fe58Z4f GrConcZr * ; +REAL Cr50Z4 := Cr50Z4f GrConcZr * ; +REAL Cr52Z4 := Cr52Z4f GrConcZr * ; +REAL Cr53Z4 := Cr53Z4f GrConcZr * ; +REAL Cr54Z4 := Cr54Z4f GrConcZr * ; +REAL O16Z4 := O16Z4f GrConcZr * ; +REAL ZrNatZ4 := ZrNatZ4f GrConcZr * ; +REAL Zr90Z4 := Zr90Z4f GrConcZr * ; +REAL Zr91Z4 := Zr91Z4f GrConcZr * ; +REAL Zr92Z4 := Zr92Z4f GrConcZr * ; +REAL Zr93Z4 := Zr93Z4f GrConcZr * ; +REAL Zr94Z4 := Zr94Z4f GrConcZr * ; +REAL Zr95Z4 := Zr95Z4f GrConcZr * ; +REAL Zr96Z4 := Zr96Z4f GrConcZr * ; +REAL Sn112Z4 := Sn112Z4f GrConcZr * ; +REAL Sn114Z4 := Sn114Z4f GrConcZr * ; +REAL Sn115Z4 := Sn115Z4f GrConcZr * ; +REAL Sn116Z4 := Sn116Z4f GrConcZr * ; +REAL Sn117Z4 := Sn117Z4f GrConcZr * ; +REAL Sn118Z4 := Sn118Z4f GrConcZr * ; +REAL Sn119Z4 := Sn119Z4f GrConcZr * ; +REAL Sn120Z4 := Sn120Z4f GrConcZr * ; +REAL Sn122Z4 := Sn122Z4f GrConcZr * ; +REAL Sn124Z4 := Sn124Z4f GrConcZr * ; + +*------ Composants differencies des grilles : Inconel ------ +REAL GrConcInc := dInc avo_conc * MInc / ; + +REAL Ni58Inc := Ni58Inf GrConcInc * ; +REAL Ni60Inc := Ni60Inf GrConcInc * ; +REAL Ni61Inc := Ni61Inf GrConcInc * ; +REAL Ni62Inc := Ni62Inf GrConcInc * ; +REAL Ni64Inc := Ni64Inf GrConcInc * ; +REAL Cr50Inc := Cr50Inf GrConcInc * ; +REAL Cr52Inc := Cr52Inf GrConcInc * ; +REAL Cr53Inc := Cr53Inf GrConcInc * ; +REAL Cr54Inc := Cr54Inf GrConcInc * ; +REAL Fe54Inc := Fe54Inf GrConcInc * ; +REAL Fe56Inc := Fe56Inf GrConcInc * ; +REAL Fe57Inc := Fe57Inf GrConcInc * ; +REAL Fe58Inc := Fe58Inf GrConcInc * ; +REAL B10BInc := B10BInf GrConcInc * ; +REAL B11BInc := B11BInf GrConcInc * ; +REAL Al27Inc := Al27Inf GrConcInc * ; +REAL Mo95Inc := Mo95Inf GrConcInc * ; +REAL TiNatInc := TiNatInf GrConcInc * ; +REAL Ti46Inc := Ti46Inf GrConcInc * ; +REAL Ti47Inc := Ti47Inf GrConcInc * ; +REAL Ti48Inc := Ti48Inf GrConcInc * ; +REAL Ti49Inc := Ti49Inf GrConcInc * ; +REAL Ti50Inc := Ti50Inf GrConcInc * ; +REAL SiNatInc := SiNatInf GrConcInc * ; +REAL Si28Inc := Si28Inf GrConcInc * ; +REAL Si29Inc := Si29Inf GrConcInc * ; +REAL Si30Inc := Si30Inf GrConcInc * ; +REAL Co59Inc := Co59Inf GrConcInc * ; +REAL Mn55Inc := Mn55Inf GrConcInc * ; +REAL Nb93Inc := Nb93Inf GrConcInc * ; + +*------ GAINA, GAINAA, ABS_ACIER ------ +*---- made of SS304 Stainless Steel (with rod-clad gap) ---- + +REAL SSconc := dSS avo_conc * MSS304 / ; + +REAL SiSS := SiSSf SSconc * ; +REAL Si28SS := Si28SSf SSconc * ; +REAL Si29SS := Si29SSf SSconc * ; +REAL Si30SS := Si30SSf SSconc * ; +REAL Fe54SS := Fe54SSf SSconc * ; +REAL Fe56SS := Fe56SSf SSconc * ; +REAL Fe57SS := Fe57SSf SSconc * ; +REAL Fe58SS := Fe58SSf SSconc * ; +REAL Ni58SS := Ni58SSf SSconc * ; +REAL Ni60SS := Ni60SSf SSconc * ; +REAL Ni61SS := Ni61SSf SSconc * ; +REAL Ni62SS := Ni62SSf SSconc * ; +REAL Ni64SS := Ni64SSf SSconc * ; +REAL Cr50SS := Cr50SSf SSconc * ; +REAL Cr52SS := Cr52SSf SSconc * ; +REAL Cr53SS := Cr53SSf SSconc * ; +REAL Cr54SS := Cr54SSf SSconc * ; +REAL MnSS := MnSSf SSconc * ; + +*----- ASB_ACIER: Steel Rods ------ +REAL RodSSconc := dRodSS avo_conc * MSS304 / ; + +REAL SiSSRo := SiSSf RodSSconc * ; +REAL Si28SSRo := Si28SSf RodSSconc * ; +REAL Si29SSRo := Si29SSf RodSSconc * ; +REAL Si30SSRo := Si30SSf RodSSconc * ; +REAL Fe54SSRo := Fe54SSf RodSSconc * ; +REAL Fe56SSRo := Fe56SSf RodSSconc * ; +REAL Fe57SSRo := Fe57SSf RodSSconc * ; +REAL Fe58SSRo := Fe58SSf RodSSconc * ; +REAL Ni58SSRo := Ni58SSf RodSSconc * ; +REAL Ni60SSRo := Ni60SSf RodSSconc * ; +REAL Ni61SSRo := Ni61SSf RodSSconc * ; +REAL Ni62SSRo := Ni62SSf RodSSconc * ; +REAL Ni64SSRo := Ni64SSf RodSSconc * ; +REAL Cr50SSRo := Cr50SSf RodSSconc * ; +REAL Cr52SSRo := Cr52SSf RodSSconc * ; +REAL Cr53SSRo := Cr53SSf RodSSconc * ; +REAL Cr54SSRo := Cr54SSf RodSSconc * ; +REAL MnSSRo := MnSSf RodSSconc * ; + +*ECHO "----ABS_ACIER----" ; +*ECHO "SiSSRo" SiSSRo ; +*ECHO "Si28SSRo " Si28SSRo ; +*ECHO "Si29SSRo " Si29SSRo ; +*ECHO "Si30SSRo " Si30SSRo ; +*ECHO "Fe54SSRo" Fe54SSRo ; +*ECHO "Fe56SSRo" Fe56SSRo ; +*ECHO "Fe57SSRo" Fe57SSRo ; +*ECHO "Fe58SSRo" Fe58SSRo ; +*ECHO "Ni58SSRo" Ni58SSRo ; +*ECHO "Ni60SSRo" Ni60SSRo ; +*ECHO "Ni61SSRo" Ni61SSRo ; +*ECHO "Ni62SSRo" Ni62SSRo ; +*ECHO "Ni64SSRo" Ni64SSRo ; +*ECHO "Cr50SSRo" Cr50SSRo ; +*ECHO "Cr52SSRo" Cr52SSRo ; +*ECHO "Cr53SSRo" Cr53SSRo ; +*ECHO "Cr54SSRo" Cr54SSRo ; +*ECHO "MnSSRo " MnSSRo ; + +*----- GAINA & GAINAA: clad-rod gap for AIC Rods ------ +REAL CladAICconc := dCladAIC avo_conc * MSS304 / ; + +REAL SiCladAIC := SiSSf CladAICconc * ; +REAL Si28CladAIC := Si28SSf CladAICconc * ; +REAL Si29CladAIC := Si29SSf CladAICconc * ; +REAL Si30CladAIC := Si30SSf CladAICconc * ; +REAL Fe54CladAIC := Fe54SSf CladAICconc * ; +REAL Fe56CladAIC := Fe56SSf CladAICconc * ; +REAL Fe57CladAIC := Fe57SSf CladAICconc * ; +REAL Fe58CladAIC := Fe58SSf CladAICconc * ; +REAL Ni58CladAIC := Ni58SSf CladAICconc * ; +REAL Ni60CladAIC := Ni60SSf CladAICconc * ; +REAL Ni61CladAIC := Ni61SSf CladAICconc * ; +REAL Ni62CladAIC := Ni62SSf CladAICconc * ; +REAL Ni64CladAIC := Ni64SSf CladAICconc * ; +REAL Cr50CladAIC := Cr50SSf CladAICconc * ; +REAL Cr52CladAIC := Cr52SSf CladAICconc * ; +REAL Cr53CladAIC := Cr53SSf CladAICconc * ; +REAL Cr54CladAIC := Cr54SSf CladAICconc * ; +REAL MnCladAIC := MnSSf CladAICconc * ; + +*ECHO "----GAINA_AIC----" ; +*ECHO "SiCladAIC" SiCladAIC ; +*ECHO "Si28CladAIC " Si28CladAIC ; +*ECHO "Si29CladAIC " Si29CladAIC ; +*ECHO "Si30CladAIC " Si30CladAIC ; +*ECHO "Fe54CladAIC" Fe54CladAIC ; +*ECHO "Fe56CladAIC" Fe56CladAIC ; +*ECHO "Fe57CladAIC" Fe57CladAIC ; +*ECHO "Fe58CladAIC" Fe58CladAIC ; +*ECHO "Ni58CladAIC" Ni58CladAIC ; +*ECHO "Ni60CladAIC" Ni60CladAIC ; +*ECHO "Ni61CladAIC" Ni61CladAIC ; +*ECHO "Ni62CladAIC" Ni62CladAIC ; +*ECHO "Ni64CladAIC" Ni64CladAIC ; +*ECHO "Cr50CladAIC" Cr50CladAIC ; +*ECHO "Cr52CladAIC" Cr52CladAIC ; +*ECHO "Cr53CladAIC" Cr53CladAIC ; +*ECHO "Cr54CladAIC" Cr54CladAIC ; +*ECHO "MnCladAIC " MnCladAIC ; + +*----- GAINA & GAINAA: clad-rod gap for Steel Rods ------ +REAL CladSSconc := dCladSS avo_conc * MSS304 / ; + +REAL SiCladSS := SiSSf CladSSconc * ; +REAL Si28CladSS := Si28SSf CladSSconc * ; +REAL Si29CladSS := Si29SSf CladSSconc * ; +REAL Si30CladSS := Si30SSf CladSSconc * ; +REAL Fe54CladSS := Fe54SSf CladSSconc * ; +REAL Fe56CladSS := Fe56SSf CladSSconc * ; +REAL Fe57CladSS := Fe57SSf CladSSconc * ; +REAL Fe58CladSS := Fe58SSf CladSSconc * ; +REAL Ni58CladSS := Ni58SSf CladSSconc * ; +REAL Ni60CladSS := Ni60SSf CladSSconc * ; +REAL Ni61CladSS := Ni61SSf CladSSconc * ; +REAL Ni62CladSS := Ni62SSf CladSSconc * ; +REAL Ni64CladSS := Ni64SSf CladSSconc * ; +REAL Cr50CladSS := Cr50SSf CladSSconc * ; +REAL Cr52CladSS := Cr52SSf CladSSconc * ; +REAL Cr53CladSS := Cr53SSf CladSSconc * ; +REAL Cr54CladSS := Cr54SSf CladSSconc * ; +REAL MnCladSS := MnSSf CladSSconc * ; + +*ECHO "----GAINA_ABS_ACIER----" ; +*ECHO "SiCladSS" SiCladSS ; +*ECHO "Si28CladSS " Si28CladSS ; +*ECHO "Si29CladSS " Si29CladSS ; +*ECHO "Si30CladSS " Si30CladSS ; +*ECHO "Fe54CladSS" Fe54CladSS ; +*ECHO "Fe56CladSS" Fe56CladSS ; +*ECHO "Fe57CladSS" Fe57CladSS ; +*ECHO "Fe58CladSS" Fe58CladSS ; +*ECHO "Ni58CladSS" Ni58CladSS ; +*ECHO "Ni60CladSS" Ni60CladSS ; +*ECHO "Ni61CladSS" Ni61CladSS ; +*ECHO "Ni62CladSS" Ni62CladSS ; +*ECHO "Ni64CladSS" Ni64CladSS ; +*ECHO "Cr50CladSS" Cr50CladSS ; +*ECHO "Cr52CladSS" Cr52CladSS ; +*ECHO "Cr53CladSS" Cr53CladSS ; +*ECHO "Cr54CladSS" Cr54CladSS ; +*ECHO "MnCladSS " MnCladSS ; + +*----- GAINA & GAINAA: clad-rod gap for B4C Rods ------ +REAL CladB4Cconc := dCladB4C avo_conc * MSS304 / ; + +REAL SiCladB4C := SiSSf CladB4Cconc * ; +REAL Si28CladB4C := Si28SSf CladB4Cconc * ; +REAL Si29CladB4C := Si29SSf CladB4Cconc * ; +REAL Si30CladB4C := Si30SSf CladB4Cconc * ; +REAL Fe54CladB4C := Fe54SSf CladB4Cconc * ; +REAL Fe56CladB4C := Fe56SSf CladB4Cconc * ; +REAL Fe57CladB4C := Fe57SSf CladB4Cconc * ; +REAL Fe58CladB4C := Fe58SSf CladB4Cconc * ; +REAL Ni58CladB4C := Ni58SSf CladB4Cconc * ; +REAL Ni60CladB4C := Ni60SSf CladB4Cconc * ; +REAL Ni61CladB4C := Ni61SSf CladB4Cconc * ; +REAL Ni62CladB4C := Ni62SSf CladB4Cconc * ; +REAL Ni64CladB4C := Ni64SSf CladB4Cconc * ; +REAL Cr50CladB4C := Cr50SSf CladB4Cconc * ; +REAL Cr52CladB4C := Cr52SSf CladB4Cconc * ; +REAL Cr53CladB4C := Cr53SSf CladB4Cconc * ; +REAL Cr54CladB4C := Cr54SSf CladB4Cconc * ; +REAL MnCladB4C := MnSSf CladB4Cconc * ; + +*ECHO "----GAINA_B4C----" ; +*ECHO "SiCladB4C" SiCladB4C ; +*ECHO "Si28CladB4C " Si28CladB4C ; +*ECHO "Si29CladB4C " Si29CladB4C ; +*ECHO "Si30CladB4C " Si30CladB4C ; +*ECHO "Fe54CladB4C" Fe54CladB4C ; +*ECHO "Fe56CladB4C" Fe56CladB4C ; +*ECHO "Fe57CladB4C" Fe57CladB4C ; +*ECHO "Fe58CladB4C" Fe58CladB4C ; +*ECHO "Ni58CladB4C" Ni58CladB4C ; +*ECHO "Ni60CladB4C" Ni60CladB4C ; +*ECHO "Ni61CladB4C" Ni61CladB4C ; +*ECHO "Ni62CladB4C" Ni62CladB4C ; +*ECHO "Ni64CladB4C" Ni64CladB4C ; +*ECHO "Cr50CladB4C" Cr50CladB4C ; +*ECHO "Cr52CladB4C" Cr52CladB4C ; +*ECHO "Cr53CladB4C" Cr53CladB4C ; +*ECHO "Cr54CladB4C" Cr54CladB4C ; +*ECHO "MnCladB4C " MnCladB4C ; + +*==================================================================== +* TIHANGE GAINE (BP Interior Cladding) +*==================================================================== +REAL CladIntconc := dCladIntBP avo_conc * MSS304 / ; +*---- +REAL Fe54CladInt := Fe54SSf CladIntconc * ; +REAL Fe56CladInt := Fe56SSf CladIntconc * ; +REAL Fe57CladInt := Fe57SSf CladIntconc * ; +REAL Fe58CladInt := Fe58SSf CladIntconc * ; +REAL Ni58CladInt := Ni58SSf CladIntconc * ; +REAL Ni60CladInt := Ni60SSf CladIntconc * ; +REAL Ni61CladInt := Ni61SSf CladIntconc * ; +REAL Ni62CladInt := Ni62SSf CladIntconc * ; +REAL Ni64CladInt := Ni64SSf CladIntconc * ; +REAL Cr50CladInt := Cr50SSf CladIntconc * ; +REAL Cr52CladInt := Cr52SSf CladIntconc * ; +REAL Cr53CladInt := Cr53SSf CladIntconc * ; +REAL Cr54CladInt := Cr54SSf CladIntconc * ; +REAL MnCladInt := MnSSf CladIntconc * ; +*---------------------------- +*ECHO "----GAININT ----" ; +*ECHO "Fe54CladInt" Fe54CladInt ; +*ECHO "Fe56CladInt" Fe56CladInt ; +*ECHO "Fe57CladInt" Fe57CladInt ; +*ECHO "Fe58CladInt" Fe58CladInt ; +*ECHO "Ni58CladInt" Ni58CladInt ; +*ECHO "Ni60CladInt" Ni60CladInt ; +*ECHO "Ni61CladInt" Ni61CladInt ; +*ECHO "Ni62CladInt" Ni62CladInt ; +*ECHO "Ni64CladInt" Ni64CladInt ; +*ECHO "Cr50CladInt" Cr50CladInt ; +*ECHO "Cr52CladInt" Cr52CladInt ; +*ECHO "Cr53CladInt" Cr53CladInt ; +*ECHO "Cr54CladInt" Cr54CladInt ; +*ECHO "MnCladInt " MnCladInt ; +*---------------------------- +*==================================================================== +* TIHANGE GAINE (BP Exterior Cladding) +*==================================================================== +REAL CladExtconc := dCladExtBP avo_conc * MSS304 / ; +*---- +*---- +REAL Fe54CladExt := Fe54SSf CladExtconc * ; +REAL Fe56CladExt := Fe56SSf CladExtconc * ; +REAL Fe57CladExt := Fe57SSf CladExtconc * ; +REAL Fe58CladExt := Fe58SSf CladExtconc * ; +REAL Ni58CladExt := Ni58SSf CladExtconc * ; +REAL Ni60CladExt := Ni60SSf CladExtconc * ; +REAL Ni61CladExt := Ni61SSf CladExtconc * ; +REAL Ni62CladExt := Ni62SSf CladExtconc * ; +REAL Ni64CladExt := Ni64SSf CladExtconc * ; +REAL Cr50CladExt := Cr50SSf CladExtconc * ; +REAL Cr52CladExt := Cr52SSf CladExtconc * ; +REAL Cr53CladExt := Cr53SSf CladExtconc * ; +REAL Cr54CladExt := Cr54SSf CladExtconc * ; +REAL MnCladExt := MnSSf CladExtconc * ; +*---------------------------- +*ECHO "----GAINEXT ----" ; +*ECHO "Fe54CladExt" Fe54CladExt ; +*ECHO "Fe56CladExt" Fe56CladExt ; +*ECHO "Fe57CladExt" Fe57CladExt ; +*ECHO "Fe58CladExt" Fe58CladExt ; +*ECHO "Ni58CladExt" Ni58CladExt ; +*ECHO "Ni60CladExt" Ni60CladExt ; +*ECHO "Ni61CladExt" Ni61CladExt ; +*ECHO "Ni62CladExt" Ni62CladExt ; +*ECHO "Ni64CladExt" Ni64CladExt ; +*ECHO "Cr50CladExt" Cr50CladExt ; +*ECHO "Cr52CladExt" Cr52CladExt ; +*ECHO "Cr53CladExt" Cr53CladExt ; +*ECHO "Cr54CladExt" Cr54CladExt ; +*ECHO "MnCladExt " MnCladExt ; +*---------------------------- + +*------ AIC ------ +*---- made of Ag+In+Cd ---- +REAL MAIC ; +REAL Ag107AICf Ag109AICf ; +REAL Cd106AICf Cd108AICf Cd110AICf Cd111AICf Cd112AICf Cd113AICf ; +REAL Cd114AICf Cd116AICf ; +*REAL InAICf ; +REAL In115AICf In113AICf ; + +GREP: AIC :: GETVAL 'AvgMolM ' 1 >>MAIC<< ; +GREP: AIC :: GETVAL 'Ag107AICfIso' 1 >>Ag107AICf<< ; +GREP: AIC :: GETVAL 'Ag109AICfIso' 1 >>Ag109AICf<< ; +GREP: AIC :: GETVAL 'Cd106AICfIso' 1 >>Cd106AICf<< ; +GREP: AIC :: GETVAL 'Cd108AICfIso' 1 >>Cd108AICf<< ; +GREP: AIC :: GETVAL 'Cd110AICfIso' 1 >>Cd110AICf<< ; +GREP: AIC :: GETVAL 'Cd111AICfIso' 1 >>Cd111AICf<< ; +GREP: AIC :: GETVAL 'Cd112AICfIso' 1 >>Cd112AICf<< ; +GREP: AIC :: GETVAL 'Cd113AICfIso' 1 >>Cd113AICf<< ; +GREP: AIC :: GETVAL 'Cd114AICfIso' 1 >>Cd114AICf<< ; +GREP: AIC :: GETVAL 'Cd116AICfIso' 1 >>Cd116AICf<< ; +*GREP: AIC :: GETVAL 'In115AICfIso' 1 >>InAICf<< ; +GREP: AIC :: GETVAL 'In115AICfIso' 1 >>In115AICf<< ; +GREP: AIC :: GETVAL 'In113AICfIso' 1 >>In113AICf<< ; + +REAL AICconc := dAICr avo_conc * MAIC / ; + +REAL Ag107AIC := Ag107AICf AICconc * ; +REAL Ag109AIC := Ag109AICf AICconc * ; +REAL Cd106AIC := Cd106AICf AICconc * ; +REAL Cd108AIC := Cd108AICf AICconc * ; +REAL Cd110AIC := Cd110AICf AICconc * ; +REAL Cd111AIC := Cd111AICf AICconc * ; +REAL Cd112AIC := Cd112AICf AICconc * ; +REAL Cd113AIC := Cd113AICf AICconc * ; +REAL Cd114AIC := Cd114AICf AICconc * ; +REAL Cd116AIC := Cd116AICf AICconc * ; +*REAL InAIC := InAICf AICconc * ; +REAL In115AIC := In115AICf AICconc * ; +REAL In113AIC := In113AICf AICconc * ; + +*ECHO "Ag107AIC" Ag107AIC ; +*ECHO "Ag109AIC" Ag109AIC ; +*ECHO "Cd106AIC" Cd106AIC ; +*ECHO "Cd108AIC" Cd108AIC ; +*ECHO "Cd110AIC" Cd110AIC ; +*ECHO "Cd111AIC" Cd111AIC ; +*ECHO "Cd112AIC" Cd112AIC ; +*ECHO "Cd113AIC" Cd113AIC ; +*ECHO "Cd114AIC" Cd114AIC ; +*ECHO "Cd116AIC" Cd116AIC ; +*ECHO "In115AIC" In115AIC ; +*ECHO "In113AIC" In113AIC ; + +*------ BNATB ------ +*---- Natural Boron for structure ---- +REAL MBNatB B10Bf B11Bf ; + +GREP: BNat :: GETVAL 'AvgMolM ' 1 >>MBNatB<< ; +GREP: BNat :: GETVAL 'B10frIso' 1 >>B10Bf<< ; +GREP: BNat :: GETVAL 'B11frIso' 1 >>B11Bf<< ; + +*------ B4C Control Rods ------ +* Isotopic Composition : BNatB .8 +* CNat .2 +REAL MB4C ; +REAL BNatBrodf := .8 ; +REAL CNatrodf := .2 ; + +REAL B10Brodf := BNatBrodf B10Bf * ; +REAL B11Brodf := BNatBrodf B11Bf * ; + +EVALUATE MB4C := MBNatB BNatBrodf * cnat CNatrodf * + ; +REAL B4Cconc := dB4C avo_conc * MB4C / ; + +REAL B10Brod := B10Brodf B4Cconc * ; +REAL B11Brod := B11Brodf B4Cconc * ; +REAL Crod := CNatrodf B4Cconc * ; + +*ECHO "----B4C----" ; +*ECHO "B10Brod" B10Brod ; +*ECHO "B11Brod" B11Brod ; +*ECHO "Crod " Crod ; + +*-------------------------------------------------------------------- +* BP_T : Tihange Burnable Poison +*-------------------------------------------------------------------- +REAL MBP ; +REAL B10BPf B11BPf ; +REAL O16BPf SiNatBPf Al27BPf KNatBPf Na23BPf ; +REAL Si28BPf Si29BPf Si30BPf K39BPf K40BPf K41BPf ; + +* +GREP: BP :: GETVAL 'AvgMolM ' 1 >>MBP<< ; +GREP: BP :: GETVAL 'B10BPfrIso ' 1 >>B10BPf<< ; +GREP: BP :: GETVAL 'B11BPfrIso ' 1 >>B11BPf<< ; +GREP: BP :: GETVAL 'O16BPfrIso ' 1 >>O16BPf<< ; +GREP: BP :: GETVAL 'SiNatBPfrIso' 1 >>SiNatBPf<< ; +GREP: BP :: GETVAL 'Si28BPfrIso ' 1 >>Si28BPf<< ; +GREP: BP :: GETVAL 'Si29BPfrIso ' 1 >>Si29BPf<< ; +GREP: BP :: GETVAL 'Si30BPfrIso ' 1 >>Si30BPf<< ; +GREP: BP :: GETVAL 'Al27BPfrIso ' 1 >>Al27BPf<< ; +GREP: BP :: GETVAL 'KNatBPfrIso ' 1 >>KNatBPf<< ; +GREP: BP :: GETVAL 'K39BPfrIso ' 1 >>K39BPf<< ; +GREP: BP :: GETVAL 'K40BPfrIso ' 1 >>K40BPf<< ; +GREP: BP :: GETVAL 'K41BPfrIso ' 1 >>K41BPf<< ; +GREP: BP :: GETVAL 'Na23BPfrIso ' 1 >>Na23BPf<< ; +*-------------------------------------------------------------------- +REAL BP_Tconc := dBP avo_conc * MBP / ; +* +REAL B10BP := B10BPf BP_Tconc * ; +REAL B11BP := B11BPf BP_Tconc * ; +REAL O16BP := O16BPf BP_Tconc * ; +REAL SiNatBP := SiNatBPf BP_Tconc * ; +REAL Si28BP := Si28BPf BP_Tconc * ; +REAL Si29BP := Si29BPf BP_Tconc * ; +REAL Si30BP := Si30BPf BP_Tconc * ; +REAL Al27BP := Al27BPf BP_Tconc * ; +REAL KNatBP := KNatBPf BP_Tconc * ; +REAL K39BP := K39BPf BP_Tconc * ; +REAL K40BP := K40BPf BP_Tconc * ; +REAL K41BP := K41BPf BP_Tconc * ; +REAL Na23BP := Na23BPf BP_Tconc * ; +*---------------------------- +*ECHO "----BP_T----" ; +*ECHO "MBP " MBP ; +*ECHO "BP_Tconc " BP_Tconc ; +*ECHO "B10BP " B10BP ; +*ECHO "B11BP " B11BP ; +*ECHO "O16BP " O16BP ; +*ECHO "SiNatBP " SiNatBP ; +*ECHO "Si28BP " Si28BP ; +*ECHO "Si29BP " Si29BP ; +*ECHO "Si30BP " Si30BP ; +*ECHO "Al27BP " Al27BP ; +*ECHO "KNatBP " KNatBP ; +*ECHO "K39BP " K39BP ; +*ECHO "K40BP " K40BP ; +*ECHO "K41BP " K41BP ; +*ECHO "Na23BP " Na23BP ; +*---------------------------- + +*------------------------------------------------------ +* inrs order ('NAMISO = NISO <> inrs SHIB') +* adding Mixes: ABSO, ABS_ACIER, GAINA+GAINAA +* WARNING: Last (highest) Mix number MUST be equal to Nmix +*------------------------------------------------------ + + +*------------------------------------------------------ +* Materiaux de base: 1 -> 9 +* Moderateurs: 10 -> 19 +* Structures: Tubes 20 +* Barres 21 -> 29 +* Gaines 30 -> 39 +* Combustibles: UOX 100 -> 109 +* MOX 110 -> 139 +* UGd 140 -> Nmix +*------------------------------------------------------ +* Materiaux de base +* 1 - SS304 +* 2 - Inconel +* 3 - Zircalloy-4 +* 4 - Grilles precalculees +* 5 - Eau boree +* 6 - Isotopes de barre virtuelle +* 7 - Eau boree tube instrumentation +* Moderateurs +* 10 - MODE [moderateur cellule centrale] +* 11 - MODEL [moderateur cellule en peripherie (avec lame d'eau)] +* 12 - MODEC [moderateur cellule en coin (double lame d'eau)] +* 13 - MODETI [moderateur cellule tube (interieur du tube)+Isotopes de barres AIC a 0] +* 14 - MODETE [moderateur cellule tube (exterieur du tube)] +* 15 - MODETII [moderateur cellule tube (interieur du tube d'instrumentation)] +* Structures: Tubes +* 20 - TUBE +* Structures: Barres +* 21 - AIC [Barres AIC] +* 22 - ACIER [Barres acier] +* 23 - B4C [Barres B4C] +* Structures: Gaines +* 30 - GAINC [Gaine combustible UOX/MOX/UGd] +* 31 - GAINA [Gaine Barres AIC] +* 32 - GAINS [Gaine Barres ACIER] +* 33 - GAINB [Gaine Barres B4C] +* 34 - GAINE BP INT ACIER SS304 +* 35 - GAINE BP EXT ACIER SS304 +* 36 - GAINC M5 [Gaine combustible] +* Poison consommable (Pyrex) +* 60 - PYREX +* Combustibles UOX +* 100 - COMB [UOX 1ere couronne (centre a Rcomb*0.5^1/2) <=> 0 a r1] +* 101 - COMB [UOX 2e couronne] +* 102 - COMB [UOX 3e couronne] +* 103 - COMB [UOX 4e couronne (r3 a Rcomb)] +* Combustibles MOX +* 110 - COMB1 [MOX 'faible' 1ere couronne] +* 111 - COMB1 [MOX 'faible' 2e couronne] +* 112 - COMB1 [MOX 'faible' 3e couronne] +* 113 - COMB1 [MOX 'faible' 4e couronne] +* 120 - COMB2 [MOX 'moyen' 1ere couronne] +* 121 - COMB2 [MOX 'moyen' 2e couronne] +* 122 - COMB2 [MOX 'moyen' 3e couronne] +* 123 - COMB2 [MOX 'moyen' 4e couronne] +* 130 - COMB3 [MOX 'fort' 1ere couronne] +* 131 - COMB3 [MOX 'fort' 2e couronne] +* 132 - COMB3 [MOX 'fort' 3e couronne] +* 133 - COMB3 [MOX 'fort' 4e couronne] +* Combustibles UGd +* 140 - COMB [UOX+Gd 1ere couronne (centre a Rcomb*0.2^1/2)] +* 141 - COMB [UOX+Gd 2e couronne] +* 142 - COMB [UOX+Gd 3e couronne] +* 143 - COMB [UOX+Gd 4e couronne] +* 144 - COMB [UOX+Gd 5e couronne] +* Nmix - COMB [UOX+Gd 6e couronne] --- Nmix = 145 +*------------------------------------------------------ +*------------------------------------------------------ +* Depletion Chains +*------------------------------------------------------ + +INTEGER Nmix := 145 ; ! Highest mix number must be equal to Nmix + +! Procedure de definition de la chaine de decroissance +STRING Autop := "SUBG" ; +Library := DeplChain :: <> <> <> + <> <> <> ; + +Library := LIB: Library :: EDIT 1 +CTRA <> +* Attention: si plusieurs appels a LIB: doivent etre faits, il faut +* necessairement specifier pour chaque appel CTRA <>. Un bug +* (non resolu actuellement) est present qui entraine des ecarts +* lorsque cette condition n'est pas specifiee a chaque appel. + + MIXS LIB: <> FIL: <> + + MIX 1 <> NOEV (* SS304 *) + Fe54 = <> <> + Fe56 = <> <> + Fe57 = <> <> + Fe58 = <> <> + Ni58 = <> <> + Ni60 = <> <> + Ni61 = <> <> + Ni62 = <> <> + Ni64 = <> <> + Cr50 = <> <> + Cr52 = <> <> + Cr53 = <> <> + Cr54 = <> <> + Mn55 = <> <> + SiNat = <> <> +! Si28 = <> <> +! Si29 = <> <> +! Si30 = <> <> + MIX 2 <> NOEV (* Inconel *) + Ni58 = <> <> + Ni60 = <> <> + Ni61 = <> <> + Ni62 = <> <> + Ni64 = <> <> + Cr50 = <> <> + Cr52 = <> <> + Cr53 = <> <> + Cr54 = <> <> + Fe54 = <> <> + Fe56 = <> <> + Fe57 = <> <> + Fe58 = <> <> + B10 = <> <> + B11 = <> <> + Al27 = <> <> + Mo95 = <> <> + TiNat = <> <> +! Ti46 = <> <> +! Ti47 = <> <> +! Ti48 = <> <> +! Ti49 = <> <> +! Ti50 = <> <> + SiNat = <> <> +! Si28 = <> <> +! Si29 = <> <> +! Si30 = <> <> + Co59 = <> <> + Mn55 = <> <> + Nb93 = <> <> + MIX 3 <> NOEV (* Zr4 *) + Fe54 = <> <> + Fe56 = <> <> + Fe57 = <> <> + Fe58 = <> <> + Cr50 = <> <> + Cr52 = <> <> + Cr53 = <> <> + Cr54 = <> <> + O16 = <> <> + ZrNat = <> <> +! Zr90 = <> <> +! Zr91 = <> <> +! Zr92 = <> <> +! Zr93 = <> <> +! Zr94 = <> <> +! Zr95 = <> <> +! Zr96 = <> <> +! Sn112 = <> <> +! Sn114 = <> <> + Sn115 = <> <> + Sn116 = <> <> + Sn117 = <> <> + Sn118 = <> <> + Sn119 = <> <> + Sn120 = <> <> + Sn122 = <> <> + Sn124 = <> <> + MIX 4 <> NOEV (* GRILLE PRECALCULEE *) + Ni58 = <> <> + Ni60 = <> <> + Ni61 = <> <> + Ni62 = <> <> + Ni64 = <> <> + Cr50 = <> <> + Cr52 = <> <> + Cr53 = <> <> + Cr54 = <> <> + Fe54 = <> <> + Fe56 = <> <> + Fe57 = <> <> + Fe58 = <> <> + B10 = <> <> + B11 = <> <> + Al27 = <> <> + Mo95 = <> <> + TiNat = <> <> +! Ti46 = <> <> +! Ti47 = <> <> +! Ti48 = <> <> +! Ti49 = <> <> +! Ti50 = <> <> + SiNat = <> <> +! Si28 = <> <> +! Si29 = <> <> +! Si30 = <> <> + Co59 = <> <> + Mn55 = <> <> + Nb93 = <> <> +! Sn112 = <> <> +! Sn114 = <> <> + Sn115 = <> <> + Sn116 = <> <> + Sn117 = <> <> + Sn118 = <> <> + Sn119 = <> <> + Sn120 = <> <> + Sn122 = <> <> + Sn124 = <> <> + O16 = <> <> + ZrNat = <> <> +! Zr90 = <> <> +! Zr91 = <> <> +! Zr92 = <> <> +! Zr93 = <> <> +! Zr94 = <> <> +! Zr95 = <> <> +! Zr96 = <> <> + MIX 5 <> NOEV ! (* Eau normale *) +! H2O = <> <> + H1_H2O = <> <> + O16 = <> <> + B10 = <> <> + B11 = <> <> + MIX 6 <> NOEV +*--- Isotopes de Barres pour Modeti a 0 --------------- +* Utilité à réévaluer sur un calcul de Saphyb +! Ag107 = <> 0. + Ag109 = <> 0. +! Cd106 = <> 0. +! Cd108 = <> 0. + Cd110 = <> 0. + Cd111 = <> 0. + Cd112 = <> 0. + Cd113 = <> 0. + Cd114 = <> 0. + Cd116 = <> 0. + In115 = <> 0. +! In113 = <> 0. + B10 = <> 0. + B11 = <> 0. + CNat = <> 0. + MIX 7 <> NOEV ! (* Eau normale pour Tube Instr *) +! H2O = <> <> + H1_H2O = <> <> + O16 = <> <> + B10 = <> <> + B11 = <> <> + U5DET = <> <> +*---- Fin Isotopes de Barres pour Modeti a 0 ---------- + MIX 10 (* MODE *) + COMB 1 <> + 2 <> + 3 <> + 4 <> + 5 <> + MIX 11 (* MODEL *) + COMB 1 <> + 2 <> + 3 <> + 4 <> + 5 <> + MIX 12 (* MODEC *) + COMB 1 <> + 2 <> + 3 <> + 4 <> + 5 <> + MIX 13 (* MODETI *) + COMB 5 1.0 + 6 1.0E-20 + MIX 14 (* MODETE *) + COMB 1 <> + 2 <> + 3 <> + 4 <> + 5 <> + MIX 15 (* MODETI POUR TUBE INSTR*) + COMB 6 1.0E-20 + 7 1.0 +*--- TUBES -------------------------------------------- + MIX 20 <> NOEV (* TUBE *) + Fe54 = <> <> + Fe56 = <> <> + Fe57 = <> <> + Fe58 = <> <> + Cr50 = <> <> + Cr52 = <> <> + Cr53 = <> <> + Cr54 = <> <> + O16 = <> <> + ZrNat = <> <> <> SHIB <> +! Zr90 = <> <> <> SHIB <> +! Zr91 = <> <> <> SHIB <> +! Zr92 = <> <> <> SHIB <> +! Zr93 = <> <> +! Zr94 = <> <> <> SHIB <> +! Zr95 = <> <> +! Zr96 = <> <> <> SHIB <> +! Sn112 = <> <> +! Sn114 = <> <> + Sn115 = <> <> + Sn116 = <> <> + Sn117 = <> <> + Sn118 = <> <> + Sn119 = <> <> + Sn120 = <> <> + Sn122 = <> <> + Sn124 = <> <> + +*--- BARRES ------------------------------------------- + MIX 21 <> NOEV (* ABSO AIC *) +! Ag107 = <> <> <> SHIB <> + Ag109 = <> <> <> SHIB <> +! Cd106 = <> <> +! Cd108 = <> <> + Cd110 = <> <> + Cd111 = <> <> + Cd112 = <> <> + Cd113 = <> <> + Cd114 = <> <> + Cd116 = <> <> + In115 = <> <> <> SHIB <> +! In113 = <> <> <> SHIB <> + + MIX 22 <> NOEV (* ABS_ACIER *) + Fe54 = <> <> + Fe56 = <> <> + Fe57 = <> <> + Fe58 = <> <> + Ni58 = <> <> + Ni60 = <> <> + Ni61 = <> <> + Ni62 = <> <> + Ni64 = <> <> + Cr50 = <> <> + Cr52 = <> <> + Cr53 = <> <> + Cr54 = <> <> + Mn55 = <> <> + SiNat = <> <> +! Si28 = <> <> +! Si29 = <> <> +! Si30 = <> <> + MIX 23 <> NOEV (* ABSO B4C *) + B10B = <> <> + B11B = <> <> + CNat = <> <> + +*--- GAINES ------------------------------------------- + MIX 30 <> NOEV (* GAINE COMB *) + Fe54 = <> <> + Fe56 = <> <> + Fe57 = <> <> + Fe58 = <> <> + Cr50 = <> <> + Cr52 = <> <> + Cr53 = <> <> + Cr54 = <> <> + O16 = <> <> + ZrNat = <> <> <> SHIB <> +! Zr90 = <> <> <> SHIB <> +! Zr91 = <> <> <> SHIB <> +! Zr92 = <> <> <> SHIB <> +! Zr93 = <> <> +! Zr94 = <> <> <> SHIB <> +! Zr95 = <> <> +! Zr96 = <> <> <> SHIB <> +! Sn112 = <> <> +! Sn114 = <> <> + Sn115 = <> <> + Sn116 = <> <> + Sn117 = <> <> + Sn118 = <> <> + Sn119 = <> <> + Sn120 = <> <> + Sn122 = <> <> + Sn124 = <> <> + + MIX 31 <> NOEV (* GAINA & GAINAA for ABSO AIC *) + Fe54 = <> <> + Fe56 = <> <> + Fe57 = <> <> + Fe58 = <> <> + Ni58 = <> <> + Ni60 = <> <> + Ni61 = <> <> + Ni62 = <> <> + Ni64 = <> <> + Cr50 = <> <> + Cr52 = <> <> + Cr53 = <> <> + Cr54 = <> <> + Mn55 = <> <> + SiNat = <> <> +! Si28 = <> <> +! Si29 = <> <> +! Si30 = <> <> + + MIX 32 <> NOEV (* GAINA & GAINAA for ABS_ACIER *) + Fe54 = <> <> + Fe56 = <> <> + Fe57 = <> <> + Fe58 = <> <> + Ni58 = <> <> + Ni60 = <> <> + Ni61 = <> <> + Ni62 = <> <> + Ni64 = <> <> + Cr50 = <> <> + Cr52 = <> <> + Cr53 = <> <> + Cr54 = <> <> + Mn55 = <> <> + SiNat = <> <> +! Si28 = <> <> +! Si29 = <> <> +! Si30 = <> <> + + MIX 33 <> NOEV (* GAINA & GAINAA for ABSO B4C *) + Fe54 = <> <> + Fe56 = <> <> + Fe57 = <> <> + Fe58 = <> <> + Ni58 = <> <> + Ni60 = <> <> + Ni61 = <> <> + Ni62 = <> <> + Ni64 = <> <> + Cr50 = <> <> + Cr52 = <> <> + Cr53 = <> <> + Cr54 = <> <> + Mn55 = <> <> + SiNat = <> <> +! Si28 = <> <> +! Si29 = <> <> +! Si30 = <> <> + + MIX 34 <> NOEV (* GAINE BP INT ACIER SS304 *) + Fe54 = <> <> + Fe56 = <> <> + Fe57 = <> <> + Fe58 = <> <> + Ni58 = <> <> + Ni60 = <> <> + Ni61 = <> <> + Ni62 = <> <> + Ni64 = <> <> + Cr50 = <> <> + Cr52 = <> <> + Cr53 = <> <> + Cr54 = <> <> + Mn55 = <> <> + + MIX 35 <> NOEV (* GAINE BP EXT ACIER SS304 *) + Fe54 = <> <> + Fe56 = <> <> + Fe57 = <> <> + Fe58 = <> <> + Ni58 = <> <> + Ni60 = <> <> + Ni61 = <> <> + Ni62 = <> <> + Ni64 = <> <> + Cr50 = <> <> + Cr52 = <> <> + Cr53 = <> <> + Cr54 = <> <> + Mn55 = <> <> + + MIX 36 <> NOEV (* GAINE M5 *) + Fe54 = <> <> + Fe56 = <> <> + Fe57 = <> <> + Fe58 = <> <> + O16 = <> <> + ZrNat = <> <> <> SHIB <> +! Zr90 = <> <> <> SHIB <> +! Zr91 = <> <> <> SHIB <> +! Zr92 = <> <> <> SHIB <> +! Zr93 = <> <> +! Zr94 = <> <> <> SHIB <> +! Zr95 = <> <> +! Zr96 = <> <> <> SHIB <> + Nb93 = <> <> + S32 = <> <> + S33 = <> <> + S34 = <> <> + + MIX 59 <> NOEV (* Air, origine CRISTAL *) + N14 = <> 4.19850E-5 + O16 = <> 1.12630E-5 + + MIX 60 <> (* BP Pyrex *) + B10 = <> <> + B11 = <> <> + O16 = <> <> + SiNat = <> <> +! Si28 = <> <> +! Si29 = <> <> +! Si30 = <> <> + Al27 = <> <> + KNat = <> <> +! K39 = <> <> +! K40 = <> <> +! K41 = <> <> + Na23 = <> <> + +*--- COMB UOX ----------------------------------------- + MIX 100 <> (* COMB *) + U234 = <> <> + U235 = <> <> <> SHIB <> + U236 = <> <> + U238 = <> <> <> SHIB <> + PU238 = <> <> + PU239 = <> <> <> SHIB <> + PU240 = <> <> <> SHIB <> + PU241 = <> <> <> SHIB <> + PU242 = <> <> <> SHIB <> + AM241 = <> <> + O16 = <> <> + MIX 101 COMB 100 1. + MIX 102 COMB 100 1. + MIX 103 COMB 100 1. + +*--- COMB MOX ----------------------------------------- + MIX 110 <> (* COMB_P [LOW PU] *) + U234 = <> <> + U235 = <> <> <> SHIB <> + U236 = <> <> + U238 = <> <> <> SHIB <> + PU238 = <> <> + PU239 = <> <> <> SHIB <> + PU240 = <> <> <> SHIB <> + PU241 = <> <> <> SHIB <> + PU242 = <> <> <> SHIB <> + AM241 = <> <> + O16 = <> <> + MIX 111 COMB 110 1. + MIX 112 COMB 110 1. + MIX 113 COMB 110 1. + + MIX 120 <> (* COMB_I [AVG PU] *) + U234 = <> <> + U235 = <> <> <> SHIB <> + U236 = <> <> + U238 = <> <> <> SHIB <> + PU238 = <> <> + PU239 = <> <> <> SHIB <> + PU240 = <> <> <> SHIB <> + PU241 = <> <> <> SHIB <> + PU242 = <> <> <> SHIB <> + AM241 = <> <> + O16 = <> <> + MIX 121 COMB 120 1. + MIX 122 COMB 120 1. + MIX 123 COMB 120 1. + + MIX 130 <> (* COMB_C [HIGH PU] *) + U234 = <> <> + U235 = <> <> <> SHIB <> + U236 = <> <> + U238 = <> <> <> SHIB <> + PU238 = <> <> + PU239 = <> <> <> SHIB <> + PU240 = <> <> <> SHIB <> + PU241 = <> <> <> SHIB <> + PU242 = <> <> <> SHIB <> + AM241 = <> <> + O16 = <> <> + MIX 131 COMB 130 1. + MIX 132 COMB 130 1. + MIX 133 COMB 130 1. + +*--- COMB UGd ----------------------------------------- + MIX 140 <> (* COMB with Gd *) + Gd154 = <> <> <> SHIB <> + Gd155 = <> <> <> SHIB <> + Gd156 = <> <> <> SHIB <> + Gd157 = <> <> <> SHIB <> + Gd158 = <> <> <> SHIB <> + Gd160 = <> <> <> SHIB <> + U234 = <> <> + U235 = <> <> <> SHIB <> + U236 = <> <> + U238 = <> <> <> SHIB <> + PU238 = <> 0. + PU239 = <> <> <> SHIB <> + PU240 = <> <> <> SHIB <> + PU241 = <> <> <> SHIB <> + PU242 = <> <> <> SHIB <> + AM241 = <> 0. + O16 = <> <> + MIX 141 COMB 140 1. + MIX 142 COMB 140 1. + MIX 143 COMB 140 1. + MIX 144 COMB 140 1. +! Highest Mix number MUST be equal to NMIX + MIX <> COMB 140 1. + ; + +*------------------------------------------------------ +* Moderator for every cell, all based on MODETI (internal guide tube): +* MODETE (external guide tube) proportion +* MODE (central fuel pins) proportion +* MODEL (side fuel pins) proportion +* MODEC (corner fuel pin) proportion +*------------------------------------------------------ +* 'MODETE' (MODErateur Tube Externe) +*------------------------------------------------------ +REAL H2O_mte := H2OTube H2O_mti * ; +REAL H_mte := H2OTube H_mti * ; +REAL O_mte := H2OTube O_mti * ; +REAL B10_mte := H2OTube B10_mti * ; +REAL B11_mte := H2OTube B11_mti * ; +REAL B10B_mte := GrPreTube B10BGr * ; +REAL B11B_mte := GrPreTube B11BGr * ; + +*ECHO "MODETE CONC" ; +*ECHO "H2O_mte " H2O_mte ; +*ECHO "H_mte " H_mte ; +*ECHO "O_mte " O_mte ; +*ECHO "B10_mte " B10_mte ; +*ECHO "B11_mte " B11_mte ; +*ECHO "B10B_mte " B10B_mte ; +*ECHO "B11B_mte " B11B_mte ; + +*------------------------------------------------------ +* 'MODE' (MODErateur cellule centrale) +*------------------------------------------------------ +REAL H2O_mod := H2OCntr H2O_mti * ; +REAL H_mod := H2OCntr H_mti * ; +REAL O_mod := H2OCntr O_mti * ; +REAL B10_mod := H2OCntr B10_mti * ; +REAL B11_mod := H2OCntr B11_mti * ; +REAL B10B_mod := GrPreCntr B10BGr * ; +REAL B11B_mod := GrPreCntr B11BGr * ; + +*ECHO "MODE CONC" ; +*ECHO "H2O_mod " H2O_mod ; +*ECHO "H_mod " H_mod ; +*ECHO "O_mod " O_mod ; +*ECHO "B10_mod " B10_mod ; +*ECHO "B11_mod " B11_mod ; +*ECHO "B10B_mod " B10B_mod ; +*ECHO "B11B_mod " B11B_mod ; + +*------------------------------------------------------ +* 'MODEL' (MODErateur cellule Laterale) +*------------------------------------------------------ +REAL H2O_mdl := H2OSide H2O_mti * ; +REAL H_mdl := H2OSide H_mti * ; +REAL O_mdl := H2OSide O_mti * ; +REAL B10_mdl := H2OSide B10_mti * ; +REAL B11_mdl := H2OSide B11_mti * ; +REAL B10B_mdl := GrPreSide B10BGr * ; +REAL B11B_mdl := GrPreSide B11BGr * ; + +*ECHO "MODEL CONC" ; +*ECHO "H2O_mdl " H2O_mdl ; +*ECHO "H_mdl " H_mdl ; +*ECHO "O_mdl " O_mdl ; +*ECHO "B10_mdl " B10_mdl ; +*ECHO "B11_mdl " B11_mdl ; +*ECHO "B10B_mdl " B10B_mdl ; +*ECHO "B11B_mdl " B11B_mdl ; + +*------------------------------------------------------ +* 'MODEC' (MODErateur cellule Coin) +*------------------------------------------------------ +REAL H2O_mdc := H2OCorn H2O_mti * ; +REAL H_mdc := H2OCorn H_mti * ; +REAL O_mdc := H2OCorn O_mti * ; +REAL B10_mdc := H2OCorn B10_mti * ; +REAL B11_mdc := H2OCorn B11_mti * ; +REAL B10B_mdc := GrPreCorn B10BGr * ; +REAL B11B_mdc := GrPreCorn B11BGr * ; + +*ECHO "MODEC CONC" ; +*ECHO "H2O_mdc " H2O_mdc ; +*ECHO "H_mdc " H_mdc ; +*ECHO "O_mdc " O_mdc ; +*ECHO "B10_mdc " B10_mdc ; +*ECHO "B11_mdc " B11_mdc ; +*ECHO "B10B_mdc " B10B_mdc ; +*ECHO "B11B_mdc " B11B_mdc ; + +*------------------------------------------------------ +* Somme des B10/B11 des grilles et de ceux de l'eau, +* pour ConcMode (variation de CB lors du MakeSap). +* Il serait mieux de supprimer cette 'astuce' et +* d'isoler les calculs de H2O, B10 et B11 dans une +* procedure appelee par CreaMix et MakeSap1BU. +* NB : d'ici la, en realite, le calcul realise dans +* MakeSap1BU n'est pas tout a fait exact (auparavant, +* il ne l'etait pas non plus suite a un bug ...). +* L'astuce ne marche que si cette variation lineaire +* ne s'applique que sur le B10 et B11 de l'eau. En +* pratique, le B10 et le B11 des grilles est trop peu +* present pour avoir un impact. +*------------------------------------------------------ + +EVALUATE B10_mod := B10_mod B10B_mod + ; +EVALUATE B11_mod := B11_mod B11B_mod + ; +EVALUATE B10_mdl := B10_mdl B10B_mdl + ; +EVALUATE B11_mdl := B11_mdl B11B_mdl + ; +EVALUATE B10_mdc := B10_mdc B10B_mdc + ; +EVALUATE B11_mdc := B11_mdc B11B_mdc + ; +EVALUATE B10_mte := B10_mte B10B_mte + ; +EVALUATE B11_mte := B11_mte B11B_mte + ; + +*------------------------------------------------------ +* Moderator Concentrations - for CBOR DMOD variation +*------------------------------------------------------ +ConcMode := UTL: :: CREA 'MODETI' 4 = + <> + <> + <> + <> + ; +ConcMode := UTL: ConcMode :: CREA 'MODETE' 4 = + <> + <> + <> + <> + ; +ConcMode := UTL: ConcMode :: CREA 'MODE ' 4 = + <> + <> + <> + <> + ; +ConcMode := UTL: ConcMode :: CREA 'MODEL ' 4 = + <> + <> + <> + <> + ; +ConcMode := UTL: ConcMode :: CREA 'MODEC ' 4 = + <> + <> + <> + <> + ; +*------------------------------------------------------ +END: ; +QUIT "LIST" . diff --git a/Dragon/data/ErmBeavrsPwrRefl_proc/CreaStepList.c2m b/Dragon/data/ErmBeavrsPwrRefl_proc/CreaStepList.c2m new file mode 100644 index 0000000..c1c7b1e --- /dev/null +++ b/Dragon/data/ErmBeavrsPwrRefl_proc/CreaStepList.c2m @@ -0,0 +1,532 @@ +*DECK CreaStepList.c2m +*====================================================== +* Name: CreaStepList.c2m +* Type: DRAGON procedure +* Use: Create one object containing lists used for +* Burnup evolution & SAPHYB creation +* Author: A. Bruneau 04.2015 +* [CS-SI | IRSN/PSN-EXP/SNC/LNR] +* mod: Change matrix definition and add histories +* L. Liponi 03.2018 +* [CTE | IRSN/PSN-EXP/SNC/LN] +*------------------------------------------------------ +* Input Required: +* > Gestion : [STR] +* > AssType : [STR] +* > ConfigPyrex : [STR] +* > TypeMatrix : [STR] Type of matrix structure for multi-parameter library +* > NumHistCal : [INT] Nb. nominal/off-Nominal depletion +* Output Provided: +* < StepList : [LINKED_LIST] Matrix branch structure parameters +*------------------------------------------------------ +* Procedure called as: +* StepList := CreaStepList :: +* <> <> <> +* <> <> ; +*====================================================== +PARAMETER StepList :: ::: LINKED_LIST StepList ; ; +PROCEDURE GetTechData ; +MODULE UTL: GREP: ABORT: END: ; +LINKED_LIST AvgList RodList ; + +*----------------------------------------------------- +* Input Parameters +*----------------------------------------------------- +STRING Gestion AssType ConfigPyrex ; + :: >>Gestion<< >>AssType<< >>ConfigPyrex<< ; +INTEGER NumHistCal ; + :: >>NumHistCal<< ; +STRING TypeMatrix ; + :: >>TypeMatrix<< ; + +*--- Max Number of histories (except Control Rod ones) +* Since the CR configurations are variable and recover by GetTechData.c2m, +* the user needs to fix the number of history calculations (dmod, tcom, +* cbor, etc.) that are defined before the CR ones. +*-- +INTEGER NbHistWORod := 6 ; + +*----------------------------------------------------- +* Variables +*----------------------------------------------------- + +* Dummy value +INTEGER DUMMY := 0 ; + +* Average Operative (Nominal) conditions +REAL dmod_avg ; ! [g.cm-3] +REAL tmod_avg ; ! [degC] +REAL cbor_avg ; ! [ppm] +REAL tcom_avg ; ! [degC] +REAL barr_avg ; ! [REAL] + +* Depletion Conditions +REAL dmod ; ! [g.cm-3] +REAL tmod ; ! [degC] +REAL cbor ; ! [ppm] +REAL tcom ; ! [degC] +REAL barr ; ! [REAL] + +* Branch conditions +REAL dmod_low dmod_hgh cbor_hgh tcom_low ; + +* Control Rod Histories/Branches +INTEGER NbConfRod ; ! Number of control rod configurations +INTEGER idxCR ; +REAL valCR ; + +*====================================================== +* AVERAGE OPERATIVE CONDITIONS +*------------------------------------------------------ +* Recover average operative core condition from GetTechData.c2m +*------------------------------------------------------ + +*--- T/H operative parameters +AvgList := GetTechData :: + <> <> <> <> 'DEPLPARAMAVG' ; +GREP: AvgList :: GETVAL 'dmod' 1 >>dmod_avg<< ; +GREP: AvgList :: GETVAL 'cbor' 1 >>cbor_avg<< ; +GREP: AvgList :: GETVAL 'tcom' 1 >>tcom_avg<< ; +GREP: AvgList :: GETVAL 'tmod' 1 >>tmod_avg<< ; + +*--- Absorbers configuration +* The first value in the 'Rods' array corresponds to the rod +* configuration usually selected for the nominal depletion. +* If ConfigPyrex <> NONE, the base depletion is performed +* with Pyrex inserted. +*--- +RodList := GetTechData :: + <> <> <> <> 'RODLIST' ; +GREP: RodList :: GETVAL 'Rods' 1 >>barr_avg<< ; + +*====================================================== +* INITIALISE StepList WITH RodList +*------------------------------------------------------ +* It accounts for the dependency of the array 'Rods' with the Gestion +*------------------------------------------------------ +!*! CONTROL ROD CONFIGURATIONS +StepList := RodList ; + +*====================================================== +* BURNUP STEPS (EvoNominale) +*------------------------------------------------------ +* Burnup Step in L_BURNUP structure +*------------------------------------------------------ + +*--- UOX & MOX +IF AssType "UOX" = AssType "MOX" = + THEN + + StepList := UTL: StepList :: + CREA 'ListBU' 51 = + 9.375 18.75 37.5 75. 112.5 + 150. 325. 500. 750. 1000. + 1500. 2000. 2500. 3000. 4000. + 5000. 6000. 7000. 8000. 10000. + 12000. 14000. 16000. 18000. 20000. + 22000. 24000. 26000. 28000. 30000. + 32000. 34000. 36000. 38000. 40000. + 42000. 44000. 46000. 48000. 50000. + 52000. 54000. 56000. 58000. 60000. + 62000. 64000. 66000. 68000. 70000. + 72000. + ; + +*--- GADOLINIUM +ELSEIF AssType "UGd" = AssType "UGd8" = + THEN + + StepList := UTL: StepList :: + CREA 'ListBU' 328 = + 2.34375 4.6875 7.03125 9.375 11.71875 + 14.0625 16.40625 18.75 23.4375 28.125 + 32.8125 37.5 46.875 56.25 65.625 + 75. 84.375 93.75 103.125 112.5 + 121.875 131.25 140.625 150. 193.75 + 237.5 281.25 325. 368.75 412.5 + 456.25 500. 562.5 625. 687.5 + 750. 812.5 875. 937.5 1000. + 1125. 1250. 1375. 1500. 1625. + 1750. 1875. 2000. 2125. 2250. + 2375. 2500. 2625. 2750. 2875. + 3000. 3250. 3500. 3750. 4000. + 4250. 4500. 4750. 5000. 5250. + 5500. 5750. 6000. 6250. 6500. + 6750. 7000. 7250. 7500. 7750. + 8000. 8250. 8500. 8750. 9000. + 9250. 9500. 9750. 10000. 10250. + 10500. 10750. 11000. 11250. 11500. + 11750. 12000. 12250. 12500. 12750. + 13000. 13250. 13500. 13750. 14000. + 14250. 14500. 14750. 15000. 15250. + 15500. 15750. 16000. 16250. 16500. + 16750. 17000. 17250. 17500. 17750. + 18000. 18250. 18500. 18750. 19000. + 19250. 19500. 19750. 20000. 20250. + 20500. 20750. 21000. 21250. 21500. + 21750. 22000. 22250. 22500. 22750. + 23000. 23250. 23500. 23750. 24000. + 24250. 24500. 24750. 25000. 25250. + 25500. 25750. 26000. 26250. 26500. + 26750. 27000. 27250. 27500. 27750. + 28000. 28250. 28500. 28750. 29000. + 29250. 29500. 29750. 30000. 30250. + 30500. 30750. 31000. 31250. 31500. + 31750. 32000. 32250. 32500. 32750. + 33000. 33250. 33500. 33750. 34000. + 34250. 34500. 34750. 35000. 35250. + 35500. 35750. 36000. 36250. 36500. + 36750. 37000. 37250. 37500. 37750. + 38000. 38250. 38500. 38750. 39000. + 39250. 39500. 39750. 40000. 40250. + 40500. 40750. 41000. 41250. 41500. + 41750. 42000. 42250. 42500. 42750. + 43000. 43250. 43500. 43750. 44000. + 44250. 44500. 44750. 45000. 45250. + 45500. 45750. 46000. 46250. 46500. + 46750. 47000. 47250. 47500. 47750. + 48000. 48250. 48500. 48750. 49000. + 49250. 49500. 49750. 50000. 50250. + 50500. 50750. 51000. 51250. 51500. + 51750. 52000. 52250. 52500. 52750. + 53000. 53250. 53500. 53750. 54000. + 54250. 54500. 54750. 55000. 55250. + 55500. 55750. 56000. 56250. 56500. + 56750. 57000. 57250. 57500. 57750. + 58000. 58250. 58500. 58750. 59000. + 59250. 59500. 59750. 60000. 60250. + 60500. 60750. 61000. 61250. 61500. + 61750. 62000. 62250. 62500. 62750. + 63000. 63250. 63500. 63750. 64000. + 64250. 64500. 64750. 65000. 65250. + 65500. 65750. 66000. 66250. 66500. + 66750. 67000. 67250. 67500. 67750. + 68000. 68250. 68500. 68750. 69000. + 69250. 69500. 69750. 70000. 70500. + 71000. 71500. 72000. + ; + +ELSE + ECHO "ERROR --- AssType:" AssType "not recognized." ; + ABORT: ; +ENDIF ; + +*====================================================== +* DEPLETION BURNUP STEPS (MakeBib1BU) +*------------------------------------------------------ +* 31 steps for SAPHYB and MULTICOMPO (indices 'BurnStep') +* Les indices des 31 steps sont differents si il y a du Gadolinium: +* - UOX et MOX : de 1 (0 MWj/t) a 52 (72000 MWj/t) +* - UGd : de 1 (0 MWj/t) a 329 (72000 MWj/t) +*------------------------------------------------------ +StepList := UTL: StepList :: + CREA 'Burnup' 31 = + 0. 9.375 18.75 75. 150. + 500. 1000. 2000. 3000. 4000. + 6000. 8000. 10000. 12000. 14000. +16000. 18000. 20000. 24000. 28000. +32000. 36000. 40000. 44000. 48000. +52000. 56000. 60000. 64000. 68000. +72000. +; + +*--- UOX & MOX +IF AssType "UOX" = AssType "MOX" = + THEN + + StepList := UTL: StepList :: + CREA 'BurnStep' 31 = + 1 2 3 5 7 9 11 13 15 16 + 18 20 21 22 23 24 25 26 28 30 + 32 34 36 38 40 42 44 46 48 50 + 52 + ; + +*--- GADOLINIUM +ELSEIF AssType "UGd" = AssType "UGd8" = + THEN + + StepList := UTL: StepList :: + CREA 'BurnStep' 31 = + 1 5 9 17 25 33 41 49 57 61 + 69 77 85 93 101 109 117 125 141 157 + 173 189 205 221 237 253 269 285 301 317 + 329 + ; + +ELSE + ECHO "ERROR --- AssType:" AssType "not recognized." ; + ABORT: ; +ENDIF ; + +*====================================================== +* SELF-SHIELDING +*------------------------------------------------------ +* 9 pas d'evolution avec Autoprotection (EvoNominale) +* Same for UOX, MOX and UGd +*------------------------------------------------------ +StepList := UTL: StepList :: + CREA 'ListAutop' 9 = + 4000. 8000. 12000. 18000. 24000. +36000. 48000. 60000. 72000. +; + +*====================================================== +* BRANCH STRUCTURE +*------------------------------------------------------ +* By default an identical branch structure is defined for +* nominal and off/nominal depletions. +* As an example, this is explained by the fact that with +* regards of the concatenation of single history PMAX files +* in a multi-history PMAX, it works only with single histories +* having identical branch structures. +* However, different branch structures can be defined for each +* nominal/off-nominal depletion : it is sufficient to delete +* the block in StepList using UTL:, and to define a new +* block with an identical name, for the case of interest. +* Example : +* StepList := UTL: StepList :: +* DEL 'Rods' +* CREA 'Rods' 2 = +* <> <> +* ; +*----------------------------------------------------- + +!REAL tcomb := 547.0 32.0 - 1.8 / ; +REAL tcomb := 286.0 ; +*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* +* N-MATRIX * +*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* +IF TypeMatrix "N" = THEN + + ECHO "The choosen matrix is : N-MATRIX " ; + + !*! DENSITY MODERATOR + StepList := UTL: StepList :: + CREA 'DensModo' 8 = + .50 .64 .68 .71 + .74 .82 .90 1. + ; + + !*! BORON CONCENTRATION + StepList := UTL: StepList :: + CREA 'ConcBore' 6 = + 0. 600. 1200. 1800. 2400. 3000. + ; + + !*! FUEL TEMPERATURE + StepList := UTL: StepList :: + CREA 'TempComb' 5 = + 50. 286. 650. 1400. 2200. + ; + +*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* +* T-MATRIX * +*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* +ELSEIF TypeMatrix "T" = THEN + + ECHO "The choosen matrix is : T-MATRIX " ; + + !*! DENSITY MODERATOR + StepList := UTL: StepList :: + CREA 'DensModo' 2 = + .74 .82 + ; + + !*! BORON CONCENTRATION + StepList := UTL: StepList :: + CREA 'ConcBore' 3 = + 600. 1200. 1800. + ; + + !*! FUEL TEMPERATURE + StepList := UTL: StepList :: + CREA 'TempComb' 1 = + <> + ; + +*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* +* PARCS_BEAVRS-MATRIX * +*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* +* Branch structure used by A. Ward for BEAVRS and Watts Bar +*--- +ELSEIF TypeMatrix "PAR-BEAV" = THEN + + ECHO "The choosen matrix is : PARCS (BEAVRS AND WATTS BAR) MATRIX " ; + + !*! DEPLETION PARAMETERS + EVALUATE dmod_avg := 0.71690 ; + EVALUATE cbor_avg := 500.0 ; + EVALUATE barr_avg := 1.0 ; + EVALUATE tcom_avg := 526.85 ; + + !*! DENSITY MODERATOR + StepList := UTL: StepList :: + CREA 'DensModo' 3 = + 0.64470 + <> + 0.76981 + ; + + !*! BORON CONCENTRATION + StepList := UTL: StepList :: + CREA 'ConcBore' 3 = + 0.0 + <> + 1500.0 + ; + + !*! FUEL TEMPERATURE + StepList := UTL: StepList :: + CREA 'TempComb' 3 = + 281.85 + <> + 1326.15 + ; + +*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* +* TEST-MATRIX * +*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* +ELSEIF TypeMatrix "TEST" = THEN + + ECHO "The choosen matrix is : TEST MATRIX " ; + + !*! DENSITY MODERATOR + EVALUATE dmod_low := dmod_avg .05 - ; + EVALUATE dmod_hgh := dmod_avg .04 + ; + StepList := UTL: StepList :: + CREA 'DensModo' 3 = + <> <> <> + ; + + !*! BORON CONCENTRATION + EVALUATE cbor_hgh := cbor_avg 2. * ; + StepList := UTL: StepList :: + CREA 'ConcBore' 2 = + <> <> + ; + + !*! FUEL TEMPERATURE + EVALUATE tcom_low := tmod_avg 20. - ; + StepList := UTL: StepList :: + CREA 'TempComb' 2 = + <> <> + ; + + !*! CONTROL ROD COMPOSITION + StepList := UTL: StepList :: + DEL 'Rods' + CREA 'Rods' 1 = + 1. + ; + +ELSEIF TypeMatrix "DUMMY" = THEN + ECHO "WARNING --- TypeMatrix:" TypeMatrix "is a dummy value" ; + ECHO "WARNING --- The matrix parameters are not created" ; +ELSE + ECHO "ERROR --- TypeMatrix:" TypeMatrix "not recognized." ; + ABORT: ; +ENDIF ; + +*--- INITIALISE DEPLETION PARAMETERS +EVALUATE dmod tmod cbor tcom barr := + dmod_avg tmod_avg cbor_avg tcom_avg barr_avg ; + +*======================================================* +* * +* BASE DEPLETION * +* * +*======================================================* +IF NumHistCal 0 = THEN + + ECHO "$ BASE DEPLETION selected (No. " NumHistCal ")" ; + +*======================================================* +* * +* OFF-NOMINAL DEPLETIONS * +* (HISTORIES) * +* * +*======================================================* + +ELSEIF NumHistCal 0 > THEN + + ECHO "$ OFF-NOMINAL DEPLETION selected (No. " NumHistCal ")" ; + + IF NumHistCal 1 = THEN + !======================================================* + ! HISTORY No. 1 (DMOD 1) * + !------------------------------------------------------* + ! https://webbook.nist.gov/chemistry/fluid/ + ! Isobar values (p= 2250 psi = 155.132 bar) : + ! DT=+20K -> Drho=-0.050 g/cm3 + ! T=293K -> rho=1.005 g/cm3 + !------------------------------------------------------* + EVALUATE dmod := dmod_avg .05 - ; + + ELSEIF NumHistCal 2 = THEN + !======================================================* + ! HISTORY No. 2 (DMOD 2) * + !------------------------------------------------------* + ! https://webbook.nist.gov/chemistry/fluid/ + ! Isobar values (p= 2250 psi = 155.132 bar) : + ! DT=-20K -> Drho=+0.040 g/cm3 + !------------------------------------------------------* + EVALUATE dmod := dmod_avg .04 + ; + + ELSEIF NumHistCal 3 = THEN + !======================================================* + ! HISTORY No. 3 (CBOR 1) * + !------------------------------------------------------* + EVALUATE cbor := cbor_avg 2. * ; + + ELSEIF NumHistCal 4 = THEN + !======================================================* + ! HISTORY No. 4 (CBOR 2) * + !------------------------------------------------------* + EVALUATE cbor := 150. ; + + ELSEIF NumHistCal 5 = THEN + !======================================================* + ! HISTORY No. 5 (TCOM 1) * + !------------------------------------------------------* + EVALUATE tcom := tmod_avg 20. - ; + + ELSEIF NumHistCal 6 = THEN + !======================================================* + ! HISTORY No. 6 (TCOM 2) * + !------------------------------------------------------* + EVALUATE tcom := 1500. ; + + ELSEIF NumHistCal NbHistWORod > THEN + !======================================================* + ! HISTORY No. 7+ (BARR 1+) * + !------------------------------------------------------* + + EVALUATE idxCR := NumHistCal NbHistWORod - 1 + ; ! +1 -> avoid first index -> average + GREP: RodList :: GETVAL 'Rods' <> >>valCR<< ; + ECHO "$$$$ idxCR : " idxCR " valCR : " valCR ; + EVALUATE barr := valCR ; + + ENDIF ; + +ENDIF ; + +*====================================================== +* DEPLETION CONDITIONS (EvoNominale.x2m) +*------------------------------------------------------ +StepList := UTL: StepList :: + CREA 'DeplParam' 5 = + <> <> <> <> <> + ; + +ECHO "$$$ Summary depletion conditions (No. " NumHistCal ")" ; +ECHO " - dmod : " dmod ; +ECHO " - cbor : " cbor ; +ECHO " - barr : " barr ; +ECHO " - tcom : " tcom ; + +*====================================================== +* Print StepList +*------------------------------------------------------ +ECHO "$$$ Summary StepList $$$" ; +UTL: StepList :: DUMP ; + +*------------------------------------------------------ +END: ; +QUIT "LIST" . diff --git a/Dragon/data/ErmBeavrsPwrRefl_proc/DeplChain.c2m b/Dragon/data/ErmBeavrsPwrRefl_proc/DeplChain.c2m new file mode 100644 index 0000000..e823b8b --- /dev/null +++ b/Dragon/data/ErmBeavrsPwrRefl_proc/DeplChain.c2m @@ -0,0 +1,26 @@ +*DECK DeplChain.c2m +*====================================================== +* Name: DeplChain.c2m +* Type: DRAGON procedure +* Use: Create depletion chain depending on library. +* Author: G. Tixier 03.2017 +* [CS-SI | IRSN/PSN-EXP/SNC/LNR] +*------------------------------------------------------ +* Input Required: +* > Nmix (INT) Type transport correction (STR) +* Autoprotection (STR) +* Output Provided: +* < Library +*====================================================== +PARAMETER Library :: ::: LINKED_LIST Library ; ; +MODULE LIB: GREP: ABORT: UTL: END: ; + +INTEGER Nmix ; +STRING NuclData LibType LibGenre CTRA Autop ; +:: >>Nmix<< >>NuclData<< >>LibType<< >>LibGenre<< + >>CTRA<< >>Autop<< ; + +Library := LIB: :: EDIT 10 ANIS 2 NMIX <> CTRA <> + <> + DEPL LIB: <> FIL: <> +; diff --git a/Dragon/data/ErmBeavrsPwrRefl_proc/Geo15x15.c2m b/Dragon/data/ErmBeavrsPwrRefl_proc/Geo15x15.c2m new file mode 100644 index 0000000..42f1e69 --- /dev/null +++ b/Dragon/data/ErmBeavrsPwrRefl_proc/Geo15x15.c2m @@ -0,0 +1,414 @@ +* Name: Geo15x15.c2m +* Type: DRAGON procedure +* Use: Create various geometry & tracking objects +* Author: A. Bruneau 03.2015, 04.2015 +* [CS-SI | IRSN/PSN-EXP/SNC/LNR] +* V. Salino 05.2016 : ajout des cas 15x15 (Tihange) +* dont Pyrex +*----------------------------------------------------------- +PARAMETER Discr DiscrAu :: + ::: LINKED_LIST + Discr DiscrAu ; ; +MODULE GEO: SYBILT: DELETE: ABORT: END: GREP: ; +PROCEDURE ThermaExpans GetTechData ; +LINKED_LIST Assmb AssmbAu Cellules Huitieme + UOX UOX_SS UOX_PY UOX_PY_SS + UOX_BLACK UOX_BLACK_SS ; + +! ///////////////////////////////////////////////////////////////////// +! /// Variables & Parameters /// +! ///////////////////////////////////////////////////////////////////// +! --------------------------------------------------------------------- +! --- DIVERS --- +! --------------------------------------------------------------------- +STRING Gestion AssType ConfigPyrex ; +INTEGER ThermExp BarType ; +REAL tcom tmod tclad ; + +INTEGER DUMMY_I0 := 0 ; +INTEGER DUMMY_I310 := 310 ; +REAL DUMMY_R0 := 0. ; +STRING Model := "TIH" ; +! --------------------------------------------------------------------- +! --- TECH DATA --- +! --------------------------------------------------------------------- +REAL NbPinAssXY ; +REAL pAss pPin hWaterGap pPinWaterGap ; +REAL rFuel rCladFuel ; +REAL rRodAICn rCladRod ; +REAL rRodBPIn rRodBPEx rCladBPIn rCladBPEx ; +REAL rTubeIn rTubeEx ; +! --------------------------------------------------------------------- +! --- DISCRETIZATION --- +! --------------------------------------------------------------------- +REAL Rfuel1 Rfuel2 Rfuel3 Rfuel4 ; +REAL rRodAICn1 rRodAICn2 rRodAICn3 ; +*------------------------------------------------------- +* Pyrex configuration provided : None Py8 Py12 +*------------------------------------------------------- +:: >>Gestion<< >>AssType<< >>ConfigPyrex<< >>ThermExp<< + >>BarType<< >>tcom<< >>tmod<< ; +EVALUATE tclad := 0.12 tcom * 0.88 tmod * + ; + +! ///////////////////////////////////////////////////////////////////// +! /// GET DATA LISTS /// +! ///////////////////////////////////////////////////////////////////// +LINKED_LIST Distances General ; +Distances := GetTechData :: <> <> + <> 'None' 'DISTANCES' ; +General := GetTechData :: <> <> + <> 'None' 'GENERAL' ; +! ///////////////////////////////////////////////////////////////////// +! /// GET DATA VALUES /// +! ///////////////////////////////////////////////////////////////////// +! --------------------------------------------------------------------- +! --- Distances --- +! --------------------------------------------------------------------- +! ***gen*** +GREP: Distances :: GETVAL 'pAss' 1 >>pAss<< ; +GREP: Distances :: GETVAL 'pPin' 1 >>pPin<< ; +! ***radius pin content*** +GREP: Distances :: GETVAL 'rFuel' 1 >>rFuel<< ; +GREP: Distances :: GETVAL 'rRodAICn' 1 >>rRodAICn<< ; +GREP: Distances :: GETVAL 'rRodBPIn' 1 >>rRodBPIn<< ; +GREP: Distances :: GETVAL 'rRodBPEx' 1 >>rRodBPEx<< ; +! ***radius clad*** +GREP: Distances :: GETVAL 'rCladFuel' 1 >>rCladFuel<< ; +GREP: Distances :: GETVAL 'rCladRod' 1 >>rCladRod<< ; +GREP: Distances :: GETVAL 'rCladBPIn' 1 >>rCladBPIn<< ; +GREP: Distances :: GETVAL 'rCladBPEx' 1 >>rCladBPEx<< ; +! ***assembly structure*** +GREP: Distances :: GETVAL 'rTubeIn' 1 >>rTubeIn<< ; +GREP: Distances :: GETVAL 'rTubeEx' 1 >>rTubeEx<< ; +! --------------------------------------------------------------------- +! --- General --- +! --------------------------------------------------------------------- +GREP: General :: GETVAL 'NbPinAssXY' 1 >>NbPinAssXY<< ; +! --------------------------------------------------------------------- +! --- Cold Half Water Gap --- +! --------------------------------------------------------------------- +EVALUATE hWaterGap := pAss pPin NbPinAssXY * - 2. / ; + +! ///////////////////////////////////////////////////////////////////// +! /// THERMALEXPANSION /// +! ///////////////////////////////////////////////////////////////////// + ECHO "@@@@@@@@@@@ DISTANCES BEFORE (THERMAL EXPANSION) @@@@@@@@@@@" ; + ECHO " pAss = " pAss " at 20 C." ; + ECHO " pPin = " pPin " at 20 C." ; + ECHO " rFuel = " rFuel " at 20 C." ; + ECHO " rRodAICn = " rRodAICn " at 20 C." ; + ECHO " rRodBPIn = " rRodBPIn " at 20 C." ; + ECHO " rRodBPEx = " rRodBPEx " at 20 C." ; + ECHO " rCladFuel = " rCladFuel " at 20 C." ; + ECHO " rCladRod = " rCladRod " at 20 C." ; + ECHO " rCladBPIn = " rCladBPIn " at 20 C." ; + ECHO " rCladBPEx = " rCladBPEx " at 20 C." ; + ECHO " rTubeIn = " rTubeIn " at 20 C." ; + ECHO " rTubeEx = " rTubeEx " at 20 C." ; + ECHO " hWaterGap = " hWaterGap " at 20 C." ; + +IF ThermExp 1 = THEN +! --------------------------------------------------------------------- +! --- Assembly and pin pitches --- +! --------------------------------------------------------------------- + ThermaExpans :: <> "SS304" <> "Distance" <> + <> <> + >>pAss<< ; + ThermaExpans :: <> "In718" <> "Distance" <> + <> <> + >>pPin<< ; +! --------------------------------------------------------------------- +! --- Fuel Pin --- +! --------------------------------------------------------------------- + ThermaExpans :: <> "UO2" <> "Distance" <> + <> <> + >>rFuel<< ; + ThermaExpans :: <> "Zr4" <> "Distance" <> + <> <> + >>rCladFuel<< ; +! --------------------------------------------------------------------- +! --- Control Rod Pin (SS / AICg /AICn / B4C) --- +! --------------------------------------------------------------------- + ThermaExpans :: <> "AIC" <> "Distance" <> + <> <> + >>rRodAICn<< ; + ThermaExpans :: <> "SS304" <> "Distance" <> + <> <> + >>rCladRod<< ; +! --------------------------------------------------------------------- +! --- Poison Consommable Pyrex / Hafnium --- +! --------------------------------------------------------------------- + ThermaExpans :: <> "Pyrex" <> "Distance" <> + <> <> + >>rRodBPIn<< ; + ThermaExpans :: <> "Pyrex" <> "Distance" <> + <> <> + >>rRodBPEx<< ; + ThermaExpans :: <> "SS304" <> "Distance" <> + <> <> + >>rCladBPIn<< ; + ThermaExpans :: <> "SS304" <> "Distance" <> + <> <> + >>rCladBPEx<< ; +! --------------------------------------------------------------------- +! --- Guide Tube / Instrumentation --- +! --------------------------------------------------------------------- + ThermaExpans :: <> "Zr4" <> "Distance" <> + <> <> + >>rTubeIn<< ; + ThermaExpans :: <> "Zr4" <> "Distance" <> + <> <> + >>rTubeEx<< ; +ENDIF ; +! --------------------------------------------------------------------- +! --- Half Water Gap --- +! --------------------------------------------------------------------- +EVALUATE hWaterGap := pAss NbPinAssXY pPin * - 2. / ; +EVALUATE pPinWaterGap := pPin hWaterGap + ; + +ECHO "@@@@@@@@@@@ DISTANCES AFTER (THERMAL EXPANSION) @@@@@@@@@@@" ; +ECHO " pAss = " pAss " at " tmod "C." ; +ECHO " pPin = " pPin " at " tmod "C." ; +ECHO " rFuel = " rFuel " at " tcom "C." ; +ECHO " rRodAICn = " rRodAICn " at " tmod "C." ; +ECHO " rRodBPIn = " rRodBPIn " at " tmod "C." ; +ECHO " rRodBPEx = " rRodBPEx " at " tmod "C." ; +ECHO " rCladFuel = " rCladFuel " at " tclad "C." ; +ECHO " rCladRod = " rCladRod " at " tmod "C." ; +ECHO " rCladBPIn = " rCladBPIn " at " tmod "C." ; +ECHO " rCladBPEx = " rCladBPEx " at " tmod "C." ; +ECHO " rTubeIn = " rTubeIn " at " tmod "C." ; +ECHO " rTubeEx = " rTubeEx " at " tmod "C." ; +ECHO " hWaterGap = " hWaterGap " at " tmod "C." ; + +! ///////////////////////////////////////////////////////////////////// +! /// DISCRETISATION /// +! ///////////////////////////////////////////////////////////////////// +*------------------------------------------------------ +* Evaluate Radii: +* Fuel: r1 = ( .50 x rFuel^2 )^1/2 +* r2 = ( .80 x rFuel^2 )^1/2 +* r3 = ( .95 x rFuel^2 )^1/2 +* r4 = rFuel +* +* Gado: r1 = ( .20 x rFuel^2 )^1/2 +* r2 = ( .40 x rFuel^2 )^1/2 +* r3 = ( .60 x rFuel^2 )^1/2 +* r4 = ( .80 x rFuel^2 )^1/2 +* r5 = ( .95 x rFuel^2 )^1/2 +* r6 = rFuel +*------------------------------------------------------ +EVALUATE Rfuel1 := rFuel .50 SQRT * ; +EVALUATE Rfuel2 := rFuel .80 SQRT * ; +EVALUATE Rfuel3 := rFuel .95 SQRT * ; +EVALUATE Rfuel4 := rFuel ; +*------------------------------------------------------ +* Materiaux de base: 1 -> 9 +* Moderateurs: 10 -> 19 +* Structures: Tubes 20 +* Barres 21 -> 29 +* Gaines 30 -> 39 +* Combustibles: UOX 100 -> Nmix +*------------------------------------------------------ +* Materiaux de base +* 1 - SS304 +* 2 - Inconel +* 3 - Zircalloy-4 +* 4 - Grilles precalculees +* 5 - Eau boree +* 6 - Isotopes de barre virtuelle +* 7 - Eau boree tube instrumentation +* Moderateurs +* 10 - MODE [moderateur cellule centrale] +* 11 - MODEL [moderateur cellule en peripherie (avec lame d'eau)] +* 12 - MODEC [moderateur cellule en coin (double lame d'eau)] +* 13 - MODETI [moderateur cellule tube (interieur du tube)+Isotopes de barres AIC a 0] +* 14 - MODETE [moderateur cellule tube (exterieur du tube)] +* 15 - MODETII [moderateur cellule tube (interieur du tube d'instrumentation)] +* Structures: Tubes +* 20 - TUBE +* Structures: Barres +* 21 - AIC [Barres AIC] +* Structures: Gaines +* 30 - GAINC [Gaine combustible UOX/MOX/UGd] +* 34 - GAINE BP INT ACIER SS304 +* 35 - GAINE BP EXT ACIER SS304 +* 37 - GAINA [Gaine Barres AICn] +* Structures: Barres (suite) +* 41 - AIC [Barres AIC 1ere couronne] +* 42 - AIC [Barres AIC 2e couronne] +* 43 - AIC [Barres AIC 3e couronne] +* Poison consommable (Pyrex) +* 59 - Air +* 65 - PYREX +* Combustibles UOX +* 100 - COMB [UOX 1ere couronne (centre a Rcomb*0.5^1/2) <=> 0 a r1] +* 101 - COMB [UOX 2e couronne] +* 102 - COMB [UOX 3e couronne] +* 103 - COMB [UOX 4e couronne (r3 a Rcomb)] +*------------------------------------------------------ +Cellules := GEO: :: +::: T := GEO: CARCEL 2 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> + MIX 13 20 14 ; + +::: C1 := GEO: CARCEL 5 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> <> <> <> + MIX 100 101 102 103 30 10 ; + +::: C2 := GEO: C1 MESHX 0. <> MIX 100 101 102 103 30 11 ; +::: C3 := GEO: C2 MESHY 0. <> MIX 100 101 102 103 30 12 ; + +::: Py := GEO: CARCEL 6 + MESHX 0. <> + MESHY 0. <> + RADIUS 0.0 <> <> <> + <> <> <> + MIX 59 34 65 35 13 20 14 ; + +::: R := GEO: CARCEL 4 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> <> <> + MIX 41 37 13 20 14 ; +; + +Huitieme := GEO: Cellules :: CAR2D 8 8 +X- DIAG X+ REFL +Y- SYME Y+ DIAG ; + +*------------------------------------------------------ +* T : TUBE_GUIDE +* C1 : CELLULE_COMBUSTIBLE_CENTRALE +* C2 : CELLULE_COMBUSTIBLE_LATERALE +* C3 : CELLULE_COMBUSTIBLE_COIN +* Py : Pyrex rod +* R : CELLULE_ABSORBANT_AIC +*------------------------------------------------------ +UOX := GEO: Huitieme :: +CELL T C1 C1 C1 T C1 C1 C2 + C1 C1 C1 C1 C1 C1 C2 + C1 C1 C1 T C1 C2 + T C1 C1 C1 C2 + C1 C1 C1 C2 + T C1 C2 + C1 C2 + C3 ; +*------------------------------------------------------ +* UOX Assembly +* 15 X 15 UOX 900MWe Tihange PWR assembly without Rods +*------------------------------------------------------ +UOX_SS := GEO: UOX :: +MERGE 1 2 2 2 1 2 2 4 + 2 2 2 2 2 2 4 + 2 2 2 1 2 4 + 1 2 2 2 4 + 2 2 2 4 + 1 2 4 + 2 4 + 3 ; +IF ConfigPyrex "Py8" = THEN +*------------------------------------------------------ +* UOX Assembly +* 15 X 15 UOX 900MWe Tihange PWR assembly with 8 Pyrex rods +*------------------------------------------------------ + UOX_PY := GEO: Huitieme :: + CELL T C1 C1 C1 Py C1 C1 C2 + C1 C1 C1 C1 C1 C1 C2 + C1 C1 C1 T C1 C2 + Py C1 C1 C1 C2 + C1 C1 C1 C2 + T C1 C2 + C1 C2 + C3 ; + UOX_PY_SS := GEO: UOX_PY :: + * Merging region #5 = Pyrex + MERGE 1 2 2 2 5 2 2 4 + 2 2 2 2 2 2 4 + 2 2 2 1 2 4 + 5 2 2 2 4 + 2 2 2 4 + 1 2 4 + 2 4 + 3 ; +ELSEIF ConfigPyrex "Py12" = THEN +*------------------------------------------------------ +* UOX Assembly +* 15 X 15 UOX 900MWe Tihange PWR assembly with 12 Pyrex rods +*------------------------------------------------------ + UOX_PY := GEO: Huitieme :: + CELL T C1 C1 C1 Py C1 C1 C2 + C1 C1 C1 C1 C1 C1 C2 + C1 C1 C1 T C1 C2 + Py C1 C1 C1 C2 + C1 C1 C1 C2 + Py C1 C2 + C1 C2 + C3 ; + UOX_PY_SS := GEO: UOX_PY :: + * Merging region #5 = Pyrex + MERGE 1 2 2 2 5 2 2 4 + 2 2 2 2 2 2 4 + 2 2 2 1 2 4 + 5 2 2 2 4 + 2 2 2 4 + 5 2 4 + 2 4 + 3 ; +ENDIF ; +*------------------------------------------------------ +* UOX Assembly with 'Black' Rods +* 15 X 15 UOX 900MWe Tihange PWR assembly with AIC Control Rods +*------------------------------------------------------ +UOX_BLACK := GEO: UOX :: +CELL T C1 C1 C1 R C1 C1 C2 + C1 C1 C1 C1 C1 C1 C2 + C1 C1 C1 R C1 C2 + R C1 C1 C1 C2 + C1 C1 C1 C2 + R C1 C2 + C1 C2 + C3 ; +UOX_BLACK_SS := GEO: UOX_BLACK :: +* Merging region #5 = AIC +MERGE 1 2 2 2 5 2 2 4 + 2 2 2 2 2 2 4 + 2 2 2 5 2 4 + 5 2 2 2 4 + 2 2 2 4 + 5 2 4 + 2 4 + 3 ; + +! ///////////////////////////////////////////////////////////////////// +! /// BARR TYPE SELECTOR /// +! ///////////////////////////////////////////////////////////////////// +IF BarType 1 = THEN ! 1 = Pas de BARR [nominal] + Assmb := UOX ; + AssmbAu := UOX_SS ; +ELSEIF BarType 2 = THEN ! 2 = AICN + Assmb := UOX_BLACK ; + AssmbAu := UOX_BLACK_SS ; +ELSEIF BarType 4 = THEN ! 4 = PY (Pyrex) + Assmb := UOX_PY ; + AssmbAu := UOX_PY_SS ; +ELSE + ECHO "Unknown BarType" ; + ABORT: ; +ENDIF ; + +! ///////////////////////////////////////////////////////////////////// +! /// DISCRETISATION SETTING /// +! ///////////////////////////////////////////////////////////////////// +INTEGER imax := 1000000 ; +Discr := SYBILT: Assmb :: MAXZ <> MAXR <> + QUA2 3 3 GAUSS DP01 ; +DiscrAu := SYBILT: AssmbAu :: MAXZ <> MAXR <> + QUA2 3 3 GAUSS DP01 ; + +END: ; +QUIT "LIST" . diff --git a/Dragon/data/ErmBeavrsPwrRefl_proc/Geo17x17.c2m b/Dragon/data/ErmBeavrsPwrRefl_proc/Geo17x17.c2m new file mode 100644 index 0000000..208b406 --- /dev/null +++ b/Dragon/data/ErmBeavrsPwrRefl_proc/Geo17x17.c2m @@ -0,0 +1,1671 @@ +*DECK CreaGeo.c2m +*====================================================== +* Name: CreaGeo.c2m +* Type: DRAGON procedure +* Use: Create various geometry & tracking objects +* Author: A. Bruneau 03.2015, 04.2015 +* [CS-SI | IRSN/PSN-EXP/SNC/LNR] +* V. Salino 05.2016 : ajout des cas 17x17 Pyrex +* (Fessenheim, CP1, N4) +*------------------------------------------------------ +* Procedure called as: +*------------------------------------------------------ +* Input Required: +* > Gestion [STR] AssType [STR] ConfigPyrex [STR] +* Output Provided: +* < Tracking objects for assembly & self-shielding +*====================================================== +PARAMETER Discr DiscrAu :: + ::: LINKED_LIST + Discr DiscrAu ; ; +PROCEDURE ThermaExpans ; +MODULE GEO: SYBILT: ABORT: END: DELETE: ; +LINKED_LIST Evo AuEvo AICN AuAICN AICG AuAICG B4C AuB4C + GeoTemplate GeoTempGado GeoTempPy + UOX UOX_SS UOX_BLACK UOX_BLACK_SS UOX_GRAY UOX_GRAY_SS + MOX MOX_SS MOX_BLACK MOX_BLACK_SS MOX_GRAY MOX_GRAY_SS + UGD UGD_SS UGD_BLACK UGD_BLACK_SS UGD_GRAY UGD_GRAY_SS + UOX_B4C UOX_B4C_SS + MOX_B4C MOX_B4C_SS + UGD_B4C UGD_B4C_SS + UOX_Py UOX_Py_SS ; +*------------------------------------------------------ +* Variables & Parameters +*------------------------------------------------------ +STRING Gestion AssType ConfigPyrex ; +INTEGER ThermExp BarType ; +REAL tcom tmod tclad ; +INTEGER imax := 1000000 ; +REAL Rpellet + Rfuel1 Rfuel2 Rfuel3 Rfuel4 + RBPIn RBPEx RBPCladIn RBPCladEx + RGd1 RGd2 RGd3 RGd4 RGd5 RGd6 + RClad RTubeIn RTubeEx RRod RSteel RRodB4C RRodClad + Lame Cote CoteL ; +REAL RpelletHot RBPInHot RBPExHot RBPClInHot RBPClExHot + RTubeInHot RTubeExHot RCladHot RRodHot + CoteHot LameHot AssPitch ; +STRING Material := "UO2" ; +STRING Model := "PIN" ; + +*------------------------------------------------------ +* Gestion provided: PMOX, CYCL [900MWe] +* BEAVRS [1100MWe] +* GEMM, GALI [1300MWe] +* ALCA [1450MWe] +* FA3 TSN [1650MWe] +* Assembly type provided: UOX MOX UGd +* Pyrex configuration provided : None Py8 Py12a Py12b +* Py16 Py20 Py24 +*------------------------------------------------------ +:: >>Gestion<< >>AssType<< >>ConfigPyrex<< >>ThermExp<< + >>BarType<< >>tcom<< >>tmod<< ; +EVALUATE tclad := 0.12 tcom * 0.88 tmod * + ; + +*------------------------------------------------------ +* Data from don_techno_rep.proc & don_techno_rep_m.proc +* Values for UOX, MOX & UGd in 900MWe [SLB] AFA 2G assembly structure +* and 1300MWe [PAL] AFA 3G and 1450MWe [SLB] AFA3G +* All in [cm] +* +* Clad: Mix description includes void between fuel/rod & clad +* => RClad = External Cladding Radius +* +* Lame: Assembly "half" pitch [adjusted to hot conditions] +* Cote: Central pin cell side length +* CoteL: Side pin cell side length [cote+lame] +*------------------------------------------------------ +EVALUATE Rpellet := .41266 ; ! TOPT.'DIM'.'RCOMB' +EVALUATE RClad := .474364 ; ! TOPT.'DIM'.'RGAINC' + +IF Gestion "ALCA" = THEN +EVALUATE RTubeIn := .583446 ; ! TOPT.'DIM'.'RTUBI' +EVALUATE RTubeEx := .623529 ; ! TOPT.'DIM'.'RTUBE' +ELSE +*EVALUATE RTubeIn := .56342 ; ! TOPT.'DIM'.'RTUBI' +EVALUATE RTubeIn := .573446 ; ! TOPT.'DIM'.'RTUBI' +*EVALUATE RTubeEx := .60349 ; ! TOPT.'DIM'.'RTUBE' +EVALUATE RTubeEx := .623529 ; ! TOPT.'DIM'.'RTUBE' +ENDIF ; +EVALUATE RSteel := .37184541 ; ! TOPT.'DIM'.'RACIER' +EVALUATE Lame := .07792594 ; ! TOPT.'DIM'.'LAME' [hot half-pitch] +EVALUATE Cote := 1.262082 ; ! TOPT.'DIM'.'COTE' + +IF Gestion "PMOX" = Gestion "CYCL" = + THEN + EVALUATE RRod := .436 ; ! TOPT.'DIM'.'RABSO' + EVALUATE RRodB4C := RRod ; ! Dummy value (unused) + EVALUATE RRodClad := .486 ; ! TOPT.'DIM'.'RGAINA' +ELSEIF Gestion "GEMM" = Gestion "GALI" = Gestion "ALCA" = + Gestion "N4" = Gestion "FA3" = + + + + THEN + EVALUATE RRod := .3825 ; ! TOPT.'DIM'.'RABSO' for AIC + EVALUATE RRodB4C := .3735 ; ! TOPT.'DIM'.'RABSO' for B4C + EVALUATE RRodClad := .486414 ; ! TOPT.'DIM'.'RGAINA' +ELSEIF Gestion "BEAV" = THEN + EVALUATE RRod := .43310 ; ! TOPT.'DIM'.'RABSO' for AIC + EVALUATE RRodB4C := .3735 ; ! TOPT.'DIM'.'RABSO' for B4C + EVALUATE RRodClad := .48387 ; ! TOPT.'DIM'.'RGAINA' +ELSE + ECHO "ERROR --- Gestion:" Gestion "not recognized." ; + ABORT: ; +ENDIF ; +IF Gestion "CP1" = THEN + EVALUATE RBPIn := .2415 ; + EVALUATE RBPEx := .4265 ; + EVALUATE RBPCladIn := .2375 ; + EVALUATE RBPCladEx := .4840 ; +ELSEIF Gestion "N4" = THEN + EVALUATE RBPIn := .2500 ; + EVALUATE RBPEx := .4270 ; + EVALUATE RBPCladIn := .2310 ; + EVALUATE RBPCladEx := .4840 ; + EVALUATE Rpellet := .4095 ; ! TOPT.'DIM'.'RCOMB' + EVALUATE RClad := .475 ; ! TOPT.'DIM'.'RGAINC' + EVALUATE RTubeIn := .5625 ; ! TOPT.'DIM'.'RTUBI' + EVALUATE RTubeEx := .6025 ; ! TOPT.'DIM'.'RTUBE' + EVALUATE Lame := 21.504 1.260 17.0 * - 2.0 / ; + EVALUATE Cote := 1.26 ; ! TOPT.'DIM'.'COTE' +ELSEIF Gestion "BEAV" = THEN + EVALUATE RBPIn := .2413 ; + EVALUATE RBPEx := .4267 ; + EVALUATE RBPCladIn := .2310 ; + EVALUATE RBPCladEx := .4839 ; + EVALUATE Rpellet := .39218 ; + EVALUATE RClad := .45720 ; + EVALUATE RTubeIn := .56134 ; + EVALUATE RTubeEx := .60198 ; + EVALUATE Lame := .04318 ; ! TOPT.'DIM'.'LAME' [hot half-pitch] + EVALUATE Cote := 1.25984 ; ! TOPT.'DIM'.'COTE' +ENDIF ; + +EVALUATE CoteL := Cote Lame + ; +*------------------------------------------------------ +* Evaluate Radii: +* Fuel: r1 = ( .5 x Rpellet^2 )^1/2 ['OPTIMUM2'] +* r2 = ( .8 x Rpellet^2 )^1/2 +* r3 = ( .95 x Rpellet^2 )^1/2 +* r4 = Rpellet +* +* Gado: r1 = ( .2 x Rpellet^2 )^1/2 ['OPTIMUMGD'] +* r2 = ( .4 x Rpellet^2 )^1/2 +* r3 = ( .6 x Rpellet^2 )^1/2 +* r4 = ( .8 x Rpellet^2 )^1/2 +* r5 = ( .95 x Rpellet^2 )^1/2 +* r6 = Rpellet +*------------------------------------------------------ +*------------------------------------------------------ +* Thermal Expansion of distances (If requested) +*------------------------------------------------------ +IF ThermExp 1 = THEN +EVALUATE tclad := 0.12 tcom * 0.88 tmod * + ; ! Default CASMO-5 value +EVALUATE Model := "PIN" ; +* EVALUATE tclad := tgain ; + +*------------------------------------------------------ +* Pin combustible +*------------------------------------------------------ + ThermaExpans :: <> "UO2" <> "Distance" + <> "NONE" 0. 0. + <> >>RpelletHot<< ; +* Le coefficient de dilatation du M5 est suppose identique au Zr4 + ThermaExpans :: <> "Zr4" <> "Distance" + <> "UO2" <> <> + <> >>RCladHot<< ; +*------------------------------------------------------ +* Tube guide / instrumenation +*------------------------------------------------------ + ThermaExpans :: <> "Mod" <> "Distance" + <> "Zr4" 0. 0. + <> >>RTubeInHot<< ; + ThermaExpans :: <> "Zr4" <> "Distance" + <> "Mod" <> <> + <> >>RTubeExHot<< ; +*------------------------------------------------------ +* Poison consommable pyrex +*------------------------------------------------------ + ThermaExpans :: <> "Air" <> "Distance" + <> "SS304" 0. 0. + <> >>RBPClInHot<< ; + ThermaExpans :: <> "SS304" <> "Distance" + <> "Pyrex" <> <> + <> >>RBPInHot<< ; + ThermaExpans :: <> "Pyrex" <> "Distance" + <> "SS304" <> <> + <> >>RBPExHot<< ; + ThermaExpans :: <> "SS304" <> "Distance" + <> "Mod" <> <> + <> >>RBPClExHot<< ; +*------------------------------------------------------ +* Pin barre de controle +*------------------------------------------------------ + ThermaExpans :: <> "AIC" <> "Distance" + <> "SS304 " 0. 0. + <> >>RRodHot<< ; + ThermaExpans :: <> "B4C" <> "Distance" + <> "SS304 " 0. 0. + <> >>RRodB4C<< ; + ThermaExpans :: <> "SS304" <> "Distance" + <> "SS304 " 0. 0. + <> >>RSteel<< ; + ThermaExpans :: <> "SS304" <> "Distance" + <> "SS304 " <> <> + <> >>RRodClad<< ; +*------------------------------------------------------ +* Pin Pitch et lame d'eau +*------------------------------------------------------ + EVALUATE AssPitch := Cote 17. * Lame 2. * + ; + EVALUATE Model := "PITCH" ; + ThermaExpans :: <> "SS304" <> "Distance" + <> "NONE" 0. 0. + 0. >>CoteHot<< ; + EVALUATE Model := "LAME" ; + ThermaExpans :: <> "SS304" <> "Distance" + <> "NONE" 0. 0. + 0. >>AssPitch<< ; + EVALUATE LameHot := AssPitch CoteHot 17. * - 2. / ; + + EVALUATE Rpellet := RpelletHot ; + EVALUATE RClad := RCladHot ; + EVALUATE RTubeIn := RTubeInHot ; + EVALUATE RTubeEx := RTubeExHot ; + EVALUATE RBPCladIn := RBPClInHot ; + EVALUATE RBPCladEx := RBPClExHot ; + EVALUATE RRod := RRodHot ; + EVALUATE Cote := CoteHot ; + EVALUATE Lame := LameHot ; + + ECHO "---------------THERMAL EXPANSION OF DISTANCES------------" ; + ECHO " Rpellet = " Rpellet " at " tcom "C." ; + ECHO " RClad = " RClad " at " tclad "C." ; + ECHO " RTubeIn = " RTubeIn " at " tmod "C." ; + ECHO " RTubeEx = " RTubeEx " at " tmod "C." ; + ECHO " RBPCladIn = " RBPCladIn " at " tmod "C." ; + ECHO " RBPCladEx = " RBPCladEx " at " tmod "C." ; + ECHO " RRod = " RRod " at " tmod "C." ; + ECHO " RRodB4C = " RRodB4C " at " tmod "C." ; + ECHO " RRodClad = " RRodClad " at " tmod "C." ; + ECHO " RSteel = " RSteel " at " tmod "C." ; + ECHO " Cote = " Cote " at " tmod "C." ; + ECHO " Lame = " Lame " at " tmod "C." ; +ENDIF ; + +EVALUATE Rfuel1 := Rpellet .5 SQRT * ; +EVALUATE Rfuel2 := Rpellet .8 SQRT * ; +EVALUATE Rfuel3 := Rpellet .95 SQRT * ; +EVALUATE Rfuel4 := Rpellet ; + +EVALUATE RGd1 := Rpellet .2 SQRT * ; +EVALUATE RGd2 := Rpellet .4 SQRT * ; +EVALUATE RGd3 := Rpellet .6 SQRT * ; +EVALUATE RGd4 := Rpellet .8 SQRT * ; +EVALUATE RGd5 := Rpellet .95 SQRT * ; +EVALUATE RGd6 := Rpellet ; +*------------------------------------------------------ +* Materiaux de base: 1 -> 9 +* Moderateurs: 10 -> 19 +* Structures: Tubes 20 +* Barres 21 -> 29 +* Gaines 30 -> 39 +* Combustibles: UOX 100 -> 109 +* MOX 110 -> 139 +* UGd 140 -> Nmix +*------------------------------------------------------ +* Materiaux de base +* 1 - SS304 +* 2 - Inconel +* 3 - Zircalloy-4 +* 4 - Grilles issues d'APOLLO2 +* 5 - Eau boree +* 6 - Isotopes de barre virtuelle +* 7 - Eau boree tube instrumentation +* Moderateurs +* 10 - MODE [moderateur cellule centrale] +* 11 - MODEL [moderateur cellule en peripherie (avec lame d'eau)] +* 12 - MODEC [moderateur cellule en coin (double lame d'eau)] +* 13 - MODETI [moderateur cellule tube (interieur du tube)+Isotopes de barres AIC a 0] +* 14 - MODETE [moderateur cellule tube (exterieur du tube)] +* 15 - MODETII [moderateur cellule tube (interieur du tube d'instrumentation)] +* Structures: Tubes +* 20 - TUBE +* Structures: Barres +* 21 - AIC [Barres AIC] +* 22 - ACIER [Barres acier] +* 23 - B4C [Barres B4C] +* Structures: Gaines +* 30 - GAINC [Gaine combustible UOX/MOX/UGd] +* 31 - GAINA [Gaine Barres AIC] +* 32 - GAINS [Gaine Barres ACIER] +* 33 - GAINB [Gaine Barres B4C] +* 34 - GAINE BP INT ACIER SS304 +* 35 - GAINE BP EXT ACIER SS304 +* 36 - GAINC M5 [Gaine combustible gestion ALCADE] +* Poison consommable (Pyrex) +* 60 - PYREX +* Combustibles UOX +* 100 - COMB [UOX 1ere couronne (centre a Rcomb*0.5^1/2) <=> 0 a r1] +* 101 - COMB [UOX 2e couronne] +* 102 - COMB [UOX 3e couronne] +* 103 - COMB [UOX 4e couronne (r3 a Rcomb)] +* Combustibles MOX +* 110 - COMB1 [MOX 'faible' 1ere couronne] +* 111 - COMB1 [MOX 'faible' 2e couronne] +* 112 - COMB1 [MOX 'faible' 3e couronne] +* 113 - COMB1 [MOX 'faible' 4e couronne] +* 120 - COMB2 [MOX 'moyen' 1ere couronne] +* 121 - COMB2 [MOX 'moyen' 2e couronne] +* 122 - COMB2 [MOX 'moyen' 3e couronne] +* 123 - COMB2 [MOX 'moyen' 4e couronne] +* 130 - COMB3 [MOX 'fort' 1ere couronne] +* 131 - COMB3 [MOX 'fort' 2e couronne] +* 132 - COMB3 [MOX 'fort' 3e couronne] +* 133 - COMB3 [MOX 'fort' 4e couronne] +* Combustibles UGd +* 140 - COMB [UOX+Gd 1ere couronne (centre a Rcomb*0.2^1/2)] +* 141 - COMB [UOX+Gd 2e couronne] +* 142 - COMB [UOX+Gd 3e couronne] +* 143 - COMB [UOX+Gd 4e couronne] +* 144 - COMB [UOX+Gd 5e couronne] +* Nmix - COMB [UOX+Gd 6e couronne] --- Nmix = 145 +*------------------------------------------------------ +* GeoTemplate: Template for UOX & MOX basis +* Regular (unrodded) UOX & MOX are of this type +*------------------------------------------------------ +IF Gestion "ALCA" = THEN +GeoTemplate := GEO: :: CAR2D 9 9 +X- DIAG X+ REFL +Y- SYME Y+ DIAG +CELL FC C1 C1 T C1 C1 T C1 C2 + C1 C1 C1 C1 C1 C1 C1 C2 + C1 C1 C1 C1 C1 C1 C2 + T C1 C1 T C1 C2 + C1 C1 C1 C1 C2 + T C1 C1 C2 + C1 C1 C2 + C1 C2 + C3 +::: T := GEO: CARCEL 2 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> + MIX 13 20 14 ; +::: FC := GEO: CARCEL 2 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> + MIX 15 20 14 ; + +::: C1 := GEO: CARCEL 5 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> <> <> <> + MIX 100 101 102 103 36 10 ; + +::: C2 := GEO: C1 MESHX 0. <> MIX 100 101 102 103 36 11 ; +::: C3 := GEO: C2 MESHY 0. <> MIX 100 101 102 103 36 12 ; +; +*------------------------------------------------------ +* GeoTempGado: Template with each type of pins for UOX+Gd +*------------------------------------------------------ +GeoTempGado := GEO: GeoTemplate :: +CELL FC C1 C1 T C1 C1 T C1 C2 + C1 C1 C1 C1 C1 C1 C1 C2 + C1 C1 C1 G C1 C1 C2 + T C1 C1 T C1 C2 + C1 C1 C1 C1 C2 + T C1 C1 C2 + G C1 C2 + C1 C2 + C3 +::: G := GEO: CARCEL 7 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> <> + <> <> <> <> + MIX 140 141 142 143 144 145 36 10 ; +; +ELSEIF Gestion "FA3" = THEN +GeoTemplate := GEO: :: CAR2D 9 9 +X- DIAG X+ REFL +Y- SYME Y+ DIAG +CELL FC C1 C1 T C1 C1 T C1 C2 + C1 C1 C1 C1 C1 C1 C1 C2 + C1 C1 C1 C1 C1 C1 C2 + T C1 C1 T C1 C2 + C1 C1 C1 C1 C2 + T C1 C1 C2 + C1 C1 C2 + C1 C2 + C3 +::: T := GEO: CARCEL 2 + MESHX 0. <> + MESHY 0. <> +* RADIUS 0. <> <> + RADIUS 0. <> <> + MIX 10 30 10 ; + +::: FC := GEO: CARCEL 2 + MESHX 0. <> + MESHY 0. <> +* RADIUS 0. <> <> + RADIUS 0. <> <> +* MIX 15 20 14 ; + MIX 10 30 10 ; + +::: C1 := GEO: CARCEL 5 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> <> <> <> + MIX 100 101 102 103 30 10 ; + +::: C2 := GEO: C1 MESHX 0. <> MIX 100 101 102 103 30 10 ; +::: C3 := GEO: C2 MESHY 0. <> MIX 100 101 102 103 30 10 ; +; +*------------------------------------------------------ +* GeoTempGado: Template with each type of pins for UOX+Gd +*------------------------------------------------------ +IF AssType "UGd8" = THEN +GeoTempGado := GEO: GeoTemplate :: +CELL FC C1 C1 T C1 C1 T C1 C2 + C1 C1 C1 C1 C1 C1 C1 C2 + C1 C1 G C1 C1 C1 C2 + T C1 C1 T C1 C2 + C1 C1 C1 C1 C2 + T C1 C1 C2 + C1 C1 C2 + C1 C2 + C3 +::: G := GEO: CARCEL 7 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> <> + <> <> <> <> + MIX 140 141 142 143 144 145 30 10 ; +; +* UOX ou UGd +ELSE +GeoTempGado := GEO: GeoTemplate :: +CELL FC C1 C1 T C1 C1 T C1 C2 + C1 C1 C1 C1 C1 C1 C1 C2 + C1 C1 C1 G C1 C1 C2 + T C1 C1 T C1 C2 + C1 C1 C1 C1 C2 + T C1 C1 C2 + G C1 C2 + C1 C2 + C3 +::: G := GEO: CARCEL 7 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> <> + <> <> <> <> + MIX 140 141 142 143 144 145 30 10 ; +; +ENDIF ; + +ELSE + +GeoTemplate := GEO: :: CAR2D 9 9 +X- DIAG X+ REFL +Y- SYME Y+ DIAG +CELL FC C1 C1 T C1 C1 T C1 C2 + C1 C1 C1 C1 C1 C1 C1 C2 + C1 C1 C1 C1 C1 C1 C2 + T C1 C1 T C1 C2 + C1 C1 C1 C1 C2 + T C1 C1 C2 + C1 C1 C2 + C1 C2 + C3 +::: T := GEO: CARCEL 2 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> + MIX 13 20 14 ; +::: FC := GEO: CARCEL 2 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> + MIX 15 20 14 ; + +::: C1 := GEO: CARCEL 5 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> <> <> <> + MIX 100 101 102 103 30 10 ; + +::: C2 := GEO: C1 MESHX 0. <> MIX 100 101 102 103 30 11 ; +::: C3 := GEO: C2 MESHY 0. <> MIX 100 101 102 103 30 12 ; +; + +*------------------------------------------------------ +* GeoTempGado: Template with each type of pins for UOX+Gd +*------------------------------------------------------ +GeoTempGado := GEO: GeoTemplate :: +CELL FC C1 C1 T C1 C1 T C1 C2 + C1 C1 C1 C1 C1 C1 C1 C2 + C1 C1 C1 G C1 C1 C2 + T C1 C1 T C1 C2 + C1 C1 C1 C1 C2 + T C1 C1 C2 + G C1 C2 + C1 C2 + C3 +::: G := GEO: CARCEL 7 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> <> + <> <> <> <> + MIX 140 141 142 143 144 145 30 10 ; +; +ENDIF ; + *------------------------------------------------------ + * UOX Assembly + * 17 X 17 UOX 900MWe/1300MWe PWR assembly without Rods + * contains T : TUBE_GUIDE + * C1 : CELLULE_COMBUSTIBLE_CENTRALE + * C2 : CELLULE_COMBUSTIBLE_LATERALE + * C3 : CELLULE_COMBUSTIBLE_COIN + *------------------------------------------------------ +UOX := GeoTemplate ; +UOX_SS := GEO: UOX :: +MERGE 5 2 2 1 2 2 1 2 4 + 2 2 2 2 2 2 2 4 + 2 2 2 2 2 2 4 + 1 2 2 1 2 4 + 2 2 2 2 4 + 1 2 2 4 + 2 2 4 + 2 4 + 3 ; + + +*------------------------------------------------------ +* GeoTempPy: Template with each type of pins for Pyrex +*------------------------------------------------------ +IF ConfigPyrex "Py8" = ConfigPyrex "Py12a" = ConfigPyrex "Py12b" + = ConfigPyrex "Py16" = ConfigPyrex "Py20" = ConfigPyrex "Py24" + = ConfigPyrex "Py15c" = ConfigPyrex "Py15d" = + + + + + + + THEN +GeoTempPy := GEO: GeoTemplate :: +CELL FC C1 C1 T C1 C1 T C1 C2 + C1 C1 C1 C1 C1 C1 C1 C2 + C1 C1 C1 C1 C1 C1 C2 + T C1 C1 Py C1 C2 + C1 C1 C1 C1 C2 + T C1 C1 C2 + C1 C1 C2 + C1 C2 + C3 + + ::: Py := GEO: CARCEL 6 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> <> + <> <> <> + MIX 59 34 60 35 13 20 14 ; +; +ENDIF ; + +IF ConfigPyrex "Py8" = THEN + *------------------------------------------------------ + * UOX Assembly + * 17 X 17 UOX 900MWe/1300MWe PWR assembly with 8 pyrex rods + * contains T : TUBE_GUIDE + * C1 : CELLULE_COMBUSTIBLE_CENTRALE + * C2 : CELLULE_COMBUSTIBLE_LATERALE + * C3 : CELLULE_COMBUSTIBLE_COIN + * Py : Pyrex rod + *------------------------------------------------------ + UOX_Py := GeoTempPy ; + UOX_Py_SS := GEO: UOX_Py :: + * Merging region #5 = Pyrex + MERGE 6 2 2 1 2 2 1 2 4 + 2 2 2 2 2 2 2 4 + 2 2 2 2 2 2 4 + 1 2 2 5 2 4 + 2 2 2 2 4 + 1 2 2 4 + 2 2 4 + 2 4 + 3 ; + +ELSEIF ConfigPyrex "Py12a" = THEN + *------------------------------------------------------ + * UOX Assembly + * 17 X 17 UOX 900MWe/1300MWe PWR assembly with 12 pyrex rods + * contains T : TUBE_GUIDE + * C1 : CELLULE_COMBUSTIBLE_CENTRALE + * C2 : CELLULE_COMBUSTIBLE_LATERALE + * C3 : CELLULE_COMBUSTIBLE_COIN + * Py : Pyrex rod + *------------------------------------------------------ + UOX_Py := GEO: GeoTempPy :: + CELL FC C1 C1 Py C1 C1 T C1 C2 + C1 C1 C1 C1 C1 C1 C1 C2 + C1 C1 C1 C1 C1 C1 C2 + T C1 C1 Py C1 C2 + C1 C1 C1 C1 C2 + T C1 C1 C2 + C1 C1 C2 + C1 C2 + C3 + ; + UOX_Py_SS := GEO: UOX_Py :: + * Merging region #5 = Pyrex + MERGE 6 2 2 5 2 2 1 2 4 + 2 2 2 2 2 2 2 4 + 2 2 2 2 2 2 4 + 1 2 2 5 2 4 + 2 2 2 2 4 + 1 2 2 4 + 2 2 4 + 2 4 + 3 ; +ELSEIF ConfigPyrex "Py12b" = THEN + *------------------------------------------------------ + * UOX Assembly + * 17 X 17 UOX 900MWe/1300MWe/BEAVRS PWR assembly with 12 pyrex rods + * contains T : TUBE_GUIDE + * C1 : CELLULE_COMBUSTIBLE_CENTRALE + * C2 : CELLULE_COMBUSTIBLE_LATERALE + * C3 : CELLULE_COMBUSTIBLE_COIN + * Py : Pyrex rod + *------------------------------------------------------ + UOX_Py := GEO: GeoTempPy :: + CELL FC C1 C1 T C1 C1 T C1 C2 + C1 C1 C1 C1 C1 C1 C1 C2 + C1 C1 C1 C1 C1 C1 C2 + T C1 C1 Py C1 C2 + C1 C1 C1 C1 C2 + Py C1 C1 C2 + C1 C1 C2 + C1 C2 + C3 + ; + UOX_Py_SS := GEO: UOX_Py :: + * Merging region #5 = Pyrex + MERGE 6 2 2 1 2 2 1 2 4 + 2 2 2 2 2 2 2 4 + 2 2 2 2 2 2 4 + 1 2 2 5 2 4 + 2 2 2 2 4 + 5 2 2 4 + 2 2 4 + 2 4 + 3 ; + +ELSEIF ConfigPyrex "Py6" = THEN + *------------------------------------------------------ + * UOX Assembly + * 17 X 17 UOX 1100MWe PWR assembly with 15 pyrex rods (FULL) + * Partie Sud Ouest + * contains T : TUBE_GUIDE + * C1 : CELLULE_COMBUSTIBLE_CENTRALE + * C2 : CELLULE_COMBUSTIBLE_LATERALE + * C3 : CELLULE_COMBUSTIBLE_COIN + * Py : Pyrex rod + *------------------------------------------------------ + UOX_Py := GEO: :: CAR2D 17 17 + X- REFL X+ REFL + Y- REFL Y+ REFL + CELL C3 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C3 + C2 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C2 + C2 C1 C1 C1 C1 Py C1 C1 T C1 C1 Py C1 C1 C1 C1 C2 + C2 C1 C1 Py C1 C1 C1 C1 C1 C1 C1 C1 C1 Py C1 C1 C2 + C2 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C2 + C2 C1 Py C1 C1 T C1 C1 T C1 C1 T C1 C1 Py C1 C2 + C2 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C2 + C2 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C2 + C2 C1 T C1 C1 T C1 C1 FC C1 C1 T C1 C1 T C1 C2 + C2 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C2 + C2 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C2 + C2 C1 T C1 C1 T C1 C1 T C1 C1 T C1 C1 T C1 C2 + C2 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C2 + C2 C1 C1 T C1 C1 C1 C1 C1 C1 C1 C1 C1 T C1 C1 C2 + C2 C1 C1 C1 C1 T C1 C1 T C1 C1 T C1 C1 C1 C1 C2 + C2 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C2 + C3 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C3 +::: T := GEO: CARCEL 2 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> + MIX 13 20 14 ; + +::: C1 := GEO: CARCEL 5 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> <> <> <> + MIX 100 101 102 103 30 10 ; + +::: C2 := GEO: C1 MESHX 0. <> MIX 100 101 102 103 30 11 ; +::: C3 := GEO: C2 MESHY 0. <> MIX 100 101 102 103 30 12 ; +::: C4 := GEO: C1 MESHY 0. <> MIX 100 101 102 103 30 11 ; +::: Py := GEO: CARCEL 6 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> <> + <> <> <> + MIX 59 34 60 35 13 20 14 ; +::: FC := GEO: CARCEL 2 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> + MIX 15 20 14 ; + ; +UOX_Py_SS := GEO: UOX_Py :: + + MERGE 1 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 1 + 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 + 2 3 3 3 3 4 3 3 5 3 3 4 3 3 3 3 2 + 2 3 3 4 3 3 3 3 3 3 3 3 3 4 3 3 2 + 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 + 2 3 4 3 3 5 3 3 5 3 3 5 3 3 4 3 2 + 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 + 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 + 2 3 5 3 3 5 3 3 7 3 3 5 3 3 5 3 2 + 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 + 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 + 2 3 5 3 3 5 3 3 5 3 3 5 3 3 5 3 2 + 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 + 2 3 3 5 3 3 3 3 3 3 3 3 3 5 3 3 2 + 2 3 3 3 3 5 3 3 5 3 3 5 3 3 3 3 2 + 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 + 1 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 1 ; + +ELSEIF ConfigPyrex "Py15" = THEN + *------------------------------------------------------ + * UOX Assembly + * 17 X 17 UOX 1100MWe PWR assembly with 15 pyrex rods (FULL) + * Partie Sud Ouest + * contains T : TUBE_GUIDE + * C1 : CELLULE_COMBUSTIBLE_CENTRALE + * C2 : CELLULE_COMBUSTIBLE_LATERALE + * C3 : CELLULE_COMBUSTIBLE_COIN + * Py : Pyrex rod + *------------------------------------------------------ + UOX_Py := GEO: :: CAR2D 17 17 + X- REFL X+ REFL + Y- REFL Y+ REFL + CELL C3 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C3 + C2 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C2 + C2 C1 C1 C1 C1 Py C1 C1 Py C1 C1 Py C1 C1 C1 C1 C2 + C2 C1 C1 Py C1 C1 C1 C1 C1 C1 C1 C1 C1 T C1 C1 C2 + C2 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C2 + C2 C1 Py C1 C1 Py C1 C1 Py C1 C1 Py C1 C1 T C1 C2 + C2 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C2 + C2 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C2 + C2 C1 Py C1 C1 Py C1 C1 FC C1 C1 Py C1 C1 T C1 C2 + C2 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C2 + C2 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C2 + C2 C1 Py C1 C1 Py C1 C1 Py C1 C1 Py C1 C1 T C1 C2 + C2 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C2 + C2 C1 C1 T C1 C1 C1 C1 C1 C1 C1 C1 C1 T C1 C1 C2 + C2 C1 C1 C1 C1 T C1 C1 T C1 C1 T C1 C1 C1 C1 C2 + C2 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C2 + C3 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C3 +::: T := GEO: CARCEL 2 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> + MIX 13 20 14 ; + +::: C1 := GEO: CARCEL 5 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> <> <> <> + MIX 100 101 102 103 30 10 ; + +::: C2 := GEO: C1 MESHX 0. <> MIX 100 101 102 103 30 11 ; +::: C3 := GEO: C2 MESHY 0. <> MIX 100 101 102 103 30 12 ; +::: C4 := GEO: C1 MESHY 0. <> MIX 100 101 102 103 30 11 ; +::: Py := GEO: CARCEL 6 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> <> + <> <> <> + MIX 59 34 60 35 13 20 14 ; +::: FC := GEO: CARCEL 2 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> + MIX 15 20 14 ; + ; +UOX_Py_SS := GEO: UOX_Py :: + MERGE 1 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 1 + 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 + 2 3 3 3 3 4 3 3 4 3 3 4 3 3 3 3 2 + 2 3 3 4 3 3 3 3 3 3 3 3 3 5 3 3 2 + 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 + 2 3 4 3 3 4 3 3 4 3 3 4 3 3 5 3 2 + 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 + 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 + 2 3 4 3 3 4 3 3 7 3 3 4 3 3 5 3 2 + 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 + 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 + 2 3 4 3 3 4 3 3 4 3 3 4 3 3 5 3 2 + 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 + 2 3 3 5 3 3 3 3 3 3 3 3 3 5 3 3 2 + 2 3 3 3 3 5 3 3 5 3 3 5 3 3 3 3 2 + 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 + 1 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 1 ; + +ELSEIF ConfigPyrex "Py15a" = THEN + *------------------------------------------------------ + * UOX Assembly + * 17 X 17 UOX 1100MWe PWR assembly with 15 pyrex rods (Config a) + * Partie Sud Ouest + * contains T : TUBE_GUIDE + * C1 : CELLULE_COMBUSTIBLE_CENTRALE + * C2 : CELLULE_COMBUSTIBLE_LATERALE + * C3 : CELLULE_COMBUSTIBLE_COIN + * Py : Pyrex rod + *------------------------------------------------------ + UOX_Py := GEO: :: CAR2D 9 9 +X- SYME X+ REFL +Y- SYME Y+ REFL +CELL FC C1 C1 Py C1 C1 Py C1 C2 + C1 C1 C1 C1 C1 C1 C1 C1 C2 + C1 C1 C1 C1 C1 C1 C1 C1 C2 + Py C1 C1 Py C1 C1 Py C1 C2 + C1 C1 C1 C1 C1 C1 C1 C1 C2 + C1 C1 C1 C1 C1 T C1 C1 C2 + T C1 C1 T C1 C1 C1 C1 C2 + C1 C1 C1 C1 C1 C1 C1 C1 C2 + C4 C4 C4 C4 C4 C4 C4 C4 C3 +::: T := GEO: CARCEL 2 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> + MIX 13 20 14 ; + +::: C1 := GEO: CARCEL 5 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> <> <> <> + MIX 100 101 102 103 30 10 ; + +::: C2 := GEO: C1 MESHX 0. <> MIX 100 101 102 103 30 11 ; +::: C3 := GEO: C2 MESHY 0. <> MIX 100 101 102 103 30 12 ; +::: C4 := GEO: C1 MESHY 0. <> MIX 100 101 102 103 30 11 ; +::: Py := GEO: CARCEL 6 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> <> + <> <> <> + MIX 59 34 60 35 13 20 14 ; +::: FC := GEO: CARCEL 2 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> + MIX 15 20 14 ; + ; + + UOX_Py_SS := GEO: UOX_Py :: + * Merging region #5 = Pyrex + MERGE 7 2 2 5 2 2 5 2 4 + 2 2 2 2 2 2 2 2 4 + 2 2 2 2 2 2 2 2 4 + 5 2 2 5 2 2 5 2 4 + 2 2 2 2 2 2 2 2 4 + 2 2 2 2 2 1 2 2 4 + 1 2 2 1 2 2 2 2 4 + 2 2 2 2 2 2 2 2 4 + 6 6 6 6 6 6 6 6 3 ; +ELSEIF ConfigPyrex "Py15b" = THEN + *------------------------------------------------------ + * UOX Assembly + * 17 X 17 UOX 1100MWe PWR assembly with 15 pyrex rods (Config b) + * Partie Nord Est + * contains T : TUBE_GUIDE + * C1 : CELLULE_COMBUSTIBLE_CENTRALE + * C2 : CELLULE_COMBUSTIBLE_LATERALE + * C3 : CELLULE_COMBUSTIBLE_COIN + * Py : Pyrex rod + *------------------------------------------------------ + UOX_Py := GEO: :: CAR2D 9 9 +X- SYME X+ REFL +Y- SYME Y+ REFL + +CELL FC C1 C1 Py C1 C1 T C1 C2 + C1 C1 C1 C1 C1 C1 C1 C1 C2 + C1 C1 C1 C1 C1 C1 C1 C1 C2 + Py C1 C1 Py C1 C1 T C1 C2 + C1 C1 C1 C1 C1 C1 C1 C1 C2 + C1 C1 C1 C1 C1 T C1 C1 C2 + Py C1 C1 Py C1 C1 C1 C1 C2 + C1 C1 C1 C1 C1 C1 C1 C1 C2 + C4 C4 C4 C4 C4 C4 C4 C4 C3 +::: T := GEO: CARCEL 2 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> + MIX 13 20 14 ; + +::: C1 := GEO: CARCEL 5 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> <> <> <> + MIX 100 101 102 103 30 10 ; + +::: C2 := GEO: C1 MESHX 0. <> MIX 100 101 102 103 30 11 ; +::: C3 := GEO: C2 MESHY 0. <> MIX 100 101 102 103 30 12 ; +::: C4 := GEO: C1 MESHY 0. <> MIX 100 101 102 103 30 11 ; +::: Py := GEO: CARCEL 6 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> <> + <> <> <> + MIX 59 34 60 35 13 20 14 ; +::: FC := GEO: CARCEL 2 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> + MIX 15 20 14 ; + ; + UOX_Py_SS := GEO: UOX_Py :: + * Merging region #5 = Pyrex + MERGE 7 2 2 5 2 2 1 2 4 + 2 2 2 2 2 2 2 2 4 + 2 2 2 2 2 2 2 2 4 + 5 2 2 5 2 2 1 2 4 + 2 2 2 2 2 2 2 2 4 + 2 2 2 2 2 1 2 2 4 + 5 2 2 5 2 2 2 2 4 + 2 2 2 2 2 2 2 2 4 + 6 6 6 6 6 6 6 6 3 ; + +ELSEIF ConfigPyrex "Py15c" = THEN + *------------------------------------------------------ + * UOX Assembly + * 17 X 17 UOX 1100MWe PWR assembly with 15 pyrex rods (Config c) + * Partie Sud Est + * contains FC : CHAMBRE FISSION + * C1 : CELLULE_COMBUSTIBLE_CENTRALE + * C2 : CELLULE_COMBUSTIBLE_LATERALE + * C3 : CELLULE_COMBUSTIBLE_COIN + * Py : Pyrex rod + * T : TUBE_GUIDE + *------------------------------------------------------ +UOX_Py := GEO: GeoTempPy :: +CELL FC C1 C1 Py C1 C1 T C1 C2 + C1 C1 C1 C1 C1 C1 C1 C2 + C1 C1 C1 C1 C1 C1 C2 + Py C1 C1 T C1 C2 + C1 C1 C1 C1 C2 + T C1 C1 C2 + C1 C1 C2 + C1 C2 + C3 +; +UOX_Py_SS := GEO: UOX_Py :: + MERGE 6 2 2 5 2 2 1 2 4 + 2 2 2 2 2 2 2 4 + 2 2 2 2 2 2 4 + 5 2 2 1 2 4 + 2 2 2 2 4 + 1 2 2 4 + 2 2 4 + 2 4 + 3 ; +ELSEIF ConfigPyrex "Py15d" = THEN + *------------------------------------------------------ + * UOX Assembly + * 17 X 17 UOX 1100MWe PWR assembly with 15 pyrex rods (Config d) + * Partie Nord Ouest + * contains FC : CHAMBRE FISSION + * C1 : CELLULE_COMBUSTIBLE_CENTRALE + * C2 : CELLULE_COMBUSTIBLE_LATERALE + * C3 : CELLULE_COMBUSTIBLE_COIN + * T : Pyrex rod + *------------------------------------------------------ +UOX_Py := GEO: :: CAR2D 9 9 +X- DIAG X+ REFL +Y- SYME Y+ DIAG +CELL FC C1 C1 Py C1 C1 Py C1 C2 + C1 C1 C1 C1 C1 C1 C1 C2 + C1 C1 C1 C1 C1 C1 C2 + Py C1 C1 Py C1 C2 + C1 C1 C1 C1 C2 + Py C1 C1 C2 + C1 C1 C2 + C1 C2 + C3 +::: FC := GEO: CARCEL 2 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> + MIX 15 20 14 ; +::: Py := GEO: CARCEL 6 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> <> + <> <> <> + MIX 59 34 60 35 13 20 14 ; +::: C1 := GEO: CARCEL 5 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> <> <> <> +MIX 100 101 102 103 30 10 ; +::: C2 := GEO: C1 MESHX 0. <> MIX 100 101 102 103 30 11 ; +::: C3 := GEO: C2 MESHY 0. <> MIX 100 101 102 103 30 12 ; +; +UOX_Py_SS := GEO: UOX_Py :: + MERGE 1 2 2 5 2 2 5 2 4 + 2 2 2 2 2 2 2 4 + 2 2 2 2 2 2 4 + 5 2 2 5 2 4 + 2 2 2 2 4 + 5 2 2 4 + 2 2 4 + 2 4 + 3 ; + +ELSEIF ConfigPyrex "Py16" = THEN + *------------------------------------------------------ + * UOX Assembly + * 17 X 17 UOX 900MWe/1300MWe PWR assembly with 16 pyrex rods + * contains T : TUBE_GUIDE + * C1 : CELLULE_COMBUSTIBLE_CENTRALE + * C2 : CELLULE_COMBUSTIBLE_LATERALE + * C3 : CELLULE_COMBUSTIBLE_COIN + * Py : Pyrex rod + *------------------------------------------------------ + UOX_Py := GEO: GeoTempPy :: + CELL FC C1 C1 T C1 C1 Py C1 C2 + C1 C1 C1 C1 C1 C1 C1 C2 + C1 C1 C1 C1 C1 C1 C2 + T C1 C1 Py C1 C2 + C1 C1 C1 C1 C2 + Py C1 C1 C2 + C1 C1 C2 + C1 C2 + C3 + ; + UOX_Py_SS := GEO: UOX_Py :: + * Merging region #5 = Pyrex + MERGE 6 2 2 1 2 2 5 2 4 + 2 2 2 2 2 2 2 4 + 2 2 2 2 2 2 4 + 1 2 2 5 2 4 + 2 2 2 2 4 + 5 2 2 4 + 2 2 4 + 2 4 + 3 ; +ELSEIF ConfigPyrex "Py20" = THEN + *------------------------------------------------------ + * UOX Assembly + * 17 X 17 UOX 900MWe/1300MWe PWR assembly with 20 pyrex rods + * contains T : TUBE_GUIDE + * C1 : CELLULE_COMBUSTIBLE_CENTRALE + * C2 : CELLULE_COMBUSTIBLE_LATERALE + * C3 : CELLULE_COMBUSTIBLE_COIN + * Py : Pyrex rod + *------------------------------------------------------ + UOX_Py := GEO: GeoTempPy :: + CELL FC C1 C1 T C1 C1 Py C1 C2 + C1 C1 C1 C1 C1 C1 C1 C2 + C1 C1 C1 C1 C1 C1 C2 + Py C1 C1 Py C1 C2 + C1 C1 C1 C1 C2 + Py C1 C1 C2 + C1 C1 C2 + C1 C2 + C3 + ; + UOX_Py_SS := GEO: UOX_Py :: + * Merging region #5 = Pyrex + MERGE 6 2 2 1 2 2 5 2 4 + 2 2 2 2 2 2 2 4 + 2 2 2 2 2 2 4 + 5 2 2 5 2 4 + 2 2 2 2 4 + 5 2 2 4 + 2 2 4 + 2 4 + 3 ; +ELSEIF ConfigPyrex "Py24" = THEN + *------------------------------------------------------ + * UOX Assembly + * 17 X 17 UOX 900MWe/1300MWe PWR assembly with 24 pyrex rods + * contains T : TUBE_GUIDE + * C1 : CELLULE_COMBUSTIBLE_CENTRALE + * C2 : CELLULE_COMBUSTIBLE_LATERALE + * C3 : CELLULE_COMBUSTIBLE_COIN + * Py : Pyrex rod + *------------------------------------------------------ + UOX_Py := GEO: GeoTempPy :: + CELL FC C1 C1 Py C1 C1 Py C1 C2 + C1 C1 C1 C1 C1 C1 C1 C2 + C1 C1 C1 C1 C1 C1 C2 + Py C1 C1 Py C1 C2 + C1 C1 C1 C1 C2 + Py C1 C1 C2 + C1 C1 C2 + C1 C2 + C3 + ; + UOX_Py_SS := GEO: UOX_Py :: + * Merging region #5 = Pyrex + MERGE 1 2 2 5 2 2 5 2 4 + 2 2 2 2 2 2 2 4 + 2 2 2 2 2 2 4 + 5 2 2 5 2 4 + 2 2 2 2 4 + 5 2 2 4 + 2 2 4 + 2 4 + 3 ; +ENDIF ; +*------------------------------------------------------ +* UOX Assembly with 'Black' Rods +* 17 X 17 UOX 900MWe/1300MWe PWR assembly with AIC Control Rods +* contains T : TUBE_GUIDE +* C1 : CELLULE_COMBUSTIBLE_CENTRALE +* C2 : CELLULE_COMBUSTIBLE_LATERALE +* C3 : CELLULE_COMBUSTIBLE_COIN +* T : CELLULE_ABSORBANT_AIC +*------------------------------------------------------ +UOX_BLACK := GEO: UOX :: +CELL FC C1 C1 T C1 C1 T C1 C2 + C1 C1 C1 C1 C1 C1 C1 C2 + C1 C1 C1 C1 C1 C1 C2 + T C1 C1 T C1 C2 + C1 C1 C1 C1 C2 + T C1 C1 C2 + C1 C1 C2 + C1 C2 + C3 +::: T := GEO: CARCEL 4 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> <> <> + MIX 21 31 13 20 14 ; +; + +UOX_BLACK_SS := GEO: UOX_BLACK :: +* Merging region #5 = AIC +MERGE 1 2 2 5 2 2 5 2 4 + 2 2 2 2 2 2 2 4 + 2 2 2 2 2 2 4 + 5 2 2 5 2 4 + 2 2 2 2 4 + 5 2 2 4 + 2 2 4 + 2 4 + 3 ; +*------------------------------------------------------ +* UOX Assembly with 'Gray' Rods +* 17 X 17 UOX 900MWe/1300MWe PWR assembly with AIC+Steel Control Rods +* contains T : TUBE_GUIDE +* C1 : CELLULE_COMBUSTIBLE_CENTRALE +* C2 : CELLULE_COMBUSTIBLE_LATERALE +* C3 : CELLULE_COMBUSTIBLE_COIN +* R : CELLULE_ABSORBANT_AIC +* S : CELLULE_ABSORBANT_ACIER +*------------------------------------------------------ +IF Gestion "ALCA" = THEN +* Les positions des barres sont differentes par rapport aux 900/1300. +* Les nouvelles positions sont coherentes par rapport a APOLLO2. + UOX_GRAY := GEO: UOX_BLACK :: + CELL FC C1 C1 T C1 C1 S C1 C2 + C1 C1 C1 C1 C1 C1 C1 C2 + C1 C1 C1 C1 C1 C1 C2 + S C1 C1 T C1 C2 + C1 C1 C1 C1 C2 + S C1 C1 C2 + C1 C1 C2 + C1 C2 + C3 + ::: S := GEO: T + RADIUS 0. <> <> <> <> + MIX 22 32 13 20 14 ; + ; + + UOX_GRAY_SS := GEO: UOX_GRAY :: + * Merging region #5 = AIC + * #6 = Steel + MERGE 1 2 2 5 2 2 6 2 4 + 2 2 2 2 2 2 2 4 + 2 2 2 2 2 2 4 + 6 2 2 5 2 4 + 2 2 2 2 4 + 6 2 2 4 + 2 2 4 + 2 4 + 3 ; +ELSE + UOX_GRAY := GEO: UOX_BLACK :: + CELL FC C1 C1 S C1 C1 T C1 C2 + C1 C1 C1 C1 C1 C1 C1 C2 + C1 C1 C1 C1 C1 C1 C2 + S C1 C1 S C1 C2 + C1 C1 C1 C1 C2 + T C1 C1 C2 + C1 C1 C2 + C1 C2 + C3 + + ::: S := GEO: T + RADIUS 0. <> <> <> <> + MIX 22 32 13 20 14 ; + ; + + UOX_GRAY_SS := GEO: UOX_GRAY :: + * Merging region #5 = AIC + * #6 = Steel + MERGE 1 2 2 6 2 2 5 2 4 + 2 2 2 2 2 2 2 4 + 2 2 2 2 2 2 4 + 6 2 2 6 2 4 + 2 2 2 2 4 + 5 2 2 4 + 2 2 4 + 2 4 + 3 ; +ENDIF ; +*------------------------------------------------------ +* UOX Assembly with B4C Rods +* 17 X 17 UOX 1300MWe only PWR assembly with B4C Control Rods +* contains T : TUBE_GUIDE +* C1 : CELLULE_COMBUSTIBLE_CENTRALE +* C2 : CELLULE_COMBUSTIBLE_LATERALE +* C3 : CELLULE_COMBUSTIBLE_COIN +* B : CELLULE_ABSORBANT_B4C +*------------------------------------------------------ +UOX_B4C := GEO: UOX :: +CELL FC C1 C1 T C1 C1 T C1 C2 + C1 C1 C1 C1 C1 C1 C1 C2 + C1 C1 C1 C1 C1 C1 C2 + T C1 C1 T C1 C2 + C1 C1 C1 C1 C2 + T C1 C1 C2 + C1 C1 C2 + C1 C2 + C3 +::: T := GEO: CARCEL 4 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> <> <> + MIX 23 33 13 20 14 ; +; + +UOX_B4C_SS := GEO: UOX_B4C :: +* Merging region #5 = B4C +MERGE 1 2 2 5 2 2 5 2 4 + 2 2 2 2 2 2 2 4 + 2 2 2 2 2 2 4 + 5 2 2 5 2 4 + 2 2 2 2 4 + 5 2 2 4 + 2 2 4 + 2 4 + 3 ; +*------------------------------------------------------ +* MOX Assembly +* 17 X 17 MOX 900MWe PWR assembly without Rods +* contains T : TUBE_GUIDE +* C1 : CELLULE_COMBUSTIBLE_CENTRALE (HIGH PU) +* C2 : CELLULE_COMBUSTIBLE_LATERALE (AVG PU) +* C3 : CELLULE_COMBUSTIBLE_COIN (LOW PU) +* C4 : CELLULE_COMBUSTIBLE_CENTRALE (AVG PU) +* C5 : CELLULE_COMBUSTIBLE_LATERALE (LOW PU) +*------------------------------------------------------ +MOX := GEO: GeoTemplate :: +CELL FC C1 C1 T C1 C1 T C4 C2 + C1 C1 C1 C1 C1 C1 C1 C2 + C1 C1 C1 C1 C1 C1 C2 + T C1 C1 T C4 C2 + C1 C1 C1 C1 C2 + T C1 C1 C2 + C1 C1 C2 + C4 C5 + C3 +::: C1 := GEO: C1 MIX 130 131 132 133 30 10 ; +::: C2 := GEO: C2 MIX 120 121 122 123 30 11 ; +::: C3 := GEO: C3 MIX 110 111 112 113 30 12 ; +::: C4 := GEO: C1 MIX 120 121 122 123 30 10 ; +::: C5 := GEO: C2 MIX 110 111 112 113 30 11 ; +; + +MOX_SS := GEO: MOX :: +MERGE 7 5 5 1 5 5 1 4 3 + 5 5 5 5 5 5 5 3 + 5 5 5 5 5 5 3 + 1 5 5 1 4 3 + 5 5 5 5 3 + 1 5 5 3 + 5 5 3 + 4 6 + 2 ; +*------------------------------------------------------ +* MOX Assembly with 'Black' rods +* 17 X 17 MOX 900MWe/1300MWe PWR assembly with AIC Control Rods +* contains T : TUBE_GUIDE +* C1 : CELLULE_COMBUSTIBLE_CENTRALE (HIGH PU) +* C2 : CELLULE_COMBUSTIBLE_LATERALE (AVG PU) +* C3 : CELLULE_COMBUSTIBLE_COIN (LOW PU) +* C4 : CELLULE_COMBUSTIBLE_CENTRALE (AVG PU) +* C5 : CELLULE_COMBUSTIBLE_LATERALE (LOW PU) +* T : CELLULE_ABSORBANT_AIC +*------------------------------------------------------ +MOX_BLACK := GEO: MOX :: +CELL FC C1 C1 T C1 C1 T C4 C2 + C1 C1 C1 C1 C1 C1 C1 C2 + C1 C1 C1 C1 C1 C1 C2 + T C1 C1 T C4 C2 + C1 C1 C1 C1 C2 + T C1 C1 C2 + C1 C1 C2 + C4 C5 + C3 +::: T := GEO: CARCEL 4 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> <> <> + MIX 21 31 13 20 14 ; +; + +MOX_BLACK_SS := GEO: MOX_BLACK :: +* Merging region #7 = AIC +MERGE 1 5 5 7 5 5 7 4 3 + 5 5 5 5 5 5 5 3 + 5 5 5 5 5 5 3 + 7 5 5 7 4 3 + 5 5 5 5 3 + 7 5 5 3 + 5 5 3 + 4 6 + 2 ; +*------------------------------------------------------ +* MOX Assembly with 'Gray' rods +* 17 X 17 MOX 900MWe/1300MWe PWR assembly with AIC+Steel Control Rods +* contains FC : CHAMBRE A FISSION +* C1 : CELLULE_COMBUSTIBLE_CENTRALE (HIGH PU) +* C2 : CELLULE_COMBUSTIBLE_LATERALE (AVG PU) +* C3 : CELLULE_COMBUSTIBLE_COIN (LOW PU) +* C4 : CELLULE_COMBUSTIBLE_CENTRALE (AVG PU) +* C5 : CELLULE_COMBUSTIBLE_LATERALE (LOW PU) +* T : CELLULE_ABSORBANT_AIC +* S : CELLULE_ABSORBANT_ACIER +*------------------------------------------------------ +MOX_GRAY := GEO: MOX_BLACK :: +CELL FC C1 C1 S C1 C1 T C4 C2 + C1 C1 C1 C1 C1 C1 C1 C2 + C1 C1 C1 C1 C1 C1 C2 + S C1 C1 S C4 C2 + C1 C1 C1 C1 C2 + T C1 C1 C2 + C1 C1 C2 + C4 C5 + C3 +::: S := GEO: T + RADIUS 0. <> <> <> <> + MIX 22 32 13 20 14 ; +; + +MOX_GRAY_SS := GEO: MOX_GRAY :: +* Merging region #7 = AIC +* #8 = Steel +MERGE 1 5 5 8 5 5 7 4 3 + 5 5 5 5 5 5 5 3 + 5 5 5 5 5 5 3 + 8 5 5 8 4 3 + 5 5 5 5 3 + 7 5 5 3 + 5 5 3 + 4 6 + 2 ; +*------------------------------------------------------ +* MOX Assembly with B4C rods +* 17 X 17 MOX 1300MWe PWR assembly with B4C Control Rods +* contains FC : CHAMBRE FISSION +* C1 : CELLULE_COMBUSTIBLE_CENTRALE (HIGH PU) +* C2 : CELLULE_COMBUSTIBLE_LATERALE (AVG PU) +* C3 : CELLULE_COMBUSTIBLE_COIN (LOW PU) +* C4 : CELLULE_COMBUSTIBLE_CENTRALE (AVG PU) +* C5 : CELLULE_COMBUSTIBLE_LATERALE (LOW PU) +* T : CELLULE_ABSORBANT_B4C +*------------------------------------------------------ +MOX_B4C := GEO: MOX :: +CELL FC C1 C1 T C1 C1 T C4 C2 + C1 C1 C1 C1 C1 C1 C1 C2 + C1 C1 C1 C1 C1 C1 C2 + T C1 C1 T C4 C2 + C1 C1 C1 C1 C2 + T C1 C1 C2 + C1 C1 C2 + C4 C5 + C3 +::: T := GEO: CARCEL 4 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> <> <> + MIX 23 33 13 20 14 ; +; + +MOX_B4C_SS := GEO: MOX_B4C :: +* Merging region #7 = B4C +MERGE 1 5 5 7 5 5 7 4 3 + 5 5 5 5 5 5 5 3 + 5 5 5 5 5 5 3 + 7 5 5 7 4 3 + 5 5 5 5 3 + 7 5 5 3 + 5 5 3 + 4 6 + 2 ; +*------------------------------------------------------ +* UGd Assembly (see GeoTempGado) +* 17 X 17 UOX+Gd 900MWe/1300MWe PWR assembly without Rods +* contains T : TUBE_GUIDE +* C1 : CELLULE_COMBUSTIBLE_CENTRALE +* C2 : CELLULE_COMBUSTIBLE_LATERALE +* C3 : CELLULE_COMBUSTIBLE_COIN +* G : CELLULE_COMBUSTIBLE_CENTRALE (GADO) +*------------------------------------------------------ +UGD := GeoTempGado ; +IF AssType "UGd" = THEN +UGD_SS := GEO: UGD :: +MERGE 7 2 2 1 2 2 1 2 4 + 2 2 2 2 2 2 2 4 + 2 2 2 6 2 2 4 + 1 2 2 1 2 4 + 2 2 2 2 4 + 1 2 2 4 + 5 2 4 + 2 4 + 3 ; +ELSEIF AssType "UGd8" = THEN +UGD_SS := GEO: UGD :: +MERGE 6 2 2 1 2 2 1 2 4 + 2 2 2 2 2 2 2 4 + 2 2 5 2 2 2 4 + 1 2 2 1 2 4 + 2 2 2 2 4 + 1 2 2 4 + 2 2 4 + 2 4 + 3 ; +ENDIF ; +*------------------------------------------------------ +* UGd Assembly with 'Black' rods +* 17 X 17 UOX+Gd 900MWe/1300MWe PWR assembly with AIC Control Rods +* contains FC : CHAMBRE FISSION +* C1 : CELLULE_COMBUSTIBLE_CENTRALE +* C2 : CELLULE_COMBUSTIBLE_LATERALE +* C3 : CELLULE_COMBUSTIBLE_COIN +* G : CELLULE_COMBUSTIBLE_CENTRALE (GADO) +* T : CELLULE_ABSORBANT_AIC +*------------------------------------------------------ +UGD_BLACK := GEO: UGD :: +CELL FC C1 C1 T C1 C1 T C1 C2 + C1 C1 C1 C1 C1 C1 C1 C2 + C1 C1 C1 G C1 C1 C2 + T C1 C1 T C1 C2 + C1 C1 C1 C1 C2 + T C1 C1 C2 + G C1 C2 + C1 C2 + C3 +::: T := GEO: CARCEL 4 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> <> <> + MIX 21 31 13 20 14 ; +; + +UGD_BLACK_SS := GEO: UGD_BLACK :: +* Merge Region #7 = AIC +MERGE 1 2 2 7 2 2 7 2 4 + 2 2 2 2 2 2 2 4 + 2 2 2 6 2 2 4 + 7 2 2 7 2 4 + 2 2 2 2 4 + 7 2 2 4 + 5 2 4 + 2 4 + 3 ; +*------------------------------------------------------ +* UGd Assembly with 'Gray' rods +* 17 X 17 UOX+Gd 900MWe/1300MWe PWR assembly with AIC+Steel Control Rods +* contains FC : CHAMBRE FISSION +* C1 : CELLULE_COMBUSTIBLE_CENTRALE +* C2 : CELLULE_COMBUSTIBLE_LATERALE +* C3 : CELLULE_COMBUSTIBLE_COIN +* G : CELLULE_COMBUSTIBLE_CENTRALE (GADO) +* T : CELLULE_ABSORBANT_AIC +* S : CELLULE_ABSORBANT_ACIER +*------------------------------------------------------ +IF Gestion "ALCA" = THEN + UGD_GRAY := GEO: UGD_BLACK :: + CELL FC C1 C1 T C1 C1 S C1 C2 + C1 C1 C1 C1 C1 C1 C1 C2 + C1 C1 C1 G C1 C1 C2 + S C1 C1 T C1 C2 + C1 C1 C1 C1 C2 + S C1 C1 C2 + G C1 C2 + C1 C2 + C3 + ::: S := GEO: T + RADIUS 0. <> <> <> <> + MIX 22 32 13 20 14 ; + ; + + UGD_GRAY_SS := GEO: UGD_GRAY :: + * Merge Region #7 = AIC + * #8 = Steel + MERGE 1 2 2 7 2 2 8 2 4 + 2 2 2 2 2 2 2 4 + 2 2 2 6 2 2 4 + 8 2 2 7 2 4 + 2 2 2 2 4 + 8 2 2 4 + 5 2 4 + 2 4 + 3 ; +ELSE + UGD_GRAY := GEO: UGD_BLACK :: + CELL FC C1 C1 S C1 C1 T C1 C2 + C1 C1 C1 C1 C1 C1 C1 C2 + C1 C1 C1 G C1 C1 C2 + S C1 C1 S C1 C2 + C1 C1 C1 C1 C2 + T C1 C1 C2 + G C1 C2 + C1 C2 + C3 + ::: S := GEO: T + RADIUS 0. <> <> <> <> + MIX 22 32 13 20 14 ; + ; + + UGD_GRAY_SS := GEO: UGD_GRAY :: + * Merge Region #7 = AIC + * #8 = Steel + MERGE 1 2 2 8 2 2 7 2 4 + 2 2 2 2 2 2 2 4 + 2 2 2 6 2 2 4 + 8 2 2 8 2 4 + 2 2 2 2 4 + 7 2 2 4 + 5 2 4 + 2 4 + 3 ; +ENDIF ; +*------------------------------------------------------ +* UGd Assembly with B4C rods +* 17 X 17 UOX+Gd 1300MWe PWR assembly with B4C Control Rods +* contains FC : CHAMBRE FISSION +* C1 : CELLULE_COMBUSTIBLE_CENTRALE +* C2 : CELLULE_COMBUSTIBLE_LATERALE +* C3 : CELLULE_COMBUSTIBLE_COIN +* G : CELLULE_COMBUSTIBLE_CENTRALE (GADO) +* T : CELLULE_ABSORBANT_B4C +*------------------------------------------------------ +UGD_B4C := GEO: UGD :: +CELL FC C1 C1 T C1 C1 T C1 C2 + C1 C1 C1 C1 C1 C1 C1 C2 + C1 C1 C1 G C1 C1 C2 + T C1 C1 T C1 C2 + C1 C1 C1 C1 C2 + T C1 C1 C2 + G C1 C2 + C1 C2 + C3 +::: T := GEO: CARCEL 4 + MESHX 0. <> + MESHY 0. <> + RADIUS 0. <> <> <> <> + MIX 23 33 13 20 14 ; +; + +UGD_B4C_SS := GEO: UGD_B4C :: +* Merge Region #7 = B4C +MERGE 1 2 2 7 2 2 7 2 4 + 2 2 2 2 2 2 2 4 + 2 2 2 6 2 2 4 + 7 2 2 7 2 4 + 2 2 2 2 4 + 7 2 2 4 + 5 2 4 + 2 4 + 3 ; +*------------------------------------------------------ +* Assembly Type +*------------------------------------------------------ + +IF ConfigPyrex "None" = NOT THEN + UOX UOX_SS := DELETE: UOX UOX_SS ; + UOX := UOX_Py ; + UOX_SS := UOX_Py_SS ; +ENDIF ; +IF AssType "UOX" = THEN + Evo := UOX ; + AuEvo := UOX_SS ; + AICN := UOX_BLACK ; + AuAICN := UOX_BLACK_SS ; + AICG := UOX_GRAY ; + AuAICG := UOX_GRAY_SS ; + B4C := UOX_B4C ; + AuB4C := UOX_B4C_SS ; +ELSEIF AssType "MOX" = THEN + Evo := MOX ; + AuEvo := MOX_SS ; + AICN := MOX_BLACK ; + AuAICN := MOX_BLACK_SS ; + AICG := MOX_GRAY ; + AuAICG := MOX_GRAY_SS ; + B4C := MOX_B4C ; + AuB4C := MOX_B4C_SS ; +ELSEIF AssType "UGd" = AssType "UGd8" = + THEN + Evo := UGD ; + AuEvo := UGD_SS ; + AICN := UGD_BLACK ; + AuAICN := UGD_BLACK_SS ; + AICG := UGD_GRAY ; + AuAICG := UGD_GRAY_SS ; + B4C := UGD_B4C ; + AuB4C := UGD_B4C_SS ; +ELSE + ECHO "ERROR -- AssType:" AssType "Not recognized" ; + ABORT: ; +ENDIF ; + +*------------------------------------------------------ +* Discretization settings +*------------------------------------------------------ + +! ///////////////////////////////////////////////////////////////////// +! /// BARR TYPE SELECTOR /// +! ///////////////////////////////////////////////////////////////////// +IF BarType 1 = THEN ! 1 = Pas de BARR [nominal] + Discr := SYBILT: Evo :: MAXZ <> MAXR <> + QUA2 3 3 GAUSS DP01 ; + + DiscrAu := SYBILT: AuEvo :: MAXZ <> MAXR <> + QUA2 3 3 GAUSS DP01 ; + +ELSEIF BarType 2 = THEN ! 2 = AICN + Discr := SYBILT: AICN :: MAXZ <> MAXR <> + QUA2 3 3 GAUSS DP01 ; + + DiscrAu := SYBILT: AuAICN :: MAXZ <> MAXR <> + QUA2 3 3 GAUSS DP01 ; +ELSEIF BarType 3 = THEN ! 2 = AICG + Discr := SYBILT: AICG :: MAXZ <> MAXR <> + QUA2 3 3 GAUSS DP01 ; + DiscrAu := SYBILT: AuAICG :: MAXZ <> MAXR <> + QUA2 3 3 GAUSS DP01 ; +ELSEIF BarType 4 = THEN ! 4 = PY (Pyrex) + Discr := SYBILT: B4C :: MAXZ <> MAXR <> + QUA2 3 3 GAUSS DP01 ; + DiscrAu := SYBILT: AuB4C :: MAXZ <> MAXR <> + QUA2 3 3 GAUSS DP01 ; +ELSE + ECHO "Unknown BarType" ; + ABORT: ; +ENDIF ; +*------------------------------------------------------ +END: ; +QUIT "LIST" . +s diff --git a/Dragon/data/ErmBeavrsPwrRefl_proc/GetMolarMass.c2m b/Dragon/data/ErmBeavrsPwrRefl_proc/GetMolarMass.c2m new file mode 100644 index 0000000..0e90a45 --- /dev/null +++ b/Dragon/data/ErmBeavrsPwrRefl_proc/GetMolarMass.c2m @@ -0,0 +1,808 @@ +*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 :: <> <> + >>LibId<< >>LibGenre<< ; + +UTL: ListeIsot :: DUMP ; +GREP: ListeIsot :: GETVAL 'H2O ' <> NVAL 8 >>NomH2O<< ; +GREP: ListeIsot :: GETVAL 'H1 ' <> NVAL 8 >>NomH1<< ; +GREP: ListeIsot :: GETVAL 'O16 ' <> NVAL 8 >>NomO16<< ; +GREP: ListeIsot :: GETVAL 'Am241' <> NVAL 8 >>NomAm241<< ; +GREP: ListeIsot :: GETVAL 'Al27 ' <> NVAL 8 >>NomAl27<< ; +GREP: ListeIsot :: GETVAL 'B10 ' <> NVAL 8 >>NomB10<< ; +GREP: ListeIsot :: GETVAL 'B11 ' <> NVAL 8 >>NomB11<< ; +GREP: ListeIsot :: GETVAL 'Co59 ' <> NVAL 8 >>NomCo59<< ; +GREP: ListeIsot :: GETVAL 'Cr50 ' <> NVAL 8 >>NomCr50<< ; +GREP: ListeIsot :: GETVAL 'Cr52 ' <> NVAL 8 >>NomCr52<< ; +GREP: ListeIsot :: GETVAL 'Cr53 ' <> NVAL 8 >>NomCr53<< ; +GREP: ListeIsot :: GETVAL 'Cr54 ' <> NVAL 8 >>NomCr54<< ; +GREP: ListeIsot :: GETVAL 'Fe54 ' <> NVAL 8 >>NomFe54<< ; +GREP: ListeIsot :: GETVAL 'Fe56 ' <> NVAL 8 >>NomFe56<< ; +GREP: ListeIsot :: GETVAL 'Fe57 ' <> NVAL 8 >>NomFe57<< ; +GREP: ListeIsot :: GETVAL 'Fe58 ' <> NVAL 8 >>NomFe58<< ; +GREP: ListeIsot :: GETVAL 'Mn55 ' <> NVAL 8 >>NomMn55<< ; +GREP: ListeIsot :: GETVAL 'Mo95 ' <> NVAL 8 >>NomMo95<< ; +GREP: ListeIsot :: GETVAL 'Nb93 ' <> NVAL 8 >>NomNb93<< ; +GREP: ListeIsot :: GETVAL 'Ni58 ' <> NVAL 8 >>NomNi58<< ; +GREP: ListeIsot :: GETVAL 'Ni60 ' <> NVAL 8 >>NomNi60<< ; +GREP: ListeIsot :: GETVAL 'Ni61 ' <> NVAL 8 >>NomNi61<< ; +GREP: ListeIsot :: GETVAL 'Ni62 ' <> NVAL 8 >>NomNi62<< ; +GREP: ListeIsot :: GETVAL 'Ni64 ' <> NVAL 8 >>NomNi64<< ; +GREP: ListeIsot :: GETVAL 'Pu238' <> NVAL 8 >>NomPu238<< ; +GREP: ListeIsot :: GETVAL 'Pu239' <> NVAL 8 >>NomPu239<< ; +GREP: ListeIsot :: GETVAL 'Pu240' <> NVAL 8 >>NomPu240<< ; +GREP: ListeIsot :: GETVAL 'Pu241' <> NVAL 8 >>NomPu241<< ; +GREP: ListeIsot :: GETVAL 'Pu242' <> NVAL 8 >>NomPu242<< ; +GREP: ListeIsot :: GETVAL 'SiNat' <> NVAL 8 >>NomSiNat<< ; +GREP: ListeIsot :: GETVAL 'Si28 ' <> NVAL 8 >>NomSi28<< ; +GREP: ListeIsot :: GETVAL 'Si29 ' <> NVAL 8 >>NomSi29<< ; +GREP: ListeIsot :: GETVAL 'Si30 ' <> NVAL 8 >>NomSi30<< ; +GREP: ListeIsot :: GETVAL 'Sn112' <> NVAL 8 >>NomSn112<< ; +GREP: ListeIsot :: GETVAL 'Sn114' <> NVAL 8 >>NomSn114<< ; +GREP: ListeIsot :: GETVAL 'Sn115' <> NVAL 8 >>NomSn115<< ; +GREP: ListeIsot :: GETVAL 'Sn116' <> NVAL 8 >>NomSn116<< ; +GREP: ListeIsot :: GETVAL 'Sn117' <> NVAL 8 >>NomSn117<< ; +GREP: ListeIsot :: GETVAL 'Sn118' <> NVAL 8 >>NomSn118<< ; +GREP: ListeIsot :: GETVAL 'Sn119' <> NVAL 8 >>NomSn119<< ; +GREP: ListeIsot :: GETVAL 'Sn120' <> NVAL 8 >>NomSn120<< ; +GREP: ListeIsot :: GETVAL 'Sn122' <> NVAL 8 >>NomSn122<< ; +GREP: ListeIsot :: GETVAL 'Sn124' <> NVAL 8 >>NomSn124<< ; +GREP: ListeIsot :: GETVAL 'TiNat' <> NVAL 8 >>NomTiNat<< ; +GREP: ListeIsot :: GETVAL 'Ti46 ' <> NVAL 8 >>NomTi46<< ; +GREP: ListeIsot :: GETVAL 'Ti47 ' <> NVAL 8 >>NomTi47<< ; +GREP: ListeIsot :: GETVAL 'Ti48 ' <> NVAL 8 >>NomTi48<< ; +GREP: ListeIsot :: GETVAL 'Ti49 ' <> NVAL 8 >>NomTi49<< ; +GREP: ListeIsot :: GETVAL 'Ti50 ' <> NVAL 8 >>NomTi50<< ; +GREP: ListeIsot :: GETVAL 'U234 ' <> NVAL 8 >>NomU234<< ; +GREP: ListeIsot :: GETVAL 'U235 ' <> NVAL 8 >>NomU235<< ; +GREP: ListeIsot :: GETVAL 'U236 ' <> NVAL 8 >>NomU236<< ; +GREP: ListeIsot :: GETVAL 'U238 ' <> NVAL 8 >>NomU238<< ; +GREP: ListeIsot :: GETVAL 'ZrNat' <> NVAL 8 >>NomZrNat<< ; +GREP: ListeIsot :: GETVAL 'Zr90 ' <> NVAL 8 >>NomZr90<< ; +GREP: ListeIsot :: GETVAL 'Zr91 ' <> NVAL 8 >>NomZr91<< ; +GREP: ListeIsot :: GETVAL 'Zr92 ' <> NVAL 8 >>NomZr92<< ; +GREP: ListeIsot :: GETVAL 'Zr93 ' <> NVAL 8 >>NomZr93<< ; +GREP: ListeIsot :: GETVAL 'Zr94 ' <> NVAL 8 >>NomZr94<< ; +GREP: ListeIsot :: GETVAL 'Zr95 ' <> NVAL 8 >>NomZr95<< ; +GREP: ListeIsot :: GETVAL 'Zr96 ' <> NVAL 8 >>NomZr96<< ; +GREP: ListeIsot :: GETVAL 'CNat ' <> NVAL 8 >>NomCNat<< ; +GREP: ListeIsot :: GETVAL 'Ag107' <> NVAL 8 >>NomAg107<< ; +GREP: ListeIsot :: GETVAL 'Ag109' <> NVAL 8 >>NomAg109<< ; +GREP: ListeIsot :: GETVAL 'Cd106' <> NVAL 8 >>NomCd106<< ; +GREP: ListeIsot :: GETVAL 'Cd108' <> NVAL 8 >>NomCd108<< ; +GREP: ListeIsot :: GETVAL 'Cd110' <> NVAL 8 >>NomCd110<< ; +GREP: ListeIsot :: GETVAL 'Cd111' <> NVAL 8 >>NomCd111<< ; +GREP: ListeIsot :: GETVAL 'Cd112' <> NVAL 8 >>NomCd112<< ; +GREP: ListeIsot :: GETVAL 'Cd113' <> NVAL 8 >>NomCd113<< ; +GREP: ListeIsot :: GETVAL 'Cd114' <> NVAL 8 >>NomCd114<< ; +GREP: ListeIsot :: GETVAL 'Cd116' <> NVAL 8 >>NomCd116<< ; +GREP: ListeIsot :: GETVAL 'In113' <> NVAL 8 >>NomIn113<< ; +GREP: ListeIsot :: GETVAL 'In115' <> NVAL 8 >>NomIn115<< ; +GREP: ListeIsot :: GETVAL 'InNat' <> NVAL 8 >>NomInNat<< ; +GREP: ListeIsot :: GETVAL 'Gd154' <> NVAL 8 >>NomGd154<< ; +GREP: ListeIsot :: GETVAL 'Gd155' <> NVAL 8 >>NomGd155<< ; +GREP: ListeIsot :: GETVAL 'Gd156' <> NVAL 8 >>NomGd156<< ; +GREP: ListeIsot :: GETVAL 'Gd157' <> NVAL 8 >>NomGd157<< ; +GREP: ListeIsot :: GETVAL 'Gd158' <> NVAL 8 >>NomGd158<< ; +GREP: ListeIsot :: GETVAL 'Gd160' <> NVAL 8 >>NomGd160<< ; +GREP: ListeIsot :: GETVAL 'Knat ' <> NVAL 8 >>NomKnat<< ; +GREP: ListeIsot :: GETVAL 'K39 ' <> NVAL 8 >>NomK39<< ; +GREP: ListeIsot :: GETVAL 'K40 ' <> NVAL 8 >>NomK40<< ; +GREP: ListeIsot :: GETVAL 'K41 ' <> NVAL 8 >>NomK41<< ; +GREP: ListeIsot :: GETVAL 'Na23 ' <> NVAL 8 >>NomNa23<< ; +GREP: ListeIsot :: GETVAL 'S32 ' <> NVAL 8 >>NomS32<< ; +GREP: ListeIsot :: GETVAL 'S33 ' <> NVAL 8 >>NomS33<< ; +GREP: ListeIsot :: GETVAL 'S34 ' <> NVAL 8 >>NomS34<< ; + +*------------------------------------------------------ +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 ; +*------------------------------------------------------ +Library := LIB: :: + ANIS 2 + NMIX <> + MIXS LIB: <> FIL: <> +! MIX 1 <> 1. H2O = <> 1. + MIX 2 <> 1. H1_H2O = <> 1. + MIX 3 <> 1. B10 = <> 1. + MIX 4 <> 1. B10B = <> 1. + MIX 5 <> 1. B11 = <> 1. + MIX 6 <> 1. B11B = <> 1. + MIX 7 <> 1. CNat = <> 1. + MIX 8 <> 1. O16 = <> 1. + MIX 9 <> 1. Al27 = <> 1. + MIX 10 <> 1. SiNat = <> 1. +! MIX 11 <> 1. Si28 = <> 1. +! MIX 12 <> 1. Si29 = <> 1. +! MIX 13 <> 1. Si30 = <> 1. + MIX 14 <> 1. TiNat = <> 1. +! MIX 15 <> 1. Ti46 = <> 1. +! MIX 16 <> 1. Ti47 = <> 1. +! MIX 17 <> 1. Ti48 = <> 1. +! MIX 18 <> 1. Ti49 = <> 1. +! MIX 19 <> 1. Ti50 = <> 1. + MIX 20 <> 1. Cr50 = <> 1. + MIX 21 <> 1. Cr52 = <> 1. + MIX 22 <> 1. Cr53 = <> 1. + MIX 23 <> 1. Cr54 = <> 1. + MIX 24 <> 1. Mn55 = <> 1. + MIX 25 <> 1. Fe54 = <> 1. + MIX 26 <> 1. Fe56 = <> 1. + MIX 27 <> 1. Fe57 = <> 1. + MIX 28 <> 1. Fe58 = <> 1. + MIX 29 <> 1. Co59 = <> 1. + MIX 30 <> 1. Ni58 = <> 1. + MIX 31 <> 1. Ni60 = <> 1. + MIX 32 <> 1. Ni61 = <> 1. + MIX 33 <> 1. Ni62 = <> 1. + MIX 34 <> 1. Ni64 = <> 1. + MIX 35 <> 1. ZrNat = <> 1. +! MIX 36 <> 1. Zr90 = <> 1. +! MIX 37 <> 1. Zr91 = <> 1. +! MIX 38 <> 1. Zr92 = <> 1. +! MIX 39 <> 1. Zr93 = <> 1. +! MIX 40 <> 1. Zr94 = <> 1. +! MIX 41 <> 1. Zr95 = <> 1. +! MIX 42 <> 1. Zr96 = <> 1. + MIX 43 <> 1. Nb93 = <> 1. + MIX 44 <> 1. Mo95 = <> 1. + MIX 45 <> 1. Ag107 = <> 1. + MIX 46 <> 1. Ag109 = <> 1. +! MIX 47 <> 1. Cd106 = <> 1. +! MIX 48 <> 1. Cd108 = <> 1. + MIX 49 <> 1. Cd110 = <> 1. + MIX 50 <> 1. Cd111 = <> 1. + MIX 51 <> 1. Cd112 = <> 1. + MIX 52 <> 1. Cd113 = <> 1. + MIX 53 <> 1. Cd114 = <> 1. + MIX 54 <> 1. Cd116 = <> 1. + MIX 55 <> 1. In115 = <> 1. +! MIX 56 <> 1. InNat = <> 1. +! MIX 57 <> 1. Sn112 = <> 1. +! MIX 58 <> 1. Sn114 = <> 1. + MIX 59 <> 1. Sn115 = <> 1. + MIX 60 <> 1. Sn116 = <> 1. + MIX 61 <> 1. Sn117 = <> 1. + MIX 62 <> 1. Sn118 = <> 1. + MIX 63 <> 1. Sn119 = <> 1. + MIX 64 <> 1. Sn120 = <> 1. + MIX 65 <> 1. Sn122 = <> 1. + MIX 66 <> 1. Sn124 = <> 1. + MIX 67 <> 1. Gd154 = <> 1. + MIX 68 <> 1. Gd155 = <> 1. + MIX 69 <> 1. Gd156 = <> 1. + MIX 70 <> 1. Gd157 = <> 1. + MIX 71 <> 1. Gd158 = <> 1. + MIX 72 <> 1. Gd160 = <> 1. + MIX 73 <> 1. U234 = <> 1. + MIX 74 <> 1. U235 = <> 1. + MIX 75 <> 1. U236 = <> 1. + MIX 76 <> 1. U238 = <> 1. + MIX 77 <> 1. Pu238 = <> 1. + MIX 78 <> 1. Pu239 = <> 1. + MIX 79 <> 1. Pu240 = <> 1. + MIX 80 <> 1. Pu241 = <> 1. + MIX 81 <> 1. Pu242 = <> 1. + MIX 82 <> 1. Am241 = <> 1. + MIX 83 <> 1. KNat = <> 1. +! MIX 84 <> 1. K39 = <> 1. +! MIX 85 <> 1. K40 = <> 1. +! MIX 86 <> 1. K41 = <> 1. + MIX 87 <> 1. Na23 = <> 1. + MIX 88 <> 1. S32 = <> 1. + MIX 89 <> 1. S33 = <> 1. + MIX 90 <> 1. S34 = <> 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 ' ' ' ; + +ELSE ! CEA99v9p5, CEA514T2, CLA99CEA93 + 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 ' ' ' ; + +ENDIF ; +* +EVALUATE IsotStep := 1 ; +EVALUATE OrdrIsot := 1 ; + REPEAT + GREP: Isot :: GETVAL ListIsot <> NVAL 8 >>ListIsot<< ; + ECHO "ListIsot:" ListIsot ; + + GREP: Library :: STEP UP 'ISOTOPESLIST' STEP AT <> + GETVAL 'AWR' 1 >>Var<< ; + IF OrdrIsot 1 = THEN + Awr := UTL: :: CREA <> 1 = <> ; + ELSE + Awr := UTL: Awr :: CREA <> 1 = <> ; + 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<< ; + +ELSE ! CEA99v9p5, CEA514T2, CLA99CEA93 + 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 * ; + +ELSE ! CEA99v9p5, CEA514T2, CLA99CEA93 + 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 * ; + +ENDIF ; + +*------------------------------------------------------ +* Creation de la liste de masses molaires +*------------------------------------------------------ + +* Pour les isotopes non conflictuels +MolarMasses := UTL: :: CREA 'B10 ' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'B10B ' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'B11 ' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'B11B ' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'CNat ' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'O16 ' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Al27 ' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Cr50 ' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Cr52 ' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Cr53 ' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Cr54 ' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Mn55 ' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Fe54 ' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Fe56 ' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Fe57 ' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Fe58 ' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Co59 ' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Ni58 ' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Ni60 ' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Ni61 ' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Ni62 ' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Ni64 ' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Nb93 ' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Mo95 ' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Ag107' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Ag109' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Cd110' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Cd111' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Cd112' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Cd113' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Cd114' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Cd116' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Sn115' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Sn116' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Sn117' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Sn118' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Sn119' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Sn120' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Sn122' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Sn124' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Gd154' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Gd155' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Gd156' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Gd157' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Gd158' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Gd160' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'U234 ' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'U235 ' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'U236 ' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'U238 ' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Pu238' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Pu239' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Pu240' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Pu241' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Pu242' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Am241' 1 = <> ; +MolarMasses := UTL: MolarMasses :: CREA 'Na23 ' 1 = <> ; + +* Pour les isotopes conflictuels (absents de certaines bibli.) + +IF LibType 'ENDFVI8' = THEN + MolarMasses := UTL: MolarMasses :: CREA 'H1 ' 1 = <

> ; + MolarMasses := UTL: MolarMasses :: CREA 'SiNat' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'TiNat' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'ZrNat' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'InNat' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'S32 ' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'Knat ' 1 = <> ; + +ELSEIF LibType 'JEF22' = THEN + MolarMasses := UTL: MolarMasses :: CREA 'H1 ' 1 = <

> ; + MolarMasses := UTL: MolarMasses :: CREA 'SiNat' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'TiNat' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'ZrNat' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'In115' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'S32 ' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'S33 ' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'S34 ' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'Knat ' 1 = <> ; + +ELSEIF LibType 'JEFF31' = LibType 'JEFF311' = + + LibType 'JEFF312' = + + LibType 'ENDFVII0' = + LibType 'ENDFVII1' = + THEN + MolarMasses := UTL: MolarMasses :: CREA 'H1 ' 1 = <

> ; + MolarMasses := UTL: MolarMasses :: CREA 'Si28 ' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'Si29 ' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'Si30 ' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'Ti46 ' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'Ti47 ' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'Ti48 ' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'Ti49 ' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'Ti50 ' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'Zr90 ' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'Zr91 ' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'Zr92 ' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'Zr93 ' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'Zr94 ' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'Zr95 ' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'Zr96 ' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'Cd106' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'Cd108' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'In115' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'Sn112' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'Sn114' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'S32 ' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'S33 ' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'S34 ' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'K39 ' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'K40 ' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'K41 ' 1 = <> ; + +ELSE ! CEA99v9p5, CEA514T2, CLA99CEA93 + MolarMasses := UTL: MolarMasses :: CREA 'H1 ' 1 = <

> ; + MolarMasses := UTL: MolarMasses :: CREA 'SiNat' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'TiNat' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'ZrNat' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'In115' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'S32 ' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'S33 ' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'S34 ' 1 = <> ; + MolarMasses := UTL: MolarMasses :: CREA 'Knat ' 1 = <> ; + +ENDIF ; + +*------------------------------------------------------ +END: ; +QUIT "LIST" . diff --git a/Dragon/data/ErmBeavrsPwrRefl_proc/GetTechData.c2m b/Dragon/data/ErmBeavrsPwrRefl_proc/GetTechData.c2m new file mode 100644 index 0000000..ca06378 --- /dev/null +++ b/Dragon/data/ErmBeavrsPwrRefl_proc/GetTechData.c2m @@ -0,0 +1,852 @@ +*DECK GetTechData.c2m +*====================================================== +* Name: GetTechData.c2m +* Type: DRAGON procedure +* Author: G. Drouard 03/2018 +* [CS-SI | IRSN/PSN-EXP/SNC/LNR] +*------------------------------------------------------ +* Use: +* -Gather technical data for the studied gestions : + +* -return a set of data packed into LINKED_LIST according to +* the type of data required +*------------------------------------------------------ +* Structure of Procedure Appeal : +* TechData := GetTechData :: <> <> <> +* <> <> ; !<<<< Mod-GD 04/05/2018 +* +* INPUT Required: +* > <> [STR] : +* -BEAVRS called as "BEAV" +* -TIHANGE called as "TIH" +* > <> [STR] : +* -UOX Assembly called as "UOX" +* -UGd Assembly called as "UGd" +* -MOX Assembly called as "MOX" +* > <> [INT] : +* -Main enrich given in the name of assembly : TIH_UOX_310 +* -Given in [WIthout Unit x 100 x 100] 400 => 4% => 0.04 [WU] +* > <> [INT] : +* - ConfigPyrex of the Assembly +* - struct : PyXX +* > <> [STR] : +* -Type of Data the users wants to get +* -DataTypes Available: +* -Average Depletion Parameters as "DEPLPARAM" (*) +* -List of Rod Types as "RODLIST" : +* -General Information as "GENERAL" +* -Temperatures data as "TEMPERATURES" +* -Enrichments/composition as "COMPOSITIONS" +* -Distances as "DISTANCES" +* -Densities as "DENSITIES" +* -Data for Grid Dilution as "GRIDDILUTION" +* +* DUMMY VALUES (If INPUT values does not matter / is not known ): +* - <> [INT] : 0 +* - <> [INT] : "None" or "NONE" (eq a "pas de pyrex") +* +* (*) As "DEPLPARAM" data ar all linked with other Data Types, +* they can be provided through other DataTypes +* Ex : Tmod can be provide both with DataType keyword 'DEPLPARAM' and +* DataType Keyword 'TEMPERATURES' +* +* OUTPUT Provided: +* < TechData [LINKED_LIST] : +* -List of technical data provided +* +*====================================================== +PROCEDURE ThermaExpans ; +PARAMETER TechData :: ::: LINKED_LIST TechData ; ; +MODULE UTL: ABORT: END: ADD: GREP: BACKUP: ; + +! $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ +! $$$ INPUT DECLARATION $$$ +! $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ +STRING Gestion ; +STRING AssType ; +STRING ConfigPyrex ; +STRING DataType ; +INTEGER Teneur_I ; +:: >>Gestion<< >>AssType<< >>Teneur_I<< >>ConfigPyrex<< >>DataType<< ; + +! $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ +! $$$ OPTIONS $$$ +! $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ +! $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ +! $$$ VAR DECLARATION $$$ +! $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ + REAL NbAss ; + REAL NbFuelPin ; + REAL NbPinAssXY ; ! Nb of Pins/Assembly XY-direction (square lattice) + REAL CoreFlowRate ; ! [kg/hr] Core Flow Rate + REAL CoreFlowByp ; ! Core Flow Bypass + REAL OpePressure ; ! [Pa] Operative Pressure + REAL CoreHML ; ! [MT] Core Initial Heavy Metal Loading + REAL cbor ; + REAL PowMWth ; + REAL pAss ; + REAL rFuel ; ! uniformiser non variable + REAL rCladFuel ; + REAL rTubeIn ; + REAL rTubeEx ; + REAL rRodSSIn ; + REAL rRodSSEx ; + REAL rRodAICg ; + REAL rRodAICn ; + REAL rRodB4C ; + REAL rCladRod ; + REAL rRodBPIn ; + REAL rRodBPEx ; + REAL rCladBPIn ; + REAL rCladBPEx ; + REAL rRodHf ; + REAL eCladFuel ; + REAL eCladRod ; + REAL eCladBPIn ; + REAL eCladBPEx ; + REAL hWaterGap ; + REAL pPin ; + REAL pPinWaterGap ; ! à enlever ? deja presente dans Geo17*17: pPin + hWaterGap$ + REAL hActiv ; + REAL CoefPoro ; + REAL CoefVoid ; + REAL dmod ; + REAL dUGd ; + REAL dUO2 ; + REAL dMOX ; + REAL dInc ; + REAL dZr4 ; + REAL dRodAIC ; + REAL dSS ; + REAL dCladFuel ; + REAL dCladAIC ; + REAL dCladSS ; + REAL dCladBPIn ; + REAL dCladBPEx ; + REAL dCladB4C ; + REAL dGrid ; + REAL dTube ; + REAL dRodB4C ; + REAL dRodSS ; + REAL dRodBP ; + REAL dRodHf ; + REAL InGridfPre ; + REAL Z4GridfPre ; + REAL SSGridfPre ; + REAL NbGridInt ; + REAL NbGridExt ; + REAL hGridInt ; + REAL hGridExt ; + REAL wZrGr_In_Sl ; + REAL wZrGr_In_Cr ; + REAL wIncGr_In_Sl ; + REAL wIncGr_In_Cr ; + REAL wSSGr_In_Sl ; + REAL wSSGr_In_Cr ; + REAL wZrGr_Ex_Sl ; + REAL wZrGr_Ex_Cr ; + REAL wIncGr_Ex_Sl ; + REAL wIncGr_Ex_Cr ; + REAL wSSGr_Ex_Sl ; + REAL wSSGr_Ex_Cr ; + REAL ss304Cntr ; + REAL ss304Side ; + REAL ss304Corn ; + REAL ss304Tube ; + REAL IncTube ; + REAL IncCntr ; + REAL IncSide ; + REAL IncCorn ; + REAL Zr4Corn ; + REAL Zr4Tube ; + REAL Zr4Cntr ; + REAL Zr4Side ; + REAL H2OTube ; + REAL H2OCntr ; + REAL H2OSide ; + REAL H2OCorn ; + REAL H2OTubePre ; + REAL H2OCntrPre ; + REAL H2OSidePre ; + REAL H2OCornPre ; + REAL U5FC ; !Vérifier ce que c'est + REAL Main_enri := 0.0 ; !Initialisation : var util si Teneur_I has Value + REAL U4enri ; + REAL U6enri ; + REAL U5enri ; + REAL U8enri ; + REAL Pu8enri ; + REAL Pu9enri ; + REAL Pu0enri ; + REAL Pu1enri ; + REAL Pu2enri ; + REAL Am1enri ; + REAL enriUGd ; + REAL enriGd ; + REAL NbGdPin ; + REAL NbNoGdPin ; + REAL U4eGd ; + REAL U5eGd ; + REAL U6eGd ; + REAL Pu9eGd ; + REAL Pu0eGd ; + REAL Pu1eGd ; + REAL Pu2eGd ; + REAL U8eGd ; + REAL enriU ; + REAL enriPu ; + REAL NbCornPin ; + REAL NbSidePin ; + REAL NbCntrPin ; + REAL f_corn ; + REAL f_side ; + REAL f_cntr ; + REAL f_cornPin ; + REAL f_sidePin ; + REAL f_cntrPin ; + REAL tmod ; + REAL tcom ; + REAL TempC Beta ; + +! ///////////////////////////////////////////////////////////////////// +! /// LOCAL LINKED LIST AND VAR DECLARATION /// +! ///////////////////////////////////////////////////////////////////// + LINKED_LIST RodListTmp ; + RodListTmp := UTL: :: CREA 'Gestion' 1 = <> ; + ! - 1 = No Rod + ! - 2 = AICN + ! - 0 = AICG + ! - 3 = B4C + ! - 4 = PYREX << MOD-LL + STRING AssStruct ; + +! ///////////////////////////////////////////////////////////////////// +! /// DUMMIES EVALUATION /// +! ///////////////////////////////////////////////////////////////////// +! --------------------------------------------------------------------- +! --- DUMMIES UNUSED --- +! --------------------------------------------------------------------- + REAL DUMMY_R0 := 0.0 ; + REAL DUMMY_R1 := 1.E-20 ; + REAL DUMMY_R2 := 2.E-20 ; + REAL DUMMY_R3 := 3.E-20 ; + REAL DUMMY_R4 := 4.E-20 ; + REAL DUMMY_R10 := 1.E-1 ; + REAL DUMMY_R20 := 2.E-1 ; + REAL DUMMY_R30 := 3.E-1 ; + REAL DUMMY_R40 := 4.E-1 ; + INTEGER DUMMY_I := 0 ; +! --------------------------------------------------------------------- +! --- DUMMIES USED --- +! --------------------------------------------------------------------- + EVALUATE enriUGd := 0.0 ; !Initialisation : var util dans Asstype = Gd,Gd8 + EVALUATE enriGd := 0.0 ; !Initialisation : var util dans Asstype = Gd,Gd8 + EVALUATE NbGdPin := 0.0 ; !Initialisation : var util dans Asstype = Gd,Gd8 + EVALUATE NbNoGdPin := 0.0 ; !Initialisation : var util dans Asstype = Gd,Gd8 + EVALUATE U4eGd := 0.0 ; !Initialisation : var util dans Asstype = Gd,Gd8 + EVALUATE U5eGd := 0.0 ; !Initialisation : var util dans Asstype = Gd,Gd8 + EVALUATE U6eGd := 0.0 ; !Initialisation : var util dans Asstype = Gd,Gd8 + EVALUATE Pu9eGd := 0.0 ; !Initialisation : var util dans Asstype = Gd,Gd8 + EVALUATE Pu0eGd := 0.0 ; !Initialisation : var util dans Asstype = Gd,Gd8 + EVALUATE Pu1eGd := 0.0 ; !Initialisation : var util dans Asstype = Gd,Gd8 + EVALUATE Pu2eGd := 0.0 ; !Initialisation : var util dans Asstype = Gd,Gd8 + EVALUATE U8eGd := 0.0 ; !Initialisation : var util dans Asstype = Gd,Gd8 + EVALUATE enriU := 0.0 ; !Initialisation : var util dans Asstype = MOX + EVALUATE enriPu := 0.0 ; !Initialisation : var util dans Asstype = MOX + EVALUATE NbCornPin := 0.0 ; !Initialisation : var util dans Asstype = MOX + EVALUATE NbSidePin := 0.0 ; !Initialisation : var util dans Asstype = MOX + EVALUATE NbCntrPin := 0.0 ; !Initialisation : var util dans Asstype = MOX + EVALUATE f_corn := 0.0 ; !Initialisation : var util dans Asstype = MOX + EVALUATE f_side := 0.0 ; !Initialisation : var util dans Asstype = MOX + EVALUATE f_cntr := 0.0 ; !Initialisation : var util dans Asstype = MOX + EVALUATE f_cornPin := 0.0 ; !Initialisation : var util dans Asstype = MOX + EVALUATE f_sidePin := 0.0 ; !Initialisation : var util dans Asstype = MOX + EVALUATE f_cntrPin := 0.0 ; !Initialisation : var util dans Asstype = MOX + +! ///////////////////////////////////////////////////////////////////// +! /// PROC INPUT TREATMENT /// +! ///////////////////////////////////////////////////////////////////// +IF Teneur_I 0 <> THEN +EVALUATE Main_enri := Teneur_I I_TO_R 100. / ; +ELSE +!EVALUATE Main_enri := 0.0 ; ! à modifier éventuellement +ECHO "Teneur_I 0.0 renseignee <=> Teneur_I non prise en compte" ; +ENDIF ; + +! $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ +! $$$ GESTION SPECIFICITIES $$$ +! $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ + +! ///////////////////////////////////////////////////////////////////// +! /// BEAVRS /// +! ///////////////////////////////////////////////////////////////////// +IF Gestion "BEAV" = THEN +! --------------------------------------------------------------------- +! --- DEPLETION PARAMETERS AVG --- +! --------------------------------------------------------------------- + EVALUATE tmod := 306.85 ; ! [degC] (= 580 K) + EVALUATE tcom := 650. ; ! [degC] + EVALUATE dmod := .7118974 ; ! [g.cm-3] (density at 2250 psia and 580 K) + EVALUATE cbor := 500. ; ! [ppm] +! --------------------------------------------------------------------- +! --- ROD LIST --- +! --------------------------------------------------------------------- + IF ConfigPyrex "None" = ConfigPyrex "NONE" = + THEN + RodListTmp := UTL: RodListTmp :: CREA 'Rods' 3 = + 1. 2. 3. ; ! <<< mod 04/05/2018 ajout de "3." + ELSE + RodListTmp := UTL: RodListTmp :: CREA 'Rods' 4 = + 4. 1. 2. 3. ; ! <<< mod 04/05/2018 ajout de "3." + ENDIF ; +! --------------------------------------------------------------------- +! --- GENERAL INFORMATION --- +! --------------------------------------------------------------------- + EVALUATE NbAss := 193. ; ! [1100MWe] a verifier + EVALUATE NbFuelPin := 264. ; + EVALUATE PowMWth := 3411. ; ! [MW] (SLB 1100MWe) + EVALUATE NbPinAssXY := 17. ; + EVALUATE CoreFlowRate := 61.5E+9 ; + EVALUATE CoreFlowByp := 0.05 ; + EVALUATE OpePressure := 1.55132E+7 ; + EVALUATE CoreHML := 81.8 ; + EVALUATE AssStruct := "BEAV_ASS" ; +! --------------------------------------------------------------------- +! --- DISTANCES --- +! --------------------------------------------------------------------- +! ***gen*** + EVALUATE pAss := 21.50364 ; ! [cm] [VF] + EVALUATE pPin := 1.25984 ; ! [cm] [VF] + EVALUATE hActiv := 365.76 ; ! [cm] [VF] +! ***radius pin content*** + EVALUATE rFuel := .39218 ; ! [cm] [VF] + EVALUATE rRodSSIn := DUMMY_R1 ; ! [cm] [VF] [DUMMY] + EVALUATE rRodSSEx := DUMMY_R2 ; ! [cm] [VF] [DUMMY] + EVALUATE rRodAICg := DUMMY_R20 ; ! [cm] [VF] [DUMMY] + EVALUATE rRodAICn := .38227 ; ! [cm] [VF] + EVALUATE rRodB4C := .37338 ; ! [cm] [VF] + EVALUATE rRodBPIn := .24130 ; ! [cm] [VF] + EVALUATE rRodBPEx := .42672 ; ! [cm] [VF] + EVALUATE rRodHf := DUMMY_R1 ; ! [cm] [VF] [DUMMY] +! ***radius clad*** + EVALUATE rCladFuel := .45720 ; ! [cm] [VF] + EVALUATE rCladRod := .48387 ; ! [cm] [VF] + EVALUATE rCladBPIn := .21400 ; ! [cm] [VF] + EVALUATE rCladBPEx := .48387 ; ! [cm] [VF] +! ***thickness clad*** + EVALUATE eCladFuel := .05715 ; ! [cm] [VF] + EVALUATE eCladRod := .09779 ; ! [cm] [VF] + EVALUATE eCladBPIn := .01651 ; ! [cm] [VF] + EVALUATE eCladBPEx := .04699 ; ! [cm] [VF] +! -------------------------------------------------------------------- +! --- DENSITIES --- +! -------------------------------------------------------------------- +! *** fuel *** +! ************ + EVALUATE CoefPoro := DUMMY_R0 ; ! [SU] [VF] [DUMMY] + EVALUATE CoefVoid := DUMMY_R0 ; ! [SU] [VF] [DUMMY] +! ************ + IF Teneur_I 160 = THEN + EVALUATE dUO2 := 10.31341 ; + ELSEIF Teneur_I 240 = THEN + EVALUATE dUO2 := 10.29748 ; + ELSEIF Teneur_I 310 = THEN + EVALUATE dUO2 := 10.30166 ; + ELSEIF Teneur_I 320 = THEN + EVALUATE dUO2 := 10.34115 ; + ELSEIF Teneur_I 340 = THEN + EVALUATE dUO2 := 10.35917 ; + ELSEIF Teneur_I 0 = THEN + EVALUATE dUO2 := 0.0 ; + ECHO "Attention : pas de teneur_I rensignée" ; + ECHO "=> valeurs enrichissements non definies" ; + ELSE + ECHO "BEAVRS dispose d'enrichissements specifiques. Les seuls " ; + ECHO "enrichissements disponibles sont 1,60, 2,40 et 3,10 " ; + ECHO "pourcents. Specifier l'un de ces trois enrichissements. " ; + ECHO "Actuellement :" ; + ECHO Main_enri ; + ABORT: ; + ENDIF ; + EVALUATE dUGd := DUMMY_R0 ; ! [g/cm3] [VF] [DUMMY] + EVALUATE dMOX := DUMMY_R0 ; ! [g/cm3] [VF] [DUMMY] +! *** material *** + EVALUATE dInc := 8.2 ; ! [g/cm3] [VF] + EVALUATE dZr4 := 6.55 ; ! [g/cm3] [VF] + EVALUATE dSS := 8.03 ; ! [g/cm3] [VF] +! *** rods *** + EVALUATE dRodSS := dSS ; ! [g/cm3] [VF] + EVALUATE dRodAIC := 10.16 ; ! [g/cm3] [VF] + EVALUATE dRodB4C := 1.79 ; ! [g/cm3] [VF] + EVALUATE dRodBP := 2.26 ; ! [g/cm3] [VF] + EVALUATE dRodHf := DUMMY_R0 ; ! [g/cm3] [VF] [DUMMY] +! *** clads *** + EVALUATE dCladFuel := dZr4 ; ! [g/cm3] [VF] + EVALUATE dCladAIC := dSS ; ! [g/cm3] [VF] + EVALUATE dCladSS := dSS ; ! [g/cm3] [VF] + EVALUATE dCladBPIn := dSS ; ! [g/cm3] [VF] + EVALUATE dCladBPEx := dSS ; ! [g/cm3] [VF] + EVALUATE dCladB4C := dSS ; ! [g/cm3] [VF] +! *** structure *** + EVALUATE dTube := dZr4 ; ! [g/cm3] [VF] + EVALUATE dGrid := 6.69 ; ! [g/cm3] [VF] +! --------------------------------------------------------------------- +! --- ENRICHISSEMENT/TENEURS/CONCENTRATIONS --- +! --------------------------------------------------------------------- + !DIVERS ----------------------------------------------------------- + EVALUATE U5FC := 1E-9 ; + !COMB UOX ----------------------------------------------------------- + IF AssType "UOX" = THEN + IF Teneur_I 160 = THEN + EVALUATE U4enri := 0.01288048 100.0 / ; + EVALUATE U6enri := 0.0 ; + EVALUATE Main_enri := 1.61 ; !enriU=161 equivalent à mainenri=.61 + ELSEIF Teneur_I 240 = THEN + EVALUATE U4enri := 0.01919944 100.0 / ; + EVALUATE U6enri := 0.0 ; + ELSEIF Teneur_I 310 = THEN + EVALUATE U4enri := 0.02481768 100.0 / ; + EVALUATE U6enri := 0.0 ; + ELSEIF Teneur_I 320 = THEN + EVALUATE U4enri := 0.0256620 100.0 / ; + EVALUATE U6enri := 0.0 ; + ELSEIF Teneur_I 340 = THEN + EVALUATE U4enri := 0.0273992E 100.0 / ; + EVALUATE U6enri := 0.0 ; + ELSEIF Teneur_I 0 = THEN + EVALUATE U4enri := 0.0 ; + EVALUATE U6enri := 0.0 ; + ECHO "Attention : pas de teneur_I rensignée" ; + ECHO "=> valeurs enrichissements non definies" ; + ELSE + ECHO "BEAVRS dispose d'enrichissements specifiques. Les seuls " ; + ECHO "enrichissements disponibles sont 1,60, 2,40 et 3,10 " ; + ECHO "pourcents. Specifier l'un de ces trois enrichissements. " ; + ECHO "Actuellement :" ; + ECHO Main_enri ; + ABORT: ; + ENDIF ; + EVALUATE U5enri := Main_enri 100. / ; ! X.XX % => 0.0XXX + EVALUATE U8enri := 1. U6enri - U5enri - U4enri - ; + EVALUATE Pu8enri := 1.E-15 ; ! pourquoi pas 0 ? + EVALUATE Pu9enri := 1.E-15 ; ! pourquoi pas 0 ? + EVALUATE Pu0enri := 1.E-15 ; ! pourquoi pas 0 ? + EVALUATE Pu1enri := 1.E-15 ; ! pourquoi pas 0 ? + EVALUATE Pu2enri := 1.E-15 ; ! pourquoi pas 0 ? + EVALUATE Am1enri := 1.E-15 ; ! pourquoi pas 0 ? + ! SI AUCUN des types d'assemblage -------------------------------------------------------- + ELSE + ECHO "Error --- AssType:" AssType "not recognized." ; + ABORT: ; + ENDIF ; +*--------------------------------------------------------------------------- + +! ///////////////////////////////////////////////////////////////////// +! /// TIHANGE /// +! ///////////////////////////////////////////////////////////////////// +ELSEIF Gestion "TIH" = THEN +! La majorite des informations sont extraites de la note CEA-N-2092. +! Certaines informations, plus precises, proviennent d'autres sources +! plus precises, afin d'etre en accord avec les dimensions des pages +! 155 a 159 de CEA-N-2092. +! Lien : https://inis.iaea.org/ +! collection/NCLCollectionStore/_Public/11/511/11511367.pdf +! --------------------------------------------------------------------- +! --- DEPLETION PARAMETERS AVG --- +! --------------------------------------------------------------------- +! Les essais de demarrage de Tihange sont effectues a 547F. Les +! temperatures qui suivent sont fixes a 547F, car, en l'etat actuel, +! elles sont utilisees pour l'expansion thermique des dimensions et +! densites de MakeBib (il n'y a pas encore de recalcul dynamique de +! l'expansion thermique dans MakeBib). Cette temperature de 547F, plus +! precise que la temperature de 286C mentionnee dans CEA-N-2092, est +! retrouvee dans de multiples references de Westinghouse et permet +! d'etre en meilleur accord avec les dimensions des pages 155 a 159 de +! CEA-N-2092, en particulier pour les materiaux a forte dilatation +! (AIC, SS304, ...). Exemple d'une source Westinghouse (p.104) : +! 'Westinghouse Technology Advanced Manual', Chapter 4. +! Lien : https://www.nrc.gov/docs/ML0230/ML023030318.pdf + EVALUATE tmod := 547.0 32.0 - 1.8 / ; ! [degC] + EVALUATE tcom := tmod ; + EVALUATE dmod := .716403 ; ! [g.cm-3] !NOMINAL VALUE + EVALUATE cbor := 600. ; ! [ppm] !NOMINAL VALUE +! --------------------------------------------------------------------- +! --- ROD LIST --- +! --------------------------------------------------------------------- + IF ConfigPyrex "None" = ConfigPyrex "NONE" = + THEN + RodListTmp := UTL: RodListTmp :: CREA 'Rods' 2 = + 1. 2. ; + ELSE + RodListTmp := UTL: RodListTmp :: CREA 'Rods' 1 = + 4. ; + ENDIF ; +! --------------------------------------------------------------------- +! --- GENERAL INFORMATION --- +! --------------------------------------------------------------------- + EVALUATE NbAss := 157. ; ! [900MWe] + EVALUATE NbFuelPin := 204. ; + EVALUATE PowMWth := 2652. ; ! [MW] (CEA-N-2092) + EVALUATE NbPinAssXY := 15. ; + EVALUATE CoreFlowRate := 61.5E+9 ; + EVALUATE CoreFlowByp := 0.05 ; + EVALUATE OpePressure := 1.55132E+7 ; + EVALUATE CoreHML := DUMMY_R1 ; + EVALUATE AssStruct := "TIH_ASS" ; +! --------------------------------------------------------------------- +! --- DISTANCES --- +! --------------------------------------------------------------------- +! ***gen*** +! La valeur qui suit, plus precise que celle de CEA-N-2092, est +! extraite de la ref. 'LWR nuclear fuel bundle data for use in fuel +! bundle handling', PNL-2575 UC-85, Weihermiller et Allison, 1979. p26. +! Lien : https://inis.iaea.org/ +! collection/NCLCollectionStore/_Public/11/522/11522856.pdf + EVALUATE pPin := 0.563 2.54 * ; ! [cm] [VF] +! Les deux valeurs qui suivent, plus precises que celles de CEA-N-2092, +! sont extraites de la ref. 'In-core fuel management code package +! validation for PWRs', IAEA-TECDOC-815, 1995. Resp. pages 17 et 18. +! Lien : https://inis.iaea.org/ +! collection/NCLCollectionStore/_Public/26/077/26077395.pdf + EVALUATE pAss := 8.466 2.54 * ; ! [cm] [VF] + EVALUATE hActiv := 144.0 2.54 * ; ! [cm] [VF] +! ***radius pin content*** + EVALUATE rFuel := .464693 ; ! [cm] [VF] + EVALUATE rRodSSIn := DUMMY_R1 ; ! [cm] [VF] [DUMMY] + EVALUATE rRodSSEx := DUMMY_R2 ; ! [cm] [VF] [DUMMY] + EVALUATE rRodAICg := DUMMY_R1 ; ! [cm] [VF] [DUMMY] + EVALUATE rRodAICn := .504825 ; ! [cm] [VF] + EVALUATE rRodB4C := DUMMY_R1 ; ! [cm] [VF] + EVALUATE rRodBPIn := 0.31115 ; ! [cm] [VF] + EVALUATE rRodBPEx := 0.49784 ; ! [cm] [VF] + EVALUATE rRodHf := DUMMY_R1 ; ! [cm] [VF] [DUMMY] +! ***radius clad*** + EVALUATE rCladFuel := .53594 ; ! [cm] [VF] + EVALUATE rCladRod := .55753 ; ! [cm] [VF] + EVALUATE rCladBPIn := .283845 ; ! [cm] [VF] + EVALUATE rCladBPEx := .55753 ; ! [cm] [VF] +! ***thickness clad + EVALUATE eCladFuel := .061722 ; ! [cm] [VF] + EVALUATE eCladRod := .048895 ; ! [cm] [VF] + EVALUATE eCladBPIn := .01651 ; ! [cm] [VF] + EVALUATE eCladBPEx := .048895 ; ! [cm] [VF] +! --------------------------------------------------------------------- +! --- DENSITIES --- +! --------------------------------------------------------------------- +! *** fuel *** +! ************ + EVALUATE CoefPoro := 0.95 ; ! [SU] [VF] + EVALUATE CoefVoid := 0.9881 ; ! [SU] [VF] +! ************ + EVALUATE dUO2 := 10.96 CoefPoro * CoefVoid * ; ! [g/cm3] [VF] + EVALUATE dUGd := DUMMY_R0 ; ! [g/cm3] [VF] [DUMMY] + EVALUATE dMOX := DUMMY_R0 ; ! [g/cm3] [VF] [DUMMY] +! *** material *** + EVALUATE dInc := 8.18 ; ! [g/cm3] [VF] + EVALUATE dZr4 := 6.55 ; ! [g/cm3] [VF] + EVALUATE dSS := 7.90 ; ! [g/cm3] [VF] +! *** rods *** + EVALUATE dRodSS := dSS ; ! [g/cm3] [VF] + EVALUATE dRodAIC := 10.17 ; ! [g/cm3] [VF] + EVALUATE dRodB4C := 1.79 ; ! [g/cm3] [VF] + EVALUATE dRodBP := 2.27 ; ! [g/cm3] [VF] + EVALUATE dRodHf := DUMMY_R0 ; ! [g/cm3] [VF] [DUMMY] +! *** clads *** + EVALUATE dCladFuel := dZr4 ; ! [g/cm3] [VF] + EVALUATE dCladAIC := dSS ; ! [g/cm3] [VF] + EVALUATE dCladSS := dSS ; ! [g/cm3] [VF] + EVALUATE dCladBPIn := dSS ; ! [g/cm3] [VF] + EVALUATE dCladBPEx := dSS ; ! [g/cm3] [VF] + EVALUATE dCladB4C := dSS ; ! [g/cm3] [VF] +! *** structure *** + EVALUATE dTube := dZr4 ; ! [g/cm3] [VF] + EVALUATE dGrid := 6.69 ; ! [g/cm3] [VF] +! --------------------------------------------------------------------- +! --- ENRICHISSEMENT/TENEURS/CONCENTRATIONS --- +! --------------------------------------------------------------------- + !DIVERS ----------------------------------------------------------- + EVALUATE U5FC := 1E-9 ; + !COMB UOX ----------------------------------------------------------- + IF AssType "UOX" = THEN + IF Teneur_I 195 = THEN + EVALUATE U4enri := 0.019 100.0 / ; + EVALUATE U6enri := 0.012 100.0 / ; + ELSEIF Teneur_I 255 = THEN + EVALUATE U4enri := 0.025 100.0 / ; + EVALUATE U6enri := 0.016 100.0 / ; + ELSEIF Teneur_I 310 = THEN + EVALUATE U4enri := 0.031 100.0 / ; + EVALUATE U6enri := 0.019 100.0 / ; + ELSEIF Teneur_I 0 = THEN + ECHO "Attention : pas de teneur_I rensignée" ; + ECHO "=> valeurs enrichissements non definies" ; + ELSE + ECHO "Tihange dispose d'enrichissements specifiques (uranium " ; + ECHO "de retraitement re-enrichi). Les seuls enrichissements " ; + ECHO "disponibles sont 1,95, 2,55 et 3,10 pourcents. Specifier" ; + ECHO " l'un de ces trois enrichissements. Actuellement :" ; + ECHO Main_enri ; + ABORT: ; + ENDIF ; + EVALUATE U5enri := Main_enri 100. / ; ! X.XX % => 0.0XXX + EVALUATE U8enri := 1. U6enri - U5enri - U4enri - ; + EVALUATE Pu8enri := 1.E-15 ; ! pourquoi pas 0 ? + EVALUATE Pu9enri := 1.E-15 ; ! pourquoi pas 0 ? + EVALUATE Pu0enri := 1.E-15 ; ! pourquoi pas 0 ? + EVALUATE Pu1enri := 1.E-15 ; ! pourquoi pas 0 ? + EVALUATE Pu2enri := 1.E-15 ; ! pourquoi pas 0 ? + EVALUATE Am1enri := 1.E-15 ; ! pourquoi pas 0 ? + ! SI AUCUN des types d'assemblage -------------------------------------------------------- + ELSE + ECHO "Error --- AssType:" AssType "not recognized." ; + ABORT: ; + ENDIF ; +*--------------------------------------------------------------------------- +ELSE + ECHO "Error --- Gestion:" Gestion "not recognized." ; + ABORT: ; +ENDIF ; + +! $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ +! $$$ STRUCTURES SPECIFICITIES $$$ +! $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ +! TIHASS : Assembly structure for Tihange +! BEAVASS : Assembly structure for BEAVRS +! ///////////////////////////////////////////////////////////////////// +! /// ASSEMBLY BEAVRS /// +! ///////////////////////////////////////////////////////////////////// +IF AssStruct "BEAV_ASS" = THEN +*--------------------------------------------------------------------------- + ! GRID DILUTION -------------------------------------------------------- + !EVALUATE wSleeCra := 0.108088952 ; + ! GRID NOTE -------- + EVALUATE NbGridInt := 6. ; + EVALUATE NbGridExt := 1. ; + + EVALUATE hGridInt := 5.715 ; + EVALUATE hGridExt := 3.358 ; + + EVALUATE wZrGr_In_Sl := 126.380845 ; + EVALUATE wZrGr_In_Cr := 1042.84915 ; + EVALUATE wIncGr_In_Sl := 1.E-20 ; + EVALUATE wIncGr_In_Cr := 1.E-20 ; + EVALUATE wSSGr_In_Sl := 1.E-20 ; + EVALUATE wSSGr_In_Cr := 1.E-20 ; + + EVALUATE wZrGr_Ex_Sl := 1.E-20 ; + EVALUATE wZrGr_Ex_Cr := 1.E-20 ; + EVALUATE wIncGr_Ex_Sl := 1.E-20 ; + EVALUATE wIncGr_Ex_Cr := 780.272 ; + EVALUATE wSSGr_Ex_Sl := 91.0329 ; + EVALUATE wSSGr_Ex_Cr := 1.E-20 ; + + ! GRID PREC ------- + EVALUATE InGridfPre := .131668 ; ! DUMMY VALUE + EVALUATE Z4GridfPre := .868332 ; ! DUMMY VALUE + EVALUATE SSGridfPre := 0.0 ; ! DUMMY VALUE + + EVALUATE H2OTubePre := 1.E-20 ; ! DUMMY VALUE + EVALUATE H2OCntrPre := 1.E-20 ; ! DUMMY VALUE + EVALUATE H2OSidePre := 1.E-20 ; ! DUMMY VALUE + EVALUATE H2OCornPre := 1.E-20 ; ! DUMMY VALUE + + ! TUBE DATA -------------------------------------------------------- + EVALUATE rTubeIn := 0.56134 ; + EVALUATE rTubeEx := 0.60198 ; + +! ///////////////////////////////////////////////////////////////////// +! /// ASSEMBLY TIHANGE /// +! ///////////////////////////////////////////////////////////////////// +ELSEIF AssStruct "TIH_ASS" = THEN +*--------------------------------------------------------------------------- + ! GRID DILUTION -------------------------------------------------------- + + ! GRID NOTE ------------ + EVALUATE NbGridInt := 6. ;! DUMMY VALUE + EVALUATE NbGridExt := 1. ;! DUMMY VALUE + + EVALUATE hGridInt := 5.715 ; ! DUMMY VALUE + EVALUATE hGridExt := 3.358 ; ! DUMMY VALUE + + EVALUATE wZrGr_In_Sl := 1.E-20 ;! DUMMY VALUE + EVALUATE wZrGr_In_Cr := 1.E-20 ;! DUMMY VALUE + EVALUATE wIncGr_In_Sl := 1.E-20 ;! DUMMY VALUE + EVALUATE wIncGr_In_Cr := 1.E-20 ;! DUMMY VALUE + EVALUATE wSSGr_In_Sl := 1.E-20 ;! DUMMY VALUE + EVALUATE wSSGr_In_Cr := 1.E-20 ;! DUMMY VALUE + + EVALUATE wZrGr_Ex_Sl := 1.E-20 ;! DUMMY VALUE + EVALUATE wZrGr_Ex_Cr := 1.E-20 ;! DUMMY VALUE + EVALUATE wIncGr_Ex_Sl := 1.E-20 ;! DUMMY VALUE + EVALUATE wIncGr_Ex_Cr := 1.E-20 ;! DUMMY VALUE + EVALUATE wSSGr_Ex_Sl := 1.E-20 ;! DUMMY VALUE + EVALUATE wSSGr_Ex_Cr := 1.E-20 ;! DUMMY VALUE + + ! GRID PREC ------- + EVALUATE InGridfPre := .131668 ; ! DUMMY VALUE + EVALUATE Z4GridfPre := .868332 ; ! DUMMY VALUE + EVALUATE SSGridfPre := 0.0 ; ! DUMMY VALUE + + EVALUATE H2OTubePre := 1.E-20 ; ! DUMMY VALUE + EVALUATE H2OCntrPre := 1.E-20 ; ! DUMMY VALUE + EVALUATE H2OSidePre := 1.E-20 ; ! DUMMY VALUE + EVALUATE H2OCornPre := 1.E-20 ; ! DUMMY VALUE + + ! TUBE DATA -------------------------------------------------------- + EVALUATE rTubeIn := 0.65024 ; + EVALUATE rTubeEx := 0.69342 ; + +ELSE + ECHO "AssStruct : " AssStruct ; + ECHO "Not recognized" ; + ABORT: ; +ENDIF ; + +! $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ +! $$$ LINKED LIST CREATION $$$ +! $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ +TechData := UTL: :: CREA 'Gestion' 1 = <> ;!à modifier : mettre +! toutes les caractéristiques + +INTEGER LRodList ; +REAL Rod1 Rod2 Rod3 Rod4 Rod5 Rod6 ; + +IF DataType "RODLIST" = THEN + TechData := TechData RodListTmp ; + !ATTENTION : dans RodListTmp, le premier item du block rods doit etre + !la configuration NOMINALE AVERAGE : cf CreaStepList +ELSEIF DataType "DEPLPARAMAVG" = THEN +!les valeurs de DEPLPARAM sont aussi dans les autres LINKED_LIST + TechData := UTL: TechData :: CREA 'cbor' 1 = <> ; + TechData := UTL: TechData :: CREA 'tcom' 1 = <> ; + TechData := UTL: TechData :: CREA 'tmod' 1 = <> ; + TechData := UTL: TechData :: CREA 'dmod' 1 = <> ; + +ELSEIF DataType "GENERAL" = THEN + TechData := UTL: TechData :: CREA 'NbAss' 1 = <> ; + TechData := UTL: TechData :: CREA 'NbFuelPin' 1 = <> ; + TechData := UTL: TechData :: CREA 'PowMWth' 1 = <> ; + TechData := UTL: TechData :: CREA 'NbPinAssXY' 1 = <> ; + TechData := UTL: TechData :: CREA 'CoreFlowRate' 1 = <> ; + TechData := UTL: TechData :: CREA 'CoreFlowByp' 1 = <> ; + TechData := UTL: TechData :: CREA 'OpePressure' 1 = <> ; + TechData := UTL: TechData :: CREA 'CoreHML' 1 = <> ; + +ELSEIF DataType "DISTANCES" = THEN + TechData := UTL: TechData :: CREA 'pAss' 1 = <> ; + TechData := UTL: TechData :: CREA 'pPin' 1 = <> ; + TechData := UTL: TechData :: CREA 'hActiv' 1 = <> ; + TechData := UTL: TechData :: CREA 'rFuel' 1 = <> ; + TechData := UTL: TechData :: CREA 'rRodSSIn' 1 = <> ; + TechData := UTL: TechData :: CREA 'rRodSSEx' 1 = <> ; + TechData := UTL: TechData :: CREA 'rRodAICg' 1 = <> ; + TechData := UTL: TechData :: CREA 'rRodAICn' 1 = <> ; + TechData := UTL: TechData :: CREA 'rRodB4C' 1 = <> ; + TechData := UTL: TechData :: CREA 'rRodBPIn' 1 = <> ; + TechData := UTL: TechData :: CREA 'rRodBPEx' 1 = <> ; + TechData := UTL: TechData :: CREA 'rRodHf' 1 = <> ; + TechData := UTL: TechData :: CREA 'rCladFuel' 1 = <> ; + TechData := UTL: TechData :: CREA 'rCladRod' 1 = <> ; + TechData := UTL: TechData :: CREA 'rCladBPIn' 1 = <> ; + TechData := UTL: TechData :: CREA 'rCladBPEx' 1 = <> ; + TechData := UTL: TechData :: CREA 'eCladFuel' 1 = <> ; + TechData := UTL: TechData :: CREA 'eCladRod' 1 = <> ; + TechData := UTL: TechData :: CREA 'eCladBPIn' 1 = <> ; + TechData := UTL: TechData :: CREA 'eCladBPEx' 1 = <> ; + TechData := UTL: TechData :: CREA 'rTubeIn' 1 = <> ; + TechData := UTL: TechData :: CREA 'rTubeEx' 1 = <> ; + +ELSEIF DataType "DENSITIES" = THEN + TechData := UTL: TechData :: CREA 'dUGd' 1 = <> ; + TechData := UTL: TechData :: CREA 'dUO2 ' 1 = <> ; + TechData := UTL: TechData :: CREA 'dMOX' 1 = <> ; + TechData := UTL: TechData :: CREA 'dInc' 1 = <> ; + TechData := UTL: TechData :: CREA 'dZr4' 1 = <> ; + TechData := UTL: TechData :: CREA 'dRodAIC' 1 = <> ; + TechData := UTL: TechData :: CREA 'dSS' 1 = <> ; + TechData := UTL: TechData :: CREA 'dCladFuel' 1 = <> ; + TechData := UTL: TechData :: CREA 'dCladAIC' 1 = <> ; + TechData := UTL: TechData :: CREA 'dCladSS' 1 = <> ; + TechData := UTL: TechData :: CREA 'dCladBPIn' 1 = <> ; + TechData := UTL: TechData :: CREA 'dCladBPEx' 1 = <> ; + TechData := UTL: TechData :: CREA 'dCladB4C' 1 = <> ; + TechData := UTL: TechData :: CREA 'dGrid' 1 = <> ; + TechData := UTL: TechData :: CREA 'dTube' 1 = <> ; + TechData := UTL: TechData :: CREA 'dRodB4C' 1 = <> ; + TechData := UTL: TechData :: CREA 'dRodSS' 1 = <> ; + TechData := UTL: TechData :: CREA 'dRodBP' 1 = <> ; + TechData := UTL: TechData :: CREA 'dRodHf' 1 = <> ; + +ELSEIF DataType "GRIDDATA" = THEN + TechData := UTL: TechData :: CREA 'NbGridInt' 1 = <> ; + TechData := UTL: TechData :: CREA 'NbGridExt' 1 = <> ; + TechData := UTL: TechData :: CREA 'hGridInt' 1 = <> ; + TechData := UTL: TechData :: CREA 'hGridExt' 1 = <> ; + TechData := UTL: TechData :: CREA 'wZrGr_In_Sl' 1 = <> ; + TechData := UTL: TechData :: CREA 'wZrGr_In_Cr' 1 = <> ; + TechData := UTL: TechData :: CREA 'wIncGr_In_Sl' 1 = <> ; + TechData := UTL: TechData :: CREA 'wIncGr_In_Cr' 1 = <> ; + TechData := UTL: TechData :: CREA 'wSSGr_In_Sl' 1 = <> ; + TechData := UTL: TechData :: CREA 'wSSGr_In_Cr' 1 = <> ; + TechData := UTL: TechData :: CREA 'wZrGr_Ex_Sl' 1 = <> ; + TechData := UTL: TechData :: CREA 'wZrGr_Ex_Cr' 1 = <> ; + TechData := UTL: TechData :: CREA 'wIncGr_Ex_Sl' 1 = <> ; + TechData := UTL: TechData :: CREA 'wIncGr_Ex_Cr' 1 = <> ; + TechData := UTL: TechData :: CREA 'wSSGr_Ex_Sl' 1 = <> ; + TechData := UTL: TechData :: CREA 'wSSGr_Ex_Cr' 1 = <> ; + + TechData := UTL: TechData :: CREA 'InGridfPre' 1 = <> ; + TechData := UTL: TechData :: CREA 'Z4GridfPre' 1 = <> ; + TechData := UTL: TechData :: CREA 'SSGridfPre' 1 = <> ; + TechData := UTL: TechData :: CREA 'H2OTubePre' 1 = <> ; + TechData := UTL: TechData :: CREA 'H2OCntrPre' 1 = <> ; + TechData := UTL: TechData :: CREA 'H2OSidePre' 1 = <> ; + TechData := UTL: TechData :: CREA 'H2OCornPre' 1 = <> ; + +ELSEIF DataType "COMPOSITIONS" = THEN + TechData := UTL: TechData :: CREA 'U5FC' 1 = <> ; + + TechData := UTL: TechData :: CREA 'Main_enri' 1 = <> ; + TechData := UTL: TechData :: CREA 'U4enri' 1 = <> ; + TechData := UTL: TechData :: CREA 'U6enri' 1 = <> ; + TechData := UTL: TechData :: CREA 'U5enri' 1 = <> ; + TechData := UTL: TechData :: CREA 'U8enri' 1 = <> ; + TechData := UTL: TechData :: CREA 'Pu8enri' 1 = <> ; + TechData := UTL: TechData :: CREA 'Pu9enri' 1 = <> ; + TechData := UTL: TechData :: CREA 'Pu0enri' 1 = <> ; + TechData := UTL: TechData :: CREA 'Pu1enri' 1 = <> ; + TechData := UTL: TechData :: CREA 'Pu2enri' 1 = <> ; + TechData := UTL: TechData :: CREA 'Am1enri' 1 = <> ; + + TechData := UTL: TechData :: CREA 'enriUGd' 1 = <> ; + TechData := UTL: TechData :: CREA 'enriGd' 1 = <> ; + TechData := UTL: TechData :: CREA 'NbGdPin' 1 = <> ; + TechData := UTL: TechData :: CREA 'NbNoGdPin' 1 = <> ; + TechData := UTL: TechData :: CREA 'U4eGd' 1 = <> ; + TechData := UTL: TechData :: CREA 'U5eGd' 1 = <> ; + TechData := UTL: TechData :: CREA 'U6eGd' 1 = <> ; + TechData := UTL: TechData :: CREA 'U8eGd' 1 = <> ; + TechData := UTL: TechData :: CREA 'Pu9eGd' 1 = <> ; + TechData := UTL: TechData :: CREA 'Pu0eGd' 1 = <> ; + TechData := UTL: TechData :: CREA 'Pu1eGd' 1 = <> ; + TechData := UTL: TechData :: CREA 'Pu2eGd' 1 = <> ; + + TechData := UTL: TechData :: CREA 'enriU' 1 = <> ; + TechData := UTL: TechData :: CREA 'enriPu' 1 = <> ; + TechData := UTL: TechData :: CREA 'NbCornPin' 1 = <> ; + TechData := UTL: TechData :: CREA 'NbSidePin' 1 = <> ; + TechData := UTL: TechData :: CREA 'NbCntrPin' 1 = <> ; + TechData := UTL: TechData :: CREA 'f_corn' 1 = <> ; + TechData := UTL: TechData :: CREA 'f_side' 1 = <> ; + TechData := UTL: TechData :: CREA 'f_cntr' 1 = <> ; + TechData := UTL: TechData :: CREA 'f_cornPin' 1 = <> ; + TechData := UTL: TechData :: CREA 'f_sidePin' 1 = <> ; + TechData := UTL: TechData :: CREA 'f_cntrPin' 1 = <> ; + +ELSE + ECHO "Error --- DataType:" DataType "not recognized." ; + ABORT: ; +ENDIF ; + +*------------------------------------------------------ + +END: ; +QUIT "LIST" . diff --git a/Dragon/data/ErmBeavrsPwrRefl_proc/MetalMix.c2m b/Dragon/data/ErmBeavrsPwrRefl_proc/MetalMix.c2m new file mode 100644 index 0000000..607e3a6 --- /dev/null +++ b/Dragon/data/ErmBeavrsPwrRefl_proc/MetalMix.c2m @@ -0,0 +1,1548 @@ +*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 BP MolarMasses :: + ::: LINKED_LIST + FeNat CrNat SnNat NiNat BNat + ZrNat TiNat SiNat KNat + AgNat CdNat SNat InNat Zirc4 Incon SS304 + M5 AIC GdNat Gd2O3 BP MolarMasses ; ; +MODULE GREP: UTL: END: ABORT: ; +STRING LibType ; ! ENDFVII1 JEFF31 JEFF311 JEFF312... +STRING Gestion ; +REAL avogadro := 6.022094E+23 ; +REAL avo_conc := avogadro 1.E-24 * ; +REAL ReNorm ; ! Renormalization Factor +REAL SumFr ; ! Fraction Sum (needed when &IMPU) +:: >>LibType<< >>Gestion<< ; + +*------------------------------------------------------ +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<< ; + +ELSE ! CEA99v9p5, CEA514T2, CLA99CEA93 + 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<< ; + +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 * + ; + + ECHO "Masse molaire du zirconium " MZrNat ; + +ELSE ! JEF22 + + EVALUATE MZrNat := zrNat ; + +ENDIF ; + +*---- ZrNat Table Creation ---- +ZrNat := UTL: :: CREA 'AvgMolM ' 1 = <> ; +ZrNat := UTL: ZrNat :: CREA 'Zr90frIso' 1 = <> ; +ZrNat := UTL: ZrNat :: CREA 'Zr91frIso' 1 = <> ; +ZrNat := UTL: ZrNat :: CREA 'Zr92frIso' 1 = <> ; +ZrNat := UTL: ZrNat :: CREA 'Zr93frIso' 1 = <> ; +ZrNat := UTL: ZrNat :: CREA 'Zr94frIso' 1 = <> ; +ZrNat := UTL: ZrNat :: CREA 'Zr95frIso' 1 = <> ; +ZrNat := UTL: ZrNat :: CREA 'Zr96frIso' 1 = <> ; + +*------------------------------------------------------ +* 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 = <> ; +FeNat := UTL: FeNat :: CREA 'Fe54frIso' 1 = <> ; +FeNat := UTL: FeNat :: CREA 'Fe56frIso' 1 = <> ; +FeNat := UTL: FeNat :: CREA 'Fe57frIso' 1 = <> ; +FeNat := UTL: FeNat :: CREA 'Fe58frIso' 1 = <> ; + +*------------------------------------------------------ +* 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 * + ; + + ECHO "Masse molaire du titane " MTiNat ; + +ELSE ! JEF22 ENDFVI8 + + EVALUATE MTiNat := tiNat ; + +ENDIF ; + +*---- TiNat Table Creation ---- +TiNat := UTL: :: CREA 'AvgMolM ' 1 = <> ; +TiNat := UTL: TiNat :: CREA 'Ti46frIso' 1 = <> ; +TiNat := UTL: TiNat :: CREA 'Ti47frIso' 1 = <> ; +TiNat := UTL: TiNat :: CREA 'Ti48frIso' 1 = <> ; +TiNat := UTL: TiNat :: CREA 'Ti49frIso' 1 = <> ; +TiNat := UTL: TiNat :: CREA 'Ti50frIso' 1 = <> ; + +*------------------------------------------------------ +* 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 * + ; + + ECHO "Masse molaire du silicium " MSiNat ; + +ELSE ! JEF22 ENDFVI8 + + EVALUATE MSiNat := siNat ; + +ENDIF ; + +*---- SiNat Table Creation ---- +SiNat := UTL: :: CREA 'AvgMolM ' 1 = <> ; +SiNat := UTL: SiNat :: CREA 'Si28frIso' 1 = <> ; +SiNat := UTL: SiNat :: CREA 'Si29frIso' 1 = <> ; +SiNat := UTL: SiNat :: CREA 'Si30frIso' 1 = <> ; + +*------------------------------------------------------ +* 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 = <> ; +CrNat := UTL: CrNat :: CREA 'Cr50frIso' 1 = <> ; +CrNat := UTL: CrNat :: CREA 'Cr52frIso' 1 = <> ; +CrNat := UTL: CrNat :: CREA 'Cr53frIso' 1 = <> ; +CrNat := UTL: CrNat :: CREA 'Cr54frIso' 1 = <> ; + +*------------------------------------------------------ +* 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, CEA99v9p5, 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 = <> ; +SnNat := UTL: SnNat :: CREA 'Sn112frIso' 1 = <> ; +SnNat := UTL: SnNat :: CREA 'Sn114frIso' 1 = <> ; +SnNat := UTL: SnNat :: CREA 'Sn115frIso' 1 = <> ; +SnNat := UTL: SnNat :: CREA 'Sn116frIso' 1 = <> ; +SnNat := UTL: SnNat :: CREA 'Sn117frIso' 1 = <> ; +SnNat := UTL: SnNat :: CREA 'Sn118frIso' 1 = <> ; +SnNat := UTL: SnNat :: CREA 'Sn119frIso' 1 = <> ; +SnNat := UTL: SnNat :: CREA 'Sn120frIso' 1 = <> ; +SnNat := UTL: SnNat :: CREA 'Sn122frIso' 1 = <> ; +SnNat := UTL: SnNat :: CREA 'Sn124frIso' 1 = <> ; + +*------------------------------------------------------ +* 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 = <> ; +NiNat := UTL: NiNat :: CREA 'Ni58frIso' 1 = <> ; +NiNat := UTL: NiNat :: CREA 'Ni60frIso' 1 = <> ; +NiNat := UTL: NiNat :: CREA 'Ni61frIso' 1 = <> ; +NiNat := UTL: NiNat :: CREA 'Ni62frIso' 1 = <> ; +NiNat := UTL: NiNat :: CREA 'Ni64frIso' 1 = <> ; + +*------------------------------------------------------ +* BNat : Natural Boron +* Isotopic Composition : B10 .2 +* B11 .8 +*------------------------------------------------------ +REAL B10f := .2 ; +REAL B11f := .8 ; +IF +Gestion "BEAV" = THEN +EVALUATE B10f := 0.199 ; +EVALUATE B11f := 0.801 ; +ENDIF ; + +*---- BNat Average Weight Ratio ---- +REAL MBNat ; ! Average Weight Ratio +EVALUATE MBNat := b10 B10f * b11 B11f * + ; +IF Gestion "BEAV" = THEN +EVALUATE MBNat := 10.8135 ; +ENDIF ; + +*---- BNat Table Creation ---- +BNat := UTL: :: CREA 'AvgMolM ' 1 = <> ; +BNat := UTL: BNat :: CREA 'B10frIso' 1 = <> ; +BNat := UTL: BNat :: CREA 'B11frIso' 1 = <> ; + +*------------------------------------------------------ +* 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 = <> ; +AgNat := UTL: AgNat :: CREA 'Ag107frIso ' 1 = <> ; +AgNat := UTL: AgNat :: CREA 'Ag109frIso ' 1 = <> ; + +*------------------------------------------------------ +* 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, CEA99v9p5, 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 = <> ; +CdNat := UTL: CdNat :: CREA 'Cd106frIso ' 1 = <> ; +CdNat := UTL: CdNat :: CREA 'Cd108frIso ' 1 = <> ; +CdNat := UTL: CdNat :: CREA 'Cd110frIso ' 1 = <> ; +CdNat := UTL: CdNat :: CREA 'Cd111frIso ' 1 = <> ; +CdNat := UTL: CdNat :: CREA 'Cd112frIso ' 1 = <> ; +CdNat := UTL: CdNat :: CREA 'Cd113frIso ' 1 = <> ; +CdNat := UTL: CdNat :: CREA 'Cd114frIso ' 1 = <> ; +CdNat := UTL: CdNat :: CREA 'Cd116frIso ' 1 = <> ; + +*------------------------------------------------------ +* 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, CEA99v9p5, CEA514T2, CLA99CEA93 + + EVALUATE MKNat := kNat ; + +ENDIF ; + +*---- KNat Table Creation ---- +KNat := UTL: :: CREA 'AvgMolM ' 1 = <> ; +KNat := UTL: KNat :: CREA 'K39frIso' 1 = <> ; +KNat := UTL: KNat :: CREA 'K40frIso' 1 = <> ; +KNat := UTL: KNat :: CREA 'K41frIso' 1 = <> ; + + +*------------------------------------------------------ +* 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, CEA99v9p5, CEA514T2, CLA99CEA93 + + EVALUATE S32f := .9924 ; + + *---- SnNat Average Weight Ratio ---- + EVALUATE MSNat := s32 S32f * ; + +ENDIF ; + +*---- SNat Table Creation ---- +SNat := UTL: :: CREA 'AvgMolM ' 1 = <> ; +SNat := UTL: SNat :: CREA 'S32frIso' 1 = <> ; +SNat := UTL: SNat :: CREA 'S33frIso' 1 = <> ; +SNat := UTL: SNat :: CREA 'S34frIso' 1 = <> ; + +*------------------------------------------------------ +* 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 = <> ; +InNat := UTL: InNat :: CREA 'In115frIso' 1 = <> ; +InNat := UTL: InNat :: CREA 'In113frIso' 1 = <> ; + +*------------------------------------------------------ +* 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 = <> ; +Zirc4 := UTL: Zirc4 :: CREA 'O16Z4frIso ' 1 = <> ; +Zirc4 := UTL: Zirc4 :: CREA 'Fe54Z4frIso ' 1 = <> ; +Zirc4 := UTL: Zirc4 :: CREA 'Fe56Z4frIso ' 1 = <> ; +Zirc4 := UTL: Zirc4 :: CREA 'Fe57Z4frIso ' 1 = <> ; +Zirc4 := UTL: Zirc4 :: CREA 'Fe58Z4frIso ' 1 = <> ; +Zirc4 := UTL: Zirc4 :: CREA 'Cr50Z4frIso ' 1 = <> ; +Zirc4 := UTL: Zirc4 :: CREA 'Cr52Z4frIso ' 1 = <> ; +Zirc4 := UTL: Zirc4 :: CREA 'Cr53Z4frIso ' 1 = <> ; +Zirc4 := UTL: Zirc4 :: CREA 'Cr54Z4frIso ' 1 = <> ; +Zirc4 := UTL: Zirc4 :: CREA 'ZrNatfrIso ' 1 = <> ; +Zirc4 := UTL: Zirc4 :: CREA 'Zr90Z4frIso ' 1 = <> ; +Zirc4 := UTL: Zirc4 :: CREA 'Zr91Z4frIso ' 1 = <> ; +Zirc4 := UTL: Zirc4 :: CREA 'Zr92Z4frIso ' 1 = <> ; +Zirc4 := UTL: Zirc4 :: CREA 'Zr93Z4frIso ' 1 = <> ; +Zirc4 := UTL: Zirc4 :: CREA 'Zr94Z4frIso ' 1 = <> ; +Zirc4 := UTL: Zirc4 :: CREA 'Zr95Z4frIso ' 1 = <> ; +Zirc4 := UTL: Zirc4 :: CREA 'Zr96Z4frIso ' 1 = <> ; +Zirc4 := UTL: Zirc4 :: CREA 'Sn112Z4frIso' 1 = <> ; +Zirc4 := UTL: Zirc4 :: CREA 'Sn114Z4frIso' 1 = <> ; +Zirc4 := UTL: Zirc4 :: CREA 'Sn115Z4frIso' 1 = <> ; +Zirc4 := UTL: Zirc4 :: CREA 'Sn116Z4frIso' 1 = <> ; +Zirc4 := UTL: Zirc4 :: CREA 'Sn117Z4frIso' 1 = <> ; +Zirc4 := UTL: Zirc4 :: CREA 'Sn118Z4frIso' 1 = <> ; +Zirc4 := UTL: Zirc4 :: CREA 'Sn119Z4frIso' 1 = <> ; +Zirc4 := UTL: Zirc4 :: CREA 'Sn120Z4frIso' 1 = <> ; +Zirc4 := UTL: Zirc4 :: CREA 'Sn122Z4frIso' 1 = <> ; +Zirc4 := UTL: Zirc4 :: CREA 'Sn124Z4frIso' 1 = <> ; + +*------------------------------------------------------ +* 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 ; + +IF Gestion "BEAV" = THEN +EVALUATE NiIncf := .5119 ; +EVALUATE CrIncf := .1896 ; +EVALUATE FeIncf := .2863 ; +EVALUATE BIncf := 1E-15 ; +EVALUATE AlIncf := 1E-15 ; +EVALUATE MoIncf := 1E-15 ; +EVALUATE TiIncf := 1E-15 ; +EVALUATE SiIncf := .0035 ; +EVALUATE CoIncf := .0005 ; +EVALUATE MnIncf := .0087 ; +EVALUATE NbIncf := 1E-15 ; +ENDIF ; + +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 = <> ; +Incon := UTL: Incon :: CREA 'B10InfrIso ' 1 = <> ; +Incon := UTL: Incon :: CREA 'B11InfrIso ' 1 = <> ; +Incon := UTL: Incon :: CREA 'Al27InfrIso ' 1 = <> ; +Incon := UTL: Incon :: CREA 'SiNatInfrIso' 1 = <> ; +Incon := UTL: Incon :: CREA 'Si28InfrIso ' 1 = <> ; +Incon := UTL: Incon :: CREA 'Si29InfrIso ' 1 = <> ; +Incon := UTL: Incon :: CREA 'Si30InfrIso ' 1 = <> ; +Incon := UTL: Incon :: CREA 'TiNatInfrIso' 1 = <> ; +Incon := UTL: Incon :: CREA 'Ti46InfrIso ' 1 = <> ; +Incon := UTL: Incon :: CREA 'Ti47InfrIso ' 1 = <> ; +Incon := UTL: Incon :: CREA 'Ti48InfrIso ' 1 = <> ; +Incon := UTL: Incon :: CREA 'Ti49InfrIso ' 1 = <> ; +Incon := UTL: Incon :: CREA 'Ti50InfrIso ' 1 = <> ; +Incon := UTL: Incon :: CREA 'Cr50InfrIso ' 1 = <> ; +Incon := UTL: Incon :: CREA 'Cr52InfrIso ' 1 = <> ; +Incon := UTL: Incon :: CREA 'Cr53InfrIso ' 1 = <> ; +Incon := UTL: Incon :: CREA 'Cr54InfrIso ' 1 = <> ; +Incon := UTL: Incon :: CREA 'Mn55InfrIso ' 1 = <> ; +Incon := UTL: Incon :: CREA 'Fe54InfrIso ' 1 = <> ; +Incon := UTL: Incon :: CREA 'Fe56InfrIso ' 1 = <> ; +Incon := UTL: Incon :: CREA 'Fe57InfrIso ' 1 = <> ; +Incon := UTL: Incon :: CREA 'Fe58InfrIso ' 1 = <> ; +Incon := UTL: Incon :: CREA 'Co59InfrIso ' 1 = <> ; +Incon := UTL: Incon :: CREA 'Ni58InfrIso ' 1 = <> ; +Incon := UTL: Incon :: CREA 'Ni60InfrIso ' 1 = <> ; +Incon := UTL: Incon :: CREA 'Ni61InfrIso ' 1 = <> ; +Incon := UTL: Incon :: CREA 'Ni62InfrIso ' 1 = <> ; +Incon := UTL: Incon :: CREA 'Ni64InfrIso ' 1 = <> ; +Incon := UTL: Incon :: CREA 'Nb93InfrIso ' 1 = <> ; +Incon := UTL: Incon :: CREA 'Mo95InfrIso ' 1 = <> ; + +*------------------------------------------------------ +* 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 ; + +IF Gestion "BEAV" = THEN + EVALUATE FeSSf := .684 ; + EVALUATE NiSSf := .100 ; + EVALUATE CrSSf := .190 ; + EVALUATE MnSSf := .020 ; + EVALUATE SiSSf := .006 ; +ENDIF ; + +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 = <> ; +SS304 := UTL: SS304 :: CREA 'SiNatSSfrIso' 1 = <> ; +SS304 := UTL: SS304 :: CREA 'Si28SSfrIso ' 1 = <> ; +SS304 := UTL: SS304 :: CREA 'Si29SSfrIso ' 1 = <> ; +SS304 := UTL: SS304 :: CREA 'Si30SSfrIso ' 1 = <> ; +SS304 := UTL: SS304 :: CREA 'Fe54SSfrIso ' 1 = <> ; +SS304 := UTL: SS304 :: CREA 'Fe56SSfrIso ' 1 = <> ; +SS304 := UTL: SS304 :: CREA 'Fe57SSfrIso ' 1 = <> ; +SS304 := UTL: SS304 :: CREA 'Fe58SSfrIso ' 1 = <> ; +SS304 := UTL: SS304 :: CREA 'Ni58SSfrIso ' 1 = <> ; +SS304 := UTL: SS304 :: CREA 'Ni60SSfrIso ' 1 = <> ; +SS304 := UTL: SS304 :: CREA 'Ni61SSfrIso ' 1 = <> ; +SS304 := UTL: SS304 :: CREA 'Ni62SSfrIso ' 1 = <> ; +SS304 := UTL: SS304 :: CREA 'Ni64SSfrIso ' 1 = <> ; +SS304 := UTL: SS304 :: CREA 'Cr50SSfrIso ' 1 = <> ; +SS304 := UTL: SS304 :: CREA 'Cr52SSfrIso ' 1 = <> ; +SS304 := UTL: SS304 :: CREA 'Cr53SSfrIso ' 1 = <> ; +SS304 := UTL: SS304 :: CREA 'Cr54SSfrIso ' 1 = <> ; +SS304 := UTL: SS304 :: CREA 'Mn55SSfrIso ' 1 = <> ; + +*------------------------------------------------------ +* 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 = <> ; +M5 := UTL: M5 :: CREA 'Fe54M5frIso' 1 = <> ; +M5 := UTL: M5 :: CREA 'Fe56M5frIso' 1 = <> ; +M5 := UTL: M5 :: CREA 'Fe57M5frIso' 1 = <> ; +M5 := UTL: M5 :: CREA 'Fe58M5frIso' 1 = <> ; +M5 := UTL: M5 :: CREA 'O16M5frIso ' 1 = <> ; +M5 := UTL: M5 :: CREA 'ZrM5frIso ' 1 = <> ; +M5 := UTL: M5 :: CREA 'Zr90M5frIso' 1 = <> ; +M5 := UTL: M5 :: CREA 'Zr91M5frIso' 1 = <> ; +M5 := UTL: M5 :: CREA 'Zr92M5frIso' 1 = <> ; +M5 := UTL: M5 :: CREA 'Zr93M5frIso' 1 = <> ; +M5 := UTL: M5 :: CREA 'Zr94M5frIso' 1 = <> ; +M5 := UTL: M5 :: CREA 'Zr95M5frIso' 1 = <> ; +M5 := UTL: M5 :: CREA 'Zr96M5frIso' 1 = <> ; +M5 := UTL: M5 :: CREA 'Nb93M5frIso' 1 = <> ; +M5 := UTL: M5 :: CREA 'S32M5frIso ' 1 = <> ; +M5 := UTL: M5 :: CREA 'S33M5frIso ' 1 = <> ; +M5 := UTL: M5 :: CREA 'S34M5frIso ' 1 = <> ; + +*------------------------------------------------------ +* 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 = <> ; +AIC := UTL: AIC :: CREA 'Ag107AICfIso' 1 = <> ; +AIC := UTL: AIC :: CREA 'Ag109AICfIso' 1 = <> ; +AIC := UTL: AIC :: CREA 'Cd106AICfIso' 1 = <> ; +AIC := UTL: AIC :: CREA 'Cd108AICfIso' 1 = <> ; +AIC := UTL: AIC :: CREA 'Cd110AICfIso' 1 = <> ; +AIC := UTL: AIC :: CREA 'Cd111AICfIso' 1 = <> ; +AIC := UTL: AIC :: CREA 'Cd112AICfIso' 1 = <> ; +AIC := UTL: AIC :: CREA 'Cd113AICfIso' 1 = <> ; +AIC := UTL: AIC :: CREA 'Cd114AICfIso' 1 = <> ; +AIC := UTL: AIC :: CREA 'Cd116AICfIso' 1 = <> ; +AIC := UTL: AIC :: CREA 'In115AICfIso' 1 = <> ; +AIC := UTL: AIC :: CREA 'In113AICfIso' 1 = <> ; + +*------------------------------------------------------ +* 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 = <> ; +GdNat := UTL: GdNat :: CREA 'Gd154frIso' 1 = <> ; +GdNat := UTL: GdNat :: CREA 'Gd155frIso' 1 = <> ; +GdNat := UTL: GdNat :: CREA 'Gd156frIso' 1 = <> ; +GdNat := UTL: GdNat :: CREA 'Gd157frIso' 1 = <> ; +GdNat := UTL: GdNat :: CREA 'Gd158frIso' 1 = <> ; +GdNat := UTL: GdNat :: CREA 'Gd160frIso' 1 = <> ; + +*------------------------------------------------------ +* 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 = <> ; +Gd2O3 := UTL: Gd2O3 :: CREA 'GadOxG4frIso' 1 = <> ; +Gd2O3 := UTL: Gd2O3 :: CREA 'GadOxG5frIso' 1 = <> ; +Gd2O3 := UTL: Gd2O3 :: CREA 'GadOxG6frIso' 1 = <> ; +Gd2O3 := UTL: Gd2O3 :: CREA 'GadOxG7frIso' 1 = <> ; +Gd2O3 := UTL: Gd2O3 :: CREA 'GadOxG8frIso' 1 = <> ; +Gd2O3 := UTL: Gd2O3 :: CREA 'GadOxG0frIso' 1 = <> ; +Gd2O3 := UTL: Gd2O3 :: CREA 'GadOxOfrIso ' 1 = <> ; + +*------------------------------------------------------ +* 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 * + ; +*------------------------------------------------------ + +*------------------------------------------------------ +* BP : Burnable Poison Borosilicate Glass +* Tihange Specifications CEA-N-2092 +* Massic Composition : B2O3 .181 +* SiO2 .648 +* Al2O3 .076 +* K2O .032 +* Na2O .031 +* The sum of massic composition %m is equal to 0.968 !! +*------------------------------------------------------ +* Massic Fraction : %m +*------------------------------------------------------ +REAL B2O3BPf ; +REAL SiO2BPf ; +REAL Al2O3BPf ; +REAL K2OBPf ; +REAL Na2OBPf ; + +IF Gestion "BEAV" = THEN +* Weight Fraction : Onat 0.5481 +* AlNat 0.0344 +* B10 0.0071 +* B11 0.0317 +* Sinat 0.3787 + EVALUATE B2O3BPf := .125 ; + EVALUATE SiO2BPf := .810 ; ! .806 + EVALUATE Al2O3BPf := .065 ; ! .024 + EVALUATE K2OBPf := .0 ; ! .022 + EVALUATE Na2OBPf := .0 ; ! .021 +ELSE + EVALUATE B2O3BPf := .181 ; + EVALUATE SiO2BPf := .648 ; + EVALUATE Al2O3BPf := .076 ; + EVALUATE K2OBPf := .032 ; + EVALUATE Na2OBPf := .031 ; +ENDIF ; +EVALUATE SumFr := B2O3BPf SiO2BPf Al2O3BPf K2OBPf Na2OBPf + + + + ; + +* +*----------------------------------------------------- +* Material Massic To Material Fraction +* +* %m_i : Massic fraction of material i +* %n_i : Material fraction of material i +* +* %n_i = [%m_i / M_i] / [ Sum ( %m_k / M_k ) ] +*----------------------------------------------------- +* +EVALUATE B2O3BPf := B2O3BPf MB2O3 / ; +EVALUATE SiO2BPf := SiO2BPf MSiO2 / ; +EVALUATE Al2O3BPf := Al2O3BPf MAl2O3 / ; +EVALUATE K2OBPf := K2OBPf MK2O / ; +EVALUATE Na2OBPf := Na2OBPf MNa2O / ; +* +EVALUATE ReNorm := B2O3BPf SiO2BPf Al2O3BPf K2OBPf Na2OBPf + + + + ; +* +EVALUATE B2O3BPf := B2O3BPf ReNorm / ; +EVALUATE SiO2BPf := SiO2BPf ReNorm / ; +EVALUATE Al2O3BPf := Al2O3BPf ReNorm / ; +EVALUATE K2OBPf := K2OBPf ReNorm / ; +EVALUATE Na2OBPf := Na2OBPf ReNorm / ; + +* +*----------------------------------------------------- +* Molar Mass of BP Calculation : MBP +*----------------------------------------------------- +REAL MBP := 0.0 ; ! BP Average Weight Ratio +EVALUATE MBP := B2O3BPf MB2O3 * SiO2BPf MSiO2 * + ; +EVALUATE MBP := MBP Al2O3BPf MAl2O3 * + K2OBPf MK2O * + ; +EVALUATE MBP := MBP Na2OBPf MNa2O * + ; +* +*---------------------------------------------------- +* AMF : Ajusted Material Fraction +* because Sum of %m is 0.968 and not 1 +* --> AMF = Material Fraction (%n_i) * SumFr +*---------------------------------------------------- +EVALUATE B2O3BPf := B2O3BPf SumFr * ; +EVALUATE SiO2BPf := SiO2BPf SumFr * ; +EVALUATE Al2O3BPf := Al2O3BPf SumFr * ; +EVALUATE K2OBPf := K2OBPf SumFr * ; +EVALUATE Na2OBPf := Na2OBPf SumFr * ; +*----------------------------------------------------- +* Isotopic Ratio Calculation +*----------------------------------------------------- +* %f = AMF x Qem x Fie +* Qem = Quantity of Element in Material +* Fie = Fraction of Isotope In Element +* +* example : B10 isotopic fraction +* We find 0,20% of B10 in element BNat -> Fie = 0.2 +* There are 2 BNat in B203 -> Qem = 2. +* The molar fraction of B2O3 is %n -> B2O3BPf +* +* --> B10BPf = 0.2 * 2. * B2O3BPf +*----------------------------------------------------- +*------ Isotopic Ratios for all isotopes in BP ------- +REAL B10BPf ; +REAL B11BPf ; +REAL O16BPf ; +REAL SiNatBPf ; +REAL Al27BPf ; +REAL KNatBPf ; +REAL Na23BPf ; + +* +EVALUATE B10BPf := B10f BNatBq B2O3BPf * * ; +EVALUATE B11BPf := B11f BNatBq B2O3BPf * * ; +EVALUATE O16BPf := O16Bq B2O3BPf * O16Sq SiO2BPf * + ; +EVALUATE O16BPf := O16BPf O16Aq Al2O3BPf * + ; +EVALUATE O16BPf := O16BPf O16Kq K2OBPf * + ; +EVALUATE O16BPf := O16BPf O16Nq Na2OBPf * + ; +EVALUATE Na23BPf := Na23Nq Na2OBPf * ; +EVALUATE Al27BPf := Al27Aq Al2O3BPf * ; +EVALUATE KNatBPf := KNatKq K2OBPf * ; +REAL K39BPf := KNatKq K39f * K2OBPf * ; +REAL K40BPf := KNatKq K40f * K2OBPf * ; +REAL K41BPf := KNatKq K41f * K2OBPf * ; +EVALUATE SiNatBPf := SiNatSq SiO2BPf * ; +REAL Si28BPf := SiNatSq Si28f * SiO2BPf * ; +REAL Si29BPf := SiNatSq Si29f * SiO2BPf * ; +REAL Si30BPf := SiNatSq Si30f * SiO2BPf * ; +* +*---- BP Table Creation ---- +BP := UTL: :: CREA 'AvgMolM ' 1 = <> ; +BP := UTL: BP :: CREA 'B10BPfrIso ' 1 = <> ; +BP := UTL: BP :: CREA 'B11BPfrIso ' 1 = <> ; +BP := UTL: BP :: CREA 'O16BPfrIso ' 1 = <> ; +BP := UTL: BP :: CREA 'SiNatBPfrIso' 1 = <> ; +BP := UTL: BP :: CREA 'Si28BPfrIso' 1 = <> ; +BP := UTL: BP :: CREA 'Si29BPfrIso' 1 = <> ; +BP := UTL: BP :: CREA 'Si30BPfrIso' 1 = <> ; +BP := UTL: BP :: CREA 'Al27BPfrIso ' 1 = <> ; +BP := UTL: BP :: CREA 'KNatBPfrIso ' 1 = <> ; +BP := UTL: BP :: CREA 'K39BPfrIso ' 1 = <> ; +BP := UTL: BP :: CREA 'K40BPfrIso ' 1 = <> ; +BP := UTL: BP :: CREA 'K41BPfrIso ' 1 = <> ; +BP := UTL: BP :: CREA 'Na23BPfrIso ' 1 = <> ; + +END: ; +QUIT "LIST" . + diff --git a/Dragon/data/ErmBeavrsPwrRefl_proc/ThermaExpans.c2m b/Dragon/data/ErmBeavrsPwrRefl_proc/ThermaExpans.c2m new file mode 100644 index 0000000..086cd0b --- /dev/null +++ b/Dragon/data/ErmBeavrsPwrRefl_proc/ThermaExpans.c2m @@ -0,0 +1,100 @@ +*====================================================================== +* Name : ThermaExpans.c2m +* Type : DRAGON procedure +* Use : Calculation of hot dimensions +* Made by R. Nguyen Van Ho [URANUS | IRSN/PSN-EXP/SNC/LNR] +* J. Taforeau [IRSN/PSN-EXP/SNC/LNR] +* Date : 02/2017 +* Procedure called as: +* +* ThermaExpans :: +* <> <> <> <> +* <> <> <> <> +* <> >>HotValue<< ; +* +* Parameter of the procedure +* ColdValue : density/distance at cold temperature [19.85 °C] +* Material : Material in region N : [UO2|SS304|SS316|Zr4|In718|AIC +* Pyrex|Air|Mod] +* HotTemp : Hot Temperature [°C] +* Model : Model for thermal expansion : [TIH] +* TIH : Tihange modeling +* The next 3 prameters are used only if Model="PIN" +* MatPlus1 : Material in region N+1 +* ColdValMoin1 : density/distance at cold temperature in region N+1 +* HotValMoin1 : density/distance at hot temperature in region N+1 +* HotTempPlus1 : Hot temperature in region N+1 +* HotValue : density/distance at hot temperature +*====================================================================== + +*---- +* Local modules +*---- +MODULE USPLIT: ABORT: END: ; + +*---- +* Get variables +*---- +REAL ColdValue HotTemp ; +REAL ColdValMoin1 HotValMoin1 HotTempPlus1 := 0. 0. 0. ; +STRING Model MatPlus1 ; +STRING Material DataType ; +:: >>ColdValue<< >>Material<< >>HotTemp<< >>DataType<< + >>Model<< >>MatPlus1<< >>ColdValMoin1<< >>HotValMoin1<< + >>HotTempPlus1<< ; +*---- +* Data from specifications TIHANGE CEA-N-2092 p.153 +REAL Alpha Beta := 0.0 0.0 ; + +* Specifications TIHANGE CEA-N-2092 +IF Material "UO2" = THEN + EVALUATE Beta := 1.0 -3.31925E-4 + + 4.87957E-6 TempF * + + 1.37101E-11 TempF 2.0 ** * + + 1.6161E-13 TempF 3.0 ** * + ; +ELSEIF Material "SS304" = THEN + EVALUATE Alpha := 9.8E-6 ; + EVALUATE Beta := Alpha TempF 70. - * 1. + ; +ELSEIF Material "SS316" = THEN + EVALUATE Alpha := 9.8E-6 ; + EVALUATE Beta := Alpha TempF 68. - * 1. + ; +ELSEIF Material "Zr4" = THEN + EVALUATE Alpha := 3.25E-6 ; + EVALUATE Beta := Alpha TempF 68. - * 1. + ; + ELSEIF Material "Pyrex" = THEN + EVALUATE Alpha := 0. ; + EVALUATE Beta := Alpha TempF 68. - * 1. + ; +ELSEIF Material "In718" = THEN + EVALUATE Alpha := 6.0583333E-6 + 7.9395882E-9 TempF * + + -1.2278191E-11 TempF 2.0 ** * + + 8.4850913E-15 TempF 3.0 ** * + + -1.9212558E-18 TempF 4.0 ** * + ; + EVALUATE Beta := Alpha TempF 75. - * 1. + ; +ELSEIF Material "AIC" = THEN + EVALUATE Alpha := 1.25E-5 ; + EVALUATE Beta := Alpha TempF 68. - * 1. + ; +ELSEIF Material "B4C" = THEN + EVALUATE Alpha := 0. ; + EVALUATE Beta := Alpha TempF 68. - * 1. + ; +ELSE + ECHO "ThermaExpans: material unknown." ; + ABORT: ; +ENDIF ; + +IF Beta 0.0 = THEN + ECHO "ThermaExpans internal error. Beta undefined." ; + ABORT: ; +ENDIF ; + +IF DataType "Density" = THEN + EVALUATE HotValue := ColdValue Beta 3.0 ** / ; +ELSEIF DataType "Distance" = THEN + EVALUATE HotValue := ColdValue Beta * ; +ELSE + ECHO "DataType unknown. Must be Density or Distance." ; + ABORT: ; +ENDIF ; +:: <> ; +END: ; +QUIT "LIST" . -- cgit v1.2.3